Re: compiler code java
Partageant cet avis, je suis heureux pour Anyware d'entretenir ainsi la diversité des opinions. A mon sens, le flowscript est encore pire, car il ne dispose pas d'outil digne de ce nom qui detecte les erreurs, propose une complétion, débugge le code... (Eclipse pour java) - Philippe GASSMANN Systèmes d'Information ANYWARE TECHNOLOGIES Tel : +33 (0)5 61 00 52 90 Fax : +33 (0)5 61 00 51 46 http://www.anyware-tech.com/ -- Frédéric Glorieux (AJLSM, http://ajlsm.com) - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
RE: Unifier getChild() et lookupWidget() (était Re: compiler code java)
C'est encore moi... J'ai tenté de mettre mon bout de javascript dans mon xml de definition entre deux balise fd:javascript Mon fichier = multipage_model.xml: [...] fd:repeater-action command=add-row id=addlocus repeater=all_locus fd:labelAdd locus/fd:label fd:on-action fd:javascript var form = event.source.form; var repeater = form.lookupWidget(page3/all_locus); repeater.addRow(); var row = repeater.getRow(0); var field = row.lookupWidget(name); field.setValue(APOE); /fd:javascript /fd:on-action /fd:repeater-action [...] Dans ce cas, ça fonctionne, mais uniquement quand je clique sur mon bouton Add locus... Bref ce n'est pas encore ça... Existe-il un autre endroit plus adapté? Sûrement, mais il se cache :-) Merci Bérengère -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Envoyé : Wednesday, February 08, 2006 12:16 À : users-fr@cocoon.apache.org Objet : RE: Unifier getChild() et lookupWidget() (était Re: compiler code java) En fait, les infos sont bien pris en compte dans mon binding, mais ne s'affiche pas dans mon formulaire (interface html)... Peut-être que je dois préciser qqch dans mon xml de définition? Merci Bérengère -Message d'origine- De : [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Envoyé : Wednesday, February 08, 2006 10:04 À : users-fr@cocoon.apache.org Objet : RE: Unifier getChild() et lookupWidget() (était Re: compiler code java) En effet, je pensais que ça allait marcher avec lookupWidget()que j'utilise a d'autre moment dans mon flowscript, et ça fonctionne très bien... Je me suis permise de remettre mon extrait de code (lignes 31-37) dans son contexte...j'ai peut-être fait une autre erreur qui rend ce passage invisible (mais aucun message d'erreur). - Ne pensez-vous pas que cela pose problème que je fasse un showForm à la ligne 17 , et que je recommence à la ligne 37? Sinon, mon repeater en lui même fonctione, car quand je suis dans mon formulaire je peux ajouter , supprimer des lignes sans problème, mais quand il s'agit de lui imposer des lignes dans mon flowscript...c'est une autre paire de manche... Merci pour tous vos conseils. Bérengère 1 function do_multipage() { 2 var data = new Object(); 3 4 data.resultList = new Array(3); 5 data.resultList[0] = {value:, label:Résultat?}; 6 [...] 7 8 // crée le formulaire à partir d'un fichier de définition 9 var form = new Form(forms/multipage_model.xml); 10 11 // charge le fichier de personnalisation 12 var doc = Packages.javax.xml.parsers.DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); 13 doc.appendChild(doc.createElement(RESULTS)); 14 15 // fichier de binding 16 form.createBinding(forms/multipage_binding.xml); 17 form.showForm(multipage-display-pipeline.jx,data); 18 19 20 // enregistre les modifications du formulaire dans le fichier de perso. 21 var domaine = form.lookupWidget(page1/domaine).getValue(); 22 var disease = form.lookupWidget(page1/disease).getValue(); 23 var disease2 = form.lookupWidget(page1/disease2).getValue(); 24 25 //Parsing du fichier XML downloade 26 var docXML = loadDocument( /evrdata/BIOANALYSE/WEB/PUBMEDnew/analyser); 27 var processor = cocoon.getComponent(Packages.org.apache.excalibur.xml.xpath.XPathProcessor.ROLE ); 28 var PMID = Packages.org.apache.cocoon.xml.dom.DOMUtil.getValueOf( docXML,/PubmedArticleSet/PubmedArticle/MedlineCitation/PMID, DefaultValue,processor); 29 var pmid = form.lookupWidget(page3/pmid); 30 pmid.setValue(PMID); 31//Initiation de mon repeater 32var repeater = form.lookupWidget(page3/all_locus); 33repeater.addRow(); 34var row = repeater.getRow(0); 35var field = row.getChild(locus); 36field.setValue(6p); 37form.showForm(multipage-display-pipeline.jx); 38var docXMLResult = null; 39fileXMLResult = /evrdata/BIOANALYSE/pubmed/ + domaine + / + disease + / + disease2 + /savep + PMID + - result.xml; 40if (new java.io.File(fileXMLResult).exists()) { 41 docXMLResult = loadDocument(fileXMLResult); 42 var processor = cocoon.getComponent(Packages.org.apache.excalibur.xml.xpath.XPathProcessor.ROLE ); 43 var Nodelist = Packages.org.apache.cocoon.xml.dom.DOMUtil.selectNodeList( docXMLResult,/RESULTS/LocusSet/Annotation,processor); 44 var locus = form.lookupWidget(page3/all_locus).getRow(0).getChild(locus).setValue(6p13); 45} 46//Sauvegarde du fichier XML pubmed 47var fileXML = ; 48if (disease2 != null) { 49 fileXML = /evrdata/BIOANALYSE
Re: RE : Unifier getChild() et lookupWidget() (étai t Re: compiler code java)
[EMAIL PROTECTED] wrote: Et oui, tout arrive: ça marche!!! En fait, je n'étais pas loin avec mon idée de conflit avec mon showForm J' ai tout simplement mis mon premier Showform (ligne 17) à la place du second (ligne 37). Ainsi, tout est fait depuis le flowscript. Merci à tous, votre aide m'a été très précieuse. Je ne sais pas si notre aide a été vraiment efficace, mais si elle t'a permis de résoudre ton problème et de progresser, alors c'est bien ! Sylvain -- Sylvain WallezAnyware Technologies http://bluxte.net http://www.anyware-tech.com Apache Software Foundation Member Research Technology Director - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
Re: compiler code java
Le 7 févr. 06, à 17:09, [EMAIL PROTECTED] a écrit : ...Et, en compilant via: javac FormFlow.java =j'ai eu 34 erreurs... Oui, c'est *un peu* plus compliqué que cela. Je pense que bricks-cms pourrait t'aider, dans le sens où tout le système de build est en place, il suffit d'écrire ton code au bon endroit pour le rendre disponible dans Cocoon. Si tu veux essayer: http://wiki.apache.org/cocoon/BricksCms Mais attention, sans connaissances java tu risques de te heurter à un mur...il serait peut-être plus sage de te limiter au flowscript, ou d'apprendre java en-dehors de cocoon, ça sera *beaucoup* plus facile. -Bertrand smime.p7s Description: S/MIME cryptographic signature
Re: compiler code java
Bertrand Delacretaz a écrit : Mais attention, sans connaissances java tu risques de te heurter à un mur...il serait peut-être plus sage de te limiter au flowscript, ou d'apprendre java en-dehors de cocoon, ça sera *beaucoup* plus facile. A mon sens, le flowscript est encore pire, car il ne dispose pas d'outil digne de ce nom qui detecte les erreurs, propose une complétion, débugge le code... (Eclipse pour java) -- Philippe GASSMANN Systèmes d'Information ANYWARE TECHNOLOGIES Tel : +33 (0)5 61 00 52 90 Fax : +33 (0)5 61 00 51 46 http://www.anyware-tech.com/ - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
RE: compiler code java
C'est justement ce que j'étais en train de faire (flowscript) Mais, ça ne marche pas... En fait, j'ai un formulaire multipage dans lequel se trouve un repeater (à la 3e page) Ce que je voudrais faire c'est initialiser la première ligne de ce repeater. Voila un extrait de mon fichier xml de définition et un extrait de mon flowscript. multipage_model.xml: [...] - fd:form xmlns:fd=http://apache.org/cocoon/forms/1.0#definition; xmlns:i18n=http://apache.org/cocoon/i18n/2.1; xmlns:xi=http://www.w3.org/2001/XInclude; - fd:widgets + fd:group id=page1 [...] + fd:group id=page2 state=invisible [...] + fd:group id=page3 state=invisible - fd:repeater id=all_locus - fd:widgets + fd:field id=locus + fd:field id=annotation + fd:field id=name + fd:field id=results required=true + fd:booleanfield id=select [...] forms_flow.js: [...] var repeater = form.getChild(page3/all_locus); repeater.addRow(); var field = repeater.getWidget(0, page3/locus); field.setValue(6p); form.showForm(multipage-display-pipeline.jx); [...] Merci encore! -Message d'origine- De : Bertrand Delacretaz [mailto:[EMAIL PROTECTED] Envoyé : Tuesday, February 07, 2006 17:38 À : users-fr@cocoon.apache.org Objet : Re: compiler code java Le 7 févr. 06, à 17:09, [EMAIL PROTECTED] a écrit : ...Et, en compilant via: javac FormFlow.java =j'ai eu 34 erreurs... Oui, c'est *un peu* plus compliqué que cela. Je pense que bricks-cms pourrait t'aider, dans le sens où tout le système de build est en place, il suffit d'écrire ton code au bon endroit pour le rendre disponible dans Cocoon. Si tu veux essayer: http://wiki.apache.org/cocoon/BricksCms Mais attention, sans connaissances java tu risques de te heurter à un mur...il serait peut-être plus sage de te limiter au flowscript, ou d'apprendre java en-dehors de cocoon, ça sera *beaucoup* plus facile. -Bertrand - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
Re: compiler code java
[EMAIL PROTECTED] a écrit : C'est justement ce que j'étais en train de faire (flowscript) Mais, ça ne marche pas... En fait, j'ai un formulaire multipage dans lequel se trouve un repeater (à la 3e page) Ce que je voudrais faire c'est initialiser la première ligne de ce repeater. Voila un extrait de mon fichier xml de définition et un extrait de mon flowscript. multipage_model.xml: [...] - fd:form xmlns:fd=http://apache.org/cocoon/forms/1.0#definition; xmlns:i18n=http://apache.org/cocoon/i18n/2.1; xmlns:xi=http://www.w3.org/2001/XInclude; - fd:widgets + fd:group id=page1 [...] + fd:group id=page2 state=invisible [...] + fd:group id=page3 state=invisible - fd:repeater id=all_locus - fd:widgets + fd:field id=locus + fd:field id=annotation + fd:field id=name + fd:field id=results required=true + fd:booleanfield id=select [...] forms_flow.js: [...] var repeater = form.getChild(page3/all_locus); repeater.addRow(); Ce qui suit n'est pas correct : var field = repeater.getWidget(0, page3/locus); je pense que repeater.getChildt(locus) est plus adapté, car tu ne dois pas repréciser page3 (tu est dans le context du repeater). field.setValue(6p); form.showForm(multipage-display-pipeline.jx); [...] Philippe. - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
RE: compiler code java
Malheureusement, c'est ce j'avais essayé la première et ça ne marche pas mieux...toujours aucune erreur de générée, mais repeater toujours vide... Je dois faire une erreur ailleurs... Merci. -Message d'origine- De : Philippe Gassmann [mailto:[EMAIL PROTECTED] Envoyé : Tuesday, February 07, 2006 18:00 À : users-fr@cocoon.apache.org Objet : Re: compiler code java [EMAIL PROTECTED] a écrit : C'est justement ce que j'étais en train de faire (flowscript) Mais, ça ne marche pas... En fait, j'ai un formulaire multipage dans lequel se trouve un repeater (à la 3e page) Ce que je voudrais faire c'est initialiser la première ligne de ce repeater. Voila un extrait de mon fichier xml de définition et un extrait de mon flowscript. multipage_model.xml: [...] - fd:form xmlns:fd=http://apache.org/cocoon/forms/1.0#definition; xmlns:i18n=http://apache.org/cocoon/i18n/2.1; xmlns:xi=http://www.w3.org/2001/XInclude; - fd:widgets + fd:group id=page1 [...] + fd:group id=page2 state=invisible [...] + fd:group id=page3 state=invisible - fd:repeater id=all_locus - fd:widgets + fd:field id=locus + fd:field id=annotation + fd:field id=name + fd:field id=results required=true + fd:booleanfield id=select [...] forms_flow.js: [...] var repeater = form.getChild(page3/all_locus); repeater.addRow(); Ce qui suit n'est pas correct : var field = repeater.getWidget(0, page3/locus); je pense que repeater.getChildt(locus) est plus adapté, car tu ne dois pas repréciser page3 (tu est dans le context du repeater). field.setValue(6p); form.showForm(multipage-display-pipeline.jx); [...] Philippe. - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED] - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
RE: compiler code java
Je récapitule: Voilà ce que j'ai ecrit: var repeater = form.getChild(page3/all_locus); repeater.addRow(); var row = repeater.getRow(0); var field = row.getChild(locus); field.setValue(6p); form.showForm(multipage-display-pipeline.jx); Mais toujours pas OK... :-( -Message d'origine- De : Philippe Gassmann [mailto:[EMAIL PROTECTED] Envoyé : Tuesday, February 07, 2006 18:06 À : users-fr@cocoon.apache.org Objet : Re: compiler code java Philippe Gassmann a écrit : Philippe Gassmann a écrit : [EMAIL PROTECTED] a écrit : C'est justement ce que j'étais en train de faire (flowscript) Mais, ça ne marche pas... En fait, j'ai un formulaire multipage dans lequel se trouve un repeater (à la 3e page) Ce que je voudrais faire c'est initialiser la première ligne de ce repeater. Voila un extrait de mon fichier xml de définition et un extrait de mon flowscript. multipage_model.xml: [...] - fd:form xmlns:fd=http://apache.org/cocoon/forms/1.0#definition; xmlns:i18n=http://apache.org/cocoon/i18n/2.1; xmlns:xi=http://www.w3.org/2001/XInclude; - fd:widgets + fd:group id=page1 [...] + fd:group id=page2 state=invisible [...] + fd:group id=page3 state=invisible - fd:repeater id=all_locus - fd:widgets + fd:field id=locus + fd:field id=annotation + fd:field id=name + fd:field id=results required=true + fd:booleanfield id=select [...] forms_flow.js: [...] var repeater = form.getChild(page3/all_locus); repeater.addRow(); Ce qui suit n'est pas correct : var field = repeater.getWidget(0, page3/locus); je pense que repeater.getChildt(locus) est plus adapté, car tu ne dois pas repréciser page3 (tu est dans le context du repeater). Oups ! je voulais bien entendu écrire : repeater.getChild(locus) Re oups, ce que je raconte est totalement faux !! j'ai oublié de récuprer la ligne var row = repeater.getRow(0); var field = row.getChild(locus) field.setValue(6p); form.showForm(multipage-display-pipeline.jx); [...] Philippe. - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED] -- Philippe GASSMANN Systèmes d'Information ANYWARE TECHNOLOGIES Tel : +33 (0)5 61 00 52 90 Fax : +33 (0)5 61 00 51 46 http://www.anyware-tech.com/ - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED] - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
Re: compiler code java
Il y a un message d'erreur ? [EMAIL PROTECTED] a écrit : Je récapitule: Voilà ce que j'ai ecrit: var repeater = form.getChild(page3/all_locus); repeater.addRow(); var row = repeater.getRow(0); var field = row.getChild(locus); field.setValue(6p); form.showForm(multipage-display-pipeline.jx); Mais toujours pas OK... :-( -Message d'origine- De : Philippe Gassmann [mailto:[EMAIL PROTECTED] Envoyé : Tuesday, February 07, 2006 18:06 À : users-fr@cocoon.apache.org Objet : Re: compiler code java Philippe Gassmann a écrit : Philippe Gassmann a écrit : [EMAIL PROTECTED] a écrit : C'est justement ce que j'étais en train de faire (flowscript) Mais, ça ne marche pas... En fait, j'ai un formulaire multipage dans lequel se trouve un repeater (à la 3e page) Ce que je voudrais faire c'est initialiser la première ligne de ce repeater. Voila un extrait de mon fichier xml de définition et un extrait de mon flowscript. multipage_model.xml: [...] - fd:form xmlns:fd=http://apache.org/cocoon/forms/1.0#definition; xmlns:i18n=http://apache.org/cocoon/i18n/2.1; xmlns:xi=http://www.w3.org/2001/XInclude; - fd:widgets + fd:group id=page1 [...] + fd:group id=page2 state=invisible [...] + fd:group id=page3 state=invisible - fd:repeater id=all_locus - fd:widgets + fd:field id=locus + fd:field id=annotation + fd:field id=name + fd:field id=results required=true + fd:booleanfield id=select [...] forms_flow.js: [...] var repeater = form.getChild(page3/all_locus); repeater.addRow(); Ce qui suit n'est pas correct : var field = repeater.getWidget(0, page3/locus); je pense que repeater.getChildt(locus) est plus adapté, car tu ne dois pas repréciser page3 (tu est dans le context du repeater). Oups ! je voulais bien entendu écrire : repeater.getChild(locus) Re oups, ce que je raconte est totalement faux !! j'ai oublié de récuprer la ligne var row = repeater.getRow(0); var field = row.getChild(locus) field.setValue(6p); form.showForm(multipage-display-pipeline.jx); [...] Philippe. - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED] -- Philippe GASSMANN Systèmes d'Information ANYWARE TECHNOLOGIES Tel : +33 (0)5 61 00 52 90 Fax : +33 (0)5 61 00 51 46 http://www.anyware-tech.com/ - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
Unifier getChild() et lookupWidget() (était Re: compiler code java)
[EMAIL PROTECTED] wrote: Je récapitule: Voilà ce que j'ai ecrit: var repeater = form.getChild(page3/all_locus); Il faut utiliser form.lookupWidget(page3/all_locus). getChild cherche uniquement dans les fils directs, alors que lookupWidget interprète le chemin. Je sais, c'est subtil et pas évident. Que pensez-vous, chers z'utilisateurs, que dans le Cocoon 2.1.9 à venir, on unifie les fonctions getChild() et lookupWidget() ? Sylvain -- Sylvain WallezAnyware Technologies http://bluxte.net http://www.anyware-tech.com Apache Software Foundation Member Research Technology Director - Liste francophone Apache Cocoon -- http://cocoon.apache.org/fr/ Pour vous desinscrire : mailto:[EMAIL PROTECTED] Autres commandes : mailto:[EMAIL PROTECTED]
Re: compiler code java
Le 7 févr. 06, à 17:49, Philippe Gassmann a écrit : Bertrand Delacretaz a écrit : Mais attention, sans connaissances java tu risques de te heurter à un mur...il serait peut-être plus sage de te limiter au flowscript, ou d'apprendre java en-dehors de cocoon, ça sera *beaucoup* plus facile. A mon sens, le flowscript est encore pire, car il ne dispose pas d'outil digne de ce nom qui detecte les erreurs, propose une complétion, débugge le code... (Eclipse pour java) Bien sûr, on ne va pas faire en flowscript tout ce qu'on fait en java, ce n'était pas mon idée. Pour mémoire il existe tout de même un debugger: http://wiki.apache.org/cocoon/DebugFlowScripts -Bertrand smime.p7s Description: S/MIME cryptographic signature