JackDanny / projetDCLL_MoodleXML_Json

Projet pour passer du moodleXML au Json et vice-versa et Tutti Quanti
1 stars 2 forks source link

Interface parseur JSON -> Writer XML #33

Closed FlorentMouysset closed 11 years ago

FlorentMouysset commented 11 years ago

@JackDanny @smailGithub Avez-vous pris en compte le possibilité d'une seule question ? La méthode parse ne suffira pas. Proposez quelque chose de suffisant merci.

smailGithub commented 11 years ago

@FlorentMouysset on parle bien du package: jsonToXml.xmlWriter?

smailGithub commented 11 years ago

@FlorentMouysset si c'est le cas, le parser prend déja comme exemple une seule question !?

FlorentMouysset commented 11 years ago

Oui mais c'est un mauvais exemple. cf TrueFalse.json créé par @RaphaelFOURQUET @NawalOuldamer qui est un exemple valide.

smailGithub commented 11 years ago

@FlorentMouysset @NawalOuldamer @RaphaelFOURQUET
le fichier TrueFalse.json est mal écrit et mal indenté ,quelqu'un peut il me confirmer cette information?

smailGithub commented 11 years ago

Normalement j'ai corriger le fichier et la compilation ne signale aucune erreur !

RaphaelFOURQUET commented 11 years ago

TrueFalse.json est le résultat d'un de mes codes, c'est la transformation non indemptée de TrueFalse.xml, mais il est censé être bien écrit sinon.Prière de ne pas le modifier à la main c'est un résultat qui me sert de base pour améliorer mon code, et il sera de toute façon regénéré par le run de mon ToJson.java .

@smailGithub mis à part le pb d'indemptation qui reste à résoudre et dont nawal s'occupe le fichier est bien écrit non ?

smailGithub commented 11 years ago

@RaphaelFOURQUET avant que ne modifie le TrueFalse.json , la compilation donnai des erreurs du genre question n'est pas un ARRAY ! après la modification , plus d'erreur !, Est ce une coïncidence ? Ma modification affectera-t-elle le bon déroulement des choses ?

RaphaelFOURQUET commented 11 years ago

Cela vient du fait que cet exemple n'utilisait qu'une question, donc pas un array , c'est le soucis dont parle Florent si on a un quiz d'une seule question, le code du parser Json ne marche pas et c'est en cela que votre parser n'est pas suffisant je pense. Ta modification ne changera pas mon code mais le fichier TrueFalse.json sera re-généré sur une seule ligne. Mais pour le modifier comme un array tu as du créer une liste de questions avec un seul élément non ? Dans le cas d'une traduction automatique, ce ne sera pas ça qui sera effectué. Le mieux serait de dupliquer cet exemple et d'utiliser le votre de votre cote genre TruFalse2.json

smailGithub commented 11 years ago

@RaphaelFOURQUET Ok, je comprends l'erreur maintenant, peut tu stp copier coller TrueFalse.json ici en commentaire , vu que je l'ai modifier !

RaphaelFOURQUET commented 11 years ago

Etant donné que tes modifs ne sont pas push le fichier est encore à jour sur ce repository. https://github.com/JackDanny/projetDCLL_MoodleXML_Json/blob/master/projet/src/test/resources/TrueFalse.json Sinon il suffit normalement d’exécuter ToJson.java pour le recréer. Attention cependant car cet exemple est incomplet, il ne possède que les réponses à une question truefalse et pas les balises < questionText > et autres.

FlorentMouysset commented 11 years ago

Oui le problème est bien comme @RaphaelFOURQUET l'a énoncé. Je demande donc au JSon parser de prendre en compte le pb. De mon coté une nouvelle méthode arrive sur l'interface du XML writer : public void writeXmlToJson(JSONObject oneQuestion, String nameXmlFileOut); pour le cas d'une question unique.

Ps : je push un TrueFalse.json modifié attention !

RaphaelFOURQUET commented 11 years ago

Ton trueFalse modifié cree une ARRAY [] qui contient une seule question, c'est normalement incorrect si on rencontre une seule balise question on ne cree pas d'array ? De plus comme indiqué TrueFalse.json est un fichier auto généré par ma méthode merci de ne pas le modifier à la main ou vous en servir directement pour vos tests car ma méthode le modifie souvent.

FlorentMouysset commented 11 years ago

Oui il s'agit en faite de fichier Json de test pour mon writer. J'ai pas eu le temps de mettre en place de vrai tests :(

smailGithub commented 11 years ago

@FlorentMouysset , la modification que tu souhaite réalise est celle que j'ai cite précédemment , mais @RaphaelFOURQUET m'a indiquer ques c'est un fichier AUTO-GEN , donc ça modification est inutile.

smailGithub commented 11 years ago

Autant pour moi, mon commentaire est inutile alors :D :D

FlorentMouysset commented 11 years ago

L'interface du XML writer est complétée. Elle prend en compte une seul question et plus seulement un tableau de questions. @smailGithub le parseur JSON est-il bon ?

RaphaelFOURQUET commented 11 years ago

@FlorentMouysset je pense que tu n'as toujours pas compris ce que je voulais dire, TrueFalse.json est mon fichier autogen, je m'en sers pour corriger mon writer Json donc il ne faut pas l'utiliser directement pour tes tests car il est modifié souvent et pas toujours de manière correcte.

smailGithub commented 11 years ago

@FlorentMouysset le parsert actuel travaille sur "question" comme étant un JsonArray ! Dans la cas d'une question quelle est le type de "question"?

RaphaelFOURQUET commented 11 years ago

JsonObject il me semble, à confirmer

FlorentMouysset commented 11 years ago

je confirme

smailGithub commented 11 years ago

@FlorentMouysset de mon côte je pence que c'est bon ! A vous de me le confirmer, j’espère que ça va marcher

smailGithub commented 11 years ago

@FlorentMouysset @RaphaelFOURQUET
Bonne soirée et à demain !

FlorentMouysset commented 11 years ago

Je ne vois pas comment cela fonctionne ? Le parseur Json n'a toujours qu'une seul méthode, est-ce normale ?

smailGithub commented 11 years ago

@FlorentMouysset hier , j'ai fait une modification qui permet de traiter le cas d'une question en ce basant sur le fichier AUTO-GEN TrueFalse.json de @RaphaelFOURQUET est ce insuffisant?

smailGithub commented 11 years ago

@FlorentMouysset @RaphaelFOURQUET , je pence que la solution au problème est de pouvoir récupérer le nombre de question du fichier, puis dirigé le parser vers les actions à faire en fonction du nombre de question UNE QUESTION ou PLUSIEURS. J'ai essayer avec la surcharge de la méthode parser, mais ce le ne peut fonctionner vu que le paramètre est de type String pour les deux cas ! Donc pour le moment , c'est soit un parser d'une question , soit un parser de plusieurs questions , en changeant getJsonArray avec getJson Object !!

PS: quelqu’un à des nouvelles de @JackDanny ?

FlorentMouysset commented 11 years ago

heu ... j'ai pas tout compris... fait comme tu veut du moment que c'est correct. Pour savoir si tu as un tableau ou juste un objet : JSONTokener jsonT = new JSONTokener(reader);
o2 = new JSONObject(jsonT); o2.optJSONArray("question") o2 vaut null s'il n'y à pas de tableau associer je crois. Fait des tests

Pas de new de @JackDanny

smailGithub commented 11 years ago

Ok @FlorentMouysset je vais faire comme ça et je vous tiens au courant !

smailGithub commented 11 years ago

@FlorentMouysset @RaphaelFOURQUET j'ai modifier le parser json pour qu'il puisse différencier entre une "question" et plusieurs "question" , le problème est régler ! Mais voilà que surgi un autre problème cette fois ci concernant les "answer" : Dans les deux cas ( une ou plusieurs questions ) "answer" est un array , mais le parser est Ok quand c'est une seule question , tandis qu'il déclare une erreur quand c'est plusieurs question ! Je ne comprend pas d’où viens le problème ni comment y remédier ! Vous pouvez faire un pull est tester sur vos pc pour voire un peu de quoi je parle !

FlorentMouysset commented 11 years ago

Je vois pas pourquoi tu touche aux answer? C'est le XMLWriter qui s'en charge puisque son interface réclame juste les questions.

Si c'est le parsing qui génère les erreurs cela signifie que ton Json n'est pas correct.

smailGithub commented 11 years ago

@FlorentMouysset je sais plus quoi faire , ce problème est incompréhensible ! , je ne touche pas au "answer" à aucun moment ! Et il n'y aucune différence entre "answer" du fichier à une seule question et le "answer" du fichier à plusieurs question ! INCOMPRÉHENSIBLE ! :S

FlorentMouysset commented 11 years ago

Je vais voir tout ça ...

FlorentMouysset commented 11 years ago

Terminé