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