Bonjour a tous,
J'ai une question (en fin) et surtout besoin de votre sentiment sur la methode que j'utilise (ou que j'essaye d'utiliser).
D'apres les tests que j'ai effectue, je n'arrive pas a me servir de mon currentFlow correctement. Disons que je ne retrouve pas le fonctionnement que j'ai l'habitude mais cela peux sembler logique vu que je ne programme pas comme j'en ai l'habitude.
J'ai l'habitude de me shematiser les connexions entre les objets d'une certaine maniere qui me permet d'utiliser des objets que j'appelle courant ou en cours pointant sur un objet d'une liste.
Cependant, je n'arrive pas à faire sauvegarder les donnees d'une entite precedement chargee. Je suis donc oblige de le recharger l'entite avant de changer les valeurs et ensuite de la sauvegarder... ce qui relativise l'utilisation des objets courants.
Pour mieux expliquer mon probleme, j'ai une entite workstation contenant une collection de Flow. Dans cette entite workstation j'ai mis un pointeur vers un objet de la collection de Flow.
La premiere action est de faire un "start" sur la workstation (creer un Flow dans la workstation avec une date de debut).
Ensuite le temps passe et on fait un "stop" sur la workstation (changer renseigner la date de fin et calculer le temps passe).
Sur la premiere action, j'affecte a mon pointeur l'adresse de l'objet flow que j'ai cree avec les DAO.
Sur la deuxieme j'utilise l'adresse de mon objet, renseigne les valeurs et fait un commit.
Mais rien ne change dans la base.... J'ai donc modifie le code pour charger mon objet Flow juste avant de modifier les valeurs... L'objet Flow current ne me sert que pour avoir le TopiaId mais je peux facilement m'en passer en utilisant le champ date de fin à null.
Je trouve cela dommage d'avoir à recharger l'entite a chaque fois que j'en ai besoin mais est-ce la bonne façon de penser ? Je me demande si ce n'est pas logique d'avoir a recharger l'entite car les donnees peuvent etre deja obsoletes et donc fausses.... Qu'en pensez-vous ?
Question :
Ma workstation contient des evenements qui contiennent un flow. Je voudrais charger les evenements (normalement il ne doit y en avoir qu'un en cours à la fois) qui contiennent un flow avec une date de fin nulle.
J'ai comme l'impression qu'il va me falloir utiliser une TopiaQuery mais je voudrais en etre sur. Si je n'en ai pas besoin, je ne vois pas comment coder cela...
Un petit coup de pouce ?
Si c'est une TopiaQuery je vais essayer de m'inspirer du code de Jean precedement poste et aller fouiller dans les sources du projet ifremer de Florian.
Reponse :
Par rapport au precedent post, je voudrais dire a Florian qu'il ne m'a pas embrouille, au contraire je commence a bien voir comment tout cela s'articule. Meme si il me manque encore pas mal de bases sur l'utilisation des outils de topia.
La connexion supplementaire vers l'entite Flow pour avoir le Flow courant ne me parait pas etre une bonne idee en fait. Car si je commence à coder comme cela, les autres entites auront aussi besoin de ce type de connexion et donc cela risque de rendre l'ensemble trop complexe pour le gain.... Mais je continu a creuser pour faire fonctionner l'ensemble avec le code le plus propre possible.
Merci.
Julien
Nomaka