ajout d'une EA dans le SI
Bonjour, J'essaie depuis quelques jours d'intégrer le SI côté client à notre logiciel. Dans un premier temps, je démarre le contexte avec "SimExplorer.init();" puis mon objectif est d'ajouter une nouvelle EA. J'ai essayé de le faire avec la méthode "saveElement(String token, SerializableInputStream zipStream)" de l'objet StorageService récupéré par "SimExplorer.getContext().getStorageService(false)". Mais ça ne semble pas si facile, puisque j'ai une erreur du genre : fr.cemagref.simexplorer.is.exceptions.SimExplorerTechnicalException: java.io.FileNotFoundException: /home/dumoulin/.simexplorer/local- data/d/5/c/d5c7650c-8609-461a-8e45-74c10473d710/0/00000000000000000000000000000000null (No such file or directory) Pouvez-vous m'indiquer le meilleur moyen d'utiliser ce StorageService pour sauver une EA ? Merci -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
Bonjour, Avez-vous eu le temps de regarder mon problème ? Le jeudi 11 septembre 2008 14:48:23 Nicolas Dumoulin, vous avez écrit :
J'essaie depuis quelques jours d'intégrer le SI côté client à notre logiciel. Dans un premier temps, je démarre le contexte avec "SimExplorer.init();" puis mon objectif est d'ajouter une nouvelle EA. J'ai essayé de le faire avec la méthode "saveElement(String token, SerializableInputStream zipStream)" de l'objet StorageService récupéré par "SimExplorer.getContext().getStorageService(false)". Mais ça ne semble pas si facile, puisque j'ai une erreur du genre : fr.cemagref.simexplorer.is.exceptions.SimExplorerTechnicalException: java.io.FileNotFoundException: /home/dumoulin/.simexplorer/local- data/d/5/c/d5c7650c-8609-461a-8e45-74c10473d710/0/0000000000000000000000000 0000000null (No such file or directory)
Pouvez-vous m'indiquer le meilleur moyen d'utiliser ce StorageService pour sauver une EA ? Merci
-- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29 -------------- section suivante -------------- Une pièce jointe non texte a été nettoyée... Nom: non disponible Type: application/pgp-signature Taille: 189 octets Desc: This is a digitally signed message part. Url: https://lists.labs.libre-entreprise.org/mailman/private/simexplorer-si-devel...
Bonjour, j'ai regardé d'où pouvais venir le pb, mais j'ai besoin de plus d'informations. Notamment, est-ce qu'il serait possible d'avoir la trace complète de l'exception ? D'autre part, est-ce que dans le cas présent le client et le serveur sont hébergés sur différentes machines ? (La trace de l'exception devrait me donner l'info, mais une confirmation manuelle serait la bienvenue). Cordialement Arnaud. Nicolas Dumoulin a écrit :
Bonjour,
Avez-vous eu le temps de regarder mon problème ?
Le jeudi 11 septembre 2008 14:48:23 Nicolas Dumoulin, vous avez écrit :
J'essaie depuis quelques jours d'intégrer le SI côté client à notre logiciel. Dans un premier temps, je démarre le contexte avec "SimExplorer.init();" puis mon objectif est d'ajouter une nouvelle EA. J'ai essayé de le faire avec la méthode "saveElement(String token, SerializableInputStream zipStream)" de l'objet StorageService récupéré par "SimExplorer.getContext().getStorageService(false)". Mais ça ne semble pas si facile, puisque j'ai une erreur du genre : fr.cemagref.simexplorer.is.exceptions.SimExplorerTechnicalException: java.io.FileNotFoundException: /home/dumoulin/.simexplorer/local- data/d/5/c/d5c7650c-8609-461a-8e45-74c10473d710/0/0000000000000000000000000 0000000null (No such file or directory)
Pouvez-vous m'indiquer le meilleur moyen d'utiliser ce StorageService pour sauver une EA ? Merci
------------------------------------------------------------------------
_______________________________________________ Simexplorer-si-devel mailing list Simexplorer-si-devel at lists.labs.libre-entreprise.org https://lists.labs.libre-entreprise.org/mailman/listinfo/simexplorer-si-deve...
-- Société Code Lutin http://www.codelutin.com tel : 02 40 50 29 28 fax : 09 59 92 29 28
Le mardi 07 octobre 2008 14:19:11 Arnaud Thimel, vous avez écrit :
Bonjour,
j'ai regardé d'où pouvais venir le pb, mais j'ai besoin de plus d'informations.
Merci pour cette réponse. Néanmoins, je n'ai pas eu assez de temps pour reprendre là où je m'étais arrêté. J'ai notamment un soucis de compilation étrange avec les classes du module swing-generated qui sont bien dans le classpath de maven, mais le compilateur ne les trouve pas. Je vous en dirai plus la semaine prochaine. -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29 -------------- section suivante -------------- Une pièce jointe non texte a été nettoyée... Nom: non disponible Type: application/pgp-signature Taille: 189 octets Desc: This is a digitally signed message part. Url: https://lists.labs.libre-entreprise.org/mailman/private/simexplorer-si-devel...
Bonjour, De retour de déplacement, j'arrive enfin à rassembler les morceaux. Le mardi 07 octobre 2008 14:19:11 Arnaud Thimel, vous avez écrit :
Notamment, est-ce qu'il serait possible d'avoir la trace complète de l'exception ?
Voici en PJ le source de mon test et la trace produite. Si vous pouviez regarder rapidement de quoi il en retourne, ça nous arrangerait car on a pris pas mal de retard.
D'autre part, est-ce que dans le cas présent le client et le serveur sont hébergés sur différentes machines ? (La trace de l'exception devrait me donner l'info, mais une confirmation manuelle serait la bienvenue).
Dans ce test, je ne communique qu'avec la partie client du SI. Du moins, il me semble car je récupère le storage service avec getStorageService(false), et donc l'argument "remote" à false. Merci -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29 -------------- section suivante -------------- Une pièce jointe non texte a été nettoyée... Nom: testSaveElement_SimExplorerTechnicalException.log Type: text/x-log Taille: 1585 octets Desc: non disponible Url: https://lists.labs.libre-entreprise.org/mailman/private/simexplorer-si-devel... -------------- section suivante -------------- Une pièce jointe non texte a été nettoyée... Nom: TestSaveElement.java Type: text/x-java Taille: 1436 octets Desc: non disponible Url: https://lists.labs.libre-entreprise.org/mailman/private/simexplorer-si-devel...
Le mercredi 22 octobre 2008 09:11:04 Nicolas Dumoulin, vous avez écrit :
Voici en PJ le source de mon test et la trace produite.
Ce n'était pas tout à fait la bonne trace, voici la bonne en PJ. -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29 -------------- section suivante -------------- Une pièce jointe non texte a été nettoyée... Nom: testSaveElement_SimExplorerTechnicalException.log Type: text/x-log Taille: 1194 octets Desc: non disponible Url: https://lists.labs.libre-entreprise.org/mailman/private/simexplorer-si-devel...
Nicolas Dumoulin a écrit :
Bonjour,
De retour de déplacement, j'arrive enfin à rassembler les morceaux.
Le mardi 07 octobre 2008 14:19:11 Arnaud Thimel, vous avez écrit :
Notamment, est-ce qu'il serait possible d'avoir la trace complète de l'exception ?
Voici en PJ le source de mon test et la trace produite. Si vous pouviez regarder rapidement de quoi il en retourne, ça nous arrangerait car on a pris pas mal de retard.
D'autre part, est-ce que dans le cas présent le client et le serveur sont hébergés sur différentes machines ? (La trace de l'exception devrait me donner l'info, mais une confirmation manuelle serait la bienvenue).
Dans ce test, je ne communique qu'avec la partie client du SI. Du moins, il me semble car je récupère le storage service avec getStorageService(false), et donc l'argument "remote" à false.
Bonjour, Est-ce qu'il serait possible d'essayer avec remote='true' svp ? Merci, Arnaud.
Merci
------------------------------------------------------------------------
_______________________________________________ Simexplorer-si-devel mailing list Simexplorer-si-devel at lists.labs.libre-entreprise.org https://lists.labs.libre-entreprise.org/mailman/listinfo/simexplorer-si-deve...
-- Société Code Lutin http://www.codelutin.com tel : 02 40 50 29 28 fax : 09 59 92 29 28
Arnaud Thimel a écrit :
Nicolas Dumoulin a écrit :
Bonjour,
De retour de déplacement, j'arrive enfin à rassembler les morceaux.
Le mardi 07 octobre 2008 14:19:11 Arnaud Thimel, vous avez écrit :
Notamment, est-ce qu'il serait possible d'avoir la trace complète de l'exception ?
Voici en PJ le source de mon test et la trace produite. Si vous pouviez regarder rapidement de quoi il en retourne, ça nous arrangerait car on a pris pas mal de retard.
D'autre part, est-ce que dans le cas présent le client et le serveur sont hébergés sur différentes machines ? (La trace de l'exception devrait me donner l'info, mais une confirmation manuelle serait la bienvenue).
Dans ce test, je ne communique qu'avec la partie client du SI. Du moins, il me semble car je récupère le storage service avec getStorageService(false), et donc l'argument "remote" à false.
Bonjour,
Est-ce qu'il serait possible d'essayer avec remote='true' svp ?
Sinon, est-ce que c'est possible de faire du pas à pas dans le code ? En réalité, j'aimerai savoir ce que renvoi attachment.getUniqueId() ligne 84 dans "FileSystemAttachmentHandler". Cordialement, Arnaud.
Merci, Arnaud.
Merci
------------------------------------------------------------------------
_______________________________________________ Simexplorer-si-devel mailing list Simexplorer-si-devel at lists.labs.libre-entreprise.org https://lists.labs.libre-entreprise.org/mailman/listinfo/simexplorer-si-deve...
-- Société Code Lutin http://www.codelutin.com tel : 02 40 50 29 28 fax : 09 59 92 29 28
On Thu, 23 Oct 2008 09:37:42 +0200 Arnaud Thimel <thimel at codelutin.com> wrote:
Arnaud Thimel a écrit :
Nicolas Dumoulin a écrit :
Bonjour,
De retour de déplacement, j'arrive enfin à rassembler les morceaux.
Le mardi 07 octobre 2008 14:19:11 Arnaud Thimel, vous avez écrit :
Notamment, est-ce qu'il serait possible d'avoir la trace complète de l'exception ?
Voici en PJ le source de mon test et la trace produite. Si vous pouviez regarder rapidement de quoi il en retourne, ça nous arrangerait car on a pris pas mal de retard.
D'autre part, est-ce que dans le cas présent le client et le serveur sont hébergés sur différentes machines ? (La trace de l'exception devrait me donner l'info, mais une confirmation manuelle serait la bienvenue).
Dans ce test, je ne communique qu'avec la partie client du SI. Du moins, il me semble car je récupère le storage service avec getStorageService(false), et donc l'argument "remote" à false.
Bonjour,
Est-ce qu'il serait possible d'essayer avec remote='true' svp ?
Sinon, est-ce que c'est possible de faire du pas à pas dans le code ? En réalité, j'aimerai savoir ce que renvoi attachment.getUniqueId() ligne 84 dans "FileSystemAttachmentHandler".
Bonjour, Je me permet de répondre aussi; car j'ai un peu de disponibilité aujourd'hui et je pourrais peut-être vous aider à avancer. Je pense moi aussi qu'il y a un problème avec l'identifiant de la pièce jointe attachée. Il semblerait que l'identifiant calculé de la pièce jointe n'est pas correcte (tout du moins le filename n'est pas renseigné). De manière pragmatique, il serait plus simple si vous pouviez nous envoyer votre module développé, votre fichier de configuration (et la base locale si elle n'est pas trop lourde...). Cordialement, Tony.
Cordialement, Arnaud.
Merci, Arnaud.
Merci
------------------------------------------------------------------------
_______________________________________________ Simexplorer-si-devel mailing list Simexplorer-si-devel at lists.labs.libre-entreprise.org https://lists.labs.libre-entreprise.org/mailman/listinfo/simexplorer-si-deve...
Le jeudi 23 octobre 2008 09:51:01 tony Chemit, vous avez écrit :
De manière pragmatique, il serait plus simple si vous pouviez nous envoyer votre module développé, votre fichier de configuration (et la base locale si elle n'est pas trop lourde...).
Bonjour, Je m'apprêtais justement à vous l'envoyer. Vous pouvez récupérer le projet de test, la base locale et le fichier de configuration là : http://mann.clermont.cemagref.fr/files/simexplorer/is-import-test/ Merci -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
Le jeudi 23 octobre 2008 09:37:42 Arnaud Thimel, vous avez écrit :
Sinon, est-ce que c'est possible de faire du pas à pas dans le code ? En réalité, j'aimerai savoir ce que renvoi attachment.getUniqueId() ligne 84 dans "FileSystemAttachmentHandler".
Visiblement, cette ligne n'est pas appelé. -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
On Thu, 23 Oct 2008 10:28:39 +0200 Nicolas Dumoulin <nicolas.dumoulin at cemagref.fr> wrote:
Le jeudi 23 octobre 2008 09:37:42 Arnaud Thimel, vous avez écrit :
Sinon, est-ce que c'est possible de faire du pas à pas dans le code ? En réalité, j'aimerai savoir ce que renvoi attachment.getUniqueId() ligne 84 dans "FileSystemAttachmentHandler".
Visiblement, cette ligne n'est pas appelé.
Je viens de regarder le code et je pense comprendre pourquoi cela ne fonctionne pas (enfin j'espère). Vous essayez de sauvegarder un élément d'exploration vide. Lorsque l'on fait un new ExplorationApplication(), l'objet est vide, i.e qu'il n'a pas d'id ou autre données. Je ne pense pas que le système ai été conçu dans cette optique, les objets ne peuvent pas se remplir tout seul. Si vous voulez faire des tests avec des objets fictifs, il me semble que Gabriel avait créée des générateur de données. Je me renseigne auprès de lui pour savoir comment les utiliser. Je reviens vers vous avec plus d'informations au plus vite. Tony.
On Thu, 23 Oct 2008 11:32:03 +0200 tony Chemit <chemit at codelutin.com> wrote:
On Thu, 23 Oct 2008 10:28:39 +0200 Nicolas Dumoulin <nicolas.dumoulin at cemagref.fr> wrote:
Le jeudi 23 octobre 2008 09:37:42 Arnaud Thimel, vous avez écrit :
Sinon, est-ce que c'est possible de faire du pas à pas dans le code ? En réalité, j'aimerai savoir ce que renvoi attachment.getUniqueId() ligne 84 dans "FileSystemAttachmentHandler".
Visiblement, cette ligne n'est pas appelé.
Je viens de regarder le code et je pense comprendre pourquoi cela ne fonctionne pas (enfin j'espère).
Vous essayez de sauvegarder un élément d'exploration vide.
Lorsque l'on fait un new ExplorationApplication(), l'objet est vide, i.e qu'il n'a pas d'id ou autre données.
Je ne pense pas que le système ai été conçu dans cette optique, les objets ne peuvent pas se remplir tout seul.
Si vous voulez faire des tests avec des objets fictifs, il me semble que Gabriel avait créée des générateur de données. Je me renseigne auprès de lui pour savoir comment les utiliser.
Je reviens vers vous avec plus d'informations au plus vite.
Tony. _______________________________________________ Simexplorer-si-devel mailing list Simexplorer-si-devel at lists.labs.libre-entreprise.org https://lists.labs.libre-entreprise.org/mailman/listinfo/simexplorer-si-deve...
Voici en piece jointe une classe qui genere et sauvegarde un EA dans la base locale, comme vous pouvez le voir, le code n'est pas si anodin : En espérant que cela vois aidera a avancer. Bon appétit :) Tony. -------------- section suivante -------------- Une pièce jointe non texte a été nettoyée... Nom: TestSaveElement.java Type: text/x-java Taille: 3353 octets Desc: non disponible Url: https://lists.labs.libre-entreprise.org/mailman/private/simexplorer-si-devel...
Le jeudi 23 octobre 2008 12:55:22 tony Chemit, vous avez écrit :
Voici en piece jointe une classe qui genere et sauvegarde un EA dans la base locale, comme vous pouvez le voir, le code n'est pas si anodin :
En espérant que cela vois aidera a avancer.
Merci pour ce test, c'est exactement ce que je cherchais. Cependant, ça ne marche pas. J'ai une SecurityException, cf PJ. -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29 -------------- section suivante -------------- Une pièce jointe non texte a été nettoyée... Nom: testSaveElement_SecurityException.log Type: text/x-log Taille: 5658 octets Desc: non disponible Url: https://lists.labs.libre-entreprise.org/mailman/private/simexplorer-si-devel...
On Thu, 23 Oct 2008 15:19:01 +0200 Nicolas Dumoulin <nicolas.dumoulin at cemagref.fr> wrote:
Le jeudi 23 octobre 2008 12:55:22 tony Chemit, vous avez écrit :
Voici en piece jointe une classe qui genere et sauvegarde un EA dans la base locale, comme vous pouvez le voir, le code n'est pas si anodin :
En espérant que cela vois aidera a avancer.
Merci pour ce test, c'est exactement ce que je cherchais. Cependant, ça ne marche pas. J'ai une SecurityException, cf PJ.
Arch c'est pas facile le dev... :) Est-ce que vous pouvez me mettre a disposition le contenu du repertoire target/dependency que je lance le bout de code avec. Merci
Le jeudi 23 octobre 2008 15:40:27 tony Chemit, vous avez écrit :
Est-ce que vous pouvez me mettre a disposition le contenu du repertoire target/dependency que je lance le bout de code avec.
Et voici : http://mann.clermont.cemagref.fr/files/simexplorer/is-import-test/is-import- test_target.tar.bz2 -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
On Thu, 23 Oct 2008 15:47:37 +0200 Nicolas Dumoulin <nicolas.dumoulin at cemagref.fr> wrote:
Le jeudi 23 octobre 2008 15:40:27 tony Chemit, vous avez écrit :
Est-ce que vous pouvez me mettre a disposition le contenu du repertoire target/dependency que je lance le bout de code avec.
Et voici : http://mann.clermont.cemagref.fr/files/simexplorer/is-import-test/is-import- test_target.tar.bz2
En exécutant ce script dans le répertoire target : for f in `ls *.jar` ; do echo $f ; jarsigner -verify $f ; done je vois que : simexplorer-all-0.2-SNAPSHOT.jar jarsigner: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes donc c'est ce jar qui pose problème :) Je vois dans la section META-INF de ce jar des choses un peu étrange (genre ECLIPSE.RSA ?) Le mieux serait de ne pas signer ce jar (ou en tout cas pas par eclispe ;) ), pour le test il n'est pas nécessaire puisque les autres dépendances de simexplorer-is sont présentes. Dans tous les cas, en utilisant les simples dépendances de simexplorer sans ce "mega-jar" signé, tout devrait fonctionner. Si vous voulez signer des jar, je pense qui est plus simple d'utiliser directement maven qui doit gérer ça assez proprement. J'avais aussi quelques modifications à apporter sur l'application : - passage en UTF8 - utilisation de versions stables de nos libraires (et non plus des snapshots) Cela vous pose-t-il un problème ? Tony.
Le jeudi 23 octobre 2008 16:10:14 tony Chemit, vous avez écrit :
simexplorer-all-0.2-SNAPSHOT.jar jarsigner: java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
donc c'est ce jar qui pose problème :)
Je vois dans la section META-INF de ce jar des choses un peu étrange (genre ECLIPSE.RSA ?)
Merci pour avoir identifier le problème.
Le mieux serait de ne pas signer ce jar (ou en tout cas pas par eclispe ;) ), pour le test il n'est pas nécessaire puisque les autres dépendances de simexplorer-is sont présentes.
Dans tous les cas, en utilisant les simples dépendances de simexplorer sans ce "mega-jar" signé, tout devrait fonctionner.
Si vous voulez signer des jar, je pense qui est plus simple d'utiliser directement maven qui doit gérer ça assez proprement.
En fait pour tout dire, j'ai fait ce "mega-jar" car j'ai des problèmes en mettant des dépendances maven sur mes bundles Osgi. Car, nous utilisons un projet pour le calcul distribué qui est dépendant d'equinox (Osgi), et nécessite donc de produire des bundles. Il existe un plugin maven pour générer ces bundles, mais visiblement, je suis pas encore au point. Et étant donné que nous n'avons pas de temps à consacrer pour améliorer ce point, j'ai mis en place des petites ruses en attendant. Voilà pour l'histoire :-) J'avais déjà repérer ces problèmes de signatures, mais je pensais les avoir réglé, je vais vérifier ça.
J'avais aussi quelques modifications à apporter sur l'application : - passage en UTF8 Cela concerne quoi ? Le code source ou bien la GUI, ou les deux ? A priori pas de problème, même plutôt des encouragements.
- utilisation de versions stables de nos libraires (et non plus des snapshots) Je pense que vous parlez des bibliothèques lutinlib. Ça implique quelque chose de spécial ? De mon point de vue, pas de soucis.
-- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
Le jeudi 23 octobre 2008 12:55:22 tony Chemit, vous avez écrit :
Voici en piece jointe une classe qui genere et sauvegarde un EA dans la base locale, comme vous pouvez le voir, le code n'est pas si anodin :
Bon, ça marche bien. Cependant, à partir de ce code, je voudrai créer une EA avec des données fournies par un utilisateur et pas par un générateur aléatoire. Voilà ce que j'ai réussi à faire qui marche : public static ExplorationApplication initEmptyEA(String name, String description) { ExplorationApplication ea = new ExplorationApplication(); ea.setComponents(new Components()); ea.setExplorations(new ExplorationDatas()); ea.setAttachments(new Attachments()); MetaData metaData = new MetaData(); metaData.setUuid(UUID.randomUUID().toString()); ea.setName(name); ea.setDescription(description); metaData.setVersion("42"); metaData.setCreationDate(new Date()); //metaData.setHash(shortString()); metaData.setLatest(true); Descriptors descriptors = new Descriptors(); ea.setDescriptors(descriptors); ea.setMetaData(metaData); return ea; } À partir de là, 2 questions : - J'ai mis une version fictive (42), sinon une exception est levée. Mais comment mettre une version correcte ? Il me semble que cela devrait être géré automatiquement. - De même pour le hash, comment le générer correctement ? Dans votre exemple, il semble être généré aléatoirement. Merci -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
On Fri, 24 Oct 2008 12:22:00 +0200 Nicolas Dumoulin <nicolas.dumoulin at cemagref.fr> wrote:
Le jeudi 23 octobre 2008 12:55:22 tony Chemit, vous avez écrit :
Voici en piece jointe une classe qui genere et sauvegarde un EA dans la base locale, comme vous pouvez le voir, le code n'est pas si anodin :
Bon, ça marche bien. Cependant, à partir de ce code, je voudrai créer une EA avec des données fournies par un utilisateur et pas par un générateur aléatoire. Voilà ce que j'ai réussi à faire qui marche : public static ExplorationApplication initEmptyEA(String name, String description) { ExplorationApplication ea = new ExplorationApplication(); ea.setComponents(new Components()); ea.setExplorations(new ExplorationDatas()); ea.setAttachments(new Attachments());
MetaData metaData = new MetaData(); metaData.setUuid(UUID.randomUUID().toString()); ea.setName(name);
ea.setDescription(description);
metaData.setVersion("42"); metaData.setCreationDate(new Date()); //metaData.setHash(shortString()); metaData.setLatest(true);
Descriptors descriptors = new Descriptors(); ea.setDescriptors(descriptors);
ea.setMetaData(metaData);
return ea; }
À partir de là, 2 questions : - J'ai mis une version fictive (42), sinon une exception est levée. Mais comment mettre une version correcte ? Il me semble que cela devrait être géré automatiquement.
Je ne comprends pas vraiment la question :) qu'entendez-vous par version correcte ? Si un objet vient d'être crée sa version ne devrait-elle pas être 0 ? Je ne suis pas très au courant du métier propre, mais je vais me renseigner.
- De même pour le hash, comment le générer correctement ? Dans votre exemple, il semble être généré aléatoirement.
Oui le hash des métadata est bien généré. ligne 188 de fr.cemagref.simexplorer.is.service.random.ElementGenerator (dans le module service). Pour la petit histoire, je me suis occupé de la partie swing de l'application et n'est pas participé à la conception du moteur de l'application. Je me suis basé sur les services que me mettait à disposition Gabriel. Dans mes souvenirs, aucun écran de création d'objet n'a été fait. J'ai peut-être raté une étape mais je pensais que le but de l'application était d'encapsuler des données entrantes mais en aucun cas il était possible de créer "from scratch" des objets. Dans tous les cas les services ne le permettent pas, on peut juste sauver et supprimer des données. Les générateurs mis en place étaient une commodité afin d'injecter des données pour les tests et peut-être qu'ils ne reflètent pas complètement le métier. Mais peut-être que je me trompe... Arnaud rentre lundi et il pourra peut-être vous apporter toutes ces précisions que je ne maîtrise pas à l'heure actuelle. Tony.
Merci
Le vendredi 24 octobre 2008 13:01:26 tony Chemit, vous avez écrit :
Je ne comprends pas vraiment la question :) qu'entendez-vous par version correcte ?
Et bien, il me semble que ce serait au service de fixer la version en fonction de la parenté de l'élément.
Oui le hash des métadata est bien généré. ligne 188 de fr.cemagref.simexplorer.is.service.random.ElementGenerator (dans le module service). Oui, avec la méthode shortString() qui ne semble pas faire ce qu'on attend d'un hash :-/
Pour la petit histoire, je me suis occupé de la partie swing de l'application et n'est pas participé à la conception du moteur de l'application. Je me suis basé sur les services que me mettait à disposition Gabriel.
Oui, j'avais bien compris ;-) D'ailleurs, j'aurai certainement quelques questions sur la GUI, mais je le ferai dans un autre fil, et certainement à un autre moment.
Dans mes souvenirs, aucun écran de création d'objet n'a été fait.
Oui, ce n'était pas demandé. En revanche, une API qui permette d'alimenter le SI peut être utile.
J'ai peut-être raté une étape mais je pensais que le but de l'application était d'encapsuler des données entrantes mais en aucun cas il était possible de créer "from scratch" des objets. Dans tous les cas les services ne le permettent pas, on peut juste sauver et supprimer des données.
Dans ce cas, j'aimerai comprendre comment "entrent" les données.
Arnaud rentre lundi et il pourra peut-être vous apporter toutes ces précisions que je ne maîtrise pas à l'heure actuelle.
Très bien. -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
Le vendredi 24 octobre 2008 13:01:26 tony Chemit, vous avez écrit :
On Fri, 24 Oct 2008 12:22:00 +0200 Nicolas Dumoulin <nicolas.dumoulin at cemagref.fr> wrote:
- J'ai mis une version fictive (42), sinon une exception est levée. Mais comment mettre une version correcte ? Il me semble que cela devrait être géré automatiquement.
Je ne comprends pas vraiment la question :) qu'entendez-vous par version correcte ?
Si un objet vient d'être crée sa version ne devrait-elle pas être 0 ? Je ne suis pas très au courant du métier propre, mais je vais me renseigner.
En regardant un peu plus le code, nous avons trouvé une réponse à notre question. En ne créant pas les metadata de l'EA créée, celles-ci sont générées dans StorageServiceCommon.saveElement(String token, LoggableElement element, Map<Attachment, String> idsattachment). Et en particulier la version est initialisée à 1. Mais sur ce genre de subtilité, il nous manque un peu de documentation pour pouvoir communiquer avec votre service. -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
Le vendredi 24 octobre 2008 12:22:00 Nicolas Dumoulin, vous avez écrit :
À partir de là, 2 questions : - J'ai mis une version fictive (42), sinon une exception est levée. Mais comment mettre une version correcte ? Il me semble que cela devrait être géré automatiquement. - De même pour le hash, comment le générer correctement ? Dans votre exemple, il semble être généré aléatoirement.
Bonjour, J'ai refais des essais, et en fait ce code semble fonctionner, sans toucher aux Metadata : ExplorationApplication ea = new ExplorationApplication(); ea.setComponents(new Components()); ea.setExplorations(new ExplorationDatas()); ea.setAttachments(new Attachments()); ea.setName(name); ea.setDescription(description); Descriptors descriptors = new Descriptors(); ea.setDescriptors(descriptors); J'aimerai tout de même obtenir plus d'informations sur les meilleures pratiques d'utilisation de l'API pour enregistrer et charger une EA en toute séreinité. Cordialement -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29
Le jeudi 23 octobre 2008 09:25:21 Arnaud Thimel, vous avez écrit :
Est-ce qu'il serait possible d'essayer avec remote='true' svp ?
Voici le log en PJ. Mais sans configuration, c'est un peu normal que ça ne marche pas en remote. De plus, ce qui nous intéresse en priorité est de manipuler le SI local, et d'utiliser votre GUI pour faire la synchro. -- Nicolas Dumoulin Ingénieur d'études - Cemagref, LISC +33 (0)4.73.44.07.29 -------------- section suivante -------------- Une pièce jointe non texte a été nettoyée... Nom: testSaveElement_remote.log Type: text/x-log Taille: 4439 octets Desc: non disponible Url: https://lists.labs.libre-entreprise.org/mailman/private/simexplorer-si-devel...
participants (3)
-
chemit@codelutin.com -
nicolas.dumoulin@cemagref.fr -
thimel@codelutin.com