branch feature/refactor_reference updated (f126260 -> c6577e5)
This is an automated email from the git hooks/post-receive script. New change to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git discards f126260 Mise à jour de commons-collections4 en 4.1 (See #7803) discards d0551f0 ajout d'une configuration pour gitlab-ci discards 42b9509 Move to codelutinpom 4 discards 6b943fa use eugene new tag value attributeGeneric discards fc387c6 Faire fonctionner les listes de réferentielsobserve-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java discards e7e6142 Ne pas charger les composants BeanListHeader si un marqueur de non chargement est présent discards a972a5b Ne pas charger les listes via les mises à jour pour les écrans de type List discards 158b566 Par défaut on mets des modèles de références vides discards 03caee1 Ne pas charger les référentiels si aucune définition n'est disponible dans le formulaire) discards 9539790 Récupération de la liste des catégories de poids à partir d'une espèce discards 163a4e6 Chargement des référentiels dans les modèles des écrans de l'application swing discards 19a0f2e Revue de code sur la date de mise à jour des objets : toute donnée modifiée doit retourner une date de mise à jour à réimpacter dans les ui (première passe, mais ce n'est pas fini, il faut bien vérifier que dans l'application swing ça va être cohérent) discards 053452c Quelques corrections sur les Binders + début de mise en place dans l'application swin discards 0522ea7 Impact des modifications sur l'application swing + début de revue de code sur la partie gestion de l'arbre de navigation, reste encore pas mal de boulot discards ed4ede6 Impact des modifications sur l'application web discards 5d6efbd Impact des modifications de l'API sur le module rest + pour le moment j'ai commenté une partie des tests, on les réactivera lorsque tout ira mieux discards b751af6 Application des modifications sur l'API et début de revue des implantations (on utilise désormais le BinderEngine pour gérer les recopies) + Revue aussi de la gestion des datas de dernière mise à jour (mais encore tout à fait fini) discards 7ba116f Suppression des dto Reference, ReferenceSet et Form discards e174add Suppression de l'enumeration ReferenceLocale (on ne garde que celle côté service API discards 4ddbcd6 FloatingObject est aussi une entité qui a une date de dernière mise à jour + tous les DataDto ont une date de dernière mise à jour discards c15975d Mise en place du ReferenceBinderEngine discards 6e57015 Utilisation d'Eugene en snapshot (pour avoir les generics sur les champs du modèle discards 48c6a83 Ajout d'un nouveau système de binder déterministe et qui est auto-suffisant discards 5dfd897 Introduction de DataDto, suppression des ReferenceDto et autre, remplacés par ReferentialReference et DataReference discards 8c38c6e Fix test discards 55c4670 Fix test discards 0ffc6cb - Suppression des méthodes getDecorator du context applicatif (ce n'est pas le role du context de décorer ou fournir des décorateurs mais celui du DecoratorService) - Arrêter d'exposer comment on récupère un décorateur de référence, on le code une fois pour toute dans DecoratorService et on s'en sert partout ailleurs (ce n'est certainement pas à un handler d'ui à savoir comment récupérer un décorateur...) - Revue un peu des actions pour déplacer les noeuds (manque de [...] discards 26c02d7 Dans une référence, on n'expose pas d'autres références, on récupère juste l'id (si possible) discards 7235469 Impact dans les handlers dues aux renommages de l'API des services + début d'utilisation des bons objets là où il faut : si j'ai un ReferentialReference et bien je veux m'en servir; toujours être le plus précis possible) discards bbc5db8 Fix some tests discards a89286e Utilisation des requetes dans les formulaires (en fait juste passé le nom de la requete) et ne plus calculer les labels dans le formulaire discards 887b090 Ajout de requetes manquantes + aussi de définition l'ensemble de références discards 6b02894 Ajout propriétés sur le FormDto, revue du constructeur et de l'adapter json (on ne deserialise plus les labels qui de toute façon seront supprimés au prochain wagon...) discards c91d3de Impact du changement de l'API des services sur l'implatantion webmotion discards 2d620b8 Impact du changement de l'API des services sur l'implatantion webmotion discards 0fb6505 Suppression de la méthode loadForRead (vu qu'elle n'a plus de raison d'être si les referenceSets sont gérés au niveau de l'application) + renommage de loadForEdit en loadFrom + réorganisation des méthodes discards 8f0094f recharger les ensembles de références à l'ouverture d'un écran de type table discards 6af8c2c enabled et needComment ne sont pas des propriétés techniques, on doit les recopier à chaque fois discards 33e0b82 Ajout d'un message sur l'exception discards ad00d80 little improvments discards 3c0ed78 remerge from develop :( discards 2ffac67 Fix i18n discards dcf0d4e fix log level in dev mode discards 82a8ed4 Bien recharger les referenceSets lors de l'ouverture d'une donnée (mais cela n'est pas optimal, il faudra refaire une passe pour trouver le meilleur moment pour déclancher cette opération) discards 9e740bd Fix some other tests discards 5156de3 Fix code after merge discards f5c2c3c Fix api discards fcb72be Nommer le label set discards 2ce324b Fix some tests discards d8a13bc Add fixme discards dbb5658 Amélioration des logs + bien transformer les références vers référentiels + prise en compte des champs techniques discards ac539a7 Suppression de la méthode loadForRead et renommage de l'autre en loadForm discards d563b90 Suppression classe non utilisée discards 657b8b3 Déplacement du cache de rérentiels dans le module de l'API de service et intégration dans les tests discards 7fd9a31 Ajout d'une méthode utile pour récupérer tous les types de lables d'un formulaire discards c90ed43 Réajout de méthodes enlevées trop rapidemment discards 9ede930 Fix generic discards 35a18ff Meilleure utilisation des ReferenceDto discards 2fc9a91 Début de revue du code de l'application swing : y'a du boulot... discards 91f61e4 amélioration du design des ReferenceSetDto (si on utilise des generics, on le fait jusqu'au bout :() + quelques corrections par ci-par là discards fa1235c Permettre aussi d'intégrer les ensembles de références sur les données métiers à la récupération d'un FormDto discards 5a951b7 Utilisation du système de requète sur l'écran TripSeine discards 76e2634 Mise en place du cache de réferentiels et intégration dans l'application swing discards 203b122 Fix NPE discards 564ed13 Ajout au FormDto du nom des deux requètes qu'il peut utiliser discards 7b59358 Permettre de transformer un ObserveReference en RefereceDto discards 8d921fe Reformatage des définitions discards e8a38b2 ajout des définitions pour les référentiels discards 366574f ajout des définitions des requetes discards 28bb481 Avoid NPe + improve code discards 42d4983 Ajout d'une action pour recharger la configuration du serveur discards 01f6fb6 remove dead code discards bc75e21 introduction nouvelle api de references plus simple et mise en place discards 2ce56e4 Début d'implantation d'un cache de référentiels (à finir) discards 8478b78 Ajout d'un service pour récupérer des referecne set (à finir) discards e51a85b Ajout de définition de requètes de données discards 4bb2bff Ajout d'une méthode toString pour faire un rendu simple d'un dto discards 3eac353 Ajout de méthodes pour faire un rendu i18n plus facile new e360d4b Montées de version + utilisation pom 6-SNASPHOT new 90fc814 Ajout de méthodes pour faire un rendu i18n plus facile new 006691e Ajout d'une méthode toString pour faire un rendu simple d'un dto new e7998e6 Ajout de définition de requètes de données new 6122469 Ajout d'un service pour récupérer des referecne set (à finir) new 08607ae Début d'implantation d'un cache de référentiels (à finir) new 63ec5bb introduction nouvelle api de references plus simple et mise en place new 782e73b remove dead code new e23d0ab Ajout d'une action pour recharger la configuration du serveur new c96c2ec Avoid NPe + improve code new 1a01d2d ajout des définitions des requetes new 6349668 ajout des définitions pour les référentiels new d75b992 Reformatage des définitions new 74439a0 Permettre de transformer un ObserveReference en RefereceDto new eca2284 Ajout au FormDto du nom des deux requètes qu'il peut utiliser new 46db4a6 Fix NPE new 1c7e760 Mise en place du cache de réferentiels et intégration dans l'application swing new efdcf51 Utilisation du système de requète sur l'écran TripSeine new 54a5917 Permettre aussi d'intégrer les ensembles de références sur les données métiers à la récupération d'un FormDto new a8f3bc3 amélioration du design des ReferenceSetDto (si on utilise des generics, on le fait jusqu'au bout :() + quelques corrections par ci-par là new e2aea45 Début de revue du code de l'application swing : y'a du boulot... new 4283b5c Meilleure utilisation des ReferenceDto new 7117cdf Fix generic new 20213ae Réajout de méthodes enlevées trop rapidemment new 38a4cc8 Ajout d'une méthode utile pour récupérer tous les types de lables d'un formulaire new 2617dd4 Déplacement du cache de rérentiels dans le module de l'API de service et intégration dans les tests new da9cc4c Suppression classe non utilisée new 6f8f775 Suppression de la méthode loadForRead et renommage de l'autre en loadForm new 73880f3 Amélioration des logs + bien transformer les références vers référentiels + prise en compte des champs techniques new 3df4834 Add fixme new 8e68719 Fix some tests new b238b15 Nommer le label set new 1c7fb70 Fix api new e4655eb Fix code after merge new 3598ed9 Fix some other tests new f71eafe Bien recharger les referenceSets lors de l'ouverture d'une donnée (mais cela n'est pas optimal, il faudra refaire une passe pour trouver le meilleur moment pour déclancher cette opération) new cb391fb fix log level in dev mode new 39801c0 Fix i18n new 5dea869 remerge from develop :( new 0f8bb34 little improvments new f8b8e29 Ajout d'un message sur l'exception new 633fb10 enabled et needComment ne sont pas des propriétés techniques, on doit les recopier à chaque fois new 96166b9 recharger les ensembles de références à l'ouverture d'un écran de type table new 4a15f52 Suppression de la méthode loadForRead (vu qu'elle n'a plus de raison d'être si les referenceSets sont gérés au niveau de l'application) + renommage de loadForEdit en loadFrom + réorganisation des méthodes new f125342 Impact du changement de l'API des services sur l'implatantion webmotion new 4596656 Impact du changement de l'API des services sur l'implatantion webmotion new 416c329 Ajout propriétés sur le FormDto, revue du constructeur et de l'adapter json (on ne deserialise plus les labels qui de toute façon seront supprimés au prochain wagon...) new 3bd5600 Ajout de requetes manquantes + aussi de définition l'ensemble de références new ebd0b3e Utilisation des requetes dans les formulaires (en fait juste passé le nom de la requete) et ne plus calculer les labels dans le formulaire new ab14181 Fix some tests new d36ca08 Impact dans les handlers dues aux renommages de l'API des services + début d'utilisation des bons objets là où il faut : si j'ai un ReferentialReference et bien je veux m'en servir; toujours être le plus précis possible) new 3770703 Dans une référence, on n'expose pas d'autres références, on récupère juste l'id (si possible) new a65d18a - Suppression des méthodes getDecorator du context applicatif (ce n'est pas le role du context de décorer ou fournir des décorateurs mais celui du DecoratorService) - Arrêter d'exposer comment on récupère un décorateur de référence, on le code une fois pour toute dans DecoratorService et on s'en sert partout ailleurs (ce n'est certainement pas à un handler d'ui à savoir comment récupérer un décorateur...) - Revue un peu des actions pour déplacer les noeuds (manque de [...] new e3ecfd0 Fix test new 51a9861 Fix test new 7aaa20e Introduction de DataDto, suppression des ReferenceDto et autre, remplacés par ReferentialReference et DataReference new db23b03 Ajout d'un nouveau système de binder déterministe et qui est auto-suffisant new 0440b70 Utilisation d'Eugene en snapshot (pour avoir les generics sur les champs du modèle new bb2dd28 Mise en place du ReferenceBinderEngine new dcc13a9 FloatingObject est aussi une entité qui a une date de dernière mise à jour + tous les DataDto ont une date de dernière mise à jour new 361b442 Suppression de l'enumeration ReferenceLocale (on ne garde que celle côté service API new 67fe01b Suppression des dto Reference, ReferenceSet et Form new 11681bb Application des modifications sur l'API et début de revue des implantations (on utilise désormais le BinderEngine pour gérer les recopies) + Revue aussi de la gestion des datas de dernière mise à jour (mais encore tout à fait fini) new 60e6f60 Impact des modifications de l'API sur le module rest + pour le moment j'ai commenté une partie des tests, on les réactivera lorsque tout ira mieux new 6205763 Impact des modifications sur l'application web new 4d874c5 Impact des modifications sur l'application swing + début de revue de code sur la partie gestion de l'arbre de navigation, reste encore pas mal de boulot new 36dbe91 Quelques corrections sur les Binders + début de mise en place dans l'application swin new b62b647 Revue de code sur la date de mise à jour des objets : toute donnée modifiée doit retourner une date de mise à jour à réimpacter dans les ui (première passe, mais ce n'est pas fini, il faut bien vérifier que dans l'application swing ça va être cohérent) new 947842d Chargement des référentiels dans les modèles des écrans de l'application swing new 0a536cc Récupération de la liste des catégories de poids à partir d'une espèce new d6cc0c3 Ne pas charger les référentiels si aucune définition n'est disponible dans le formulaire) new 2cdb924 Par défaut on mets des modèles de références vides new 8aab55d Ne pas charger les listes via les mises à jour pour les écrans de type List new be9b6d2 Ne pas charger les composants BeanListHeader si un marqueur de non chargement est présent new b4774f0 Faire fonctionner les listes de réferentielsobserve-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java new bb9cda6 use eugene new tag value attributeGeneric new 334f8d7 Move to codelutinpom 4 new 9b39878 ajout d'une configuration pour gitlab-ci new c6577e5 Updates some libraries + fix thrid parties This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (f126260) \ N -- N -- N refs/heads/feature/refactor_reference (c6577e5) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 79 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit c6577e5b900e96ddd7b4cf955d2b64bde5113681 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 25 13:56:42 2015 +0100 Updates some libraries + fix thrid parties commit 9b398784dbba57cc7abf6491ce8eb0f98403214c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 5 16:47:08 2015 +0100 ajout d'une configuration pour gitlab-ci commit 334f8d72f0c575382aecf60ce6be4073c80fa8b1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 4 08:50:35 2015 +0100 Move to codelutinpom 4 commit bb9cda6de9c27374e7a772f47b033c7c45dc50ee Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 4 08:47:49 2015 +0100 use eugene new tag value attributeGeneric commit b4774f0c5acb117932aaf1eac3e0a7e0f08fb332 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 30 01:09:22 2015 +0100 Faire fonctionner les listes de réferentielsobserve-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java commit be9b6d2862a790e688c4cd9705232afc6df925e9 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:12:19 2015 +0100 Ne pas charger les composants BeanListHeader si un marqueur de non chargement est présent commit 8aab55d86f7ceead128ecf5e05dded5d6a379c6c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:11:47 2015 +0100 Ne pas charger les listes via les mises à jour pour les écrans de type List commit 2cdb92407033d9ed886294969d20fe12a8e8d81b Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:11:24 2015 +0100 Par défaut on mets des modèles de références vides commit d6cc0c32a78b998616f0bff5837738a49a822026 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 22:17:38 2015 +0100 Ne pas charger les référentiels si aucune définition n'est disponible dans le formulaire) commit 0a536cc43678b6c26cc426b09f68fb49d56039cf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 20:41:59 2015 +0100 Récupération de la liste des catégories de poids à partir d'une espèce commit 947842d135e9342143a7386593f8ad183b18cb0f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 19:58:22 2015 +0100 Chargement des référentiels dans les modèles des écrans de l'application swing commit b62b647a5e14b5c85cc0b8a2cca26165a1eda6f3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 19:14:52 2015 +0100 Revue de code sur la date de mise à jour des objets : toute donnée modifiée doit retourner une date de mise à jour à réimpacter dans les ui (première passe, mais ce n'est pas fini, il faut bien vérifier que dans l'application swing ça va être cohérent) commit 36dbe919f83a28fb80412f678147ab5e35182422 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 17:29:40 2015 +0100 Quelques corrections sur les Binders + début de mise en place dans l'application swin commit 4d874c511a5292ffa19434b42b25cb5c399665e2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:19:58 2015 +0100 Impact des modifications sur l'application swing + début de revue de code sur la partie gestion de l'arbre de navigation, reste encore pas mal de boulot commit 6205763c8d0ba6344cce744bfed119c2ac30f2d5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:19:07 2015 +0100 Impact des modifications sur l'application web commit 60e6f607efc13ae61c776af73a4ee5da04908136 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:18:04 2015 +0100 Impact des modifications de l'API sur le module rest + pour le moment j'ai commenté une partie des tests, on les réactivera lorsque tout ira mieux commit 11681bb1d11094ddc1c2f35f6ced5523d013091e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:16:35 2015 +0100 Application des modifications sur l'API et début de revue des implantations (on utilise désormais le BinderEngine pour gérer les recopies) + Revue aussi de la gestion des datas de dernière mise à jour (mais encore tout à fait fini) commit 67fe01b9b450f83c56db13e218a39b83b3dfa2ce Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:15:12 2015 +0100 Suppression des dto Reference, ReferenceSet et Form commit 361b442027ecb76bc743fb68896c25eeb2ed5b1a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:12:44 2015 +0100 Suppression de l'enumeration ReferenceLocale (on ne garde que celle côté service API commit dcc13a997a0089a6d9b4e1ce57dcef608e52d926 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 14:24:05 2015 +0100 FloatingObject est aussi une entité qui a une date de dernière mise à jour + tous les DataDto ont une date de dernière mise à jour commit bb2dd28dd8fa60bf1c9af051e0924b7c665c4e16 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 28 09:41:59 2015 +0100 Mise en place du ReferenceBinderEngine commit 0440b707b09af6d2678fcff16d46e5a50ed595f3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 28 09:01:43 2015 +0100 Utilisation d'Eugene en snapshot (pour avoir les generics sur les champs du modèle commit db23b0322e9a267c5928c05a1f15ecdfff2c6b9e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 26 10:58:09 2015 +0100 Ajout d'un nouveau système de binder déterministe et qui est auto-suffisant commit 7aaa20e84dbc13c083d727db05f7da5abb8f22b4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 26 10:57:37 2015 +0100 Introduction de DataDto, suppression des ReferenceDto et autre, remplacés par ReferentialReference et DataReference commit 51a9861004d9ae07736e5c601d360c79111dfee5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 18:37:26 2015 +0100 Fix test commit e3ecfd02c089e532c27a6a305d87a0a66fd0bfa1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 14:33:10 2015 +0100 Fix test commit a65d18a5a19e54fb1b2bfba34016489198ebe113 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 12:59:34 2015 +0100 - Suppression des méthodes getDecorator du context applicatif (ce n'est pas le role du context de décorer ou fournir des décorateurs mais celui du DecoratorService) - Arrêter d'exposer comment on récupère un décorateur de référence, on le code une fois pour toute dans DecoratorService et on s'en sert partout ailleurs (ce n'est certainement pas à un handler d'ui à savoir comment récupérer un décorateur...) - Revue un peu des actions pour déplacer les noeuds (manque de précision, c'est facile de faire des casts sauvages, mais après on ne sait pas sur quoi on bosse, essayer toujours d'être le plus précis possible) - Les premiers écrans avec tableaux sur la seine refonctionne \o/ (il faut absoluement supprimer les references de references lorsqu'on remonte des dto, remonter juste l'id suffit, ensuite l'ui connait les référeniels et donc sait retrouver la référence complète si besoin...) Je me demande même si on ne devrait pas juste remonter que des ids pour toutes les références et on reconstruit côté applicatif... commit 37707035a6eed00857918f5ffabcfcf8fbafe2d2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 11:56:52 2015 +0100 Dans une référence, on n'expose pas d'autres références, on récupère juste l'id (si possible) commit d36ca088eefef72e35ef6a9b2087fa9f3f4db831 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:27:57 2015 +0100 Impact dans les handlers dues aux renommages de l'API des services + début d'utilisation des bons objets là où il faut : si j'ai un ReferentialReference et bien je veux m'en servir; toujours être le plus précis possible) commit ab1418118bbdc405c7b2fce8edc19ded91005752 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:26:17 2015 +0100 Fix some tests commit ebd0b3e95e3fcb44c253c8893278fcccb7895a66 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:25:58 2015 +0100 Utilisation des requetes dans les formulaires (en fait juste passé le nom de la requete) et ne plus calculer les labels dans le formulaire commit 3bd56008a510169bdbb8383846bbbba9da9f78f2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:22:13 2015 +0100 Ajout de requetes manquantes + aussi de définition l'ensemble de références commit 416c329f29bc5c011e8a28540e9bd581d160111c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:16:56 2015 +0100 Ajout propriétés sur le FormDto, revue du constructeur et de l'adapter json (on ne deserialise plus les labels qui de toute façon seront supprimés au prochain wagon...) commit 4596656ba474c2281316de8fd107b5febf6cf010 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:14:20 2015 +0100 Impact du changement de l'API des services sur l'implatantion webmotion commit f125342014beccbbca9b3a0327c0ef42e9d01eb0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:12:26 2015 +0100 Impact du changement de l'API des services sur l'implatantion webmotion commit 4a15f520b972f22c68bc8e3a9a7496abbb1150df Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:08:17 2015 +0100 Suppression de la méthode loadForRead (vu qu'elle n'a plus de raison d'être si les referenceSets sont gérés au niveau de l'application) + renommage de loadForEdit en loadFrom + réorganisation des méthodes commit 96166b97dcde6f4ee22cca6df1393d6a8b2aa6d8 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 23:16:22 2015 +0100 recharger les ensembles de références à l'ouverture d'un écran de type table commit 633fb103bc4037f4ba2c68fcc1b79b8afe1f9c7b Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 23:15:25 2015 +0100 enabled et needComment ne sont pas des propriétés techniques, on doit les recopier à chaque fois commit f8b8e29b51bdf9ee41cdacf28886b90bcaf0b64e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 23:14:42 2015 +0100 Ajout d'un message sur l'exception commit 0f8bb342beef705f9ac9520100bc30ba09eb3cd3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 11:34:38 2015 +0100 little improvments commit 5dea869cbc74af6f0d10832386c5be5f173376dd Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 11:34:28 2015 +0100 remerge from develop :( commit 39801c047e2ef3a6b067204f57344770d074ef44 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 11:33:35 2015 +0100 Fix i18n commit cb391fb5058f5f70f212165f8848307773646e38 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 11:33:28 2015 +0100 fix log level in dev mode commit f71eafebdbcf29584200c143ec0079da1179bcad Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:56:17 2015 +0100 Bien recharger les referenceSets lors de l'ouverture d'une donnée (mais cela n'est pas optimal, il faudra refaire une passe pour trouver le meilleur moment pour déclancher cette opération) commit 3598ed99bfc0d1f255927b7d774fe26375959adf Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:44:33 2015 +0100 Fix some other tests commit e4655ebd9b16afb0cb83cd552f5fa6c5c7d81312 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:42:05 2015 +0100 Fix code after merge commit 1c7fb701205797ccbd9514548bd1caf9e5b647a0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:17:00 2015 +0100 Fix api commit b238b15307ab9a8dcf6013516b145158a7deee4e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:16:41 2015 +0100 Nommer le label set commit 8e687197f8ae959f8081b010fc953d99c87ce034 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:16:28 2015 +0100 Fix some tests commit 3df48349ba14135c5719730c6f2af4d8bb617f48 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:15:49 2015 +0100 Add fixme commit 73880f3b7150639471b92ec9be0eed13912c8924 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 09:49:42 2015 +0100 Amélioration des logs + bien transformer les références vers référentiels + prise en compte des champs techniques commit 6f8f7758dc418ecc72148c7353b5f637c9acab15 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 09:48:04 2015 +0100 Suppression de la méthode loadForRead et renommage de l'autre en loadForm commit da9cc4cf5fd83d499867ee271255ea45465ecf88 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:44:35 2015 +0100 Suppression classe non utilisée commit 2617dd47d372ab3a48aa4b2834f3104f52c18f6e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:44:21 2015 +0100 Déplacement du cache de rérentiels dans le module de l'API de service et intégration dans les tests commit 38a4cc8ac12308e288731f0eb0bf52cf6931b5f6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:43:30 2015 +0100 Ajout d'une méthode utile pour récupérer tous les types de lables d'un formulaire commit 20213ae21053d05e5585eda2c26d8779bec0f9bd Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:43:24 2015 +0100 Réajout de méthodes enlevées trop rapidemment commit 7117cdfff5f7d95c1061b5f42466dc88bcab772d Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:43:18 2015 +0100 Fix generic commit 4283b5cbb0069572ab7b69dd8630e403cae30cfe Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 20:08:56 2015 +0100 Meilleure utilisation des ReferenceDto commit e2aea45600c62bb7b44129e8f09913300513b30f Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 20:07:51 2015 +0100 Début de revue du code de l'application swing : y'a du boulot... commit a8f3bc34d1b43bf1faa2279c6e44949e61cd344c Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 20:07:23 2015 +0100 amélioration du design des ReferenceSetDto (si on utilise des generics, on le fait jusqu'au bout :() + quelques corrections par ci-par là commit 54a5917f2f64141ce157a9df0a62713bfe60324d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:26:50 2015 +0100 Permettre aussi d'intégrer les ensembles de références sur les données métiers à la récupération d'un FormDto commit efdcf519305a7e9bd0295f26cfe4b9d2c16afc2a Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:10:11 2015 +0100 Utilisation du système de requète sur l'écran TripSeine commit 1c7e760aea6fd3154c515858d1bc23b7d3300f2e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:09:48 2015 +0100 Mise en place du cache de réferentiels et intégration dans l'application swing commit 46db4a631a0313e1ef1ed5e32d89039c179ddde9 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:09:19 2015 +0100 Fix NPE commit eca2284455a735fd3e23789ea816524cd104de8c Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:08:50 2015 +0100 Ajout au FormDto du nom des deux requètes qu'il peut utiliser commit 74439a0f7f7ae9e7bbc5268fad5a4a23f7dd9198 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:08:19 2015 +0100 Permettre de transformer un ObserveReference en RefereceDto commit d75b992a008c532750b2ae7ef802e869225822be Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:07:48 2015 +0100 Reformatage des définitions commit 6349668ba2d61d12becc73d9b7ebd13a90dc461e Author: Kevin Morin <morin@codelutin.com> Date: Wed Nov 18 17:53:12 2015 +0100 ajout des définitions pour les référentiels commit 1a01d2d70a8d35113e9778f6d93229f07f83587c Author: Kevin Morin <morin@codelutin.com> Date: Wed Nov 18 17:22:53 2015 +0100 ajout des définitions des requetes commit c96c2ec4811d01e85c1560751cc9bcc3586bb8d0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Nov 18 10:47:23 2015 +0100 Avoid NPe + improve code commit e23d0abd811126626a5d0c71842efac7e0bef037 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 14 02:21:21 2015 +0100 Ajout d'une action pour recharger la configuration du serveur commit 782e73b565ac935cf8f390614729fe1f8e853b66 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 14 02:12:49 2015 +0100 remove dead code commit 63ec5bb0b5db17adb26649cdef03f4ab60ab2a0e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 14 02:12:31 2015 +0100 introduction nouvelle api de references plus simple et mise en place commit 08607aee11483a00f5ed6ea4ff98e2200886974f Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:45:18 2015 +0100 Début d'implantation d'un cache de référentiels (à finir) commit 6122469796670997cf4ab59982315d471c79abd9 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:44:07 2015 +0100 Ajout d'un service pour récupérer des referecne set (à finir) commit e7998e68d8c474d29215ad71e65cfb9769ff9ca0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:43:36 2015 +0100 Ajout de définition de requètes de données commit 006691e29e597a86c558169fc2921478916bc422 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:42:33 2015 +0100 Ajout d'une méthode toString pour faire un rendu simple d'un dto commit 90fc81481dd9e98cd266a634f749bc804c6aa159 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:41:33 2015 +0100 Ajout de méthodes pour faire un rendu i18n plus facile commit e360d4b86cde59f0a56f61b15acadb33ba03a65a Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 25 12:07:21 2015 +0100 Montées de version + utilisation pom 6-SNASPHOT Summary of changes: .../src/license/THIRD-PARTY.properties | 36 ++++++++++++++++++++-- pom.xml | 29 ++++++++--------- src/site/site_fr.xml | 15 ++++++--- 3 files changed, 60 insertions(+), 20 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit e360d4b86cde59f0a56f61b15acadb33ba03a65a Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 25 12:07:21 2015 +0100 Montées de version + utilisation pom 6-SNASPHOT --- pom.xml | 27 ++++++++------------------- src/site/site_fr.xml | 15 +++++++++++---- 2 files changed, 19 insertions(+), 23 deletions(-) diff --git a/pom.xml b/pom.xml index 8df7bc2..817c7c3 100644 --- a/pom.xml +++ b/pom.xml @@ -29,7 +29,7 @@ <parent> <groupId>org.nuiton</groupId> <artifactId>codelutinpom</artifactId> - <version>3</version> + <version>6-SNAPSHOT</version> </parent> <groupId>fr.ird.observe</groupId> @@ -104,9 +104,9 @@ </developerConnection> </scm--> <scm> - <url>https://gitweb.codelutin.com/observe.git</url> - <connection>scm:git:http://git.codelutin.com/observe.git</connection> - <developerConnection>scm:git:https://git.codelutin.com/observe.git</developerConnection> + <url>https://gitlab.nuiton.org/codelutin/observe</url> + <connection>scm:git:git@gitlab.nuiton.org:codelutin/observe.git</connection> + <developerConnection>scm:git:git@gitlab.nuiton.org:codelutin/observe.git</developerConnection> </scm> <distributionManagement> <site> @@ -122,7 +122,7 @@ <eugenePluginVersion>3.0-alpha-3</eugenePluginVersion> <topiaVersion>3.1-SNAPSHOT</topiaVersion> - <jaxxVersion>2.25</jaxxVersion> + <jaxxVersion>2.27</jaxxVersion> <nuitonI18nVersion>3.3</nuitonI18nVersion> <nuitonValidatorVersion>3.0</nuitonValidatorVersion> @@ -133,7 +133,7 @@ <geoToolsVersion>13.2</geoToolsVersion> <webmotionVersion>2.5</webmotionVersion> - <paranamerVersion>2.7</paranamerVersion> + <paranamerVersion>2.8</paranamerVersion> <httpComponentsVersion>4.3.5</httpComponentsVersion> <!-- license header configuration --> @@ -146,6 +146,7 @@ <!-- Site configuration --> <locales>fr</locales> + <siteSourcesType>rst</siteSourcesType> <maven.build.timestamp.format>dd/MM/yyyy HH:mm z</maven.build.timestamp.format> <buildDate>${maven.build.timestamp}</buildDate> @@ -207,7 +208,7 @@ <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> - <version>4.0</version> + <version>4.1</version> </dependency> <dependency> <groupId>commons-beanutils</groupId> @@ -744,23 +745,11 @@ </plugin> <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>buildnumber-maven-plugin</artifactId> - <version>1.3</version> - </plugin> - - <plugin> <groupId>com.thoughtworks.paranamer</groupId> <artifactId>paranamer-maven-plugin</artifactId> <version>${paranamerVersion}</version> </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>exec-maven-plugin</artifactId> - <version>1.4.0</version> - </plugin> - </plugins> </pluginManagement> <extensions> diff --git a/src/site/site_fr.xml b/src/site/site_fr.xml index 6d77c94..5f202a7 100644 --- a/src/site/site_fr.xml +++ b/src/site/site_fr.xml @@ -43,14 +43,14 @@ name="ReStructuredText" img="${siteCommonResourcesUrl}/images/logos/restructuredtext-logo.png"/> - <logo href="https://jrst.nuiton.org" name="JRst" + <logo href="http://jrst.nuiton.org" name="JRst" img="${siteCommonResourcesUrl}/images/logos/jrst-logo.png"/> - <logo href="https://jaxx.nuiton.org" name="JAXX" + <logo href="http://jaxx.nuiton.org" name="JAXX" img="${siteCommonResourcesUrl}/images/logos/jaxx-logo.png"/> - <logo href="https://topia.nuiton.org" name="ToPIA" - img="${mavenpomSiteCommonResourcesUrl}/images/logos/topia-logo.png"/> + <logo href="http://topia.nuiton.org" name="ToPIA" + img="${siteCommonResourcesUrl}/images/logos/topia-logo.png"/> <logo href="http://argouml.tigris.org/" name="ArgoUML" img="${siteCommonResourcesUrl}/images/logos/argouml-logo.png"/> @@ -87,5 +87,12 @@ <menu ref="reports"/> + <footer> + <div id='mavenProjectProperties' locale='fr' + projectId='${project.projectId}' + version='${project.siteDeployClassifier}' + sourcesType='${project.siteSourcesType}'/> + </footer> + </body> </project> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 90fc81481dd9e98cd266a634f749bc804c6aa159 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:41:33 2015 +0100 Ajout de méthodes pour faire un rendu i18n plus facile --- .../entities/constants/ReferenceLocale.java | 31 ++----------------- .../referentiel/I18nReferenceEntities.java | 35 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 29 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java b/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java index 227588c..ebb4ebd 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.entities.constants; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; import fr.ird.observe.entities.referentiel.I18nReferenceEntity; import java.util.Locale; @@ -126,35 +127,7 @@ public enum ReferenceLocale { public <E extends I18nReferenceEntity> String getLabel(E i18nEntity) { - String result = null; - - switch (ordinal() + 1) { - case 1: - result = i18nEntity.getLabel1(); - break; - case 2: - result = i18nEntity.getLabel2(); - break; - case 3: - result = i18nEntity.getLabel3(); - break; - case 4: - result = i18nEntity.getLabel4(); - break; - case 5: - result = i18nEntity.getLabel5(); - break; - case 6: - result = i18nEntity.getLabel6(); - break; - case 7: - result = i18nEntity.getLabel7(); - break; - case 8: - result = i18nEntity.getLabel8(); - break; - } - + String result = I18nReferenceEntities.decorate(ordinal(), i18nEntity); return result; } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/I18nReferenceEntities.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/I18nReferenceEntities.java index e82d81f..8dcd892 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/I18nReferenceEntities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/I18nReferenceEntities.java @@ -42,4 +42,39 @@ public class I18nReferenceEntities { } + public static <E extends I18nReferenceEntity> String decorate(int referenceLocaleOrdinal, E i18nEntity) { + + String result = null; + + switch (referenceLocaleOrdinal + 1) { + case 1: + result = i18nEntity.getLabel1(); + break; + case 2: + result = i18nEntity.getLabel2(); + break; + case 3: + result = i18nEntity.getLabel3(); + break; + case 4: + result = i18nEntity.getLabel4(); + break; + case 5: + result = i18nEntity.getLabel5(); + break; + case 6: + result = i18nEntity.getLabel6(); + break; + case 7: + result = i18nEntity.getLabel7(); + break; + case 8: + result = i18nEntity.getLabel8(); + break; + } + + return result; + + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 006691e29e597a86c558169fc2921478916bc422 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:42:33 2015 +0100 Ajout d'une méthode toString pour faire un rendu simple d'un dto --- .../entities/referentiel/ReferenceEntities.java | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntities.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntities.java index 31d51c3..69f84aa 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntities.java @@ -23,6 +23,7 @@ package fr.ird.observe.entities.referentiel; */ import com.google.common.base.Predicate; +import com.google.common.collect.ImmutableMap; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.constants.ReferenceStatus; @@ -32,6 +33,7 @@ import org.nuiton.topia.persistence.TopiaEntity; import java.util.Iterator; import java.util.List; +import java.util.Map; /** * Helper class around {@link ReferenceEntity}. @@ -89,6 +91,7 @@ public class ReferenceEntities { } public static final Predicate<? extends ReferenceEntity> IS_ACTIF_PREDICATE = new Predicate<ReferenceEntity>() { + @Override public boolean apply(ReferenceEntity input) { return ReferenceStatus.disabled != input.getStatus(); @@ -123,4 +126,45 @@ public class ReferenceEntities { <E extends TopiaEntity> void walk(Class<E> beanClass) throws Exception; } + public static <E extends ReferenceEntity> String toString(int referenceLocaleOrdinal, E entity) { + + String result = null; + if (entity != null) { + for (Map.Entry<Class<?>, ReferenceEntityToString> entry : TO_STRING_CACHE.entrySet()) { + + if (entry.getKey().isAssignableFrom(entity.getClass())) { + + ReferenceEntityToString<E> value = entry.getValue(); + result = value.toString(referenceLocaleOrdinal, entity); + break; + } + } + if (result == null && entity instanceof I18nReferenceEntity) { + + + result = I18nReferenceEntities.decorate(referenceLocaleOrdinal, (I18nReferenceEntity) entity); + } + } + + return result; + + } + + private static final ImmutableMap<Class<?>, ReferenceEntityToString> TO_STRING_CACHE = ImmutableMap + .<Class<?>, ReferenceEntityToString>builder() + .put(Species.class, new ReferenceEntityToString<Species>() { + + @Override + public String toString(int referenceLocaleOrdinal, Species entity) { + return entity.getScientificLabel(); + } + }) + .build(); + + + interface ReferenceEntityToString<E extends ReferenceEntity> { + + String toString(int referenceLocaleOrdinal, E entity); + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit e7998e68d8c474d29215ad71e65cfb9769ff9ca0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:43:36 2015 +0100 Ajout de définition de requètes de données --- .../services/service/ReferenceSetDefinition.java | 70 ++++++ .../services/service/ReferenceSetDefinitions.java | 253 +++++++++++++++++++++ .../service/ReferenceSetPropertyDefinition.java | 67 ++++++ .../services/service/ReferenceSetRequest.java | 31 +++ .../service/ReferenceSetRequestDefinition.java | 53 +++++ .../service/ReferenceSetRequestDefinitions.java | 39 ++++ .../service/ReferenceSetRequestKeyDefinition.java | 86 +++++++ .../service/ReferentialReferenceSetResult.java | 55 +++++ 8 files changed, 654 insertions(+) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinition.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinition.java new file mode 100644 index 0000000..edac622 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinition.java @@ -0,0 +1,70 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceSetDto; + +import java.io.Serializable; + +/** + * Pour définir ce que l'on doit retrouver dans un ensemble de références d'un même type. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetDefinition<D extends IdDto> implements Serializable{ + + private static final long serialVersionUID = 1L; + + /** + * Le type du dto qui doit être transformé en références. + * {@link ReferenceSetDto#getType()}. + */ + private final Class<D> type; + + private final ImmutableSet<ReferenceSetPropertyDefinition> properties; + + public ReferenceSetDefinition(Class<D> type, ImmutableSet<ReferenceSetPropertyDefinition> properties) { + this.type = type; + this.properties = properties; + } + + public Class<D> getType() { + return type; + } + + public ImmutableSet<ReferenceSetPropertyDefinition> getProperties() { + return properties; + } + + public static <D extends IdDto> Builder<D> builder(Class<D> type) { + return new Builder<>(type); + } + + public static class Builder<D extends IdDto> { + + private final Class<D> type; + + private final ImmutableSet.Builder<ReferenceSetPropertyDefinition> propertiesBuilder; + + public Builder(Class<D> type) { + this.type = type; + this.propertiesBuilder = ImmutableSet.builder(); + } + + public <O> Builder<D> addProperty(Class<O> type, String name) { + return addProperty(ReferenceSetPropertyDefinition.of(type, name)); + } + + public Builder<D> addProperty(ReferenceSetPropertyDefinition propertyDefinition) { + propertiesBuilder.add(propertyDefinition); + return this; + } + + public ReferenceSetDefinition<D> build() { + return new ReferenceSetDefinition<>(type, propertiesBuilder.build()); + } + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinitions.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinitions.java new file mode 100644 index 0000000..be4abc9 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinitions.java @@ -0,0 +1,253 @@ +package fr.ird.observe.services.service; + +import fr.ird.observe.services.dto.constants.GearType; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.I18nReferentialDto; +import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.referential.VesselTypeDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.referential.seine.WindDto; + +/** + * Contient les définitions de tous les ensembles de référence utilisables dans les services. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum ReferenceSetDefinitions { + + COUNTRY(newDefaultDefinitionBuilder(CountryDto.class)), + + FPA_ZONE(newDefaultDefinitionBuilder(FpaZoneDto.class)), + + GEAR_CARACTERISTIC(newDefinitionBuilder(GearCaracteristicDto.class) + .addProperty(String.class, GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE)), + + GEAR_CARACTERISTIC_TYPE(newDefaultDefinitionBuilder(GearCaracteristicTypeDto.class)), + + GEAR(newDefaultDefinitionBuilder(GearDto.class)), + + HARBOUR(newDefinitionBuilder(HarbourDto.class) + .addProperty(String.class, HarbourDto.PROPERTY_CODE) + .addProperty(String.class, HarbourDto.PROPERTY_NAME) + .addProperty(String.class, HarbourDto.PROPERTY_LOCODE)), + + LENGTH_WEIGHT_PARAMETER(newDefinitionBuilder(LengthWeightParameterDto.class) + .addProperty(String.class, LengthWeightParameterDto.PROPERTY_CODE) + .addProperty(String.class, LengthWeightParameterDto.PROPERTY_OCEAN) + .addProperty(String.class, LengthWeightParameterDto.PROPERTY_SPECIES) + .addProperty(String.class, LengthWeightParameterDto.PROPERTY_LENGTH_WEIGHT_FORMULA) + .addProperty(String.class, LengthWeightParameterDto.PROPERTY_WEIGHT_LENGTH_FORMULA)), + + OCEAN(newDefaultDefinitionBuilder(OceanDto.class)), + + ORGANISM(newDefaultDefinitionBuilder(OrganismDto.class)), + + PERSON(newDefinitionBuilder(PersonDto.class) + .addProperty(String.class, PersonDto.PROPERTY_FIRST_NAME) + .addProperty(String.class, PersonDto.PROPERTY_LAST_NAME) + .addProperty(String.class, PersonDto.PROPERTY_CAPTAIN) + .addProperty(String.class, PersonDto.PROPERTY_DATA_ENTRY_OPERATOR) + .addProperty(String.class, PersonDto.PROPERTY_OBSERVER)), + + PROGRAM(newDefinitionBuilder(ProgramDto.class) + .addProperty(GearType.class, ProgramDto.PROPERTY_GEAR_TYPE) + .addProperty(String.class, ProgramDto.PROPERTY_GEAR_TYPE_PREFIX)), + + SEX(newDefaultDefinitionBuilder(SexDto.class)), + + SPECIES(newDefinitionBuilder(SpeciesDto.class) + .addProperty(String.class, SpeciesDto.PROPERTY_SCIENTIFIC_LABEL) + .addProperty(String.class, SpeciesDto.PROPERTY_HOME_ID) + .addProperty(String.class, SpeciesDto.PROPERTY_LENGTH_MEASURE_TYPE)), + + SPECIES_GROUP(newDefaultDefinitionBuilder(SpeciesGroupDto.class)), + + SPECIES_LIST(newDefaultDefinitionBuilder(SpeciesListDto.class)), + + VESSEL_SIZE_CATEGORY(newDefinitionBuilder(VesselSizeCategoryDto.class) + .addProperty(String.class, VesselSizeCategoryDto.PROPERTY_GAUGE_LABEL) + .addProperty(String.class, VesselSizeCategoryDto.PROPERTY_CAPACITY_LABEL)), + + VESSEL(newDefaultDefinitionBuilder(VesselDto.class)), + + VESSEL_TYPE(newDefaultDefinitionBuilder(VesselTypeDto.class)), + + // -------------------------------------------------------------------------------------------------------------- // + // -- REFERENTIAL LONGLINE -------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + BAIT_HAULING_STATUS(newDefaultDefinitionBuilder(BaitHaulingStatusDto.class)), + + BAIT_SETTING_STATUS(newDefaultDefinitionBuilder(BaitSettingStatusDto.class)), + + BAITTYPE(newDefaultDefinitionBuilder(BaitTypeDto.class)), + + CATCH_FATE_LONGLINE(newDefaultDefinitionBuilder(CatchFateLonglineDto.class)), + + ENCOUNTER_TYPE(newDefaultDefinitionBuilder(EncounterTypeDto.class)), + + HEALTHNESS(newDefaultDefinitionBuilder(HealthnessDto.class)), + + HOOK_POSITION(newDefaultDefinitionBuilder(HookPositionDto.class)), + + HOOK_SIZE(newDefaultDefinitionBuilder(HookSizeDto.class)), + + HOOK_TYPE(newDefaultDefinitionBuilder(HookTypeDto.class)), + + ITEM_HORIZONTAL_POSITION(newDefaultDefinitionBuilder(ItemHorizontalPositionDto.class)), + + ITEM_VERTICAL_POSITION(newDefaultDefinitionBuilder(ItemVerticalPositionDto.class)), + + LIGHTSTICKS_COLOR(newDefaultDefinitionBuilder(LightsticksColorDto.class)), + + LIGHTSTICKS_TYPE(newDefaultDefinitionBuilder(LightsticksTypeDto.class)), + + LINE_TYPE(newDefaultDefinitionBuilder(LineTypeDto.class)), + + MATURITY_STATUS(newDefaultDefinitionBuilder(MaturityStatusDto.class)), + + MITIGATION_TYPE(newDefaultDefinitionBuilder(MitigationTypeDto.class)), + + SENSOR_BRAND(newDefinitionBuilder(SensorBrandDto.class) + .addProperty(String.class, SensorBrandDto.PROPERTY_BRAND_NAME)), + + SENSOR_DATA_FORMAT(newDefaultDefinitionBuilder(SensorDataFormatDto.class)), + + SENSOR_TYPE(newDefaultDefinitionBuilder(SensorTypeDto.class)), + + SETTING_SHAPE(newDefaultDefinitionBuilder(SettingShapeDto.class)), + + SIZE_MEASURE_TYPE(newDefaultDefinitionBuilder(SizeMeasureTypeDto.class)), + + STOMAC_FULLNESS(newDefaultDefinitionBuilder(StomacFullnessDto.class)), + + TRIP_TYPE(newDefaultDefinitionBuilder(TripTypeDto.class)), + + VESSEL_ACTIVITY_LONGLINE(newDefaultDefinitionBuilder(VesselActivityLonglineDto.class)), + + WEIGHT_MEASURE_TYPE(newDefaultDefinitionBuilder(WeightMeasureTypeDto.class)), + + // -------------------------------------------------------------------------------------------------------------- // + // -- REFERENTIAL SEINE ----------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + DETECTION_MODE(newDefaultDefinitionBuilder(DetectionModeDto.class)), + + OBJECT_FATE(newDefaultDefinitionBuilder(ObjectFateDto.class)), + + OBJECT_OPERATION(newDefaultDefinitionBuilder(ObjectOperationDto.class)), + + OBJECT_TYPE(newDefaultDefinitionBuilder(ObjectTypeDto.class)), + + OBSERVED_SYSTEM(newDefaultDefinitionBuilder(ObservedSystemDto.class)), + + REASON_FOR_DISCARD(newDefaultDefinitionBuilder(ReasonForDiscardDto.class)), + + REASON_FOR_NO_FISHING(newDefaultDefinitionBuilder(ReasonForNoFishingDto.class)), + + REASON_FOR_NULL_SET(newDefaultDefinitionBuilder(ReasonForNullSetDto.class)), + + SPECIES_FATE(newDefaultDefinitionBuilder(SpeciesFateDto.class)), + + SPECIES_STATUS(newDefaultDefinitionBuilder(SpeciesStatusDto.class)), + + SURROUNDING_ACTIVITY(newDefaultDefinitionBuilder(SurroundingActivityDto.class)), + + TRANSMITTING_BUOYO_PERATION(newDefaultDefinitionBuilder(TransmittingBuoyOperationDto.class)), + + TRANSMITTING_BUOY_TYPE(newDefaultDefinitionBuilder(TransmittingBuoyTypeDto.class)), + + VESSEL_ACTIVITY_SEINE(newDefaultDefinitionBuilder(VesselActivitySeineDto.class)), + + WEIGHT_CATEGORY(newDefinitionBuilder(WeightCategoryDto.class) + .addProperty(String.class, WeightCategoryDto.PROPERTY_LABEL) + .addProperty(String.class, WeightCategoryDto.PROPERTY_SPECIES)), + + WIND(newDefinitionBuilder(WindDto.class) + .addProperty(String.class, WindDto.PROPERTY_LABEL) + .addProperty(String.class, WindDto.PROPERTY_SPEED_RANGE) + ); + + private final ReferenceSetDefinition definition; + + ReferenceSetDefinitions(ReferenceSetDefinition.Builder definition) { + this.definition = definition.build(); + } + + public ReferenceSetDefinition<?> getDefinition() { + return definition; + } + + protected static <R extends ReferentialDto> ReferenceSetDefinition.Builder newDefinitionBuilder(Class<R> type) { + ReferenceSetDefinition.Builder<R> builder = ReferenceSetDefinition.builder(type); + return builder; + } + + protected static <R extends ReferentialDto> ReferenceSetDefinition.Builder newDefaultDefinitionBuilder(Class<R> type) { + ReferenceSetDefinition.Builder<R> builder = ReferenceSetDefinition + .builder(type) + .addProperty(String.class, ReferentialDto.PROPERTY_CODE); + if (I18nReferentialDto.class.isAssignableFrom(type)) { + builder.addProperty(String.class, I18nReferentialDto.PROPERTY_LABEL); + } + return builder; + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetPropertyDefinition.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetPropertyDefinition.java new file mode 100644 index 0000000..79035bd --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetPropertyDefinition.java @@ -0,0 +1,67 @@ +package fr.ird.observe.services.service; + +import com.google.common.base.MoreObjects; + +import java.io.Serializable; +import java.util.Objects; + +/** + * Pour définir une propriété à remonter dans un ensemble de référence. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetPropertyDefinition<O> implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * Le type de la propriété. + */ + private final Class<O> type; + + /** + * Le nom de la propriété. + */ + private final String name; + + public static <O> ReferenceSetPropertyDefinition<O> of(Class<O> type, String name) { + return new ReferenceSetPropertyDefinition<>(type, name); + } + + public ReferenceSetPropertyDefinition(Class<O> type, String name) { + this.type = type; + this.name = name; + } + + public Class<O> getType() { + return type; + } + + public String getName() { + return name; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ReferenceSetPropertyDefinition)) return false; + ReferenceSetPropertyDefinition<?> that = (ReferenceSetPropertyDefinition<?>) o; + return Objects.equals(type, that.type) && + Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(type, name); + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add("type", type) + .add("name", name) + .toString(); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequest.java new file mode 100644 index 0000000..4801de4 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequest.java @@ -0,0 +1,31 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableMap; + +import java.util.Date; + +/** + * Created on 10/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetRequest { + + private final String requestName; + + private final ImmutableMap<String, Date> lastUpdateDates; + + public ReferenceSetRequest(String requestName, ImmutableMap<String, Date> lastUpdateDates) { + this.requestName = requestName; + this.lastUpdateDates = lastUpdateDates; + } + + public String getRequestName() { + return requestName; + } + + public ImmutableMap<String, Date> getLastUpdateDates() { + return lastUpdateDates; + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinition.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinition.java new file mode 100644 index 0000000..2d49605 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinition.java @@ -0,0 +1,53 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.IdDto; + +import java.io.Serializable; + +/** + * Pour définir une demande de récupération d'ensemble de références. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetRequestDefinition implements Serializable { + + private static final long serialVersionUID = 1L; + + private final ImmutableSet<ReferenceSetRequestKeyDefinition> keys; + + public ReferenceSetRequestDefinition(ImmutableSet<ReferenceSetRequestKeyDefinition> keys) { + this.keys = keys; + } + + public ImmutableSet<ReferenceSetRequestKeyDefinition> getKeys() { + return keys; + } + + public static <D extends IdDto> Builder<D> builder(Class<D> type) { + return new Builder<>(type); + } + + public static class Builder<D extends IdDto> { + + private final Class<D> parentType; + + private final ImmutableSet.Builder<ReferenceSetRequestKeyDefinition> keysBuilder; + + public Builder(Class<D> parentType) { + this.parentType = parentType; + this.keysBuilder = ImmutableSet.builder(); + } + + public Builder<D> addKey(String name, ReferenceSetDefinitions propertyDefinition) { + keysBuilder.add(new ReferenceSetRequestKeyDefinition<>(parentType, propertyDefinition.getDefinition(), name)); + return this; + } + + public ReferenceSetRequestDefinition build() { + return new ReferenceSetRequestDefinition(keysBuilder.build()); + } + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinitions.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinitions.java new file mode 100644 index 0000000..eef1c48 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinitions.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.service; + +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; + +/** + * Contient les définitions de tous les requêtes que les services proposent. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum ReferenceSetRequestDefinitions { + + TRIP_SEINE_FORM(newBuilder(TripSeineDto.class) + .addKey(TripSeineDto.PROPERTY_OBSERVER, ReferenceSetDefinitions.PERSON) + .addKey(TripSeineDto.PROPERTY_CAPTAIN, ReferenceSetDefinitions.PERSON) + .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, ReferenceSetDefinitions.PERSON) + .addKey(TripSeineDto.PROPERTY_VESSEL, ReferenceSetDefinitions.VESSEL) + .addKey(TripSeineDto.PROPERTY_OCEAN, ReferenceSetDefinitions.OCEAN) + .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, ReferenceSetDefinitions.HARBOUR) + .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, ReferenceSetDefinitions.HARBOUR) + .addKey(TripSeineDto.PROPERTY_PROGRAM, ReferenceSetDefinitions.PROGRAM)),; + + public final ReferenceSetRequestDefinition definition; + + ReferenceSetRequestDefinitions(ReferenceSetRequestDefinition.Builder definitionBuilder) { + this.definition = definitionBuilder.build(); + } + + public ReferenceSetRequestDefinition getDefinition() { + return definition; + } + + public static <D extends IdDto> ReferenceSetRequestDefinition.Builder<D> newBuilder(Class<D> parentType) { + return new ReferenceSetRequestDefinition.Builder<>(parentType); + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestKeyDefinition.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestKeyDefinition.java new file mode 100644 index 0000000..8d72a4f --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestKeyDefinition.java @@ -0,0 +1,86 @@ +package fr.ird.observe.services.service; + +import com.google.common.base.Function; +import com.google.common.collect.Iterables; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; + +import java.util.Objects; + +/** + * Created on 10/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetRequestKeyDefinition<D extends IdDto> { + + private final Class<? extends IdDto> parentType; + + private final ReferenceSetDefinition<D> referenceSetDefinition; + + private final String name; + + private final String[] propertyNames; + + private final Class<?>[] propertyTypes; + + public ReferenceSetRequestKeyDefinition(Class<? extends IdDto> parentType, ReferenceSetDefinition<D> referenceSetDefinition, String name) { + this.parentType = parentType; + this.referenceSetDefinition = referenceSetDefinition; + this.name = name; + this.propertyNames = Iterables.toArray(Iterables.transform(referenceSetDefinition.getProperties(), new Function<ReferenceSetPropertyDefinition, String>() { + + @Override + public String apply(ReferenceSetPropertyDefinition input) { + return input.getName(); + } + }), String.class); + this.propertyTypes = Iterables.toArray(Iterables.transform(referenceSetDefinition.getProperties(), new Function<ReferenceSetPropertyDefinition, Class<?>>() { + + @Override + public Class<?> apply(ReferenceSetPropertyDefinition input) { + return input.getType(); + } + }), Class.class); + } + + public Class<? extends IdDto> getParentType() { + return parentType; + } + + public Class<D> getType() { + return referenceSetDefinition.getType(); + } + + public String[] getPropertyNames() { + return propertyNames; + } + + public Class<?>[] getPropertyTypes() { + return propertyTypes; + } + + public String getName() { + return name; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ReferenceSetRequestKeyDefinition)) return false; + ReferenceSetRequestKeyDefinition that = (ReferenceSetRequestKeyDefinition) o; + return Objects.equals(parentType, that.parentType) && + Objects.equals(referenceSetDefinition.getType(), that.referenceSetDefinition.getType()) && + Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(parentType, referenceSetDefinition.getType(), name); + } + + public boolean isReferential() { + Class<?> type = referenceSetDefinition.getType(); + return type.isAssignableFrom(ReferentialDto.class); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialReferenceSetResult.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialReferenceSetResult.java new file mode 100644 index 0000000..1de8e9e --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialReferenceSetResult.java @@ -0,0 +1,55 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.services.dto.ReferenceSetDto; + +/** + * Created on 10/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialReferenceSetResult { + + private final ReferenceSetRequest request; + + private final ImmutableMap<String, ReferenceSetDto> referenceSetsMap; + + public ReferentialReferenceSetResult(ReferenceSetRequest request, ImmutableMap<String, ReferenceSetDto> referenceSetsMap) { + this.request = request; + this.referenceSetsMap = referenceSetsMap; + } + + public ReferenceSetRequest getRequest() { + return request; + } + + public ImmutableMap<String, ReferenceSetDto> getReferenceSetsMap() { + return referenceSetsMap; + } + + public static Builder builder(final ReferenceSetRequest request) { + return new Builder(request); + } + + public static class Builder { + + private final ReferenceSetRequest request; + + private final ImmutableMap.Builder<String, ReferenceSetDto> referenceSetsMapBuilder; + + public Builder(ReferenceSetRequest request) { + this.request = request; + this.referenceSetsMapBuilder = ImmutableMap.builder(); + } + + public Builder addKey(String name, ReferenceSetDto referenceSet) { + referenceSetsMapBuilder.put(name, referenceSet); + return this; + } + + public ReferentialReferenceSetResult build() { + return new ReferentialReferenceSetResult(request, referenceSetsMapBuilder.build()); + } + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 6122469796670997cf4ab59982315d471c79abd9 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:44:07 2015 +0100 Ajout d'un service pour récupérer des referecne set (à finir) --- .../v1/ReferenceSetServiceController.java | 28 ++++ .../services/service/ReferenceSetService.java | 24 +++ .../fr/ird/observe/services/dto/ReferenceDto.java | 9 +- .../dto/referential/ReferentialReferenceDto.java | 6 + .../EntityToReferentialReferenceDtoBuilder.java | 113 +++++++++++++- .../services/service/ReferenceSetServiceTopia.java | 162 +++++++++++++++++++++ 6 files changed, 339 insertions(+), 3 deletions(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java new file mode 100644 index 0000000..7dcc967 --- /dev/null +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java @@ -0,0 +1,28 @@ +package fr.ird.observe.application.web.controller.v1; + +import fr.ird.observe.services.service.ReferenceSetRequest; +import fr.ird.observe.services.service.ReferenceSetService; +import fr.ird.observe.services.service.ReferentialReferenceSetResult; + +/** + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetServiceController extends ObserveAuthenticatedServiceControllerSupport<ReferenceSetService> implements ReferenceSetService { + + public ReferenceSetServiceController() { + super(ReferenceSetService.class); + } + + @Override + public ReferentialReferenceSetResult loadDataReferenceSets(ReferenceSetRequest request) { + return service.loadDataReferenceSets(request); + } + + @Override + public ReferentialReferenceSetResult loadReferentialReferenceSets(ReferenceSetRequest request) { + return service.loadReferentialReferenceSets(request); + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java new file mode 100644 index 0000000..36f7d0e --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java @@ -0,0 +1,24 @@ +package fr.ird.observe.services.service; + +import fr.ird.observe.services.ObserveService; +import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.spi.ReadDataPermission; +import fr.ird.observe.services.spi.ReadReferentialPermission; + +/** + * Pour gérer les {@link ReferenceSetDto}. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public interface ReferenceSetService extends ObserveService { + + @ReadDataPermission + ReferentialReferenceSetResult loadDataReferenceSets(ReferenceSetRequest request); + + @ReadReferentialPermission + ReferentialReferenceSetResult loadReferentialReferenceSets(ReferenceSetRequest request); + + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java index 607195d..7301ecf 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java @@ -66,7 +66,14 @@ public class ReferenceDto<D extends IdDto> extends AbstractReferenceDto { init(type, false, labelPropertyNames); } - public void init(Class<D> type, boolean convertToReference,Iterable<String> labelPropertyNames) { + public void init(Class<D> type, String[] labelPropertyNames, Class[] labelPropertyTypes, Serializable... labelPropertyValues) { + this.type = type; + this.labelPropertyNames = Arrays.asList(labelPropertyNames); + this.labelPropertyValues = labelPropertyValues; + this.labelPropertyTypes = labelPropertyTypes; + } + + public void init(Class<D> type, boolean convertToReference, Iterable<String> labelPropertyNames) { this.type = type; this.labelPropertyNames = Lists.newArrayList(labelPropertyNames); this.labelPropertyValues = new Serializable[this.labelPropertyNames.size()]; diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java index 982bc41..b594ae4 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java @@ -53,6 +53,12 @@ public class ReferentialReferenceDto<D extends ReferentialDto> extends AbstractR return super.getType(); } + @Override + public void init(Class type, String[] labelPropertyNames, Class[] labelPropertyTypes, Serializable... labelPropertyValues) { + + super.init(type, labelPropertyNames, labelPropertyTypes, labelPropertyValues); + } + public void setPropertyValue(ReferentialLocale referentialLocale, String propertyName, Serializable propertyValue) { Preconditions.checkNotNull(referentialLocale, "referentialLocale parameter can't be null"); Preconditions.checkNotNull(propertyName, "propertyName parameter can't be null"); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java index 2283ad3..25148fe 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.builder; import com.google.common.base.Function; import com.google.common.base.Preconditions; +import fr.ird.observe.entities.referentiel.ReferenceEntities; import fr.ird.observe.entities.referentiel.ReferenceEntity; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.ObserveDtoBinders; @@ -32,12 +33,16 @@ import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDtos; +import fr.ird.observe.services.service.ReferenceSetRequestKeyDefinition; import org.hibernate.Hibernate; import org.hibernate.proxy.HibernateProxy; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.beans.Binder; +import org.nuiton.util.beans.BinderFactory; import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; import java.util.Map; import java.util.Set; @@ -50,6 +55,110 @@ import java.util.Set; */ public class EntityToReferentialReferenceDtoBuilder<E extends ReferenceEntity, D extends ReferentialDto> { + private Class<D> type; + + private Binder<E, E> binder; + + private String[] propertyNames; + + private String[] entityPropertyNames; + + private Class<?>[] propertyTypes; + + private int referentialLocaleOrdinal; + + public static <E extends ReferenceEntity, D extends ReferentialDto> EntityToReferentialReferenceDtoBuilder<E, D> of(ReferentialLocale referentialLocale, ReferenceSetRequestKeyDefinition<D> requestKeyDefinition, Class<E> entityType) { + + EntityToReferentialReferenceDtoBuilder<E, D> referenceDtoBuilder = new EntityToReferentialReferenceDtoBuilder<>(); + + referenceDtoBuilder.type = requestKeyDefinition.getType(); + referenceDtoBuilder.referentialLocaleOrdinal = referentialLocale.ordinal(); + referenceDtoBuilder.binder = BinderFactory.newBinder(entityType); + referenceDtoBuilder.propertyNames = requestKeyDefinition.getPropertyNames(); + + List<String> entityPropertyNames = new ArrayList<>(); + + for (String propertyName : referenceDtoBuilder.propertyNames) { + + if (ReferentialReferenceDto.PROPERTY_LABEL.contains(propertyName)) { + propertyName = referentialLocale.getLibelle(); + } + entityPropertyNames.add(propertyName); + } + referenceDtoBuilder.entityPropertyNames = entityPropertyNames.toArray(new String[entityPropertyNames.size()]); + referenceDtoBuilder.propertyTypes = requestKeyDefinition.getPropertyTypes(); + + return referenceDtoBuilder; + + } + + public ReferentialReferenceDto<D> build(E entity) { + + Preconditions.checkNotNull(entity, "'entity' can't be null"); + + // on extrait l' entité du proxy hibernate + if (entity instanceof HibernateProxy) { + Hibernate.initialize(entity); + entity = (E) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation(); + } + + Map<String, Object> entityProperties = binder.obtainProperties(entity, true, entityPropertyNames); + + Serializable[] propertyValues = new Serializable[propertyTypes.length]; + for (int i = 0; i < propertyTypes.length; i++) { + String propertyName = propertyNames[i]; + + Serializable propertyValue = (Serializable) entityProperties.get(propertyName); + if (propertyValue != null) { + + Class<?> propertyType = propertyTypes[i]; + + if (propertyValue instanceof ReferenceEntity) { + + ReferenceEntity referentialEntity = (ReferenceEntity) propertyValue; + if (String.class.equals(propertyType)) { + + // Conversion + + propertyValue = ReferenceEntities.toString(referentialLocaleOrdinal, referentialEntity); + + } else { + + // on veut récupérer une référence + //TODO + + } + + } else { + + propertyValue = transform(propertyValue); + + } + + Preconditions.checkState(propertyType.isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); + + } + + propertyValues[i] = propertyValue; + + } + + ReferentialReferenceDto<D> result = new ReferentialReferenceDto<>(); + result.init(type, propertyNames, propertyTypes, propertyValues); + + result.setId(entity.getTopiaId()); + result.setEnabled(entity.isEnabled()); + result.setNeedComment(entity.isNeedComment()); + + result.setVersion(entity.getTopiaVersion()); + result.setCreateDate(entity.getTopiaCreateDate()); + result.setLastUpdate(entity.getLastUpdate()); + result.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == entity.getStatus()); + + return result; + + } + public static <E extends ReferenceEntity, D extends ReferentialDto> ReferentialReferenceDto<D> build(Class<D> dtoType, ReferentialLocale referentialLocale, E entity) { Preconditions.checkNotNull(dtoType, "'dtoType' can't be null"); @@ -110,12 +219,12 @@ public class EntityToReferentialReferenceDtoBuilder<E extends ReferenceEntity, D } - protected static Object transform(Object propertyValue) { + protected static Serializable transform(Object propertyValue) { Function function = ObserveDtosInitializer.getEntityToDtoFunction(propertyValue); if (function != null) { propertyValue = function.apply(propertyValue); } - return propertyValue; + return (Serializable) propertyValue; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java new file mode 100644 index 0000000..3178da1 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java @@ -0,0 +1,162 @@ +package fr.ird.observe.services.service; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.builder.EntityToReferentialReferenceDtoBuilder; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.entity.EntitiesExtractor; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.util.Collections; +import java.util.Date; +import java.util.LinkedHashSet; +import java.util.Map; + +/** + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetServiceTopia extends ObserveServiceTopia implements ReferenceSetService { + + @Override + public ReferentialReferenceSetResult loadDataReferenceSets(ReferenceSetRequest request) { + String requestName = request.getRequestName(); + ReferenceSetRequestDefinitions requestDefinitions = ReferenceSetRequestDefinitions.valueOf(requestName); + if (requestDefinitions == null) { + throw new IllegalArgumentException("No request with name " + requestName + "registred"); + } + + ReferenceSetRequestDefinition requestDefinition = requestDefinitions.getDefinition(); + + ReferentialReferenceSetResult.Builder resultBuilder = new ReferentialReferenceSetResult.Builder(request); + + for (ReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + + boolean referential = requestKeyDefinition.isReferential(); + Preconditions.checkArgument(!referential, "Can't obtain referenceSet of referential here, but try with " + requestKeyDefinition); + + String name = requestKeyDefinition.getName(); + + ReferenceSetDto referenceSet = loadDataReferenceSet(requestKeyDefinition); + resultBuilder.addKey(name, referenceSet); + + } + + return resultBuilder.build(); + + } + + @Override + public ReferentialReferenceSetResult loadReferentialReferenceSets(ReferenceSetRequest request) { + + String requestName = request.getRequestName(); + ReferenceSetRequestDefinitions requestDefinitions = ReferenceSetRequestDefinitions.valueOf(requestName); + if (requestDefinitions == null) { + throw new IllegalArgumentException("No request with name " + requestName + "registred"); + } + + ReferenceSetRequestDefinition requestDefinition = requestDefinitions.getDefinition(); + + ReferentialReferenceSetResult.Builder resultBuilder = new ReferentialReferenceSetResult.Builder(request); + ImmutableMap<String, Date> lastUpdateDates = request.getLastUpdateDates(); + + for (ReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + + boolean referential = requestKeyDefinition.isReferential(); + Preconditions.checkArgument(referential, "Can't obtain referenceSet of data here, but try with " + requestKeyDefinition); + + String name = requestKeyDefinition.getName(); + Date lastUpdateDate = lastUpdateDates.get(name); + + ReferenceSetDto referenceSet = loadReferentialReferenceSet(requestKeyDefinition, lastUpdateDate); + resultBuilder.addKey(name, referenceSet); + } + + return resultBuilder.build(); + + } + + protected <D extends IdDto> ReferenceSetDto<D> loadDataReferenceSet(ReferenceSetRequestKeyDefinition<D> requestKeyDefinition) { + + Class<D> type = requestKeyDefinition.getType(); + Class<TopiaEntity> entityType = getEntityType(type); + String name = requestKeyDefinition.getName(); + + Iterable<TopiaEntity> entitiesExtractor = getEntities(requestKeyDefinition, Collections.<String, Object>emptyMap()); + + //TODO + ReferenceSetDto<D> referenceSet = null; + + return referenceSet; + } + + protected <D extends ReferentialDto, E extends ReferenceEntity> ReferenceSetDto<D> loadReferentialReferenceSet(ReferenceSetRequestKeyDefinition<D> requestKeyDefinition, Date lastUpdateDate) { + + Class<D> type = requestKeyDefinition.getType(); + Class<E> entityType = getEntityType(type); + String name = requestKeyDefinition.getName(); + + Optional<Date> lastUpdateOptional = getLastUpdate(entityType); + + ReferenceSetDto<D> referenceSet; + if (lastUpdateOptional.isPresent() && lastUpdateOptional.get().after(lastUpdateDate)) { + + EntityToReferentialReferenceDtoBuilder<E, D> referenceBuilder = EntityToReferentialReferenceDtoBuilder.of(serviceContext.getReferentialLocale(), requestKeyDefinition, entityType); + + Iterable<E> entities = getEntities(requestKeyDefinition, Collections.<String, Object>emptyMap()); + + LinkedHashSet<ReferentialReferenceDto<D>> labels = new LinkedHashSet<>(); + for (E entity : entities) { + + ReferentialReferenceDto<D> dto = referenceBuilder.build(entity); + labels.add(dto); + + } + referenceSet = ReferenceSetDtos.newReferenceSetDto(type, name, labels, lastUpdateOptional.get()); + + + } else { + + referenceSet = null; + + } + + return referenceSet; + } + + + protected <E extends TopiaEntity, D extends IdDto> Iterable<E> getEntities(ReferenceSetRequestKeyDefinition<D> requestKeyDefinition, + Map<String, Object> dataContext) { + + + Class<D> type = requestKeyDefinition.getType(); + Class<E> entityType = getEntityType(type); + Class<TopiaEntity> entityParentType = getEntityType(requestKeyDefinition.getParentType()); + String name = requestKeyDefinition.getName(); + + Iterable<E> entities; + + EntitiesExtractor<E> entitiesExtractor = serviceContext.getEntitiesSetFactory().newEntitiesSet(entityParentType, + entityType, + name); + + if (entitiesExtractor == null) { + + entities = loadEntities(entityType); + + } else { + entities = entitiesExtractor.getEntities(serviceContext.getTopiaPersistenceContext(), dataContext); + } + + return entities; + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 08607aee11483a00f5ed6ea4ff98e2200886974f Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 12 09:45:18 2015 +0100 Début d'implantation d'un cache de référentiels (à finir) --- .../fr/ird/observe/db/ObserveReferentialCache.java | 61 ++++++++++++++++++++++ .../ird/observe/db/ObserveReferentialCacheKey.java | 33 ++++++++++++ 2 files changed, 94 insertions(+) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java new file mode 100644 index 0000000..0a7c8b3 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java @@ -0,0 +1,61 @@ +package fr.ird.observe.db; + +import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; + +import java.io.Closeable; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * Created on 10/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferentialCache implements Closeable { + + private final Map<ObserveReferentialCacheKey<?>, ReferenceSetDto> cache; + + public ObserveReferentialCache() { + this.cache = new LinkedHashMap<>(); + } + + public <D extends ReferentialDto> ReferenceSetDto<D> getReferenceSet(ObserveSwingDataSource dataSource, Class<D> type, String optionalContext) { + + ObserveReferentialCacheKey<D> referentialCacheKey = ObserveReferentialCacheKey.of(type, optionalContext); + ReferenceSetDto<D> result = getReferenceSet0(dataSource, referentialCacheKey); + return result; + } + + protected <D extends ReferentialDto> ReferenceSetDto<D> getReferenceSet0(ObserveSwingDataSource dataSource, ObserveReferentialCacheKey<D> key) { + + ReferenceSetDto<D> result=null; +// if (cache.containsKey(key)) { +// result = cache.get(key); +// +// Date lastUpdate = result.getLastUpdate(); +// +// ReferenceSetService referentialService = dataSource.newService(ReferenceSetService.class); +// ReferenceSetDto<D> update = referentialService.getReferentialReferenceSetIfModify(key.getType(), key.getContext().orNull(), lastUpdate); +// if (update != null) { +// result = update; +// cache.remove(key); +// cache.put(key, update); +// } +// +// } else { +// +// ReferentialService referentialService = dataSource.newService(ReferenceSetService.class); +// result = referentialService.getReferentialReferenceSet(key.getType(), key.getContext().orNull()); +// cache.put(key, result); +// +// } + return result; + + } + + @Override + public void close() { + cache.clear(); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCacheKey.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCacheKey.java new file mode 100644 index 0000000..3eda009 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCacheKey.java @@ -0,0 +1,33 @@ +package fr.ird.observe.db; + +import com.google.common.base.Optional; +import fr.ird.observe.services.dto.referential.ReferentialDto; + +/** + * Created on 10/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferentialCacheKey<D extends ReferentialDto> { + + private final Class<D> type; + + private final Optional<String> context; + + public ObserveReferentialCacheKey(Class<D> type, Optional<String> context) { + this.type = type; + this.context = context; + } + + public Class<D> getType() { + return type; + } + + public Optional<String> getContext() { + return context; + } + + public static <D extends ReferentialDto> ObserveReferentialCacheKey<D> of(Class<D> type, String optionalContext) { + return new ObserveReferentialCacheKey<>(type, Optional.fromNullable(optionalContext)); + } +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 63ec5bb0b5db17adb26649cdef03f4ab60ab2a0e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 14 02:12:31 2015 +0100 introduction nouvelle api de references plus simple et mise en place --- .../web/ObserveWebApplicationListener.java | 2 + .../v1/ReferenceSetServiceController.java | 10 +- .../ObserveReferenceSetRequestInjector.java | 51 +++++ .../services/service/ReferenceSetDefinition.java | 70 ------ .../service/ReferenceSetPropertyDefinition.java | 67 ------ .../service/ReferenceSetRequestDefinition.java | 53 ----- .../service/ReferenceSetRequestDefinitions.java | 39 ---- .../service/ReferenceSetRequestKeyDefinition.java | 86 ------- .../services/service/ReferenceSetService.java | 8 +- .../service/ReferentialReferenceSetResult.java | 55 ----- .../observe/services/dto/gson/ClassAdapter.java | 39 +++- .../services/dto/gson/ObserveDtoGsonSupplier.java | 2 + .../dto/gson/ObserveReferenceSetAdapter.java | 122 ++++++++++ .../services/dto/reference/ObserveReference.java | 61 +++++ .../dto/reference/ObserveReferenceSet.java | 69 ++++++ .../dto/reference/ObserveReferenceSetRequest.java | 20 +- .../dto/reference/ObserveReferenceSetResult.java | 64 ++++++ .../dto/reference/ObserveReferentialReference.java | 79 +++++++ .../definition/ObserveReferenceSetDefinition.java | 76 +++++++ .../definition/ObserveReferenceSetDefinitions.java | 41 ++-- .../ObserveReferenceSetRequestDefinition.java | 53 +++++ .../ObserveReferenceSetRequestDefinitions.java | 50 +++++ .../ObserveReferenceSetRequestKeyDefinition.java | 74 ++++++ .../service/ReferenceSetServiceRestTest.java | 96 ++++++++ .../EntityToReferentialReferenceDtoBuilder.java | 109 --------- .../dto/reference/ObserveReferenceSetBuilder.java | 250 +++++++++++++++++++++ .../services/service/ReferenceSetServiceTopia.java | 124 +++++----- .../service/ReferenceSetServiceTopiaTest.java | 54 +++++ 28 files changed, 1246 insertions(+), 578 deletions(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationListener.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationListener.java index 764a415..a5816f6 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationListener.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationListener.java @@ -27,6 +27,7 @@ import fr.ird.observe.application.web.converter.ObserveDtoConverter; import fr.ird.observe.application.web.injector.ObserveClassInjector; import fr.ird.observe.application.web.injector.ObserveDataSourceConfigurationInjector; import fr.ird.observe.application.web.injector.ObserveDtoInjector; +import fr.ird.observe.application.web.injector.ObserveReferenceSetRequestInjector; import fr.ird.observe.services.dto.ObserveDbUserDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -62,6 +63,7 @@ public class ObserveWebApplicationListener implements WebMotionServerListener { context.addInjector(new ObserveDataSourceConfigurationInjector(gson)); context.addInjector(new ObserveClassInjector()); context.addInjector(new ObserveDtoInjector(gson)); + context.addInjector(new ObserveReferenceSetRequestInjector(gson)); context.addConverter(new ObserveDtoConverter(gson), ObserveDbUserDto.class); context.getServletContext().setAttribute( diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java index 7dcc967..ee5c30c 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java @@ -1,8 +1,10 @@ package fr.ird.observe.application.web.controller.v1; -import fr.ird.observe.services.service.ReferenceSetRequest; +import fr.ird.observe.services.dto.reference.ObserveReference; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; import fr.ird.observe.services.service.ReferenceSetService; -import fr.ird.observe.services.service.ReferentialReferenceSetResult; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; /** * Created on 11/11/15. @@ -16,12 +18,12 @@ public class ReferenceSetServiceController extends ObserveAuthenticatedServiceCo } @Override - public ReferentialReferenceSetResult loadDataReferenceSets(ReferenceSetRequest request) { + public ObserveReferenceSetResult<ObserveReference> loadDataReferenceSets(ObserveReferenceSetRequest request) { return service.loadDataReferenceSets(request); } @Override - public ReferentialReferenceSetResult loadReferentialReferenceSets(ReferenceSetRequest request) { + public ObserveReferenceSetResult<ObserveReferentialReference> loadReferentialReferenceSets(ObserveReferenceSetRequest request) { return service.loadReferentialReferenceSets(request); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveReferenceSetRequestInjector.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveReferenceSetRequestInjector.java new file mode 100644 index 0000000..61edb8e --- /dev/null +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveReferenceSetRequestInjector.java @@ -0,0 +1,51 @@ +package fr.ird.observe.application.web.injector; + +import com.google.common.base.Preconditions; +import com.google.gson.Gson; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.debux.webmotion.server.call.Call; +import org.debux.webmotion.server.handler.ExecutorParametersInjectorHandler; +import org.debux.webmotion.server.mapping.Mapping; + +import java.lang.reflect.Type; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferenceSetRequestInjector implements ExecutorParametersInjectorHandler.Injector { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveDataSourceConfigurationInjector.class); + + protected final Gson gson; + + public ObserveReferenceSetRequestInjector(Gson gson) { + this.gson = gson; + } + + @Override + public Object getValue(Mapping mapping, Call call, String name, Class<?> type, Type generic) { + + ObserveReferenceSetRequest referenceSetRequest = null; + if (type.equals(ObserveReferenceSetRequest.class)) { + + Call.ParameterTree parameterTree = call.getParameterTree().getObject().get(name); + Preconditions.checkNotNull(parameterTree, "Le paramètre " + name + " n'as pas été trouvé, recompiler (parameter)!"); + String gsonContent = ((String[]) parameterTree.getValue())[0]; + + referenceSetRequest = gson.fromJson(gsonContent, ObserveReferenceSetRequest.class); + + if (log.isInfoEnabled()) { + log.info("Inject referenceSetRequest: " + referenceSetRequest); + } + + } + + return referenceSetRequest; + + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinition.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinition.java deleted file mode 100644 index edac622..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinition.java +++ /dev/null @@ -1,70 +0,0 @@ -package fr.ird.observe.services.service; - -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceSetDto; - -import java.io.Serializable; - -/** - * Pour définir ce que l'on doit retrouver dans un ensemble de références d'un même type. - * - * Created on 11/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferenceSetDefinition<D extends IdDto> implements Serializable{ - - private static final long serialVersionUID = 1L; - - /** - * Le type du dto qui doit être transformé en références. - * {@link ReferenceSetDto#getType()}. - */ - private final Class<D> type; - - private final ImmutableSet<ReferenceSetPropertyDefinition> properties; - - public ReferenceSetDefinition(Class<D> type, ImmutableSet<ReferenceSetPropertyDefinition> properties) { - this.type = type; - this.properties = properties; - } - - public Class<D> getType() { - return type; - } - - public ImmutableSet<ReferenceSetPropertyDefinition> getProperties() { - return properties; - } - - public static <D extends IdDto> Builder<D> builder(Class<D> type) { - return new Builder<>(type); - } - - public static class Builder<D extends IdDto> { - - private final Class<D> type; - - private final ImmutableSet.Builder<ReferenceSetPropertyDefinition> propertiesBuilder; - - public Builder(Class<D> type) { - this.type = type; - this.propertiesBuilder = ImmutableSet.builder(); - } - - public <O> Builder<D> addProperty(Class<O> type, String name) { - return addProperty(ReferenceSetPropertyDefinition.of(type, name)); - } - - public Builder<D> addProperty(ReferenceSetPropertyDefinition propertyDefinition) { - propertiesBuilder.add(propertyDefinition); - return this; - } - - public ReferenceSetDefinition<D> build() { - return new ReferenceSetDefinition<>(type, propertiesBuilder.build()); - } - } - -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetPropertyDefinition.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetPropertyDefinition.java deleted file mode 100644 index 79035bd..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetPropertyDefinition.java +++ /dev/null @@ -1,67 +0,0 @@ -package fr.ird.observe.services.service; - -import com.google.common.base.MoreObjects; - -import java.io.Serializable; -import java.util.Objects; - -/** - * Pour définir une propriété à remonter dans un ensemble de référence. - * - * Created on 11/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferenceSetPropertyDefinition<O> implements Serializable { - - private static final long serialVersionUID = 1L; - - /** - * Le type de la propriété. - */ - private final Class<O> type; - - /** - * Le nom de la propriété. - */ - private final String name; - - public static <O> ReferenceSetPropertyDefinition<O> of(Class<O> type, String name) { - return new ReferenceSetPropertyDefinition<>(type, name); - } - - public ReferenceSetPropertyDefinition(Class<O> type, String name) { - this.type = type; - this.name = name; - } - - public Class<O> getType() { - return type; - } - - public String getName() { - return name; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof ReferenceSetPropertyDefinition)) return false; - ReferenceSetPropertyDefinition<?> that = (ReferenceSetPropertyDefinition<?>) o; - return Objects.equals(type, that.type) && - Objects.equals(name, that.name); - } - - @Override - public int hashCode() { - return Objects.hash(type, name); - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("type", type) - .add("name", name) - .toString(); - } -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinition.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinition.java deleted file mode 100644 index 2d49605..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinition.java +++ /dev/null @@ -1,53 +0,0 @@ -package fr.ird.observe.services.service; - -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.IdDto; - -import java.io.Serializable; - -/** - * Pour définir une demande de récupération d'ensemble de références. - * - * Created on 11/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferenceSetRequestDefinition implements Serializable { - - private static final long serialVersionUID = 1L; - - private final ImmutableSet<ReferenceSetRequestKeyDefinition> keys; - - public ReferenceSetRequestDefinition(ImmutableSet<ReferenceSetRequestKeyDefinition> keys) { - this.keys = keys; - } - - public ImmutableSet<ReferenceSetRequestKeyDefinition> getKeys() { - return keys; - } - - public static <D extends IdDto> Builder<D> builder(Class<D> type) { - return new Builder<>(type); - } - - public static class Builder<D extends IdDto> { - - private final Class<D> parentType; - - private final ImmutableSet.Builder<ReferenceSetRequestKeyDefinition> keysBuilder; - - public Builder(Class<D> parentType) { - this.parentType = parentType; - this.keysBuilder = ImmutableSet.builder(); - } - - public Builder<D> addKey(String name, ReferenceSetDefinitions propertyDefinition) { - keysBuilder.add(new ReferenceSetRequestKeyDefinition<>(parentType, propertyDefinition.getDefinition(), name)); - return this; - } - - public ReferenceSetRequestDefinition build() { - return new ReferenceSetRequestDefinition(keysBuilder.build()); - } - } -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinitions.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinitions.java deleted file mode 100644 index eef1c48..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestDefinitions.java +++ /dev/null @@ -1,39 +0,0 @@ -package fr.ird.observe.services.service; - -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.seine.TripSeineDto; - -/** - * Contient les définitions de tous les requêtes que les services proposent. - * - * Created on 11/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public enum ReferenceSetRequestDefinitions { - - TRIP_SEINE_FORM(newBuilder(TripSeineDto.class) - .addKey(TripSeineDto.PROPERTY_OBSERVER, ReferenceSetDefinitions.PERSON) - .addKey(TripSeineDto.PROPERTY_CAPTAIN, ReferenceSetDefinitions.PERSON) - .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, ReferenceSetDefinitions.PERSON) - .addKey(TripSeineDto.PROPERTY_VESSEL, ReferenceSetDefinitions.VESSEL) - .addKey(TripSeineDto.PROPERTY_OCEAN, ReferenceSetDefinitions.OCEAN) - .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, ReferenceSetDefinitions.HARBOUR) - .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, ReferenceSetDefinitions.HARBOUR) - .addKey(TripSeineDto.PROPERTY_PROGRAM, ReferenceSetDefinitions.PROGRAM)),; - - public final ReferenceSetRequestDefinition definition; - - ReferenceSetRequestDefinitions(ReferenceSetRequestDefinition.Builder definitionBuilder) { - this.definition = definitionBuilder.build(); - } - - public ReferenceSetRequestDefinition getDefinition() { - return definition; - } - - public static <D extends IdDto> ReferenceSetRequestDefinition.Builder<D> newBuilder(Class<D> parentType) { - return new ReferenceSetRequestDefinition.Builder<>(parentType); - } - -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestKeyDefinition.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestKeyDefinition.java deleted file mode 100644 index 8d72a4f..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequestKeyDefinition.java +++ /dev/null @@ -1,86 +0,0 @@ -package fr.ird.observe.services.service; - -import com.google.common.base.Function; -import com.google.common.collect.Iterables; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.referential.ReferentialDto; - -import java.util.Objects; - -/** - * Created on 10/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferenceSetRequestKeyDefinition<D extends IdDto> { - - private final Class<? extends IdDto> parentType; - - private final ReferenceSetDefinition<D> referenceSetDefinition; - - private final String name; - - private final String[] propertyNames; - - private final Class<?>[] propertyTypes; - - public ReferenceSetRequestKeyDefinition(Class<? extends IdDto> parentType, ReferenceSetDefinition<D> referenceSetDefinition, String name) { - this.parentType = parentType; - this.referenceSetDefinition = referenceSetDefinition; - this.name = name; - this.propertyNames = Iterables.toArray(Iterables.transform(referenceSetDefinition.getProperties(), new Function<ReferenceSetPropertyDefinition, String>() { - - @Override - public String apply(ReferenceSetPropertyDefinition input) { - return input.getName(); - } - }), String.class); - this.propertyTypes = Iterables.toArray(Iterables.transform(referenceSetDefinition.getProperties(), new Function<ReferenceSetPropertyDefinition, Class<?>>() { - - @Override - public Class<?> apply(ReferenceSetPropertyDefinition input) { - return input.getType(); - } - }), Class.class); - } - - public Class<? extends IdDto> getParentType() { - return parentType; - } - - public Class<D> getType() { - return referenceSetDefinition.getType(); - } - - public String[] getPropertyNames() { - return propertyNames; - } - - public Class<?>[] getPropertyTypes() { - return propertyTypes; - } - - public String getName() { - return name; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof ReferenceSetRequestKeyDefinition)) return false; - ReferenceSetRequestKeyDefinition that = (ReferenceSetRequestKeyDefinition) o; - return Objects.equals(parentType, that.parentType) && - Objects.equals(referenceSetDefinition.getType(), that.referenceSetDefinition.getType()) && - Objects.equals(name, that.name); - } - - @Override - public int hashCode() { - return Objects.hash(parentType, referenceSetDefinition.getType(), name); - } - - public boolean isReferential() { - Class<?> type = referenceSetDefinition.getType(); - return type.isAssignableFrom(ReferentialDto.class); - } -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java index 36f7d0e..2ce25b3 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java @@ -2,6 +2,10 @@ package fr.ird.observe.services.service; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.reference.ObserveReference; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; import fr.ird.observe.services.spi.ReadDataPermission; import fr.ird.observe.services.spi.ReadReferentialPermission; @@ -15,10 +19,10 @@ import fr.ird.observe.services.spi.ReadReferentialPermission; public interface ReferenceSetService extends ObserveService { @ReadDataPermission - ReferentialReferenceSetResult loadDataReferenceSets(ReferenceSetRequest request); + ObserveReferenceSetResult<ObserveReference> loadDataReferenceSets(ObserveReferenceSetRequest request); @ReadReferentialPermission - ReferentialReferenceSetResult loadReferentialReferenceSets(ReferenceSetRequest request); + ObserveReferenceSetResult<ObserveReferentialReference> loadReferentialReferenceSets(ObserveReferenceSetRequest request); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialReferenceSetResult.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialReferenceSetResult.java deleted file mode 100644 index 1de8e9e..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialReferenceSetResult.java +++ /dev/null @@ -1,55 +0,0 @@ -package fr.ird.observe.services.service; - -import com.google.common.collect.ImmutableMap; -import fr.ird.observe.services.dto.ReferenceSetDto; - -/** - * Created on 10/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferentialReferenceSetResult { - - private final ReferenceSetRequest request; - - private final ImmutableMap<String, ReferenceSetDto> referenceSetsMap; - - public ReferentialReferenceSetResult(ReferenceSetRequest request, ImmutableMap<String, ReferenceSetDto> referenceSetsMap) { - this.request = request; - this.referenceSetsMap = referenceSetsMap; - } - - public ReferenceSetRequest getRequest() { - return request; - } - - public ImmutableMap<String, ReferenceSetDto> getReferenceSetsMap() { - return referenceSetsMap; - } - - public static Builder builder(final ReferenceSetRequest request) { - return new Builder(request); - } - - public static class Builder { - - private final ReferenceSetRequest request; - - private final ImmutableMap.Builder<String, ReferenceSetDto> referenceSetsMapBuilder; - - public Builder(ReferenceSetRequest request) { - this.request = request; - this.referenceSetsMapBuilder = ImmutableMap.builder(); - } - - public Builder addKey(String name, ReferenceSetDto referenceSet) { - referenceSetsMapBuilder.put(name, referenceSet); - return this; - } - - public ReferentialReferenceSetResult build() { - return new ReferentialReferenceSetResult(request, referenceSetsMapBuilder.build()); - } - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ClassAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ClassAdapter.java index bb235b9..22f2874 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ClassAdapter.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ClassAdapter.java @@ -28,18 +28,29 @@ import com.google.gson.JsonElement; import com.google.gson.JsonParseException; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import java.lang.reflect.Type; +import java.util.Map; +import java.util.TreeMap; /** * @author Arnaud Thimel - thimel@codelutin.com */ public class ClassAdapter implements JsonSerializer<Class<?>>, JsonDeserializer<Class<?>> { - private static final Log log = LogFactory.getLog(ClassAdapter.class); - + private static final Map<String, Class<?>> CLASS_CACHE = new TreeMap<>(); + + static { + CLASS_CACHE.put("boolean", boolean.class); + CLASS_CACHE.put("byte", byte.class); + CLASS_CACHE.put("char", char.class); + CLASS_CACHE.put("short", short.class); + CLASS_CACHE.put("int", int.class); + CLASS_CACHE.put("long", long.class); + CLASS_CACHE.put("float", float.class); + CLASS_CACHE.put("double", double.class); + } + @Override public JsonElement serialize(Class<?> src, Type typeOfSrc, JsonSerializationContext context) { return context.serialize(src.getCanonicalName(), String.class); @@ -50,15 +61,25 @@ public class ClassAdapter implements JsonSerializer<Class<?>>, JsonDeserializer< public Class<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { String className = json.getAsString(); + Class<?> result = CLASS_CACHE.get(className); + if (result == null) { + result = loadClass(className); + CLASS_CACHE.put(className, result); + } + + return result; + + } + + protected Class<?> loadClass(String className) { + try { Class<?> result = Class.forName(className); return result; - } catch (ClassNotFoundException cnfe) { - if (log.isErrorEnabled()) { - log.error("An exception occurred", cnfe); - } - throw new JsonParseException("Class not found: " + className, cnfe); + } catch (ClassNotFoundException e) { + throw new JsonParseException("Class not found: " + className, e); } } + } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java index 9ba5b93..7552723 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java @@ -31,6 +31,7 @@ import com.google.gson.GsonBuilder; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.actions.report.ReportVariable; +import fr.ird.observe.services.dto.reference.ObserveReferenceSet; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import org.nuiton.util.version.Version; @@ -94,6 +95,7 @@ public class ObserveDtoGsonSupplier implements Supplier<Gson> { gsonBuilder.registerTypeAdapter(ImmutableSet.class, new ImmutableSetAdapter()); gsonBuilder.registerTypeAdapter(ImmutableMap.class, new ImmutableMapAdapter()); gsonBuilder.registerTypeAdapter(ReferenceDto.class, new ReferenceDtoAdapter()); + gsonBuilder.registerTypeAdapter(ObserveReferenceSet.class, new ObserveReferenceSetAdapter()); gsonBuilder.registerTypeAdapter(ReferentialReferenceDto.class, new ReferentialReferenceDtoAdapter()); gsonBuilder.registerTypeAdapter(FormDto.class, new FormDtoAdapter()); gsonBuilder.registerTypeAdapter(ReportVariable.class, new ReportVariableAdapter()); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java new file mode 100644 index 0000000..300ae53 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java @@ -0,0 +1,122 @@ +package fr.ird.observe.services.dto.gson; + +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.reference.ObserveReference; +import fr.ird.observe.services.dto.reference.ObserveReferenceSet; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinition; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialDto; + +import java.io.Serializable; +import java.lang.reflect.Type; +import java.util.Collection; +import java.util.Date; +import java.util.LinkedHashSet; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferenceSetAdapter implements JsonDeserializer<ObserveReferenceSet> { + + @Override + public ObserveReferenceSet deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + + JsonObject jsonObject = json.getAsJsonObject(); + + ObserveReferenceSetDefinition definition = context.deserialize(jsonObject.get("definition"), ObserveReferenceSetDefinition.class); + + Class type = definition.getType(); + + Date lastUpdate = context.deserialize(jsonObject.get("lastUpdate"), Date.class); + + JsonArray jsonValues = jsonObject.get("values").getAsJsonArray(); + + Class[] propertyTypes = definition.getPropertyTypes(); + + ObserveReferenceSet referenceDto = new ObserveReferenceSet(); + referenceDto.setDefinition(definition); + referenceDto.setLastUpdate(lastUpdate); + + if (ReferentialDto.class.isAssignableFrom(type)) { + + Collection<ObserveReferentialReference> values = new LinkedHashSet<>(); + + for (JsonElement jsonValue : jsonValues) { + + ObserveReferentialReference ref = deserializeReferentialReference(context, jsonValue.getAsJsonObject(), propertyTypes); + values.add(ref); + } + + referenceDto.setValues(values); + + } else { + + Collection<ObserveReference> values = new LinkedHashSet<>(); + + for (JsonElement jsonValue : jsonValues) { + + ObserveReference ref = deserializeReference(context, jsonValue.getAsJsonObject(), propertyTypes); + values.add(ref); + } + + referenceDto.setValues(values); + } + + + return referenceDto; + + } + + private ObserveReferentialReference deserializeReferentialReference(JsonDeserializationContext context, JsonObject jsonObject, Class[] propertyTypes) { + + ObserveReferentialReference result = new ObserveReferentialReference(); + + deserialize0(context, jsonObject, propertyTypes, result); + + result.setVersion((long) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_VERSION), long.class)); + result.setCreateDate((Date) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_CREATE_DATE), Date.class)); + result.setLastUpdate((Date) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_LAST_UPDATE), Date.class)); + result.setEnabled((Boolean) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_ENABLED), boolean.class)); + result.setNeedComment((Boolean) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_NEED_COMMENT), boolean.class)); + + return result; + } + + private ObserveReference deserializeReference(JsonDeserializationContext context, JsonObject jsonObject, Class[] propertyTypes) { + + ObserveReference result = new ObserveReference(); + + deserialize0(context, jsonObject, propertyTypes, result); + + return result; + } + + private void deserialize0(JsonDeserializationContext context, JsonObject jsonObject, Class[] propertyTypes, ObserveReference result) { + + JsonArray valuesElement = jsonObject.get("values").getAsJsonArray(); + + result.setId((String) context.deserialize(jsonObject.get(IdDto.PROPERTY_ID), String.class)); + + Serializable[] values = new Serializable[propertyTypes.length]; + result.setValues(values); + + for (int i = 0, max = propertyTypes.length; i < max; i++) { + Class type = propertyTypes[i]; + JsonElement jsonValue = valuesElement.get(i); + if (jsonValue != null) { + Serializable value = context.deserialize(jsonValue, type); + values[i] = value; + } + } + + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReference.java new file mode 100644 index 0000000..95038a1 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReference.java @@ -0,0 +1,61 @@ +package fr.ird.observe.services.dto.reference; + +import com.google.common.base.MoreObjects; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.Objects; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReference implements Serializable { + + public static final String PROPERTY_ID = "id"; + + private static final long serialVersionUID = 1L; + + protected String id; + + protected Serializable[] values; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Serializable[] getValues() { + return values; + } + + public void setValues(Serializable... values) { + this.values = values; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ObserveReference)) return false; + ObserveReference that = (ObserveReference) o; + return !(id == null || that.id == null) && Objects.equals(id, that.id); + } + + @Override + public int hashCode() { + return Objects.hash(id); + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add("id", id) + .add("values", Arrays.asList(values)) + .toString(); + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java new file mode 100644 index 0000000..4d64af1 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java @@ -0,0 +1,69 @@ +package fr.ird.observe.services.dto.reference; + +import com.google.common.base.MoreObjects; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinition; + +import java.io.Serializable; +import java.util.Collection; +import java.util.Date; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferenceSet<D extends IdDto, R extends ObserveReference> implements Serializable { + + private static final long serialVersionUID = 1L; + + protected ObserveReferenceSetDefinition<D> definition; + + protected Collection<R> values; + + protected Date lastUpdate; + + public static <D extends IdDto, R extends ObserveReference> ObserveReferenceSet<D, R> of(ObserveReferenceSetDefinition<D> definition, + Collection<R> labels, + Date lastUpdate) { + ObserveReferenceSet<D, R> dto = new ObserveReferenceSet<>(); + + dto.setDefinition(definition); + dto.setValues(labels); + dto.setLastUpdate(lastUpdate); + return dto; + } + + public ObserveReferenceSetDefinition<D> getDefinition() { + return definition; + } + + public void setDefinition(ObserveReferenceSetDefinition<D> definition) { + this.definition = definition; + } + + public Collection<R> getValues() { + return values; + } + + public void setValues(Collection<R> values) { + this.values = values; + } + + public Date getLastUpdate() { + return lastUpdate; + } + + public void setLastUpdate(Date lastUpdate) { + this.lastUpdate = lastUpdate; + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add("definition", definition) + .add("values", values == null ? 0 : values.size()) + .add("lastUpdate", lastUpdate) + .toString(); + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequest.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java similarity index 57% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequest.java rename to observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java index 4801de4..25ea7b6 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetRequest.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service; +package fr.ird.observe.services.dto.reference; import com.google.common.collect.ImmutableMap; @@ -9,16 +9,11 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ -public class ReferenceSetRequest { +public class ObserveReferenceSetRequest { - private final String requestName; + private String requestName; - private final ImmutableMap<String, Date> lastUpdateDates; - - public ReferenceSetRequest(String requestName, ImmutableMap<String, Date> lastUpdateDates) { - this.requestName = requestName; - this.lastUpdateDates = lastUpdateDates; - } + private ImmutableMap<String, Date> lastUpdateDates; public String getRequestName() { return requestName; @@ -28,4 +23,11 @@ public class ReferenceSetRequest { return lastUpdateDates; } + public void setRequestName(String requestName) { + this.requestName = requestName; + } + + public void setLastUpdateDates(ImmutableMap<String, Date> lastUpdateDates) { + this.lastUpdateDates = lastUpdateDates; + } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java new file mode 100644 index 0000000..1c1614f --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java @@ -0,0 +1,64 @@ +package fr.ird.observe.services.dto.reference; + +import com.google.common.collect.ImmutableMap; + +import java.util.Date; +import java.util.Map; + +/** + * Created on 10/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferenceSetResult<R extends ObserveReference> { + + private final String requestName; + + private final ImmutableMap<String, ObserveReferenceSet<?, R>> referenceSets; + + public static <R extends ObserveReference> Builder<R> builder(String requestName) { + return new Builder<>(requestName); + } + + public ObserveReferenceSetResult(String requestName, ImmutableMap<String, ObserveReferenceSet<?, R>> referenceSets) { + this.requestName = requestName; + this.referenceSets = referenceSets; + } + + public String getRequestName() { + return requestName; + } + + public ImmutableMap<String, ObserveReferenceSet<?, R>> getReferenceSets() { + return referenceSets; + } + + public ImmutableMap<String,Date> getLastUpdateDates() { + ImmutableMap.Builder<String,Date> builder = ImmutableMap.builder(); + for (Map.Entry<String, ObserveReferenceSet<?, R>> entry : referenceSets.entrySet()) { + builder.put(entry.getKey(), entry.getValue().getLastUpdate()); + } + return builder.build(); + } + public static class Builder<R extends ObserveReference> { + + private final String requestName; + + private final ImmutableMap.Builder<String, ObserveReferenceSet<?, R>> referenceSetsMapBuilder; + + public Builder(String requestName) { + this.requestName = requestName; + this.referenceSetsMapBuilder = ImmutableMap.builder(); + } + + public Builder addKey(String name, ObserveReferenceSet<?, R> referenceSet) { + referenceSetsMapBuilder.put(name, referenceSet); + return this; + } + + public ObserveReferenceSetResult<R> build() { + return new ObserveReferenceSetResult<>(requestName, referenceSetsMapBuilder.build()); + } + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java new file mode 100644 index 0000000..f82dd81 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java @@ -0,0 +1,79 @@ +package fr.ird.observe.services.dto.reference; + +import com.google.common.base.MoreObjects; + +import java.util.Arrays; +import java.util.Date; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferentialReference extends ObserveReference { + + private static final long serialVersionUID = 1L; + + protected boolean needComment; + + protected boolean enabled; + + protected Date createDate; + + protected Date lastUpdate; + + protected long version; + + public boolean isNeedComment() { + return needComment; + } + + public void setNeedComment(boolean needComment) { + this.needComment = needComment; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public Date getLastUpdate() { + return lastUpdate; + } + + public void setLastUpdate(Date lastUpdate) { + this.lastUpdate = lastUpdate; + } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public long getVersion() { + return version; + } + + public void setVersion(long version) { + this.version = version; + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add("id", id) + .add("needComment", needComment) + .add("enabled", enabled) + .add("version", version) + .add("createDate", createDate) + .add("lastUpdate", lastUpdate) + .add("values", Arrays.asList(values)) + .toString(); + } +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java new file mode 100644 index 0000000..3a5f327 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java @@ -0,0 +1,76 @@ +package fr.ird.observe.services.dto.reference.definition; + +import fr.ird.observe.services.dto.IdDto; + +import java.io.Serializable; +import java.util.LinkedList; + +/** + * Pour définir ce que l'on doit retrouver dans un ensemble de références d'un même type. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferenceSetDefinition<D extends IdDto> implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * Le type du dto qui doit être transformé en références. + * {@link ObserveReferenceSetDefinition#getType()}. + */ + private final Class<D> type; + + private final String[] propertyNames; + + private final Class<?>[] propertyTypes; + + public static <D extends IdDto> Builder<D> builder(Class<D> type) { + return new Builder<>(type); + } + + protected ObserveReferenceSetDefinition(Class<D> type, Class<?>[] propertyTypes, String... propertyNames) { + this.type = type; + this.propertyTypes = propertyTypes; + this.propertyNames = propertyNames; + } + + public Class<D> getType() { + return type; + } + + public Class<?>[] getPropertyTypes() { + return propertyTypes; + } + + public String[] getPropertyNames() { + return propertyNames; + } + + public static class Builder<D extends IdDto> { + + private final Class<D> type; + + private final LinkedList<Class<?>> propertyTypes; + + private final LinkedList<String> propertyNames; + + public Builder(Class<D> type) { + this.type = type; + this.propertyTypes = new LinkedList<>(); + this.propertyNames = new LinkedList<>(); + } + + public <O> Builder<D> addProperty(Class<O> type, String name) { + propertyTypes.add(type); + propertyNames.add(name); + return this; + } + + public ObserveReferenceSetDefinition<D> build() { + return new ObserveReferenceSetDefinition<>(type, propertyTypes.toArray(new Class[propertyTypes.size()]), propertyNames.toArray(new String[propertyNames.size()])); + } + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java similarity index 90% rename from observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinitions.java rename to observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java index be4abc9..6e1f93b 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.service; +package fr.ird.observe.services.dto.reference.definition; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.CountryDto; @@ -64,13 +64,13 @@ import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.referential.seine.WindDto; /** - * Contient les définitions de tous les ensembles de référence utilisables dans les services. + * Contient les définitions de tous les ensembles de référence reconnus dans l'application. * * Created on 11/11/15. * * @author Tony Chemit - chemit@codelutin.com */ -public enum ReferenceSetDefinitions { +public enum ObserveReferenceSetDefinitions { COUNTRY(newDefaultDefinitionBuilder(CountryDto.class)), @@ -102,9 +102,9 @@ public enum ReferenceSetDefinitions { PERSON(newDefinitionBuilder(PersonDto.class) .addProperty(String.class, PersonDto.PROPERTY_FIRST_NAME) .addProperty(String.class, PersonDto.PROPERTY_LAST_NAME) - .addProperty(String.class, PersonDto.PROPERTY_CAPTAIN) - .addProperty(String.class, PersonDto.PROPERTY_DATA_ENTRY_OPERATOR) - .addProperty(String.class, PersonDto.PROPERTY_OBSERVER)), + .addProperty(boolean.class, PersonDto.PROPERTY_CAPTAIN) + .addProperty(boolean.class, PersonDto.PROPERTY_DATA_ENTRY_OPERATOR) + .addProperty(boolean.class, PersonDto.PROPERTY_OBSERVER)), PROGRAM(newDefinitionBuilder(ProgramDto.class) .addProperty(GearType.class, ProgramDto.PROPERTY_GEAR_TYPE) @@ -225,23 +225,18 @@ public enum ReferenceSetDefinitions { .addProperty(String.class, WindDto.PROPERTY_SPEED_RANGE) ); - private final ReferenceSetDefinition definition; + private final ObserveReferenceSetDefinition definition; - ReferenceSetDefinitions(ReferenceSetDefinition.Builder definition) { - this.definition = definition.build(); - } - - public ReferenceSetDefinition<?> getDefinition() { - return definition; - } - - protected static <R extends ReferentialDto> ReferenceSetDefinition.Builder newDefinitionBuilder(Class<R> type) { - ReferenceSetDefinition.Builder<R> builder = ReferenceSetDefinition.builder(type); + protected static <R extends ReferentialDto> ObserveReferenceSetDefinition.Builder newDefinitionBuilder(Class<R> type) { + ObserveReferenceSetDefinition.Builder<R> builder = ObserveReferenceSetDefinition.builder(type); + if (I18nReferentialDto.class.isAssignableFrom(type)) { + builder.addProperty(String.class, I18nReferentialDto.PROPERTY_LABEL); + } return builder; } - protected static <R extends ReferentialDto> ReferenceSetDefinition.Builder newDefaultDefinitionBuilder(Class<R> type) { - ReferenceSetDefinition.Builder<R> builder = ReferenceSetDefinition + protected static <R extends ReferentialDto> ObserveReferenceSetDefinition.Builder newDefaultDefinitionBuilder(Class<R> type) { + ObserveReferenceSetDefinition.Builder<R> builder = ObserveReferenceSetDefinition .builder(type) .addProperty(String.class, ReferentialDto.PROPERTY_CODE); if (I18nReferentialDto.class.isAssignableFrom(type)) { @@ -250,4 +245,12 @@ public enum ReferenceSetDefinitions { return builder; } + ObserveReferenceSetDefinitions(ObserveReferenceSetDefinition.Builder definition) { + this.definition = definition.build(); + } + + public ObserveReferenceSetDefinition<?> getDefinition() { + return definition; + } + } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinition.java new file mode 100644 index 0000000..d3aa77c --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinition.java @@ -0,0 +1,53 @@ +package fr.ird.observe.services.dto.reference.definition; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.IdDto; + +import java.io.Serializable; + +/** + * Pour définir une demande de récupération d'ensemble de références. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferenceSetRequestDefinition implements Serializable { + + private static final long serialVersionUID = 1L; + + private final ImmutableSet<ObserveReferenceSetRequestKeyDefinition> keys; + + public static <D extends IdDto> Builder<D> builder(Class<D> type) { + return new Builder<>(type); + } + + public ObserveReferenceSetRequestDefinition(ImmutableSet<ObserveReferenceSetRequestKeyDefinition> keys) { + this.keys = keys; + } + + public ImmutableSet<ObserveReferenceSetRequestKeyDefinition> getKeys() { + return keys; + } + + public static class Builder<D extends IdDto> { + + private final Class<D> parentType; + + private final ImmutableSet.Builder<ObserveReferenceSetRequestKeyDefinition> keysBuilder; + + public Builder(Class<D> parentType) { + this.parentType = parentType; + this.keysBuilder = ImmutableSet.builder(); + } + + public Builder<D> addKey(String name, ObserveReferenceSetDefinitions propertyDefinition) { + keysBuilder.add(new ObserveReferenceSetRequestKeyDefinition<>(parentType, propertyDefinition.getDefinition(), name)); + return this; + } + + public ObserveReferenceSetRequestDefinition build() { + return new ObserveReferenceSetRequestDefinition(keysBuilder.build()); + } + } +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java new file mode 100644 index 0000000..e7e520f --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.dto.reference.definition; + +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; + +/** + * Contient les définitions de tous les requêtes que les services proposent. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum ObserveReferenceSetRequestDefinitions { + + TRIP_SEINE_FORM(newBuilder(TripSeineDto.class) + .addKey(TripSeineDto.PROPERTY_OBSERVER, ObserveReferenceSetDefinitions.PERSON) + .addKey(TripSeineDto.PROPERTY_CAPTAIN, ObserveReferenceSetDefinitions.PERSON) + .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, ObserveReferenceSetDefinitions.PERSON) + .addKey(TripSeineDto.PROPERTY_VESSEL, ObserveReferenceSetDefinitions.VESSEL) + .addKey(TripSeineDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) + .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) + .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) + .addKey(TripSeineDto.PROPERTY_PROGRAM, ObserveReferenceSetDefinitions.PROGRAM)),; + + public final ObserveReferenceSetRequestDefinition definition; + + public static <D extends IdDto> ObserveReferenceSetRequestDefinition.Builder<D> newBuilder(Class<D> parentType) { + return new ObserveReferenceSetRequestDefinition.Builder<>(parentType); + } + + ObserveReferenceSetRequestDefinitions(ObserveReferenceSetRequestDefinition.Builder definitionBuilder) { + this.definition = definitionBuilder.build(); + } + + public ObserveReferenceSetRequestDefinition getDefinition() { + return definition; + } + + public static ObserveReferenceSetRequestDefinition get(String definitionName) { + + ObserveReferenceSetRequestDefinitions requestDefinitions = valueOf(definitionName); + if (requestDefinitions == null) { + throw new IllegalArgumentException("No definition with name " + definitionName + "registred"); + } + + return requestDefinitions.getDefinition(); + + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java new file mode 100644 index 0000000..f5156b4 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java @@ -0,0 +1,74 @@ +package fr.ird.observe.services.dto.reference.definition; + +import com.google.common.base.MoreObjects; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; + +import java.util.Objects; + +/** + * Created on 10/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferenceSetRequestKeyDefinition<D extends IdDto> { + + private final Class<? extends IdDto> parentType; + + private final ObserveReferenceSetDefinition<D> referenceSetDefinition; + + private final String name; + + public ObserveReferenceSetRequestKeyDefinition(Class<? extends IdDto> parentType, ObserveReferenceSetDefinition<D> referenceSetDefinition, String name) { + this.parentType = parentType; + this.referenceSetDefinition = referenceSetDefinition; + this.name = name; + } + + public Class<? extends IdDto> getParentType() { + return parentType; + } + + public Class<D> getType() { + return referenceSetDefinition.getType(); + } + + public String getName() { + return name; + } + + public ObserveReferenceSetDefinition<D> getDefinition() { + return referenceSetDefinition; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof ObserveReferenceSetRequestKeyDefinition)) return false; + ObserveReferenceSetRequestKeyDefinition that = (ObserveReferenceSetRequestKeyDefinition) o; + return Objects.equals(parentType, that.parentType) && + Objects.equals(referenceSetDefinition.getType(), that.referenceSetDefinition.getType()) && + Objects.equals(name, that.name); + } + + @Override + public int hashCode() { + return Objects.hash(parentType, referenceSetDefinition.getType(), name); + } + + public boolean isReferential() { + Class<?> type = referenceSetDefinition.getType(); + return ReferentialDto.class.isAssignableFrom(type); + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add("parentType", parentType) + .add("name", name) + .add("type", referenceSetDefinition.getType()) + .add("propertyNames", referenceSetDefinition.getPropertyNames()) + .add("propertyTypes", referenceSetDefinition.getPropertyTypes()) + .toString(); + } +} diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceRestTest.java new file mode 100644 index 0000000..e8a6eb2 --- /dev/null +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceRestTest.java @@ -0,0 +1,96 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.TestClassResource; +import fr.ird.observe.services.TestMethodResource; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; +import fr.ird.observe.services.configuration.ObserveDataSourceConnection; +import fr.ird.observe.services.dto.reference.ObserveReferenceSet; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; +import org.junit.Assert; +import org.junit.Before; +import org.junit.ClassRule; +import org.junit.Rule; +import org.junit.Test; + +import java.util.Date; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetServiceRestTest { + + @ClassRule + public static final TestClassResource testClassResource = new TestClassResource(); + + @Rule + public final TestMethodResource testMethodResource = new TestMethodResource(testClassResource); + + + protected ReferenceSetService service; + + @Before + public void setUp() throws Exception { + + ObserveDataSourceConfigurationRest dataSourceConfiguration = testMethodResource.getDataSourceConfiguration().clone(); + DataSourceService dataSourceService = testClassResource.newService(dataSourceConfiguration, DataSourceService.class); + ObserveDataSourceConnection connection = dataSourceService.open(dataSourceConfiguration); + + service = testClassResource.newService(connection, ReferenceSetService.class); + + } + + @Test + public void testGetTripSeineRequest() throws Exception { + + String requestName = ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name(); + + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(requestName); + request.setLastUpdateDates(ImmutableMap.<String, Date>of()); + + ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = service.loadReferentialReferenceSets(request); + Assert.assertNotNull(referenceSetResult); + Assert.assertEquals(requestName, referenceSetResult.getRequestName()); + ImmutableMap<String, ObserveReferenceSet<?, ObserveReferentialReference>> referenceSetsMap = referenceSetResult.getReferenceSets(); + Assert.assertNotNull(referenceSetsMap); + + ObserveReferenceSetRequestDefinition definition = ObserveReferenceSetRequestDefinitions.get(requestName); + + ImmutableSet<ObserveReferenceSetRequestKeyDefinition> keys = definition.getKeys(); + for (ObserveReferenceSetRequestKeyDefinition key : keys) { + + String name = key.getName(); + Assert.assertTrue(referenceSetsMap.containsKey(name)); + + } + Assert.assertEquals(keys.size(), referenceSetsMap.size()); + + ImmutableMap<String, Date> lastUpdateDates = referenceSetResult.getLastUpdateDates(); + + request.setRequestName(requestName); + request.setLastUpdateDates(lastUpdateDates); + + // Re run the request, should receive no data + + ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult2 = service.loadReferentialReferenceSets(request); + Assert.assertNotNull(referenceSetResult2); + Assert.assertEquals(requestName, referenceSetResult2.getRequestName()); + ImmutableMap<String, ObserveReferenceSet<?, ObserveReferentialReference>> referenceSetsMap2 = referenceSetResult2.getReferenceSets(); + Assert.assertNotNull(referenceSetsMap2); + Assert.assertTrue(referenceSetsMap2.isEmpty()); + + + + + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java index 25148fe..2cef244 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java @@ -24,7 +24,6 @@ package fr.ird.observe.services.builder; import com.google.common.base.Function; import com.google.common.base.Preconditions; -import fr.ird.observe.entities.referentiel.ReferenceEntities; import fr.ird.observe.entities.referentiel.ReferenceEntity; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.ObserveDtoBinders; @@ -33,16 +32,12 @@ import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDtos; -import fr.ird.observe.services.service.ReferenceSetRequestKeyDefinition; import org.hibernate.Hibernate; import org.hibernate.proxy.HibernateProxy; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.beans.Binder; -import org.nuiton.util.beans.BinderFactory; import java.io.Serializable; -import java.util.ArrayList; -import java.util.List; import java.util.Map; import java.util.Set; @@ -55,110 +50,6 @@ import java.util.Set; */ public class EntityToReferentialReferenceDtoBuilder<E extends ReferenceEntity, D extends ReferentialDto> { - private Class<D> type; - - private Binder<E, E> binder; - - private String[] propertyNames; - - private String[] entityPropertyNames; - - private Class<?>[] propertyTypes; - - private int referentialLocaleOrdinal; - - public static <E extends ReferenceEntity, D extends ReferentialDto> EntityToReferentialReferenceDtoBuilder<E, D> of(ReferentialLocale referentialLocale, ReferenceSetRequestKeyDefinition<D> requestKeyDefinition, Class<E> entityType) { - - EntityToReferentialReferenceDtoBuilder<E, D> referenceDtoBuilder = new EntityToReferentialReferenceDtoBuilder<>(); - - referenceDtoBuilder.type = requestKeyDefinition.getType(); - referenceDtoBuilder.referentialLocaleOrdinal = referentialLocale.ordinal(); - referenceDtoBuilder.binder = BinderFactory.newBinder(entityType); - referenceDtoBuilder.propertyNames = requestKeyDefinition.getPropertyNames(); - - List<String> entityPropertyNames = new ArrayList<>(); - - for (String propertyName : referenceDtoBuilder.propertyNames) { - - if (ReferentialReferenceDto.PROPERTY_LABEL.contains(propertyName)) { - propertyName = referentialLocale.getLibelle(); - } - entityPropertyNames.add(propertyName); - } - referenceDtoBuilder.entityPropertyNames = entityPropertyNames.toArray(new String[entityPropertyNames.size()]); - referenceDtoBuilder.propertyTypes = requestKeyDefinition.getPropertyTypes(); - - return referenceDtoBuilder; - - } - - public ReferentialReferenceDto<D> build(E entity) { - - Preconditions.checkNotNull(entity, "'entity' can't be null"); - - // on extrait l' entité du proxy hibernate - if (entity instanceof HibernateProxy) { - Hibernate.initialize(entity); - entity = (E) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation(); - } - - Map<String, Object> entityProperties = binder.obtainProperties(entity, true, entityPropertyNames); - - Serializable[] propertyValues = new Serializable[propertyTypes.length]; - for (int i = 0; i < propertyTypes.length; i++) { - String propertyName = propertyNames[i]; - - Serializable propertyValue = (Serializable) entityProperties.get(propertyName); - if (propertyValue != null) { - - Class<?> propertyType = propertyTypes[i]; - - if (propertyValue instanceof ReferenceEntity) { - - ReferenceEntity referentialEntity = (ReferenceEntity) propertyValue; - if (String.class.equals(propertyType)) { - - // Conversion - - propertyValue = ReferenceEntities.toString(referentialLocaleOrdinal, referentialEntity); - - } else { - - // on veut récupérer une référence - //TODO - - } - - } else { - - propertyValue = transform(propertyValue); - - } - - Preconditions.checkState(propertyType.isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); - - } - - propertyValues[i] = propertyValue; - - } - - ReferentialReferenceDto<D> result = new ReferentialReferenceDto<>(); - result.init(type, propertyNames, propertyTypes, propertyValues); - - result.setId(entity.getTopiaId()); - result.setEnabled(entity.isEnabled()); - result.setNeedComment(entity.isNeedComment()); - - result.setVersion(entity.getTopiaVersion()); - result.setCreateDate(entity.getTopiaCreateDate()); - result.setLastUpdate(entity.getLastUpdate()); - result.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == entity.getStatus()); - - return result; - - } - public static <E extends ReferenceEntity, D extends ReferentialDto> ReferentialReferenceDto<D> build(Class<D> dtoType, ReferentialLocale referentialLocale, E entity) { Preconditions.checkNotNull(dtoType, "'dtoType' can't be null"); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java new file mode 100644 index 0000000..bda5a57 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java @@ -0,0 +1,250 @@ +package fr.ird.observe.services.dto.reference; + +import com.google.common.base.Defaults; +import com.google.common.base.Function; +import com.google.common.base.Preconditions; +import fr.ird.observe.entities.referentiel.ReferenceEntities; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ObserveDtosInitializer; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinition; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import org.hibernate.Hibernate; +import org.hibernate.proxy.HibernateProxy; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.util.ReflectUtil; +import org.nuiton.util.beans.Binder; +import org.nuiton.util.beans.BinderFactory; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Date; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReferenceSetBuilder<D extends IdDto, R extends ObserveReference> { + + private ObserveReferenceSetDefinition<D> definition; + + private Binder<TopiaEntity, TopiaEntity> binder; + + private String[] propertyNames; + + private String[] entityPropertyNames; + + private String i18nEntityPropertyName; + + private Class<?>[] propertyTypes; + + private int referentialLocaleOrdinal; + + private LinkedHashSet<R> references; + + private Date lastUpdateDate; + + public static <D extends IdDto, R extends ObserveReference> ObserveReferenceSetBuilder<D, R> of( + + ReferentialLocale referentialLocale, ObserveReferenceSetDefinition<D> definition, Class<TopiaEntity> entityType) { + + ObserveReferenceSetBuilder<D, R> referenceDtoBuilder = new ObserveReferenceSetBuilder<>(); + + referenceDtoBuilder.definition = definition; + referenceDtoBuilder.referentialLocaleOrdinal = referentialLocale.ordinal(); + referenceDtoBuilder.binder = BinderFactory.newBinder(entityType); + referenceDtoBuilder.propertyNames = definition.getPropertyNames(); + + List<String> entityPropertyNames = new ArrayList<>(); + + for (String propertyName : referenceDtoBuilder.propertyNames) { + + if (ReferentialReferenceDto.PROPERTY_LABEL.equals(propertyName)) { + propertyName = referenceDtoBuilder.i18nEntityPropertyName = referentialLocale.getLibelle(); + } + entityPropertyNames.add(propertyName); + } + referenceDtoBuilder.entityPropertyNames = entityPropertyNames.toArray(new String[entityPropertyNames.size()]); + referenceDtoBuilder.propertyTypes = definition.getPropertyTypes(); + referenceDtoBuilder.references = new LinkedHashSet<>(); + + return referenceDtoBuilder; + + } + + public ObserveReferenceSetBuilder<D, R> setLastUpdateDate(Date lastUpdateDate) { + this.lastUpdateDate = lastUpdateDate; + return this; + } + + public ObserveReferenceSet<D, R> build() { + return ObserveReferenceSet.of(definition, references, lastUpdateDate); + } + + public ObserveReferenceSetBuilder<D, R> addReferentialReference(TopiaEntity entity) { + + Map<String, Object> entityProperties = loadProperties(entity); + + Serializable[] propertyValues = new Serializable[propertyTypes.length]; + for (int i = 0; i < propertyTypes.length; i++) { + String propertyName = propertyNames[i]; + + if (ReferentialReferenceDto.PROPERTY_LABEL.equals(propertyName)) { + propertyName = i18nEntityPropertyName; + } + Serializable propertyValue = (Serializable) entityProperties.get(propertyName); + Class<?> propertyType = propertyTypes[i]; + + if (propertyValue == null) { + + if (propertyType.isPrimitive()) { + propertyValue = (Serializable) Defaults.defaultValue(propertyType); + } + + } else { + + if (propertyValue instanceof ReferenceEntity) { + + propertyValue = transformReferenceEntity(propertyType, (ReferenceEntity) propertyValue); + + } else { + + propertyValue = transform(propertyValue); + + } + + checkType(propertyName, propertyValue, propertyType); + + } + + propertyValues[i] = propertyValue; + + } + + ObserveReferentialReference result = new ObserveReferentialReference(); + + result.setValues(propertyValues); + result.setId(entity.getTopiaId()); + result.setVersion(entity.getTopiaVersion()); + result.setCreateDate(entity.getTopiaCreateDate()); + + ReferenceEntity referenceEntity = (ReferenceEntity) entity; + result.setEnabled(referenceEntity.isEnabled()); + result.setNeedComment(referenceEntity.isNeedComment()); + result.setLastUpdate(referenceEntity.getLastUpdate()); + result.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == referenceEntity.getStatus()); + + references.add((R) result); + + return this; + + } + + public ObserveReferenceSetBuilder<D, R> addReference(TopiaEntity entity) { + + Map<String, Object> entityProperties = loadProperties(entity); + + Serializable[] propertyValues = new Serializable[propertyTypes.length]; + for (int i = 0; i < propertyTypes.length; i++) { + String propertyName = propertyNames[i]; + + Serializable propertyValue = (Serializable) entityProperties.get(propertyName); + Class<?> propertyType = propertyTypes[i]; + + if (propertyValue == null) { + + if (propertyType.isPrimitive()) { + propertyValue = (Serializable) Defaults.defaultValue(propertyType); + } + + } else { + + if (propertyValue instanceof ReferenceEntity) { + + propertyValue = transformReferenceEntity(propertyType, (ReferenceEntity) propertyValue); + + } else if (propertyValue instanceof TopiaEntity) { + + //TODO + + } else { + + propertyValue = transform(propertyValue); + + } + + checkType(propertyName, propertyValue, propertyType); + + } + + propertyValues[i] = propertyValue; + + } + + ObserveReference result = new ObserveReference(); + result.setValues(propertyValues); + result.setId(entity.getTopiaId()); + + references.add((R) result); + + return this; + + } + + protected void checkType(String propertyName, Serializable propertyValue, Class<?> propertyType) { + if (propertyType.isPrimitive()) { + Preconditions.checkState(ReflectUtil.boxType(propertyType).isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); + } else { + Preconditions.checkState(propertyType.isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); + } + } + + protected Map<String, Object> loadProperties(TopiaEntity entity) { + + Preconditions.checkNotNull(entity, "'entity' can't be null"); + + // on extrait l' entité du proxy hibernate + if (entity instanceof HibernateProxy) { + Hibernate.initialize(entity); + entity = (TopiaEntity) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation(); + } + + Map<String, Object> entityProperties = binder.obtainProperties(entity, true, entityPropertyNames); + return entityProperties; + + } + + protected Serializable transformReferenceEntity(Class<?> propertyType, ReferenceEntity referentialEntity) { + + Serializable result; + if (String.class.equals(propertyType)) { + + // Conversion + + result = ReferenceEntities.toString(referentialLocaleOrdinal, referentialEntity); + + } else { + + // on veut récupérer une référence + //TODO + result = null; + + } + + return result; + } + + protected Serializable transform(Object propertyValue) { + Function function = ObserveDtosInitializer.getEntityToDtoFunction(propertyValue); + if (function != null) { + propertyValue = function.apply(propertyValue); + } + return (Serializable) propertyValue; + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java index 3178da1..0189f1a 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java @@ -3,20 +3,25 @@ package fr.ird.observe.services.service; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; -import fr.ird.observe.entities.referentiel.ReferenceEntity; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.builder.EntityToReferentialReferenceDtoBuilder; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.reference.ObserveReference; +import fr.ird.observe.services.dto.reference.ObserveReferenceSet; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetBuilder; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.entity.EntitiesExtractor; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaEntity; import java.util.Collections; import java.util.Date; -import java.util.LinkedHashSet; import java.util.Map; /** @@ -26,27 +31,25 @@ import java.util.Map; */ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements ReferenceSetService { + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferenceSetServiceTopia.class); + @Override - public ReferentialReferenceSetResult loadDataReferenceSets(ReferenceSetRequest request) { + public ObserveReferenceSetResult<ObserveReference> loadDataReferenceSets(ObserveReferenceSetRequest request) { String requestName = request.getRequestName(); - ReferenceSetRequestDefinitions requestDefinitions = ReferenceSetRequestDefinitions.valueOf(requestName); - if (requestDefinitions == null) { - throw new IllegalArgumentException("No request with name " + requestName + "registred"); - } + ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(requestName); - ReferenceSetRequestDefinition requestDefinition = requestDefinitions.getDefinition(); + ObserveReferenceSetResult.Builder<ObserveReference> resultBuilder = ObserveReferenceSetResult.builder(requestName); - ReferentialReferenceSetResult.Builder resultBuilder = new ReferentialReferenceSetResult.Builder(request); + for (ObserveReferenceSetRequestKeyDefinition definition : requestDefinition.getKeys()) { - for (ReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + boolean referential = definition.isReferential(); + Preconditions.checkArgument(!referential, "Can't obtain referenceSet of referential here, but try with " + definition); - boolean referential = requestKeyDefinition.isReferential(); - Preconditions.checkArgument(!referential, "Can't obtain referenceSet of referential here, but try with " + requestKeyDefinition); + ObserveReferenceSet<IdDto, ObserveReference> referenceSet = loadDataReferenceSet(definition); - String name = requestKeyDefinition.getName(); - - ReferenceSetDto referenceSet = loadDataReferenceSet(requestKeyDefinition); - resultBuilder.addKey(name, referenceSet); + String name = definition.getName(); + addKey(resultBuilder, name, referenceSet); } @@ -55,73 +58,82 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref } @Override - public ReferentialReferenceSetResult loadReferentialReferenceSets(ReferenceSetRequest request) { + public ObserveReferenceSetResult<ObserveReferentialReference> loadReferentialReferenceSets(ObserveReferenceSetRequest request) { String requestName = request.getRequestName(); - ReferenceSetRequestDefinitions requestDefinitions = ReferenceSetRequestDefinitions.valueOf(requestName); - if (requestDefinitions == null) { - throw new IllegalArgumentException("No request with name " + requestName + "registred"); - } - ReferenceSetRequestDefinition requestDefinition = requestDefinitions.getDefinition(); + ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(requestName); - ReferentialReferenceSetResult.Builder resultBuilder = new ReferentialReferenceSetResult.Builder(request); + ObserveReferenceSetResult.Builder<ObserveReferentialReference> resultBuilder = ObserveReferenceSetResult.builder(requestName); ImmutableMap<String, Date> lastUpdateDates = request.getLastUpdateDates(); - for (ReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + for (ObserveReferenceSetRequestKeyDefinition definition : requestDefinition.getKeys()) { - boolean referential = requestKeyDefinition.isReferential(); - Preconditions.checkArgument(referential, "Can't obtain referenceSet of data here, but try with " + requestKeyDefinition); + boolean referential = definition.isReferential(); + Preconditions.checkArgument(referential, "Can't obtain referenceSet of data here, but try with " + definition); - String name = requestKeyDefinition.getName(); + String name = definition.getName(); Date lastUpdateDate = lastUpdateDates.get(name); - ReferenceSetDto referenceSet = loadReferentialReferenceSet(requestKeyDefinition, lastUpdateDate); - resultBuilder.addKey(name, referenceSet); + ObserveReferenceSet<ReferentialDto, ObserveReferentialReference> referenceSet = loadReferentialReferenceSet(definition, lastUpdateDate); + addKey(resultBuilder, name, referenceSet); + } return resultBuilder.build(); } - protected <D extends IdDto> ReferenceSetDto<D> loadDataReferenceSet(ReferenceSetRequestKeyDefinition<D> requestKeyDefinition) { + protected <D extends IdDto, R extends ObserveReference> void addKey(ObserveReferenceSetResult.Builder<R> resultBuilder, String name, ObserveReferenceSet<D, R> referenceSet) { + if (referenceSet != null) { + if (log.isInfoEnabled()) { + log.info("Add reference set " + name + " : " + referenceSet); + } + resultBuilder.addKey(name, referenceSet); + } + } - Class<D> type = requestKeyDefinition.getType(); - Class<TopiaEntity> entityType = getEntityType(type); - String name = requestKeyDefinition.getName(); + protected <D extends IdDto> ObserveReferenceSet<D, ObserveReference> loadDataReferenceSet(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition) { + + Class<TopiaEntity> entityType = getEntityType(requestKeyDefinition.getType()); - Iterable<TopiaEntity> entitiesExtractor = getEntities(requestKeyDefinition, Collections.<String, Object>emptyMap()); + ObserveReferenceSetBuilder<D, ObserveReference> referenceBuilder = ObserveReferenceSetBuilder.of(serviceContext.getReferentialLocale(), requestKeyDefinition.getDefinition(), entityType); - //TODO - ReferenceSetDto<D> referenceSet = null; + Iterable<TopiaEntity> entities = getEntities(requestKeyDefinition, Collections.<String, Object>emptyMap()); + for (TopiaEntity entity : entities) { + + referenceBuilder.addReference(entity); + + } + + ObserveReferenceSet<D, ObserveReference> referenceSet = referenceBuilder.build(); return referenceSet; + } - protected <D extends ReferentialDto, E extends ReferenceEntity> ReferenceSetDto<D> loadReferentialReferenceSet(ReferenceSetRequestKeyDefinition<D> requestKeyDefinition, Date lastUpdateDate) { + protected <D extends ReferentialDto> ObserveReferenceSet<D, ObserveReferentialReference> loadReferentialReferenceSet(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition, Date lastUpdateDate) { - Class<D> type = requestKeyDefinition.getType(); - Class<E> entityType = getEntityType(type); - String name = requestKeyDefinition.getName(); + Class<TopiaEntity> entityType = getEntityType(requestKeyDefinition.getType()); Optional<Date> lastUpdateOptional = getLastUpdate(entityType); - ReferenceSetDto<D> referenceSet; - if (lastUpdateOptional.isPresent() && lastUpdateOptional.get().after(lastUpdateDate)) { + ObserveReferenceSet<D, ObserveReferentialReference> referenceSet; + if (lastUpdateOptional.isPresent() && (lastUpdateDate == null || lastUpdateOptional.get().after(lastUpdateDate))) { + + ObserveReferenceSetBuilder<D, ObserveReferentialReference> referenceBuilder = ObserveReferenceSetBuilder.of(serviceContext.getReferentialLocale(), requestKeyDefinition.getDefinition(), entityType); - EntityToReferentialReferenceDtoBuilder<E, D> referenceBuilder = EntityToReferentialReferenceDtoBuilder.of(serviceContext.getReferentialLocale(), requestKeyDefinition, entityType); + referenceBuilder.setLastUpdateDate(lastUpdateOptional.get()); - Iterable<E> entities = getEntities(requestKeyDefinition, Collections.<String, Object>emptyMap()); + Iterable<TopiaEntity> entities = getEntities(requestKeyDefinition, Collections.<String, Object>emptyMap()); - LinkedHashSet<ReferentialReferenceDto<D>> labels = new LinkedHashSet<>(); - for (E entity : entities) { + for (TopiaEntity entity : entities) { - ReferentialReferenceDto<D> dto = referenceBuilder.build(entity); - labels.add(dto); + referenceBuilder.addReferentialReference(entity); } - referenceSet = ReferenceSetDtos.newReferenceSetDto(type, name, labels, lastUpdateOptional.get()); + referenceSet = referenceBuilder.build(); } else { @@ -130,13 +142,12 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref } return referenceSet; - } + } - protected <E extends TopiaEntity, D extends IdDto> Iterable<E> getEntities(ReferenceSetRequestKeyDefinition<D> requestKeyDefinition, + protected <E extends TopiaEntity, D extends IdDto> Iterable<E> getEntities(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition, Map<String, Object> dataContext) { - Class<D> type = requestKeyDefinition.getType(); Class<E> entityType = getEntityType(type); Class<TopiaEntity> entityParentType = getEntityType(requestKeyDefinition.getParentType()); @@ -157,6 +168,7 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref } return entities; + } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java new file mode 100644 index 0000000..9af6322 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; +import org.junit.Assert; +import org.junit.Test; + +import java.util.Set; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetServiceTopiaTest extends AbstractServiceTopiaTest { + + protected ReferenceSetService service; + + @Override + public Set<String> getTestNamesChangeDataBase() { + return ImmutableSet.of(); + } + + @Override + public String getScriptName() { + return "referentiel"; + } + + @Override + public void setUp() throws Exception { + super.setUp(); + + service = newService(ReferenceSetService.class); + + } + + @Test + public void testGetTripSeineRequest() throws Exception { + + String requestName = ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name(); + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(requestName); + + ObserveReferenceSetResult<ObserveReferentialReference> referentialLabelSet = service.loadReferentialReferenceSets(request); + Assert.assertNotNull(referentialLabelSet); + Assert.assertEquals(requestName, referentialLabelSet.getRequestName()); + Assert.assertNotNull(referentialLabelSet.getReferenceSets()); + + } + +} \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 782e73b565ac935cf8f390614729fe1f8e853b66 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 14 02:12:49 2015 +0100 remove dead code --- .../fr/ird/observe/application/web/ObserveWebMotionRender.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebMotionRender.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebMotionRender.java index 32e82eb..07905fb 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebMotionRender.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebMotionRender.java @@ -56,14 +56,6 @@ public class ObserveWebMotionRender<T> extends Render { ObserveWebApplicationContext applicationContext = ObserveWebApplicationContext.getApplicationContext(context); -// if (model instanceof InvalidFormException || model instanceof FavoriteListImportException) { -// -// response.setStatus(HttpServletResponse.SC_BAD_REQUEST); -// -// } - - applicationContext.getGsonSupplier(); - Gson gson = applicationContext.getGsonSupplier().get(); String json = gson.toJson(model); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit e23d0abd811126626a5d0c71842efac7e0bef037 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 14 02:21:21 2015 +0100 Ajout d'une action pour recharger la configuration du serveur --- .../web/ObserveWebApplicationContext.java | 16 +++++++++++++++ .../web/controller/v1/ConfigurationController.java | 23 ++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java index 9ace49b..912e808 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/ObserveWebApplicationContext.java @@ -112,6 +112,22 @@ public class ObserveWebApplicationContext implements Closeable { } + public void reloadConfiguration() throws InvalidObserveWebUserPermissionException, InvalidObserveWebUsersException, InvalidObserveWebUserException, InvalidObserveWebDatabaseException, InvalidObserveWebDatabasesException, InvalidObserveWebDatabaseRoleException { + + // init databases + ObserveWebDatabasesHelper databasesHelper = new ObserveWebDatabasesHelper(); + databases = databasesHelper.load(applicationConfiguration.getDatabasesConfigurationFile()); + + // init users + ObserveWebUsersHelper usersHelper = new ObserveWebUsersHelper(); + users = usersHelper.load(databases, applicationConfiguration.getUsersConfigurationFile()); + + Version modelVersion = applicationConfiguration.getModelVersion(); + + securityApplicationContext.init(databases, users, modelVersion); + + } + @Override public void close() { diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java index 765b4d2..2763cd4 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java @@ -23,8 +23,14 @@ package fr.ird.observe.application.web.controller.v1; */ import com.google.common.collect.ImmutableMap; +import fr.ird.observe.application.web.configuration.db.InvalidObserveWebDatabaseException; +import fr.ird.observe.application.web.configuration.db.InvalidObserveWebDatabaseRoleException; +import fr.ird.observe.application.web.configuration.db.InvalidObserveWebDatabasesException; import fr.ird.observe.application.web.configuration.db.ObserveWebDatabases; import fr.ird.observe.application.web.configuration.db.ObserveWebDatabasesHelper; +import fr.ird.observe.application.web.configuration.user.InvalidObserveWebUserException; +import fr.ird.observe.application.web.configuration.user.InvalidObserveWebUserPermissionException; +import fr.ird.observe.application.web.configuration.user.InvalidObserveWebUsersException; import fr.ird.observe.application.web.configuration.user.ObserveWebUsers; import fr.ird.observe.application.web.configuration.user.ObserveWebUsersHelper; import fr.ird.observe.application.web.controller.ObserveWebMotionController; @@ -155,5 +161,22 @@ public class ConfigurationController extends ObserveWebMotionController { } + public RenderContent reload() throws IOException, InvalidObserveWebUserPermissionException, InvalidObserveWebDatabaseException, InvalidObserveWebDatabasesException, InvalidObserveWebDatabaseRoleException, InvalidObserveWebUsersException, InvalidObserveWebUserException { + + // Reset all connexions + + ObserveWebSecurityApplicationContext securityApplicationContext = getSecurityApplicationContext(); + ImmutableMap<String, ObserveDataSourceConfigurationAndConnection> authenticationTokensCache = securityApplicationContext.getConfigurationByAuthenticationToken(); + + for (String authenticationToken : authenticationTokensCache.keySet()) { + securityApplicationContext.invalidateAuthenticationToken(authenticationToken); + } + + getApplicationContext().reloadConfiguration(); + + return home(); + + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit c96c2ec4811d01e85c1560751cc9bcc3586bb8d0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Nov 18 10:47:23 2015 +0100 Avoid NPe + improve code --- .../dto/reference/ObserveReferenceSetResult.java | 8 ++++++++ .../services/service/ReferenceSetServiceTopia.java | 19 +++---------------- .../service/ReferenceSetServiceTopiaTest.java | 7 +++++-- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java index 1c1614f..2812e03 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java @@ -1,6 +1,8 @@ package fr.ird.observe.services.dto.reference; import com.google.common.collect.ImmutableMap; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.util.Date; import java.util.Map; @@ -12,6 +14,9 @@ import java.util.Map; */ public class ObserveReferenceSetResult<R extends ObserveReference> { + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReferenceSetResult.class); + private final String requestName; private final ImmutableMap<String, ObserveReferenceSet<?, R>> referenceSets; @@ -52,6 +57,9 @@ public class ObserveReferenceSetResult<R extends ObserveReference> { } public Builder addKey(String name, ObserveReferenceSet<?, R> referenceSet) { + if (log.isInfoEnabled()) { + log.info("Add reference set " + name + " : " + referenceSet); + } referenceSetsMapBuilder.put(name, referenceSet); return this; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java index 0189f1a..aae7d5b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java @@ -16,8 +16,6 @@ import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetReque import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.entity.EntitiesExtractor; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaEntity; import java.util.Collections; @@ -31,9 +29,6 @@ import java.util.Map; */ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements ReferenceSetService { - /** Logger. */ - private static final Log log = LogFactory.getLog(ReferenceSetServiceTopia.class); - @Override public ObserveReferenceSetResult<ObserveReference> loadDataReferenceSets(ObserveReferenceSetRequest request) { String requestName = request.getRequestName(); @@ -49,7 +44,7 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref ObserveReferenceSet<IdDto, ObserveReference> referenceSet = loadDataReferenceSet(definition); String name = definition.getName(); - addKey(resultBuilder, name, referenceSet); + resultBuilder.addKey(name, referenceSet); } @@ -66,6 +61,7 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref ObserveReferenceSetResult.Builder<ObserveReferentialReference> resultBuilder = ObserveReferenceSetResult.builder(requestName); ImmutableMap<String, Date> lastUpdateDates = request.getLastUpdateDates(); + Preconditions.checkNotNull(lastUpdateDates); for (ObserveReferenceSetRequestKeyDefinition definition : requestDefinition.getKeys()) { @@ -76,7 +72,7 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref Date lastUpdateDate = lastUpdateDates.get(name); ObserveReferenceSet<ReferentialDto, ObserveReferentialReference> referenceSet = loadReferentialReferenceSet(definition, lastUpdateDate); - addKey(resultBuilder, name, referenceSet); + resultBuilder.addKey(name, referenceSet); } @@ -84,15 +80,6 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref } - protected <D extends IdDto, R extends ObserveReference> void addKey(ObserveReferenceSetResult.Builder<R> resultBuilder, String name, ObserveReferenceSet<D, R> referenceSet) { - if (referenceSet != null) { - if (log.isInfoEnabled()) { - log.info("Add reference set " + name + " : " + referenceSet); - } - resultBuilder.addKey(name, referenceSet); - } - } - protected <D extends IdDto> ObserveReferenceSet<D, ObserveReference> loadDataReferenceSet(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition) { Class<TopiaEntity> entityType = getEntityType(requestKeyDefinition.getType()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java index 9af6322..58b1820 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java @@ -1,13 +1,15 @@ package fr.ird.observe.services.service; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; -import fr.ird.observe.services.dto.reference.ObserveReferentialReference; import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import org.junit.Assert; import org.junit.Test; +import java.util.Date; import java.util.Set; /** @@ -43,6 +45,7 @@ public class ReferenceSetServiceTopiaTest extends AbstractServiceTopiaTest { String requestName = ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name(); ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); request.setRequestName(requestName); + request.setLastUpdateDates(ImmutableMap.<String, Date>of()); ObserveReferenceSetResult<ObserveReferentialReference> referentialLabelSet = service.loadReferentialReferenceSets(request); Assert.assertNotNull(referentialLabelSet); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 1a01d2d70a8d35113e9778f6d93229f07f83587c Author: Kevin Morin <morin@codelutin.com> Date: Wed Nov 18 17:22:53 2015 +0100 ajout des définitions des requetes --- .../definition/ObserveReferenceSetDefinitions.java | 2 +- .../ObserveReferenceSetRequestDefinitions.java | 90 +++++++++++++++++++++- 2 files changed, 90 insertions(+), 2 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java index 6e1f93b..e959ad7 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java @@ -137,7 +137,7 @@ public enum ObserveReferenceSetDefinitions { BAIT_SETTING_STATUS(newDefaultDefinitionBuilder(BaitSettingStatusDto.class)), - BAITTYPE(newDefaultDefinitionBuilder(BaitTypeDto.class)), + BAIT_TYPE(newDefaultDefinitionBuilder(BaitTypeDto.class)), CATCH_FATE_LONGLINE(newDefaultDefinitionBuilder(CatchFateLonglineDto.class)), diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java index e7e520f..67e81fb 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java @@ -1,6 +1,15 @@ package fr.ird.observe.services.dto.reference.definition; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; /** @@ -12,6 +21,84 @@ import fr.ird.observe.services.dto.seine.TripSeineDto; */ public enum ObserveReferenceSetRequestDefinitions { + ACTIVITY_LONGLINE_FORM(newBuilder(ActivityLonglineDto.class) + .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, + ObserveReferenceSetDefinitions.FPA_ZONE) + .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, + ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_LONGLINE) + ), + + BRANCHLINE_FORM(newBuilder(BranchlineDto.class) + .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, ObserveReferenceSetDefinitions.BAIT_SETTING_STATUS) + .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, ObserveReferenceSetDefinitions.HOOK_SIZE) + .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, ObserveReferenceSetDefinitions.BAIT_HAULING_STATUS) + .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, ObserveReferenceSetDefinitions.HOOK_TYPE) + .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, ObserveReferenceSetDefinitions.LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_TOP_TYPE, ObserveReferenceSetDefinitions.LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, ObserveReferenceSetDefinitions.BAIT_TYPE) + ), + + SET_LONGLINE_GLOBAL_COMPOSITION_FORM(newBuilder(SetLonglineGlobalCompositionDto.class) + .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, + ObserveReferenceSetDefinitions.MITIGATION_TYPE) + ), + + SET_LONGLINE_FORM(newBuilder(SetLonglineDto.class) + .addKey(SetLonglineDto.PROPERTY_SETTING_SHAPE, ObserveReferenceSetDefinitions.SETTING_SHAPE) + .addKey(SetLonglineDto.PROPERTY_LINE_TYPE, ObserveReferenceSetDefinitions.LINE_TYPE) + .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, ObserveReferenceSetDefinitions.LIGHTSTICKS_TYPE) + .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, ObserveReferenceSetDefinitions.LIGHTSTICKS_COLOR) + ), + + TRIP_LONGLINE_FORM(newBuilder(TripLonglineDto.class) + .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, ObserveReferenceSetDefinitions.TRIP_TYPE) + .addKey(TripLonglineDto.PROPERTY_OBSERVER, ObserveReferenceSetDefinitions.PERSON) + .addKey(TripLonglineDto.PROPERTY_VESSEL, ObserveReferenceSetDefinitions.VESSEL) + .addKey(TripLonglineDto.PROPERTY_CAPTAIN, ObserveReferenceSetDefinitions.PERSON) + .addKey(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, ObserveReferenceSetDefinitions.PERSON) + .addKey(TripLonglineDto.PROPERTY_PROGRAM, ObserveReferenceSetDefinitions.PROGRAM) + .addKey(TripLonglineDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) + .addKey(TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) + .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) + ), + + ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM(newBuilder(ActivitySeineObservedSystemDto.class) + .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, + ObserveReferenceSetDefinitions.OBSERVED_SYSTEM) + ), + + ACTIVITY_SEINE_FORM(newBuilder(ActivitySeineDto.class) + .addKey(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, + ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_SEINE) + .addKey(ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, + ObserveReferenceSetDefinitions.SURROUNDING_ACTIVITY) + .addKey(ActivitySeineDto.PROPERTY_WIND, ObserveReferenceSetDefinitions.WIND) + .addKey(ActivitySeineDto.PROPERTY_DETECTION_MODE, + ObserveReferenceSetDefinitions.DETECTION_MODE) + .addKey(ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING, + ObserveReferenceSetDefinitions.REASON_FOR_NO_FISHING) + .addKey(ActivitySeineDto.PROPERTY_PREVIOUS_FPA_ZONE, + ObserveReferenceSetDefinitions.FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_CURRENT_FPA_ZONE, + ObserveReferenceSetDefinitions.FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, + ObserveReferenceSetDefinitions.FPA_ZONE) + ), + + FLOATING_OBJECT_FORM(newBuilder(FloatingObjectDto.class) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, + ObserveReferenceSetDefinitions.OBJECT_TYPE) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, + ObserveReferenceSetDefinitions.OBJECT_OPERATION) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, + ObserveReferenceSetDefinitions.OBJECT_FATE) + ), + + SET_SEINE_FORM(newBuilder(SetSeineDto.class) + .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, + ObserveReferenceSetDefinitions.REASON_FOR_NULL_SET) + ), + TRIP_SEINE_FORM(newBuilder(TripSeineDto.class) .addKey(TripSeineDto.PROPERTY_OBSERVER, ObserveReferenceSetDefinitions.PERSON) .addKey(TripSeineDto.PROPERTY_CAPTAIN, ObserveReferenceSetDefinitions.PERSON) @@ -20,7 +107,8 @@ public enum ObserveReferenceSetRequestDefinitions { .addKey(TripSeineDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) - .addKey(TripSeineDto.PROPERTY_PROGRAM, ObserveReferenceSetDefinitions.PROGRAM)),; + .addKey(TripSeineDto.PROPERTY_PROGRAM, ObserveReferenceSetDefinitions.PROGRAM) + ); public final ObserveReferenceSetRequestDefinition definition; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 6349668ba2d61d12becc73d9b7ebd13a90dc461e Author: Kevin Morin <morin@codelutin.com> Date: Wed Nov 18 17:53:12 2015 +0100 ajout des définitions pour les référentiels --- .../ObserveReferenceSetRequestDefinitions.java | 63 ++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java index 67e81fb..12a26ea 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java @@ -6,6 +6,17 @@ import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; @@ -108,6 +119,58 @@ public enum ObserveReferenceSetRequestDefinitions { .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) .addKey(TripSeineDto.PROPERTY_PROGRAM, ObserveReferenceSetDefinitions.PROGRAM) + ), + + // REFERENTIAL + + GEAR_CARACTERISTIC_FORM(newBuilder(GearCaracteristicDto.class) + .addKey(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, + ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC_TYPE) + ), + + GEAR_FORM(newBuilder(GearDto.class) + .addKey(GearDto.PROPERTY_GEAR_CARACTERISTIC, ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC) + ), + + HARBOUR_FORM(newBuilder(HarbourDto.class) + .addKey(HarbourDto.PROPERTY_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + ), + + LENGTH_WEIGHT_PARAMETER_FORM(newBuilder(LengthWeightParameterDto.class) + .addKey(LengthWeightParameterDto.PROPERTY_SPECIES, ObserveReferenceSetDefinitions.SPECIES) + .addKey(LengthWeightParameterDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) + .addKey(LengthWeightParameterDto.PROPERTY_SEX, ObserveReferenceSetDefinitions.SEX) + ), + + ORGANISM_FORM(newBuilder(OrganismDto.class) + .addKey(OrganismDto.PROPERTY_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + ), + + PERSON_FORM(newBuilder(PersonDto.class) + .addKey(PersonDto.PROPERTY_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + ), + + PROGRAM_FORM(newBuilder(ProgramDto.class) + .addKey(ProgramDto.PROPERTY_ORGANISM, ObserveReferenceSetDefinitions.ORGANISM) + ), + + SPECIES_FORM(newBuilder(SpeciesDto.class) + .addKey(SpeciesDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) + .addKey(SpeciesDto.PROPERTY_SPECIES_GROUP, ObserveReferenceSetDefinitions.SPECIES_GROUP) + ), + + SPECIES_LIST_FORM(newBuilder(SpeciesListDto.class) + .addKey(SpeciesListDto.PROPERTY_SPECIES, ObserveReferenceSetDefinitions.SPECIES) + ), + + VESSEL_FORM(newBuilder(VesselDto.class) + .addKey(VesselDto.PROPERTY_FLAG_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + .addKey(VesselDto.PROPERTY_VESSEL_TYPE, ObserveReferenceSetDefinitions.VESSEL_TYPE) + .addKey(VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, ObserveReferenceSetDefinitions.VESSEL_SIZE_CATEGORY) + ), + + WEIGHT_CATEGORY_FORM(newBuilder(WeightCategoryDto.class) + .addKey(WeightCategoryDto.PROPERTY_SPECIES, ObserveReferenceSetDefinitions.SPECIES) ); public final ObserveReferenceSetRequestDefinition definition; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit d75b992a008c532750b2ae7ef802e869225822be Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:07:48 2015 +0100 Reformatage des définitions --- .../ObserveReferenceSetRequestDefinitions.java | 174 ++++++++++++--------- 1 file changed, 98 insertions(+), 76 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java index 12a26ea..26a11fe 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java @@ -23,6 +23,44 @@ import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_HAULING_STATUS; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_SETTING_STATUS; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.COUNTRY; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.DETECTION_MODE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.FPA_ZONE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HARBOUR; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_SIZE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LIGHTSTICKS_COLOR; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LIGHTSTICKS_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LINE_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.MITIGATION_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_FATE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_OPERATION; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBSERVED_SYSTEM; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OCEAN; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ORGANISM; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.PERSON; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.PROGRAM; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_NO_FISHING; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_NULL_SET; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SETTING_SHAPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SEX; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES_GROUP; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SURROUNDING_ACTIVITY; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.TRIP_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_LONGLINE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_SEINE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_SIZE_CATEGORY; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.WIND; + /** * Contient les définitions de tous les requêtes que les services proposent. * @@ -33,144 +71,128 @@ import fr.ird.observe.services.dto.seine.TripSeineDto; public enum ObserveReferenceSetRequestDefinitions { ACTIVITY_LONGLINE_FORM(newBuilder(ActivityLonglineDto.class) - .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, - ObserveReferenceSetDefinitions.FPA_ZONE) - .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, - ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_LONGLINE) + .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, FPA_ZONE) + .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, VESSEL_ACTIVITY_LONGLINE) ), BRANCHLINE_FORM(newBuilder(BranchlineDto.class) - .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, ObserveReferenceSetDefinitions.BAIT_SETTING_STATUS) - .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, ObserveReferenceSetDefinitions.HOOK_SIZE) - .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, ObserveReferenceSetDefinitions.BAIT_HAULING_STATUS) - .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, ObserveReferenceSetDefinitions.HOOK_TYPE) - .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, ObserveReferenceSetDefinitions.LINE_TYPE) - .addKey(BranchlineDto.PROPERTY_TOP_TYPE, ObserveReferenceSetDefinitions.LINE_TYPE) - .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, ObserveReferenceSetDefinitions.BAIT_TYPE) + .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) + .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) + .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) + .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) + .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_TOP_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, BAIT_TYPE) ), SET_LONGLINE_GLOBAL_COMPOSITION_FORM(newBuilder(SetLonglineGlobalCompositionDto.class) - .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, - ObserveReferenceSetDefinitions.MITIGATION_TYPE) + .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, MITIGATION_TYPE) ), SET_LONGLINE_FORM(newBuilder(SetLonglineDto.class) - .addKey(SetLonglineDto.PROPERTY_SETTING_SHAPE, ObserveReferenceSetDefinitions.SETTING_SHAPE) - .addKey(SetLonglineDto.PROPERTY_LINE_TYPE, ObserveReferenceSetDefinitions.LINE_TYPE) - .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, ObserveReferenceSetDefinitions.LIGHTSTICKS_TYPE) - .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, ObserveReferenceSetDefinitions.LIGHTSTICKS_COLOR) + .addKey(SetLonglineDto.PROPERTY_SETTING_SHAPE, SETTING_SHAPE) + .addKey(SetLonglineDto.PROPERTY_LINE_TYPE, LINE_TYPE) + .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, LIGHTSTICKS_TYPE) + .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, LIGHTSTICKS_COLOR) ), TRIP_LONGLINE_FORM(newBuilder(TripLonglineDto.class) - .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, ObserveReferenceSetDefinitions.TRIP_TYPE) - .addKey(TripLonglineDto.PROPERTY_OBSERVER, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripLonglineDto.PROPERTY_VESSEL, ObserveReferenceSetDefinitions.VESSEL) - .addKey(TripLonglineDto.PROPERTY_CAPTAIN, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripLonglineDto.PROPERTY_PROGRAM, ObserveReferenceSetDefinitions.PROGRAM) - .addKey(TripLonglineDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) - .addKey(TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) - .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) + .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, TRIP_TYPE) + .addKey(TripLonglineDto.PROPERTY_OBSERVER, PERSON) + .addKey(TripLonglineDto.PROPERTY_VESSEL, VESSEL) + .addKey(TripLonglineDto.PROPERTY_CAPTAIN, PERSON) + .addKey(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) + .addKey(TripLonglineDto.PROPERTY_PROGRAM, PROGRAM) + .addKey(TripLonglineDto.PROPERTY_OCEAN, OCEAN) + .addKey(TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) + .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) ), ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM(newBuilder(ActivitySeineObservedSystemDto.class) - .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, - ObserveReferenceSetDefinitions.OBSERVED_SYSTEM) + .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, OBSERVED_SYSTEM) ), ACTIVITY_SEINE_FORM(newBuilder(ActivitySeineDto.class) - .addKey(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, - ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_SEINE) - .addKey(ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, - ObserveReferenceSetDefinitions.SURROUNDING_ACTIVITY) - .addKey(ActivitySeineDto.PROPERTY_WIND, ObserveReferenceSetDefinitions.WIND) - .addKey(ActivitySeineDto.PROPERTY_DETECTION_MODE, - ObserveReferenceSetDefinitions.DETECTION_MODE) - .addKey(ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING, - ObserveReferenceSetDefinitions.REASON_FOR_NO_FISHING) - .addKey(ActivitySeineDto.PROPERTY_PREVIOUS_FPA_ZONE, - ObserveReferenceSetDefinitions.FPA_ZONE) - .addKey(ActivitySeineDto.PROPERTY_CURRENT_FPA_ZONE, - ObserveReferenceSetDefinitions.FPA_ZONE) - .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, - ObserveReferenceSetDefinitions.FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, VESSEL_ACTIVITY_SEINE) + .addKey(ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, SURROUNDING_ACTIVITY) + .addKey(ActivitySeineDto.PROPERTY_WIND, WIND) + .addKey(ActivitySeineDto.PROPERTY_DETECTION_MODE, DETECTION_MODE) + .addKey(ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING, REASON_FOR_NO_FISHING) + .addKey(ActivitySeineDto.PROPERTY_PREVIOUS_FPA_ZONE, FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_CURRENT_FPA_ZONE, FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, FPA_ZONE) ), FLOATING_OBJECT_FORM(newBuilder(FloatingObjectDto.class) - .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, - ObserveReferenceSetDefinitions.OBJECT_TYPE) - .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, - ObserveReferenceSetDefinitions.OBJECT_OPERATION) - .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, - ObserveReferenceSetDefinitions.OBJECT_FATE) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, OBJECT_TYPE) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, OBJECT_OPERATION) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, OBJECT_FATE) ), SET_SEINE_FORM(newBuilder(SetSeineDto.class) - .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, - ObserveReferenceSetDefinitions.REASON_FOR_NULL_SET) + .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, REASON_FOR_NULL_SET) ), TRIP_SEINE_FORM(newBuilder(TripSeineDto.class) - .addKey(TripSeineDto.PROPERTY_OBSERVER, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripSeineDto.PROPERTY_CAPTAIN, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, ObserveReferenceSetDefinitions.PERSON) - .addKey(TripSeineDto.PROPERTY_VESSEL, ObserveReferenceSetDefinitions.VESSEL) - .addKey(TripSeineDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) - .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) - .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, ObserveReferenceSetDefinitions.HARBOUR) - .addKey(TripSeineDto.PROPERTY_PROGRAM, ObserveReferenceSetDefinitions.PROGRAM) + .addKey(TripSeineDto.PROPERTY_OBSERVER, PERSON) + .addKey(TripSeineDto.PROPERTY_CAPTAIN, PERSON) + .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) + .addKey(TripSeineDto.PROPERTY_VESSEL, VESSEL) + .addKey(TripSeineDto.PROPERTY_OCEAN, OCEAN) + .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) + .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) + .addKey(TripSeineDto.PROPERTY_PROGRAM, PROGRAM) ), // REFERENTIAL GEAR_CARACTERISTIC_FORM(newBuilder(GearCaracteristicDto.class) - .addKey(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, - ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC_TYPE) + .addKey(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, GEAR_CARACTERISTIC_TYPE) ), GEAR_FORM(newBuilder(GearDto.class) - .addKey(GearDto.PROPERTY_GEAR_CARACTERISTIC, ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC) + .addKey(GearDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC) ), HARBOUR_FORM(newBuilder(HarbourDto.class) - .addKey(HarbourDto.PROPERTY_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + .addKey(HarbourDto.PROPERTY_COUNTRY, COUNTRY) ), LENGTH_WEIGHT_PARAMETER_FORM(newBuilder(LengthWeightParameterDto.class) - .addKey(LengthWeightParameterDto.PROPERTY_SPECIES, ObserveReferenceSetDefinitions.SPECIES) - .addKey(LengthWeightParameterDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) - .addKey(LengthWeightParameterDto.PROPERTY_SEX, ObserveReferenceSetDefinitions.SEX) + .addKey(LengthWeightParameterDto.PROPERTY_SPECIES, SPECIES) + .addKey(LengthWeightParameterDto.PROPERTY_OCEAN, OCEAN) + .addKey(LengthWeightParameterDto.PROPERTY_SEX, SEX) ), ORGANISM_FORM(newBuilder(OrganismDto.class) - .addKey(OrganismDto.PROPERTY_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + .addKey(OrganismDto.PROPERTY_COUNTRY, COUNTRY) ), PERSON_FORM(newBuilder(PersonDto.class) - .addKey(PersonDto.PROPERTY_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) + .addKey(PersonDto.PROPERTY_COUNTRY, COUNTRY) ), PROGRAM_FORM(newBuilder(ProgramDto.class) - .addKey(ProgramDto.PROPERTY_ORGANISM, ObserveReferenceSetDefinitions.ORGANISM) + .addKey(ProgramDto.PROPERTY_ORGANISM, ORGANISM) ), SPECIES_FORM(newBuilder(SpeciesDto.class) - .addKey(SpeciesDto.PROPERTY_OCEAN, ObserveReferenceSetDefinitions.OCEAN) - .addKey(SpeciesDto.PROPERTY_SPECIES_GROUP, ObserveReferenceSetDefinitions.SPECIES_GROUP) + .addKey(SpeciesDto.PROPERTY_OCEAN, OCEAN) + .addKey(SpeciesDto.PROPERTY_SPECIES_GROUP, SPECIES_GROUP) ), SPECIES_LIST_FORM(newBuilder(SpeciesListDto.class) - .addKey(SpeciesListDto.PROPERTY_SPECIES, ObserveReferenceSetDefinitions.SPECIES) + .addKey(SpeciesListDto.PROPERTY_SPECIES, SPECIES) ), VESSEL_FORM(newBuilder(VesselDto.class) - .addKey(VesselDto.PROPERTY_FLAG_COUNTRY, ObserveReferenceSetDefinitions.COUNTRY) - .addKey(VesselDto.PROPERTY_VESSEL_TYPE, ObserveReferenceSetDefinitions.VESSEL_TYPE) - .addKey(VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, ObserveReferenceSetDefinitions.VESSEL_SIZE_CATEGORY) + .addKey(VesselDto.PROPERTY_FLAG_COUNTRY, COUNTRY) + .addKey(VesselDto.PROPERTY_VESSEL_TYPE, VESSEL_TYPE) + .addKey(VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, VESSEL_SIZE_CATEGORY) ), WEIGHT_CATEGORY_FORM(newBuilder(WeightCategoryDto.class) - .addKey(WeightCategoryDto.PROPERTY_SPECIES, ObserveReferenceSetDefinitions.SPECIES) + .addKey(WeightCategoryDto.PROPERTY_SPECIES, SPECIES) ); public final ObserveReferenceSetRequestDefinition definition; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 74439a0f7f7ae9e7bbc5268fad5a4a23f7dd9198 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:08:19 2015 +0100 Permettre de transformer un ObserveReference en RefereceDto --- .../dto/reference/ObserveReferenceSet.java | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java index 4d64af1..79b98cb 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java @@ -2,6 +2,8 @@ package fr.ird.observe.services.dto.reference; import com.google.common.base.MoreObjects; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinition; import java.io.Serializable; @@ -58,6 +60,28 @@ public class ObserveReferenceSet<D extends IdDto, R extends ObserveReference> im this.lastUpdate = lastUpdate; } + public ReferenceSetDto<D> toReferenceSetDto(String name) { + + Class<D> type = definition.getType(); + String[] propertyNames = definition.getPropertyNames(); + Class<?>[] propertyTypes = definition.getPropertyTypes(); + + ReferenceSetDto<D> result = new ReferenceSetDto<>(type); + result.setLastUpdate(lastUpdate); + result.setName(name); + + for (R value : values) { + + ReferenceDto<D> referenceDto = new ReferenceDto<>(); + referenceDto.init(type, propertyNames, propertyTypes, value.getValues()); + result.addReference(referenceDto); + + } + + return result; + + } + @Override public String toString() { return MoreObjects.toStringHelper(this) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit eca2284455a735fd3e23789ea816524cd104de8c Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:08:50 2015 +0100 Ajout au FormDto du nom des deux requètes qu'il peut utiliser --- .../java/fr/ird/observe/services/dto/FormDto.java | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java index 72d6bbb..6325778 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java @@ -40,6 +40,15 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { protected R form; + /** + * Le nom de la requète à utiliser pour récupérer les ensembles de référentiels utilisés par ce formulaire. + */ + protected String referentialReferenceSetRequestName; + /** + * Le nom de la requète à utiliser pour récupérer les ensembles de données utilisés par ce formulaire. + */ + protected String dataReferenceSetRequestName; + public FormDto(Class<R> type) { this.type = type; } @@ -56,8 +65,25 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { return type; } + public String getReferentialReferenceSetRequestName() { + return referentialReferenceSetRequestName; + } + + public void setReferentialReferenceSetRequestName(String referentialReferenceSetRequestName) { + this.referentialReferenceSetRequestName = referentialReferenceSetRequestName; + } + + public String getDataReferenceSetRequestName() { + return dataReferenceSetRequestName; + } + + public void setDataReferenceSetRequestName(String dataReferenceSetRequestName) { + this.dataReferenceSetRequestName = dataReferenceSetRequestName; + } + //FIXME Supprimer cette méthode et toujours utiliser celle dessous car un ReferenceSetDto porte aussi sur le nom //FIXME éviter d'avoir des API non déterministes + @Deprecated public <D extends IdDto> ReferenceSetDto<D> getReferenceSetDto(Class<D> type) { Optional<ReferenceSetDto> referenceSetDto = Iterables.tryFind(getLabels(), ReferenceSetDtos.newTypePredicate(type)); @@ -68,6 +94,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { } + @Deprecated public <D extends IdDto> ReferenceSetDto<D> getReferenceSetDto(Class<D> type, String name) { Optional<ReferenceSetDto> referenceSetDto = Iterables.tryFind(getLabels(), ReferenceSetDtos.newTypeNamePredicate(type, name)); @@ -86,6 +113,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { //FIXME Supprimer cette méthode et toujours utiliser celle dessous car un ReferenceSetDto porte aussi sur le nom //FIXME éviter d'avoir des API non déterministes + @Deprecated public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String id) { ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type); @@ -94,6 +122,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { } + @Deprecated public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String name, String id) { ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type, name); @@ -102,6 +131,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { } + @Deprecated public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String id) { ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type); @@ -114,6 +144,8 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { public String toString() { return MoreObjects.toStringHelper(this) .add("type", type.getName()) + .add("referentialReferenceSetRequestName", referentialReferenceSetRequestName) + .add("dataReferenceSetRequestName", dataReferenceSetRequestName) .toString(); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 46db4a631a0313e1ef1ed5e32d89039c179ddde9 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:09:19 2015 +0100 Fix NPE --- .../fr/ird/observe/services/service/ReferenceSetServiceTopia.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java index aae7d5b..a017b15 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java @@ -72,7 +72,9 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref Date lastUpdateDate = lastUpdateDates.get(name); ObserveReferenceSet<ReferentialDto, ObserveReferentialReference> referenceSet = loadReferentialReferenceSet(definition, lastUpdateDate); - resultBuilder.addKey(name, referenceSet); + if (referenceSet != null) { + resultBuilder.addKey(name, referenceSet); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 1c7e760aea6fd3154c515858d1bc23b7d3300f2e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:09:48 2015 +0100 Mise en place du cache de réferentiels et intégration dans l'application swing --- .../fr/ird/observe/db/ObserveReferentialCache.java | 117 +++++++++++++++------ .../fr/ird/observe/db/ObserveSwingDataSource.java | 41 ++++++++ 2 files changed, 128 insertions(+), 30 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java index 0a7c8b3..559b4c0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java @@ -1,9 +1,18 @@ package fr.ird.observe.db; +import com.google.common.collect.ImmutableMap; import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.reference.ObserveReferenceSet; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.io.Closeable; +import java.util.Date; import java.util.LinkedHashMap; import java.util.Map; @@ -14,43 +23,91 @@ import java.util.Map; */ public class ObserveReferentialCache implements Closeable { - private final Map<ObserveReferentialCacheKey<?>, ReferenceSetDto> cache; + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReferentialCache.class); + + private final Map<ObserveReferenceSetRequestKeyDefinition<?>, ReferenceSetDto<?>> cache; public ObserveReferentialCache() { this.cache = new LinkedHashMap<>(); } - public <D extends ReferentialDto> ReferenceSetDto<D> getReferenceSet(ObserveSwingDataSource dataSource, Class<D> type, String optionalContext) { + /** + * Pour récupérer les dates de dernières mises à jour des ensembles de références utiliées par la requète. + * + * @param requestName le nom de la requète + * @return le dictionnaire des dates de dernières mises à jour pour chaque ensemble de référentiels + */ + public ImmutableMap<String, Date> getLastUpdateDates(String requestName) { + + ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(requestName); + + ImmutableMap.Builder<String, Date> builder = ImmutableMap.builder(); + + for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + + ReferenceSetDto<?> referenceSetDto = cache.get(requestKeyDefinition); + if (referenceSetDto != null) { + Date lastUpdate = referenceSetDto.getLastUpdate(); + builder.put(requestKeyDefinition.getName(), lastUpdate); + } + + } + + return builder.build(); - ObserveReferentialCacheKey<D> referentialCacheKey = ObserveReferentialCacheKey.of(type, optionalContext); - ReferenceSetDto<D> result = getReferenceSet0(dataSource, referentialCacheKey); - return result; } - protected <D extends ReferentialDto> ReferenceSetDto<D> getReferenceSet0(ObserveSwingDataSource dataSource, ObserveReferentialCacheKey<D> key) { - - ReferenceSetDto<D> result=null; -// if (cache.containsKey(key)) { -// result = cache.get(key); -// -// Date lastUpdate = result.getLastUpdate(); -// -// ReferenceSetService referentialService = dataSource.newService(ReferenceSetService.class); -// ReferenceSetDto<D> update = referentialService.getReferentialReferenceSetIfModify(key.getType(), key.getContext().orNull(), lastUpdate); -// if (update != null) { -// result = update; -// cache.remove(key); -// cache.put(key, update); -// } -// -// } else { -// -// ReferentialService referentialService = dataSource.newService(ReferenceSetService.class); -// result = referentialService.getReferentialReferenceSet(key.getType(), key.getContext().orNull()); -// cache.put(key, result); -// -// } - return result; + /** + * Pour récupérer les ensembles de référentiels à partir du résultat d'une requète. + * + * Le cache sera mis à jour si nécessaire avec les données entrantes. + * + * @param referenceSetResult le résultat de la requète de demande d'ensemble de référentiels + * @return le dictionnaire des ensembles de référentiels complêt + */ + public ImmutableMap<String, ReferenceSetDto<?>> loadReferenceSets(ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult) { + + ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(referenceSetResult.getRequestName()); + + ImmutableMap.Builder<String, ReferenceSetDto<?>> builder = ImmutableMap.builder(); + + // Les référentiels mis à jour via la requète + ImmutableMap<String, ObserveReferenceSet<?, ObserveReferentialReference>> referenceSets = referenceSetResult.getReferenceSets(); + + for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + + ReferenceSetDto<?> referenceSetDto; + + String requestKeyDefinitionName = requestKeyDefinition.getName(); + ObserveReferenceSet<?, ObserveReferentialReference> referenceSet = referenceSets.get(requestKeyDefinitionName); + + if (referenceSet != null) { + + // on met à jour le cache avec les données entrantes + referenceSetDto = referenceSet.toReferenceSetDto(requestKeyDefinitionName); + cache.put(requestKeyDefinition, referenceSetDto); + + if (log.isInfoEnabled()) { + log.info("Update cache entry for " + requestKeyDefinition); + } + + } else { + + // on récupère du cache, rien n'a changé pour cette entrée + referenceSetDto = cache.get(requestKeyDefinition); + + if (log.isInfoEnabled()) { + log.info("Get cache entry for " + requestKeyDefinition); + } + + } + + builder.put(requestKeyDefinitionName, referenceSetDto); + + } + + return builder.build(); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index b6a486d..a5c57ed 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -2,6 +2,8 @@ package fr.ird.observe.db; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.event.ObserveSwingDataSourceEvent; @@ -19,13 +21,19 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.ObserveDbUserDto; +import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; +import fr.ird.observe.services.dto.reference.ObserveReferentialReference; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; +import fr.ird.observe.services.service.ReferenceSetService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; @@ -35,6 +43,9 @@ import javax.swing.JOptionPane; import javax.swing.event.EventListenerList; import java.io.Closeable; import java.io.File; +import java.util.Collection; +import java.util.Date; +import java.util.LinkedHashSet; import java.util.Locale; import java.util.Set; @@ -54,11 +65,14 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements protected final ObserveDataSourceConfiguration configuration; + protected final ObserveReferentialCache referentialCache; + protected ObserveDataSourceConnection connection; public ObserveSwingDataSource(ObserveDataSourceConfiguration configuration) { this.configuration = configuration; this.listenerList = new EventListenerList(); + this.referentialCache = new ObserveReferentialCache(); } public ObserveDataSourceConfiguration getConfiguration() { @@ -160,6 +174,8 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements fireNewMessage(t("observe.storage.message.closing", getLabel())); fireClosing(); + referentialCache.close(); + DataSourceService dataSourceService = newService(DataSourceService.class); dataSourceService.close(); @@ -178,6 +194,8 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements fireNewMessage(t("observe.storage.message.destroying", getLabel())); fireClosing(); + referentialCache.close(); + DataSourceService dataSourceService = newService(DataSourceService.class); dataSourceService.destroy(); @@ -246,6 +264,29 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } + public ImmutableMap<String, ReferenceSetDto<?>> loadReferentialReferenceSets(FormDto<?> formDto) { + + ReferenceSetService referenceSetService = newService(ReferenceSetService.class); + + String requestName = formDto.getReferentialReferenceSetRequestName(); + + ImmutableMap<String, Date> lastUpdateDates = referentialCache.getLastUpdateDates(requestName); + + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(requestName); + request.setLastUpdateDates(lastUpdateDates); + + ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = referenceSetService.loadReferentialReferenceSets(request); + + ImmutableMap<String, ReferenceSetDto<?>> referenceSets = referentialCache.loadReferenceSets(referenceSetResult); + + LinkedHashSet<ReferenceSetDto<?>> values = Sets.newLinkedHashSet(referenceSets.values()); + formDto.setLabels((Collection) values); + + return referenceSets; + + } + public boolean isOpen() { return connection != null; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit efdcf519305a7e9bd0295f26cfe4b9d2c16afc2a Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:10:11 2015 +0100 Utilisation du système de requète sur l'écran TripSeine --- .../fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java | 4 +++- .../fr/ird/observe/services/service/seine/TripSeineServiceTopia.java | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 7bfff7f..9b89832 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -22,9 +22,9 @@ package fr.ird.observe.ui.content.open.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.result.SaveResultDto; @@ -194,6 +194,8 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } + getDataSource().loadReferentialReferenceSets(formDto); + getModel().setFormDto(formDto); TripSeineDtos.copyTripSeineDto(formDto.getForm(), bean); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index 29624ed..c309822 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -35,6 +35,7 @@ import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.ReferenceSetDtos; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.TripMapPointDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -134,6 +135,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); FormDto<TripSeineDto> form = entityToReadFormDto(TripSeineDto.class, TripSeine.class, tripSeine); + form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); return form; } @@ -158,6 +160,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, TripSeine.class, tripSeine); + form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); TripSeineDto tripSeineDto = form.getForm(); @@ -185,6 +188,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe tripSeine.setProgram(program); FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, TripSeine.class, tripSeine); + form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); return form; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 54a5917f2f64141ce157a9df0a62713bfe60324d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 11:26:50 2015 +0100 Permettre aussi d'intégrer les ensembles de références sur les données métiers à la récupération d'un FormDto --- .../fr/ird/observe/db/ObserveSwingDataSource.java | 62 +++++++++++++++++----- .../open/impl/seine/TripSeineUIHandler.java | 2 +- 2 files changed, 50 insertions(+), 14 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index a5c57ed..cd53d2a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -3,7 +3,6 @@ package fr.ird.observe.db; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.event.ObserveSwingDataSourceEvent; @@ -26,9 +25,14 @@ import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationExce import fr.ird.observe.services.dto.ObserveDbUserDto; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ObserveReference; +import fr.ird.observe.services.dto.reference.ObserveReferenceSet; import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; import fr.ird.observe.services.dto.reference.ObserveReferentialReference; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; @@ -43,7 +47,6 @@ import javax.swing.JOptionPane; import javax.swing.event.EventListenerList; import java.io.Closeable; import java.io.File; -import java.util.Collection; import java.util.Date; import java.util.LinkedHashSet; import java.util.Locale; @@ -264,26 +267,59 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } - public ImmutableMap<String, ReferenceSetDto<?>> loadReferentialReferenceSets(FormDto<?> formDto) { + public void loadReferenceSets(FormDto<?> formDto) { + + Preconditions.checkState(!isOpen(), "Connection is open"); ReferenceSetService referenceSetService = newService(ReferenceSetService.class); - String requestName = formDto.getReferentialReferenceSetRequestName(); + LinkedHashSet<ReferenceSetDto> values = new LinkedHashSet<>(); + + String referentialRequestName = formDto.getReferentialReferenceSetRequestName(); + if (referentialRequestName != null) { + + if (log.isInfoEnabled()) { + log.info("Loading referantialReferenceSetRequest: " + referentialRequestName); + } + ImmutableMap<String, Date> lastUpdateDates = referentialCache.getLastUpdateDates(referentialRequestName); + + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(referentialRequestName); + request.setLastUpdateDates(lastUpdateDates); - ImmutableMap<String, Date> lastUpdateDates = referentialCache.getLastUpdateDates(requestName); + ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = referenceSetService.loadReferentialReferenceSets(request); - ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); - request.setRequestName(requestName); - request.setLastUpdateDates(lastUpdateDates); + ImmutableMap<String, ReferenceSetDto<?>> referenceSets = referentialCache.loadReferenceSets(referenceSetResult); + values.addAll(referenceSets.values()); + } - ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = referenceSetService.loadReferentialReferenceSets(request); + String dataRequestName = formDto.getDataReferenceSetRequestName(); + if (dataRequestName != null) { - ImmutableMap<String, ReferenceSetDto<?>> referenceSets = referentialCache.loadReferenceSets(referenceSetResult); + if (log.isInfoEnabled()) { + log.info("Loading dataReferenceSetRequest: " + dataRequestName); + } + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(dataRequestName); + request.setLastUpdateDates(ImmutableMap.<String, Date>of()); - LinkedHashSet<ReferenceSetDto<?>> values = Sets.newLinkedHashSet(referenceSets.values()); - formDto.setLabels((Collection) values); + ObserveReferenceSetResult<ObserveReference> referenceSetResult = referenceSetService.loadDataReferenceSets(request); + ImmutableMap<String, ObserveReferenceSet<?, ObserveReference>> referenceSets = referenceSetResult.getReferenceSets(); + + ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(dataRequestName); + for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + + String requestKeyDefinitionName = requestKeyDefinition.getName(); + ObserveReferenceSet<?, ObserveReference> referenceSet = referenceSets.get(requestKeyDefinitionName); + + ReferenceSetDto<?> referenceSetDto = referenceSet.toReferenceSetDto(requestKeyDefinitionName); + values.add(referenceSetDto); + + } + + } - return referenceSets; + formDto.setLabels(values); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 9b89832..60c87b6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -194,7 +194,7 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } - getDataSource().loadReferentialReferenceSets(formDto); + getDataSource().loadReferenceSets(formDto); getModel().setFormDto(formDto); TripSeineDtos.copyTripSeineDto(formDto.getForm(), bean); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit a8f3bc34d1b43bf1faa2279c6e44949e61cd344c Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 20:07:23 2015 +0100 amélioration du design des ReferenceSetDto (si on utilise des generics, on le fait jusqu'au bout :() + quelques corrections par ci-par là --- .../java/fr/ird/observe/services/dto/FormDto.java | 39 +++++------ .../ird/observe/services/dto/ReferenceSetDto.java | 74 ++++++++++++++++++++- .../ird/observe/services/dto/ReferenceSetDtos.java | 63 ++++-------------- .../ObserveReferenceSetRequestKeyDefinition.java | 5 +- .../services/dto/referential/ProgramDtos.java | 13 +--- .../xmi/observe-services-dto-common.properties | 1 - .../src/main/xmi/observe-services-dto-common.zargo | Bin 42827 -> 42562 bytes 7 files changed, 107 insertions(+), 88 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java index 6325778..219e9b3 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java @@ -24,9 +24,8 @@ package fr.ird.observe.services.dto; import com.google.common.base.MoreObjects; import com.google.common.base.Optional; +import com.google.common.base.Predicate; import com.google.common.collect.Iterables; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; public class FormDto<R extends IdDto> extends AbstractFormDto { @@ -44,6 +43,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { * Le nom de la requète à utiliser pour récupérer les ensembles de référentiels utilisés par ce formulaire. */ protected String referentialReferenceSetRequestName; + /** * Le nom de la requète à utiliser pour récupérer les ensembles de données utilisés par ce formulaire. */ @@ -86,28 +86,33 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { @Deprecated public <D extends IdDto> ReferenceSetDto<D> getReferenceSetDto(Class<D> type) { - Optional<ReferenceSetDto> referenceSetDto = Iterables.tryFind(getLabels(), ReferenceSetDtos.newTypePredicate(type)); - if (!referenceSetDto.isPresent()) { - throw new ReferenceSetNotFoundException(this, type, null); - } - return referenceSetDto.get(); + return getReferenceSetDto(type, null); } - @Deprecated public <D extends IdDto> ReferenceSetDto<D> getReferenceSetDto(Class<D> type, String name) { - Optional<ReferenceSetDto> referenceSetDto = Iterables.tryFind(getLabels(), ReferenceSetDtos.newTypeNamePredicate(type, name)); + Optional<ReferenceSetDto<D>> referenceSetDto = tryToGetReferenceSetDto(type, name); if (!referenceSetDto.isPresent()) { - referenceSetDto = Iterables.tryFind(getLabels(), ReferenceSetDtos.newTypeNamePredicate(type, null)); + throw new ReferenceSetNotFoundException(this, type, name); } + return referenceSetDto.get(); + + } + + public <D extends IdDto> Optional<ReferenceSetDto<D>> tryToGetReferenceSetDto(Class<D> type, String name) { + + Predicate<ReferenceSetDto<D>> predicate = ReferenceSetDtos.newTypeNamePredicate(type, name); + Optional<ReferenceSetDto<D>> referenceSetDto = Iterables.tryFind(getLabels(), (Predicate) predicate); + if (!referenceSetDto.isPresent()) { - throw new ReferenceSetNotFoundException(this, type, name); + predicate = ReferenceSetDtos.newTypeNamePredicate(type, null); + referenceSetDto = Iterables.tryFind(getLabels(), (Predicate) predicate); } - return referenceSetDto.get(); + return referenceSetDto; } @@ -122,7 +127,6 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { } - @Deprecated public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String name, String id) { ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type, name); @@ -131,15 +135,6 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { } - @Deprecated - public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String id) { - - ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type); - ReferentialReferenceDto<D> referenceDto = (ReferentialReferenceDto<D>) referenceSetDto.getById(id); - return referenceDto; - - } - @Override public String toString() { return MoreObjects.toStringHelper(this) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java index 1e9f5dc..ad27724 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java @@ -25,14 +25,21 @@ package fr.ird.observe.services.dto; import com.google.common.base.MoreObjects; import com.google.common.collect.Iterables; -import java.util.Set; +import java.util.Collection; +import java.util.LinkedHashSet; public class ReferenceSetDto<R extends IdDto> extends AbstractReferenceSetDto { private static final long serialVersionUID = 1L; + public static final String PROPERTY_TYPE = "type"; + + public static final String PROPERTY_REFERENCE = "reference"; + protected final Class<R> type; + protected LinkedHashSet<ReferenceDto<R>> reference; + public ReferenceSetDto(Class<R> type) { this.type = type; } @@ -42,8 +49,7 @@ public class ReferenceSetDto<R extends IdDto> extends AbstractReferenceSetDto { } public ReferenceDto<R> getById(String id) { - Set<ReferenceDto<R>> references = (Set) getReference(); - ReferenceDto<R> referenceDto = Iterables.find(references, IdDtos.newIdPredicate(id)); + ReferenceDto<R> referenceDto = Iterables.find(getReference(), IdDtos.newIdPredicate(id)); return referenceDto; } @@ -55,4 +61,66 @@ public class ReferenceSetDto<R extends IdDto> extends AbstractReferenceSetDto { .add("lastUpdate", lastUpdate) .toString(); } + + public ReferenceDto getReference(int index) { + ReferenceDto o = getChild(reference, index); + return o; + } + + public boolean isReferenceEmpty() { + return reference == null || reference.isEmpty(); + } + + public int sizeReference() { + return reference == null ? 0 : reference.size(); + } + + public void addReference(ReferenceDto<R> reference) { + getReference().add(reference); + firePropertyChange(PROPERTY_REFERENCE, null, reference); + } + + public void addAllReference(Collection<ReferenceDto<R>> reference) { + getReference().addAll(reference); + firePropertyChange(PROPERTY_REFERENCE, null, reference); + } + + public boolean removeReference(ReferenceDto<R> reference) { + boolean removed = getReference().remove(reference); + if (removed) { + firePropertyChange(PROPERTY_REFERENCE, reference, null); + } + return removed; + } + + public boolean removeAllReference(Collection<ReferenceDto<R>> reference) { + boolean removed = getReference().removeAll(reference); + if (removed) { + firePropertyChange(PROPERTY_REFERENCE, reference, null); + } + return removed; + } + + public boolean containsReference(ReferenceDto<R> reference) { + boolean contains = getReference().contains(reference); + return contains; + } + + public boolean containsAllReference(Collection<ReferenceDto<R>> reference) { + boolean contains = getReference().containsAll(reference); + return contains; + } + + public LinkedHashSet<ReferenceDto<R>> getReference() { + if (reference == null) { + reference = new LinkedHashSet<>(); + } + return reference; + } + + public void setReference(LinkedHashSet<ReferenceDto<R>> reference) { + LinkedHashSet<ReferenceDto<R>> oldValue = getReference(); + this.reference = reference; + firePropertyChange(PROPERTY_REFERENCE, oldValue, reference); + } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java index e4980b1..eb12ec1 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.dto; * #L% */ -import com.google.common.base.Function; import com.google.common.base.Predicate; import java.util.Date; @@ -31,72 +30,36 @@ import java.util.Objects; public class ReferenceSetDtos extends AbstractReferenceSetDtos { - protected static final Function<ReferenceSetDto, Class> TYPE_FUNCTION = newTypeFunction(); - - public static <D extends IdDto> ReferenceSetDto<D> newEmptyReferenceSetDto(Class<D> type) { - return newEmptyReferenceSetDto(type, null); - } - public static <D extends IdDto> ReferenceSetDto<D> newEmptyReferenceSetDto(Class<D> type, String name) { ReferenceSetDto<D> dto = new ReferenceSetDto<>(type); dto.setName(name); - dto.setReference(new LinkedHashSet<ReferenceDto>()); + dto.setReference(new LinkedHashSet<ReferenceDto<D>>()); return dto; } - public static <D extends IdDto, R extends ReferenceDto<D>> ReferenceSetDto<D> newReferenceSetDto( - Class<D> type, - LinkedHashSet<R> labels, - Date lastUpdate) { + public static <D extends IdDto> ReferenceSetDto<D> newReferenceSetDto(Class<D> type, + LinkedHashSet<ReferenceDto<D>> labels, + Date lastUpdate) { return newReferenceSetDto(type, null, labels, lastUpdate); } - public static <D extends IdDto, R extends ReferenceDto<D>> ReferenceSetDto<D> newReferenceSetDto( - Class<D> type, - String name, - LinkedHashSet<R> labels, - Date lastUpdate) { + public static <D extends IdDto> ReferenceSetDto<D> newReferenceSetDto(Class<D> type, + String name, + LinkedHashSet<ReferenceDto<D>> labels, + Date lastUpdate) { ReferenceSetDto<D> dto = new ReferenceSetDto<>(type); dto.setName(name); - dto.setReference((LinkedHashSet) labels); + dto.setReference(labels); dto.setLastUpdate(lastUpdate); return dto; } - public static <BeanType extends ReferenceSetDto> Function<BeanType, Class> getTypeFunction() { - return (Function<BeanType, Class>) TYPE_FUNCTION; - - } - - public static <BeanType extends ReferenceSetDto> Function<BeanType, Class> newTypeFunction() { - return new Function<BeanType, Class>() { - - @Override - public Class apply(BeanType input) { - return input.getType(); - } - }; - - } - - public static <D extends IdDto, BeanType extends ReferenceSetDto> Predicate<BeanType> newTypePredicate(final Class<D> type) { - return new Predicate<BeanType>() { - - @Override - public boolean apply(BeanType input) { - return Objects.equals(type, input.getType()); - } - }; - - } - - public static <D extends IdDto, BeanType extends ReferenceSetDto> Predicate<BeanType> newTypeNamePredicate(final Class<D> type, final String name) { - return new Predicate<BeanType>() { + public static <D extends IdDto> Predicate<ReferenceSetDto<D>> newTypeNamePredicate(final Class<D> type, final String name) { + return new Predicate<ReferenceSetDto<D>>() { @Override - public boolean apply(BeanType input) { - return Objects.equals(type, input.getType()) - && Objects.equals(name, input.getName()); + public boolean apply(ReferenceSetDto<D> input) { + return Objects.equals(type, input.getType()) && Objects.equals(name, input.getName()); } }; diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java index f5156b4..b086c7e 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java @@ -4,6 +4,7 @@ import com.google.common.base.MoreObjects; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import java.io.Serializable; import java.util.Objects; /** @@ -11,7 +12,9 @@ import java.util.Objects; * * @author Tony Chemit - chemit@codelutin.com */ -public class ObserveReferenceSetRequestKeyDefinition<D extends IdDto> { +public class ObserveReferenceSetRequestKeyDefinition<D extends IdDto> implements Serializable { + + private static final long serialVersionUID = 1L; private final Class<? extends IdDto> parentType; diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java index 03c2e3c..547b27b 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java @@ -10,16 +10,7 @@ import java.util.ArrayList; public class ProgramDtos extends AbstractProgramDtos { - - public static boolean isProgramLongLine(ProgramDto programDto) { - return GearType.longline.equals(programDto.getGearType()); - } - - public static boolean isProgramSeine(ProgramDto programDto) { - return GearType.seine.equals(programDto.getGearType()); - } - - public static boolean isProgramLongline(ReferenceDto<ProgramDto> programDtoRef) { +public static boolean isProgramLongline(ReferenceDto<ProgramDto> programDtoRef) { boolean result = false; @@ -63,7 +54,7 @@ public class ProgramDtos extends AbstractProgramDtos { return reference; } - public static Iterable<ReferenceDto> filterReferencesByGearType(Iterable<ReferenceDto> programs, GearType gearType) { + public static Iterable<ReferenceDto<ProgramDto>> filterReferencesByGearType(Iterable<ReferenceDto<ProgramDto>> programs, GearType gearType) { return Iterables.filter(programs, ReferenceDtos.newLabelValuePredicate(ProgramDto.PROPERTY_GEAR_TYPE, gearType)); } diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.properties b/observe-services-model/src/main/xmi/observe-services-dto-common.properties index a7eba67..87eec39 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-common.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-common.properties @@ -31,7 +31,6 @@ fr.ird.observe.services.dto.referential.Gear.attribute.gearCaracteristic.stereot fr.ird.observe.services.dto.referential.GearCaracteristic.attribute.gearCaracteristicType.stereotype=unique,ordered fr.ird.observe.services.dto.referential.Species.attribute.ocean.stereotype=ordered fr.ird.observe.services.dto.referential.SpeciesList.attribute.species.stereotype=ordered -fr.ird.observe.services.dto.ReferenceSet.attribute.reference.stereotype=unique,ordered fr.ird.observe.services.dto.TripMap.attribute.points.stereotype=unique,ordered fr.ird.observe.services.dto.referential.Vessel.attribute.flagCountry.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Country diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo index 2919165..e5d5804 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit e2aea45600c62bb7b44129e8f09913300513b30f Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 20:07:51 2015 +0100 Début de revue du code de l'application swing : y'a du boulot... --- .../observe/ObserveSwingApplicationContext.java | 17 +- .../fr/ird/observe/db/ObserveReferentialCache.java | 5 +- .../fr/ird/observe/db/ObserveSwingDataSource.java | 61 +++--- .../ird/observe/ui/actions/ShowConfigAction.java | 32 +-- .../actions/shared/MoveTripLonglinesUIAction.java | 9 +- .../ui/actions/shared/MoveTripSeinesUIAction.java | 11 +- .../ui/actions/shared/MoveTripsUIAction.java | 5 +- .../ird/observe/ui/content/ContentUIHandler.java | 184 ++++++++++++++--- .../observe/ui/content/ContentUIInitializer.java | 228 --------------------- .../ird/observe/ui/content/ObserveContentUI.java | 2 - .../ird/observe/ui/content/list/ContentListUI.css | 2 +- .../ird/observe/ui/content/list/ContentListUI.jaxx | 6 +- .../ui/content/list/ContentListUIHandler.java | 4 +- .../impl/longline/ActivityLonglinesUIHandler.java | 2 +- .../impl/longline/ActivityLonglinesUIModel.java | 2 - .../list/impl/longline/TripLonglinesUIHandler.java | 2 +- .../list/impl/longline/TripLonglinesUIModel.java | 10 +- .../list/impl/seine/ActivitySeinesUIHandler.java | 2 +- .../content/list/impl/seine/RoutesUIHandler.java | 2 +- .../list/impl/seine/TripSeinesUIHandler.java | 2 +- .../content/list/impl/seine/TripSeinesUIModel.java | 29 +++ .../ui/content/open/ContentOpenableUIHandler.java | 9 +- .../impl/longline/ActivityLonglineUIHandler.java | 1 + .../open/impl/longline/TripLonglineUIHandler.java | 1 + .../open/impl/seine/ActivitySeineUIHandler.java | 1 + .../ui/content/open/impl/seine/RouteUIHandler.java | 1 + .../open/impl/seine/TripSeineUIHandler.java | 20 +- .../ui/content/ref/ContentReferenceUIHandler.java | 91 +++++++- .../ref/ReferentialContentUIInitializer.java | 116 +---------- .../ui/content/table/ContentTableUIHandler.java | 48 +---- .../impl/longline/CatchLonglineUIHandler.java | 28 ++- .../longline/GearUseFeaturesLonglineUIHandler.java | 29 +-- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 4 +- .../src/main/resources/observe-log4j.properties | 2 +- 34 files changed, 444 insertions(+), 524 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java index 4d1bba6..8fcd31e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java @@ -24,8 +24,11 @@ package fr.ird.observe; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; -import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.DataContext; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.util.gps.GPSService; +import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DbMode; import fr.ird.observe.db.event.ObserveSwingDataSourceEvent; @@ -67,9 +70,6 @@ import fr.ird.observe.ui.actions.shared.DeleteDataUIAction; import fr.ird.observe.ui.actions.shared.DeleteReferenceUIAction; import fr.ird.observe.ui.actions.shared.GoDownUIAction; import fr.ird.observe.ui.actions.shared.GoUpUIAction; -import fr.ird.observe.ui.actions.shared.MoveActivityLonglinesUIAction; -import fr.ird.observe.ui.actions.shared.MoveActivitySeinesUIAction; -import fr.ird.observe.ui.actions.shared.MoveRoutesUIAction; import fr.ird.observe.ui.actions.shared.MoveTripLonglinesUIAction; import fr.ird.observe.ui.actions.shared.MoveTripSeinesUIAction; import fr.ird.observe.ui.actions.shared.ReOpenUIAction; @@ -79,7 +79,6 @@ import fr.ird.observe.ui.actions.shared.SelectNodeUIAction; import fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction; import fr.ird.observe.ui.content.ContentUI; import fr.ird.observe.ui.tree.ObserveTreeHelper; -import fr.ird.observe.util.gps.GPSService; import fr.ird.observe.validation.ObserveSwingValidator; import fr.ird.observe.validation.ValidationContext; import jaxx.runtime.JAXXUtil; @@ -213,6 +212,11 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im Decorator<O> value = provider.getDecoratorByType(clazz, name); return value; } + public <R extends IdDto> Decorator<ReferenceDto<R>> getReferenceDecorator(Class<R> dtoType) { + Decorator<ReferenceDto> decorator1 = getDecorator(ReferenceDto.class, dtoType.getSimpleName()); + return (Decorator) decorator1; + } + public ObserveSwingApplicationConfig getConfig() { return CONFIG_ENTRY_DEF.getContextValue(this); @@ -914,9 +918,6 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im registerMainAction(actionMap, new DeleteReferenceUIAction(ui)); registerMainAction(actionMap, new MoveTripLonglinesUIAction(ui)); registerMainAction(actionMap, new MoveTripSeinesUIAction(ui)); - registerMainAction(actionMap, new MoveRoutesUIAction(ui)); - registerMainAction(actionMap, new MoveActivitySeinesUIAction(ui)); - registerMainAction(actionMap, new MoveActivityLonglinesUIAction(ui)); } public void registerMainAction(ActionMap actionMap, AbstractUIAction action) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java index 559b4c0..76abd27 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java @@ -12,6 +12,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import java.io.Closeable; +import java.io.Serializable; import java.util.Date; import java.util.LinkedHashMap; import java.util.Map; @@ -21,7 +22,9 @@ import java.util.Map; * * @author Tony Chemit - chemit@codelutin.com */ -public class ObserveReferentialCache implements Closeable { +public class ObserveReferentialCache implements Closeable, Serializable { + + private static final long serialVersionUID = 1L; /** Logger. */ private static final Log log = LogFactory.getLog(ObserveReferentialCache.class); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index cd53d2a..39401f2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -90,13 +90,13 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return configuration.getLabel(); } - public String getAuthenticationToken() { - String result = null; - if (connection != null) { - result = connection.getAuthenticationToken(); - } - return result; - } +// public String getAuthenticationToken() { +// String result = null; +// if (connection != null) { +// result = connection.getAuthenticationToken(); +// } +// return result; +// } public boolean canWriteData() { boolean result = connection != null && connection.canWriteData(); @@ -140,7 +140,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements public void open() throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { - Preconditions.checkState(!isOpen(), "Connection is already open"); + checkIsNotAlreadyOpen(); fireNewMessage(t("observe.storage.message.opening", getLabel())); fireOpening(); @@ -156,7 +156,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements public void create(DataSourceCreateConfigurationDto createDto) throws IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - Preconditions.checkState(!isOpen(), "Connection is already open"); + checkIsNotAlreadyOpen(); fireNewMessage(t("observe.storage.message.creating", getLabel())); fireOpening(); @@ -172,7 +172,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements @Override public void close() { - Preconditions.checkState(isOpen(), "Connection is not open"); + checkIsOpen(); fireNewMessage(t("observe.storage.message.closing", getLabel())); fireClosing(); @@ -192,7 +192,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements public void destroy() { - Preconditions.checkState(isOpen(), "Connection is not open"); + checkIsOpen(); fireNewMessage(t("observe.storage.message.destroying", getLabel())); fireClosing(); @@ -212,6 +212,8 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements public Set<ObserveDbUserDto> getUsers() { + checkIsNotOpen(); + DataSourceService dataSourceService = newService(DataSourceService.class); Set<ObserveDbUserDto> users = dataSourceService.getUsers(getConfiguration()); @@ -222,6 +224,8 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements public void applySecurity(Set<ObserveDbUserDto> users) { + checkIsNotOpen(); + DataSourceService dataSourceService = newService(DataSourceService.class); dataSourceService.applySecurity(getConfiguration(), users); @@ -229,7 +233,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements public void migrateData(ObserveDataSourceInformation dataSourceInformation, Version targetVersion) throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - Preconditions.checkState(!isOpen(), "Connection is open"); + checkIsNotOpen(); Version dbVersion = dataSourceInformation.getVersion(); if (!dataSourceInformation.getMigrations().isEmpty()) { @@ -269,7 +273,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements public void loadReferenceSets(FormDto<?> formDto) { - Preconditions.checkState(!isOpen(), "Connection is open"); + checkIsOpen(); ReferenceSetService referenceSetService = newService(ReferenceSetService.class); @@ -374,7 +378,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements public ObserveDataSourceInformation checkCanConnect() throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - Preconditions.checkState(connection == null, "Connection is already open"); + checkIsNotAlreadyOpen(); DataSourceService dataSourceService = newService(DataSourceService.class); @@ -401,15 +405,15 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements listenerList.add(ObserveSwingDataSourceListener.class, listener); } - public boolean containsObserveSwingDataSourceListener(ObserveSwingDataSourceListener listener) { - ObserveSwingDataSourceListener[] listeners = getObserveSwingDataSourceListener(); - for (ObserveSwingDataSourceListener l : listeners) { - if (l.equals(listener)) { - return true; - } - } - return false; - } +// public boolean containsObserveSwingDataSourceListener(ObserveSwingDataSourceListener listener) { +// ObserveSwingDataSourceListener[] listeners = getObserveSwingDataSourceListener(); +// for (ObserveSwingDataSourceListener l : listeners) { +// if (l.equals(listener)) { +// return true; +// } +// } +// return false; +// } public ObserveSwingDataSourceListener[] getObserveSwingDataSourceListener() { return listenerList.getListeners(ObserveSwingDataSourceListener.class); @@ -468,4 +472,15 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } } + protected void checkIsOpen() { + Preconditions.checkState(isOpen(), "Connection is not open"); + } + + protected void checkIsNotAlreadyOpen() { + Preconditions.checkState(!isOpen(), "Connection is already open"); + } + + protected void checkIsNotOpen() { + Preconditions.checkState(!isOpen(), "Connection is open"); + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java index 89010d2..e1c313d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java @@ -30,6 +30,7 @@ import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesListDto; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.ObserveMainUI; @@ -59,6 +60,7 @@ import java.awt.event.MouseEvent; import java.util.Collection; import java.util.EventObject; import java.util.Map; +import java.util.Set; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -122,10 +124,10 @@ public class ShowConfigAction extends AbstractAction { ReferentialService service = dataSource.newService(ReferentialService.class); ReferenceSetDto<SpeciesListDto> referentialReferenceSet = service.getReferentialReferenceSet(SpeciesListDto.class); - Collection<ReferenceDto> speciesLists = referentialReferenceSet.getReference(); - Map<String, ReferenceDto> speciesListMap = IdDtos.splitById(speciesLists); + Set<ReferentialReferenceDto<SpeciesListDto>> speciesLists = (Set) referentialReferenceSet.getReference(); + Map<String, ReferentialReferenceDto<SpeciesListDto>> speciesListMap = IdDtos.splitById(speciesLists); - Decorator referenceDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(SpeciesListDto.class); + Decorator<ReferentialReferenceDto<SpeciesListDto>> referenceDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(SpeciesListDto.class); editor = new SpeciesListTableCellEditor(speciesLists, speciesListMap, referenceDecorator); renderer = new SpeciesListsTableCellRenderer(speciesListMap, referenceDecorator); @@ -411,11 +413,11 @@ public class ShowConfigAction extends AbstractAction { private static final long serialVersionUID = 1L; - private final Map<String, ReferenceDto> entityMap; + private final Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap; - private final Decorator decorator; + private final Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator; - public SpeciesListsTableCellRenderer(Map<String, ReferenceDto> entityMap, Decorator decorator) { + public SpeciesListsTableCellRenderer(Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap, Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator) { this.entityMap = entityMap; this.decorator = decorator; } @@ -426,7 +428,7 @@ public class ShowConfigAction extends AbstractAction { int row, int column) { String speciesListId = String.valueOf(value); - ReferenceDto speciesList = entityMap.get(speciesListId); + ReferenceDto<SpeciesListDto> speciesList = entityMap.get(speciesListId); return super.getTableCellRendererComponent(table, decorator.toString(speciesList), isSelected, hasFocus, row, column); } @@ -436,23 +438,23 @@ public class ShowConfigAction extends AbstractAction { private static final long serialVersionUID = 1L; - private final Map<String, ReferenceDto> entityMap; + private final Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap; - private final Decorator decorator; + private final Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator; - protected SpeciesListTableCellEditor(Collection<ReferenceDto> entities, - Map<String, ReferenceDto> entityMap, - Decorator decorator) { + protected SpeciesListTableCellEditor(Collection<ReferentialReferenceDto<SpeciesListDto>> entities, + Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap, + Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator) { super(new JComboBox()); this.entityMap = entityMap; this.decorator = decorator; - final BeanFilterableComboBox<ReferenceDto> component = new BeanFilterableComboBox<>(); + final BeanFilterableComboBox<ReferentialReferenceDto<SpeciesListDto>> component = new BeanFilterableComboBox<>(); component.setI18nPrefix("observe.common."); component.setShowReset(true); - component.setBeanType(ReferenceDto.class); + component.setBeanType((Class) ReferenceDto.class); setClickCountToStart(1); @@ -474,7 +476,7 @@ public class ShowConfigAction extends AbstractAction { public Object getCellEditorValue() { String result = null; Object selectedItem = component.getSelectedItem(); - if (selectedItem !=null && ReferenceDto.class.isInstance(selectedItem)) { + if (selectedItem != null && ReferenceDto.class.isInstance(selectedItem)) { ReferenceDto reference = (ReferenceDto) selectedItem; result = reference.getId(); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java index f6dbdfa..57003e4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java @@ -41,6 +41,13 @@ public class MoveTripLonglinesUIAction extends MoveTripsUIAction { } @Override + protected List<ReferenceDto<TripLonglineDto>> getSelectedDatas(ContentUI<?> ui) { + TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; + TripLonglinesUIModel model = tripLonglinesUI.getModel(); + return model.getSelectedDatas(); + } + + @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.longline; } @@ -55,7 +62,7 @@ public class MoveTripLonglinesUIAction extends MoveTripsUIAction { protected void updateModelData(ContentUI<?> ui) { TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; TripLonglinesUIModel model = tripLonglinesUI.getModel(); - List<ReferenceDto> data = new ArrayList<>(model.getData()); + List<ReferenceDto<TripLonglineDto>> data = new ArrayList<>(model.getData()); data.removeAll(model.getSelectedDatas()); model.setData(data); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java index ebbd01b..1cf53db 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java @@ -18,7 +18,7 @@ import java.util.List; * @author Kevin Morin (Code Lutin) * @since 5.0 */ -public class MoveTripSeinesUIAction extends MoveTripsUIAction { +public class MoveTripSeinesUIAction extends MoveTripsUIAction<TripSeineDto> { private static final long serialVersionUID = 1L; @@ -41,6 +41,13 @@ public class MoveTripSeinesUIAction extends MoveTripsUIAction { } @Override + protected List<ReferenceDto<TripSeineDto>> getSelectedDatas(ContentUI<?> ui) { + TripSeinesUI tripSeinesUI = (TripSeinesUI) ui; + TripSeinesUIModel model = tripSeinesUI.getModel(); + return model.getSelectedDatas(); + } + + @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.seine; } @@ -55,7 +62,7 @@ public class MoveTripSeinesUIAction extends MoveTripsUIAction { protected void updateModelData(ContentUI<?> ui) { TripSeinesUI tripSeinesUI = (TripSeinesUI) ui; TripSeinesUIModel model = tripSeinesUI.getModel(); - List<ReferenceDto> data = new ArrayList<>(model.getData()); + List<ReferenceDto<TripSeineDto>> data = new ArrayList<>(model.getData()); data.removeAll(model.getSelectedDatas()); model.setData(data); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index 47760f2..17a7b9c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -45,6 +45,7 @@ import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import java.awt.event.ActionEvent; import java.util.ArrayList; +import java.util.LinkedHashSet; import java.util.List; import static org.nuiton.i18n.I18n.n; @@ -56,7 +57,7 @@ import static org.nuiton.i18n.I18n.t; * @author Kevin Morin (Code Lutin) * @since 5.0 */ -public abstract class MoveTripsUIAction extends AbstractUIAction { +public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIAction { private static final long serialVersionUID = 1L; @@ -105,7 +106,7 @@ public abstract class MoveTripsUIAction extends AbstractUIAction { if (programId != null) { // change the program of the selected trips - List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); + List<ReferenceDto<T>> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); List<String> tripIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); List<Integer> positions = getPositions(tripIds, programId); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index 8b12298..3dc601c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -21,15 +21,19 @@ */ package fr.ird.observe.ui.content; +import com.google.common.base.Optional; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ObserveSwingBinderService; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.AbstractObserveDto; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; @@ -42,6 +46,7 @@ import fr.ird.observe.validation.ValidationContext; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.ErrorDialogUI; import jaxx.runtime.swing.JAXXButtonGroup; +import jaxx.runtime.swing.editor.bean.BeanComboBox; import jaxx.runtime.swing.editor.bean.BeanListHeader; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import jaxx.runtime.validator.swing.SwingValidatorUtil; @@ -52,6 +57,7 @@ import org.nuiton.decorator.Decorator; import org.nuiton.decorator.DecoratorUtil; import org.nuiton.decorator.JXPathDecorator; import org.nuiton.jaxx.widgets.gis.absolute.CoordinatesEditor; +import org.nuiton.jaxx.widgets.select.FilterableDoubleList; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.AbstractButton; @@ -65,6 +71,8 @@ import java.awt.Component; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; +import java.util.Collections; +import java.util.LinkedHashSet; import java.util.List; import static org.nuiton.i18n.I18n.t; @@ -255,7 +263,7 @@ public abstract class ContentUIHandler<E extends IdDto> { * @return {@code true} si on peut écrire (donc éditer), {@code false} autrement. */ protected abstract boolean computeCanWrite(ObserveSwingDataSource dataSsource); - + protected final String getSelectedParentId() { String s = null; if (parentType != null) { @@ -316,13 +324,14 @@ public abstract class ContentUIHandler<E extends IdDto> { public void initUI() throws Exception { - final ContentUIInitializer<E, ObserveContentUI<E>> uiInitializer = new ContentUIInitializer<E, ObserveContentUI<E>>(ui); + final ContentUIInitializer<E, ObserveContentUI<E>> uiInitializer = new ContentUIInitializer<>(ui); uiInitializer.initUI(); getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { - uiInitializer.referentialDataUpdated(); + updateReferenceSets(true); } }); @@ -365,18 +374,6 @@ public abstract class ContentUIHandler<E extends IdDto> { return icon; } -//FIXME -// protected void onLoad(TopiaContext tx, E bean) throws TopiaException { -// -// // par defaut on charge l'objet de la base dans le bean d'édition -// getLoadBinder().load(bean, getBean(), true); -// } - - //FIXME -// protected E onPreCreate(TopiaContext tx, Object parentBean, E bean) throws TopiaException { -// return bean; -// } - public void startEditUI(String... binding) { E editBean = getBean(); @@ -606,7 +603,7 @@ public abstract class ContentUIHandler<E extends IdDto> { DecoratorUtil.sort((JXPathDecorator<E>) decorator, data, 0); return data; } else { - List<E> result = new ArrayList<E>(); + List<E> result = new ArrayList<>(); return result; } } @@ -625,19 +622,6 @@ public abstract class ContentUIHandler<E extends IdDto> { } } - protected E onCreate(Object parentBean, E editBean) { - return editBean; - } - - protected E onUpdate(Object parentBean, E beanToSave) { - // rien par defaut - return beanToSave; - } - - protected void onDelete(Object parentBean, E beanToDelete) { - // rien par defaut - } - protected void addInfoMessage(String message) { addMessage(ui, NuitonValidatorScope.INFO, @@ -788,6 +772,146 @@ public abstract class ContentUIHandler<E extends IdDto> { } + protected void updateReferenceSets(boolean reloadReferenceSets) { + + if (reloadReferenceSets && ContentMode.READ != getModel().getMode()) { + + getDataSource().loadReferenceSets(getModel().getFormDto()); + + } + + for (String name : ui.get$objectMap().keySet()) { + Object o = ui.getObjectById(name); + + if (o == null) { + continue; + } + + if (o instanceof BeanComboBox) { + updateData((BeanComboBox) o); + continue; + } + + if (o instanceof BeanListHeader) { + updateData((BeanListHeader) o); + continue; + } + + if (o instanceof FilterableDoubleList) { + updateData((FilterableDoubleList) o); + continue; + } + + } + + } + + protected <R extends IdDto> void updateData(FilterableDoubleList<ReferenceDto<R>> list) { + + Class<R> dtoClass = getDtoClass(list); + FormDto<E> formDto = getModel().getFormDto(); + List<ReferenceDto<R>> data; + + if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { + + //FIXME Bien vérifier que cela fonctionne + ReferenceSetDto<R> referenceSetDto = formDto.getReferenceSetDto(dtoClass, list.getModel().getProperty()); + + data = new ArrayList<>(referenceSetDto.getReference()); + + } else { + + data = new ArrayList<>(); + + } + + // sort data from first decorator context + Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); + DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); + + //FIXME A finir (bien vérifier que la sélection n'est plus dans l'univers) + List<ReferenceDto<R>> selected = list.getModel().getSelected(); + list.setUniverse(data); + list.setSelected(selected); + + list.putClientProperty("data", data); + } + + protected <R extends IdDto> void updateData(BeanListHeader<ReferenceDto<R>> list) { + + Class<R> dtoClass = getDtoClass(list); + FormDto<E> formDto = getModel().getFormDto(); + List<ReferenceDto<R>> data; + + if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { + + ReferenceSetDto<R> referenceSetDto = formDto.getReferenceSetDto(dtoClass); + data = new ArrayList<>(referenceSetDto.getReference()); + + } else { + data = new ArrayList<>(); + } + + // sort data from first decorator context + Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); + DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); + + list.setData(data); + list.putClientProperty("data", data); + } + + + protected <R extends IdDto> void updateData(BeanComboBox<ReferenceDto<R>> comboBox) { + + Class<R> dtoClass = getDtoClass(comboBox); + + Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + + List<ReferenceDto<R>> data; + FormDto<E> formDto = getModel().getFormDto(); + + if (noLoad != null && noLoad || formDto == null) { + + if (log.isInfoEnabled()) { + log.info("Skip loading of entity list [" + dtoClass.getName() + "] (listNoLoad property found)"); + } + data = Collections.emptyList(); + + } else { + + data = new ArrayList<>(); + + // get complete data list from service + Optional<ReferenceSetDto<R>> optionalReferenceSetDto = formDto.tryToGetReferenceSetDto(dtoClass, comboBox.getProperty()); + + if (optionalReferenceSetDto.isPresent()) { + + ReferenceSetDto<R> referenceSetDto = optionalReferenceSetDto.get(); + LinkedHashSet<ReferenceDto<R>> reference = referenceSetDto.getReference(); + data.addAll(reference); + + } + + } + + if (log.isInfoEnabled()) { + log.info("entity list [" + dtoClass.getName() + "] : " + data.size()); + } + + comboBox.setData(data); + } + + protected <R extends IdDto> Class<R> getDtoClass(JComponent list) { + Object clientProperty = list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); + return (Class<R>) clientProperty; + } + + protected <R extends IdDto> Decorator<ReferenceDto<R>> getReferenceDecorator(Class<R> dtoType) { + Decorator<ReferenceDto<R>> decorator = ObserveSwingApplicationContext.get().getReferenceDecorator(dtoType); + return decorator; + } + + // protected static class LogPropertyChanges implements PropertyChangeListener { // // private final ImmutableSet<String> propertyNames; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java index 177147e..14bfd19 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java @@ -22,14 +22,11 @@ package fr.ird.observe.ui.content; * #L% */ -import com.google.common.base.Predicate; -import com.google.common.collect.Collections2; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialDtos; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; @@ -57,7 +54,6 @@ import org.jdesktop.swingx.JXMonthView; import org.jdesktop.swingx.autocomplete.ComboBoxCellEditor; import org.jdesktop.swingx.autocomplete.ObjectToStringConverter; import org.nuiton.decorator.Decorator; -import org.nuiton.decorator.DecoratorUtil; import org.nuiton.decorator.JXPathDecorator; import org.nuiton.jaxx.application.bean.JavaBeanObjectUtil; import org.nuiton.jaxx.widgets.datetime.DateTimeEditor; @@ -99,7 +95,6 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashSet; -import java.util.LinkedHashSet; import java.util.List; import java.util.Set; @@ -299,36 +294,6 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E } } - public void referentialDataUpdated() { - - // initialisation des éditeurs - - for (String name : ui.get$objectMap().keySet()) { - Object o = ui.getObjectById(name); - - if (o == null) { - continue; - } - - if (o instanceof BeanComboBox<?>) { - updateData((BeanComboBox<?>) o); - continue; - } - - if (o instanceof BeanListHeader<?>) { - updateData((BeanListHeader<?>) o); - continue; - } - - if (o instanceof FilterableDoubleList<?>) { - updateData((FilterableDoubleList<?>) o); - continue; - } - - } - - } - protected void initBlockLayerUI(String... doNotBlockComponentIds) { ui.getBlockLayerUI().setAcceptedComponentTypes(ObserveMapPane.class, JScrollBar.class); ui.getBlockLayerUI().setAcceptedComponentNames(doNotBlockComponentIds); @@ -675,37 +640,6 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E // service.addReferentielPropertyChangeListener(entityClass, listener); } - protected <E extends IdDto> void updateData(FilterableDoubleList list) { - Class<E> dtoClass = (Class<E>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - FormDto formDto = getFormDto(); - List<ReferenceDto> data; - - if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { - - //FIXME Bien vérifier que cela fonctionne - ReferenceSetDto<E> referenceSetDto = formDto.getReferenceSetDto(dtoClass, list.getModel().getProperty()); - - data = new ArrayList<>(referenceSetDto.getReference()); - - } else { - - data = new ArrayList<>(); - - } - - // sort data from first decorator context - ObserveSwingApplicationContext tx = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto> decorator = tx.getDecorator(ReferenceDto.class, dtoClass.getSimpleName()); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, data, 0); - - //FIXME A finir (bien vérifier que la sélection n'est plus dans l'univers) - List selected = list.getModel().getSelected(); - list.setUniverse(data); - list.setSelected(selected); - - list.putClientProperty("data", data); - } - /** * Remplit le modèle d'une liste graphique avec la liste des entités d'un * type donné sur un service de persistance donné. @@ -745,31 +679,6 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E // service.addReferentielPropertyChangeListener(entityClass, listener); } - protected <E extends IdDto> void updateData(BeanListHeader list) { - Class<E> dtoClass = (Class<E>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - FormDto formDto = getFormDto(); - List<ReferenceDto> data; - - if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { - - Predicate<ReferenceDto> predicate = (Predicate<ReferenceDto>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_PREDICATE); - - ReferenceSetDto<E> referenceSetDto = formDto.getReferenceSetDto(dtoClass); - data = new ArrayList<>(Collections2.filter(referenceSetDto.getReference(), predicate)); - - } else { - data = new ArrayList<>(); - } - - // sort data from first decorator context - ObserveSwingApplicationContext tx = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto> decorator = tx.getDecorator(ReferenceDto.class, dtoClass.getSimpleName()); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, data, 0); - - list.setData(data); - list.putClientProperty("data", data); - } - /** * Prépare un component de choix d'entités pour un type d'entité donné et * pour un service de persistance donné. @@ -841,143 +750,6 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E } - protected <E extends IdDto> void updateData(BeanComboBox comboBox) { - ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); - - // init combobox - Class<E> dtoClass = (Class<E>) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - Decorator<ReferenceDto> decorator = context.getDecorator(ReferenceDto.class, dtoClass.getSimpleName()); - - Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); - - List<ReferenceDto> data = null; - FormDto formDto = getFormDto(); - - if (noLoad != null && noLoad || formDto == null) { - - if (log.isInfoEnabled()) { - log.info("Skip loading of entity list [" + dtoClass.getName() + "] (listNoLoad property found)"); - } - data = Collections.emptyList(); - - } else { - - data = new ArrayList<>(); - - // get complete data list from service - ReferenceSetDto<E> referenceSetDto = formDto.getReferenceSetDto(dtoClass, comboBox.getProperty()); - LinkedHashSet<ReferenceDto> reference = referenceSetDto.getReference(); - - data.addAll(reference); - - } - - if (log.isInfoEnabled()) { - log.info("entity list [" + dtoClass.getName() + "] : " + data.size()); - } - - comboBox.setData(data); - } - - /** - * Un écouteur de changement les entités d'un type donné contenues dans une - * liste graphique donnée. - * - * @param <E> le type des entités - */ - protected static class EntityListPropertyChangeListener - <E extends IdDto> implements PropertyChangeListener { - - /** le type des entités */ - private Class<E> entityClass; - - /** la liste graphique */ - private BeanListHeader<E> list; - - public EntityListPropertyChangeListener(Class<E> entityClass, - BeanListHeader<E> list) { - this.entityClass = entityClass; - this.list = list; - } - - @SuppressWarnings({"unchecked"}) - @Override - public void propertyChange(PropertyChangeEvent evt) { - - List<E> newValue = (List<E>) evt.getNewValue(); - - Decorator<E> decorator = (Decorator<E>) - list.getClientProperty("decorator"); - - if (log.isDebugEnabled()) { - log.debug("reloading entities list for [" + entityClass + - "], size : " + newValue.size()); - } - - DecoratorUtil.sort((JXPathDecorator<E>) decorator, newValue, 0); - E selectedValue = list.getSelectedValue(); - list.putClientProperty("data", newValue); - list.setData(Collections.<E>emptyList()); - list.setData(newValue); - if (selectedValue != null && newValue.contains(selectedValue)) { - - // reselect it - list.getList().setSelectedValue(selectedValue, true); - } - } - } - - /** - * Un écouteur de changement les entités d'un type donné contenues dans une - * liste graphique donnée. - * - * @param <E> le type des entités - */ - protected static class EntityDoubleListPropertyChangeListener - <E extends IdDto> implements PropertyChangeListener { - - /** le type des entités */ - private Class<E> entityClass; - - /** la liste graphique */ - private FilterableDoubleList<E> list; - - public EntityDoubleListPropertyChangeListener(Class<E> entityClass, - FilterableDoubleList<E> list) { - this.entityClass = entityClass; - this.list = list; - } - - @SuppressWarnings({"unchecked"}) - @Override - public void propertyChange(PropertyChangeEvent evt) { - - List<E> newValue = (List<E>) evt.getNewValue(); - - Decorator<E> decorator = (Decorator<E>) - list.getClientProperty("decorator"); - - if (log.isDebugEnabled()) { - log.debug("reloading entities list for [" + entityClass + - "], size : " + newValue.size()); - } - - DecoratorUtil.sort((JXPathDecorator<E>) decorator, newValue, 0); - list.putClientProperty("data", newValue); - - List<E> selectedValues = new ArrayList<E>(list.getModel().getSelected()); - - list.setUniverse(Collections.<E>emptyList()); - list.setUniverse(newValue); - - selectedValues.retainAll(newValue); - - // reselect it - list.setSelected(selectedValues); - - } - } - /** * Un renderer de liste d'entites d'un referentiel dans le quel on veut * differencier les entites qui sont desactivees. diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ObserveContentUI.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ObserveContentUI.java index 5c8799b..4d736c2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ObserveContentUI.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ObserveContentUI.java @@ -41,8 +41,6 @@ import javax.swing.JToolBar; */ public interface ObserveContentUI<E extends IdDto> extends JAXXObject { - String CLIENT_PROPERTY_LIST_PREDICATE = "listPredicate"; - String CLIENT_PROPERTY_LIST_NO_LOAD = "listNoLoad"; String CLIENT_PROPERTY_ENTITY_CLASS = "entityClass"; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css index aae257d..d919ca3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css @@ -29,7 +29,7 @@ } #listHeader { - beanType:{ReferenceDto.class}; + beanType:{(Class)ReferenceDto.class}; _doInit:{getModel().getChildType()}; showReset:true; list:{list}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx index 8b0fffc..6180809 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx @@ -57,8 +57,8 @@ <script><![CDATA[ -public final ReferenceDto getSelectedData() { - return (ReferenceDto) getSelectedBean(list); +public final ReferenceDto<C> getSelectedData() { + return (ReferenceDto<C>) getSelectedBean(list); } public final List<ReferenceDto> getSelectedDatas() { @@ -75,7 +75,7 @@ public final List<ReferenceDto> getSelectedDatas() { <JList id='list' onMouseClicked='getHandler().onDataSelected(event)'/> - <BeanListHeader id='listHeader' genericType='ReferenceDto' _entityClass="getModel().getChildType()"/> + <BeanListHeader id='listHeader' genericType='ReferenceDto< C >' _entityClass="getModel().getChildType()"/> </JScrollPane> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java index 68f7e19..b6db1fe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java @@ -64,7 +64,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> ext * @param bean the container of entities to display * @return the list of entities to display */ - protected abstract List<ReferenceDto> getChilds(E bean); + protected abstract List<ReferenceDto<C>> getChilds(E bean); @Override protected boolean computeCanWrite(ObserveSwingDataSource source) { @@ -130,7 +130,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> ext loadParentBean(); E bean = getBean(); - List<ReferenceDto> data = getChilds(bean); + List<ReferenceDto<C>> data = getChilds(bean); model.setData(data); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java index ff6699f..620c684 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java @@ -114,7 +114,7 @@ public class ActivityLonglinesUIHandler extends ContentListUIHandler<TripLonglin } @Override - protected List<ReferenceDto> getChilds(TripLonglineDto bean) { + protected List<ReferenceDto<ActivityLonglineDto>> getChilds(TripLonglineDto bean) { ActivityLonglineService service = ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); ReferenceSetDto<ActivityLonglineDto> activityLonglineStubByRoute = service.getActivityLonglineByTripLongline(bean.getId()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIModel.java index bc0966d..2f54ec9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIModel.java @@ -22,11 +22,9 @@ package fr.ird.observe.ui.content.list.impl.longline; * #L% */ -import fr.ird.observe.ObserveSwingBinderService; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.ui.content.list.ContentListUIModel; -import org.nuiton.util.beans.BinderModelBuilder; /** * Created on 9/26/14. diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java index e05c7c1..620bcab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java @@ -97,7 +97,7 @@ public class TripLonglinesUIHandler extends ContentListUIHandler<ProgramDto, Tri } @Override - protected List<ReferenceDto> getChilds(ProgramDto bean) { + protected List<ReferenceDto<TripLonglineDto>> getChilds(ProgramDto bean) { TripLonglineService service = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); ReferenceSetDto<TripLonglineDto> tripLonglineByProgram = service.getTripLonglineByProgram(bean.getId()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java index a3be385..332347c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java @@ -49,18 +49,18 @@ public class TripLonglinesUIModel extends ContentListUIModel<ProgramDto, TripLon public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; /** entité sélectionnée dans la liste */ - protected List<ReferenceDto> selectedDatas; + protected List<ReferenceDto<TripLonglineDto>> selectedDatas; public TripLonglinesUIModel() { super(ProgramDto.class, TripLonglineDto.class); } - public List<ReferenceDto> getSelectedDatas() { + public List<ReferenceDto<TripLonglineDto>> getSelectedDatas() { return selectedDatas; } - public void setSelectedDatas(List<ReferenceDto> selectedDatas) { - List<ReferenceDto> old = getSelectedDatas(); + public void setSelectedDatas(List<ReferenceDto<TripLonglineDto>> selectedDatas) { + List<ReferenceDto<TripLonglineDto>> old = getSelectedDatas(); this.selectedDatas = selectedDatas; if (log.isDebugEnabled()) { log.debug("New selected datas : " + selectedDatas); @@ -69,7 +69,7 @@ public class TripLonglinesUIModel extends ContentListUIModel<ProgramDto, TripLon } @Override - public void setData(List<ReferenceDto> data) { + public void setData(List<ReferenceDto<TripLonglineDto>> data) { super.setData(data); setSelectedDatas(null); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java index 494df6b..b0f1701 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java @@ -112,7 +112,7 @@ public class ActivitySeinesUIHandler extends ContentListUIHandler<RouteDto, Acti } @Override - protected List<ReferenceDto> getChilds(RouteDto bean) { + protected List<ReferenceDto<ActivitySeineDto>> getChilds(RouteDto bean) { ActivitySeineService service = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); ReferenceSetDto<ActivitySeineDto> activitySeineByRoute = service.getActivitySeineByRoute(bean.getId()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java index aeb31c8..9f591c6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java @@ -109,7 +109,7 @@ public class RoutesUIHandler extends ContentListUIHandler<TripSeineDto, RouteDto } @Override - protected List<ReferenceDto> getChilds(TripSeineDto bean) { + protected List<ReferenceDto<RouteDto>> getChilds(TripSeineDto bean) { RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); ReferenceSetDto<RouteDto> routeByTripSeine = service.getRouteByTripSeine(bean.getId()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java index 0333cc2..f978250 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java @@ -94,7 +94,7 @@ public class TripSeinesUIHandler extends ContentListUIHandler<ProgramDto, TripSe } @Override - protected List<ReferenceDto> getChilds(ProgramDto bean) { + protected List<ReferenceDto<TripSeineDto>> getChilds(ProgramDto bean) { TripSeineService service = ObserveSwingApplicationContext.get().newService(TripSeineService.class); ReferenceSetDto<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(bean.getId()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java index 7236f31..28d8952 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java @@ -43,8 +43,37 @@ public class TripSeinesUIModel extends ContentListUIModel<ProgramDto, TripSeineD */ private static final Log log = LogFactory.getLog(TripSeinesUIModel.class); +<<<<<<< 91f61e4c040cb3dcca05b04dcccd582b94a3145c +======= + public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; + + /** entité sélectionnée dans la liste */ + protected List<ReferenceDto<TripSeineDto>> selectedDatas; + +>>>>>>> Début de revue du code de l'application swing : y'a du boulot... public TripSeinesUIModel() { super(ProgramDto.class, TripSeineDto.class); } +<<<<<<< 91f61e4c040cb3dcca05b04dcccd582b94a3145c +======= + public List<ReferenceDto<TripSeineDto>> getSelectedDatas() { + return selectedDatas; + } + + public void setSelectedDatas(List<ReferenceDto<TripSeineDto>> selectedDatas) { + List<ReferenceDto<TripSeineDto>> old = getSelectedDatas(); + this.selectedDatas = selectedDatas; + if (log.isDebugEnabled()) { + log.debug("New selected datas : " + selectedDatas); + } + firePropertyChange(PROPERTY_SELECTED_DATAS, old, selectedDatas); + } + + @Override + public void setData(List<ReferenceDto<TripSeineDto>> data) { + super.setData(data); + setSelectedDatas(null); + } +>>>>>>> Début de revue du code de l'application swing : y'a du boulot... } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java index ce4ca00..b77f81d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java @@ -22,8 +22,8 @@ package fr.ird.observe.ui.content.open; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -100,6 +100,9 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU ContentOpenableUI<E> ui = getUi(); + // On charge les ensembles de références utilisées dans les combobox + updateReferenceSets(true); + // on repaint le parent (le program devient alors ouvert) ObserveTreeHelper treeHelper = getTreeHelper(ui); treeHelper.reloadSelectedNode(true, true); @@ -279,8 +282,8 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU protected final void finalizeOpenUI(ContentMode mode, boolean create) { - // utilisation du mode requis - setContentMode(mode); +// // utilisation du mode requis +// setContentMode(mode); boolean historicalData = false; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index 7da80d5..0b26e67 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -185,6 +185,7 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity } + setContentMode(mode); getModel().setFormDto(formDto); ActivityLonglineDtos.copyActivityLonglineDto(formDto.getForm(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java index 69c4c2c..695cd74 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java @@ -195,6 +195,7 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline formDto = getTripLonglineService().loadToEdit(tripId); } + setContentMode(mode); getModel().setFormDto(formDto); TripLonglineDtos.copyTripLonglineDto(formDto.getForm(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java index 50b65c2..ba98e15 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -213,6 +213,7 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei } + setContentMode(mode); getModel().setFormDto(formDto); ActivitySeineDtos.copyActivitySeineDto(formDto.getForm(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java index 441f15f..0e043aa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java @@ -146,6 +146,7 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { } + setContentMode(mode); getModel().setFormDto(formDto); RouteDtos.copyRouteDto(formDto.getForm(), editBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 60c87b6..5eeee20 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -67,7 +67,6 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } - @Override public TripSeineUI getUi() { return (TripSeineUI) super.getUi(); @@ -124,6 +123,7 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { tripMap.getHandler().setConfig(config); getUi().getTripSeineTabPane().addChangeListener(new ChangeListener() { + @Override public void stateChanged(ChangeEvent e) { JTabbedPane tripSeineTabPane = (JTabbedPane) e.getSource(); @@ -134,6 +134,7 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { if (buildTripMap) { SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { @@ -179,23 +180,30 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { if (create) { // create mode - if (log.isInfoEnabled()) { + if (log.isInfoEnabled()) { log.info(prefix + "create a new trip"); } formDto = getTripSeineService().preCreate(programId); + } else if (mode == ContentMode.READ) { + + // read mode + if (log.isInfoEnabled()) { + log.info(prefix + "read existing trip " + tripId); + } + formDto = getTripSeineService().loadToRead(tripId); + } else { - // update mode + // edit mode if (log.isInfoEnabled()) { - log.info(prefix + "using existing trip " + tripId); + log.info(prefix + "edit existing trip " + tripId); } formDto = getTripSeineService().loadToEdit(tripId); } - getDataSource().loadReferenceSets(formDto); - + setContentMode(mode); getModel().setFormDto(formDto); TripSeineDtos.copyTripSeineDto(formDto.getForm(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index 2ef95d4..c582143 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -42,6 +42,7 @@ import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; +import fr.ird.observe.ui.content.ObserveContentUI; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.usage.UsagesUI; import fr.ird.observe.ui.util.SpringUtilities; @@ -49,6 +50,7 @@ import fr.ird.observe.validation.ValidationContext; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.CardLayout2Ext; import jaxx.runtime.swing.ErrorDialogUI; +import jaxx.runtime.swing.editor.bean.BeanComboBox; import jaxx.runtime.swing.editor.bean.BeanListHeader; import jaxx.runtime.validator.swing.SwingValidatorUtil; import org.apache.commons.lang3.StringUtils; @@ -56,6 +58,9 @@ import org.apache.commons.lang3.time.FastDateFormat; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; +import org.nuiton.decorator.DecoratorUtil; +import org.nuiton.decorator.JXPathDecorator; +import org.nuiton.jaxx.widgets.select.FilterableDoubleList; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; @@ -86,6 +91,8 @@ import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; +import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; import java.util.Map; @@ -465,7 +472,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content ContentReferenceUIModel<E> model = getModel(); // Chargement des données - uiInitializer.referentialDataUpdated(); + updateReferenceSets(true); ContentReferenceUI<E> ui = getUi(); @@ -641,7 +648,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content addInfoMessage(t("observe.message.referentiel.editable")); } - uiInitializer.referentialDataUpdated(); + updateReferenceSets(false); } @Override @@ -904,4 +911,84 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content return ObserveSwingApplicationContext.get().newService(ReferentialService.class); } + @Override + protected <R extends IdDto> void updateData(BeanComboBox<ReferenceDto<R>> comboBox) { + + Class<R> dtoClass = getDtoClass(comboBox); + + Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + + List<ReferenceDto<R>> data; + + if (noLoad != null && noLoad) { + + if (log.isInfoEnabled()) { + log.info("Skip loading of entity list [" + dtoClass.getName() + "] (listNoLoad property found)"); + } + data = Collections.emptyList(); + + } else { + + data = new ArrayList<>(); + + // get complete data list from service + ReferenceSetDto<R> referentialReferenceSet = getReferentialService().getReferentialReferenceSet((Class) dtoClass); + LinkedHashSet<ReferenceDto<R>> reference = referentialReferenceSet.getReference(); + + data.addAll(reference); + + } + + if (log.isInfoEnabled()) { + log.info("entity list [" + dtoClass.getName() + "] : " + data.size()); + } + + comboBox.setData(data); + } + + @Override + protected <R extends IdDto> void updateData(BeanListHeader<ReferenceDto<R>> list) { + + Class<R> dtoClass = getDtoClass(list); + + // Attention ici on charge les references avec aussi les données techniques + // On en a besoin pour l'écran justement des informations techniques d'une entité en cours d'édition + ReferenceSetDto<R> referentialReferenceSet = getReferentialService().getReferentialReferenceSetWithTechnicalInformations((Class) dtoClass); + + List<ReferenceDto<R>> data = new ArrayList<>(referentialReferenceSet.getReference()); + + Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); + DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); + + list.setData(data); + list.putClientProperty("data", data); + } + + @Override + protected <R extends IdDto> void updateData(FilterableDoubleList<ReferenceDto<R>> list) { + Class<R> dtoClass = getDtoClass(list); + List<ReferenceDto<R>> data; + + if (ReferentialDto.class.isAssignableFrom(dtoClass)) { + + ReferentialService service = getReferentialService(); + ReferenceSetDto<R> referentialReferenceSet = service.getReferentialReferenceSet((Class) dtoClass); + + data = new ArrayList<>(referentialReferenceSet.getReference()); + + } else { + + data = new ArrayList<>(); + + } + + // sort data from first decorator context + Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); + DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); + + list.setUniverse(data); + list.putClientProperty("data", data); + } + + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferentialContentUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferentialContentUIInitializer.java index 9e835ba..88f9116 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferentialContentUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ReferentialContentUIInitializer.java @@ -22,27 +22,8 @@ package fr.ird.observe.ui.content.ref; * #L% */ -import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.content.ContentUIInitializer; -import fr.ird.observe.ui.content.ObserveContentUI; -import jaxx.runtime.swing.editor.bean.BeanComboBox; -import jaxx.runtime.swing.editor.bean.BeanListHeader; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; -import org.nuiton.decorator.DecoratorUtil; -import org.nuiton.decorator.JXPathDecorator; -import org.nuiton.jaxx.widgets.select.FilterableDoubleList; - -import javax.swing.JComponent; -import java.util.ArrayList; -import java.util.Collections; -import java.util.LinkedHashSet; -import java.util.List; /** * Created on 11/28/14. @@ -52,8 +33,8 @@ import java.util.List; */ public class ReferentialContentUIInitializer<E extends ReferentialDto, UI extends ContentReferenceUI<E>> extends ContentUIInitializer<E, UI> { - /** Logger. */ - private static final Log log = LogFactory.getLog(ReferentialContentUIInitializer.class); +// /** Logger. */ +// private static final Log log = LogFactory.getLog(ReferentialContentUIInitializer.class); public ReferentialContentUIInitializer(UI ui) { super(ui); @@ -69,95 +50,8 @@ public class ReferentialContentUIInitializer<E extends ReferentialDto, UI extend } - @Override - protected void updateData(BeanComboBox comboBox) { - - Class<? extends ReferentialDto> dtoClass = getDtoClass(comboBox); - - Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); - - List<ReferenceDto> data; - - if (noLoad != null && noLoad) { - - if (log.isInfoEnabled()) { - log.info("Skip loading of entity list [" + dtoClass.getName() + "] (listNoLoad property found)"); - } - data = Collections.emptyList(); - - } else { - - data = new ArrayList<>(); - - // get complete data list from service - ReferenceSetDto referentialReferenceSet = getReferentialService().getReferentialReferenceSet(dtoClass); - LinkedHashSet<ReferenceDto> reference = referentialReferenceSet.getReference(); - - data.addAll(reference); - - } - - if (log.isInfoEnabled()) { - log.info("entity list [" + dtoClass.getName() + "] : " + data.size()); - } - - comboBox.setData(data); - } - - @Override - protected void updateData(BeanListHeader list) { - - Class<? extends ReferentialDto> dtoClass = getDtoClass(list); - - // Attention ici on charge les references avec aussi les données techniques - // On en a besoin pour l'écran justement des informations techniques d'une entité en cours d'édition - ReferenceSetDto referentialReferenceSet = getReferentialService().getReferentialReferenceSetWithTechnicalInformations(dtoClass); - - List<ReferenceDto> data = new ArrayList<>(referentialReferenceSet.getReference()); - - Decorator<ReferenceDto> decorator = getDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, data, 0); - - list.setData(data); - list.putClientProperty("data", data); - } - - @Override - protected void updateData(FilterableDoubleList list) { - Class<? extends ReferentialDto> dtoClass = getDtoClass(list); - List<ReferenceDto> data; - - if (ReferentialDto.class.isAssignableFrom(dtoClass)) { - - ReferentialService service = getReferentialService(); - ReferenceSetDto referentialReferenceSet = service.getReferentialReferenceSet(dtoClass); - - data = new ArrayList<>(referentialReferenceSet.getReference()); - - } else { - - data = new ArrayList<>(); - - } - - // sort data from first decorator context - Decorator<ReferenceDto> decorator = getDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto>) decorator, data, 0); - - list.setUniverse(data); - list.putClientProperty("data", data); - } - - protected ReferentialService getReferentialService() { - return ObserveSwingApplicationContext.get().newService(ReferentialService.class); - } - - protected Decorator<ReferenceDto> getDecorator(Class<? extends ReferentialDto> dtoClass) { - return ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, dtoClass.getSimpleName()); - } - - protected Class<? extends ReferentialDto> getDtoClass(JComponent list) { - return (Class<? extends ReferentialDto>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - } +// protected Decorator<ReferenceDto> getDecorator(Class<? extends ReferentialDto> dtoClass) { +// return ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, dtoClass.getSimpleName()); +// } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index 9598fd3..026074e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -21,29 +21,20 @@ */ package fr.ird.observe.ui.content.table; -import com.google.common.collect.Collections2; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.referential.SpeciesListDto; -import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; import fr.ird.observe.ui.content.ContentUIModel; -import fr.ird.observe.ui.content.ObserveContentUI; import fr.ird.observe.ui.tree.ObserveNode; import jaxx.runtime.swing.ErrorDialogUI; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.validator.NuitonValidatorScope; -import javax.swing.JComponent; import javax.swing.ListSelectionModel; import javax.swing.SwingUtilities; import javax.swing.event.ListSelectionEvent; @@ -51,11 +42,7 @@ import javax.swing.table.DefaultTableCellRenderer; import java.awt.Rectangle; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.Collections; -import java.util.HashSet; -import java.util.LinkedHashSet; import java.util.List; -import java.util.Set; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -261,43 +248,12 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - uiInitializer.referentialDataUpdated(); + updateReferenceSets(false); } }); } - //FIXME Ne plus utiliser cela mais directement le labelSet sur la propriété Species qui contient la liste des espèces - public Set<String> loadSpeciesList(String speciesListId, String errorMessage) { - - Set<String> speciesIds; - - try { - ReferenceDto<SpeciesListDto> speciesList = getModel().getFormDto().getReferenceById(SpeciesListDto.class, speciesListId); - LinkedHashSet<ReferentialReferenceDto<SpeciesDto>> species = - (LinkedHashSet<ReferentialReferenceDto<SpeciesDto>>) speciesList.getPropertyValue(SpeciesListDto.PROPERTY_SPECIES); - speciesIds = new HashSet<>(Collections2.transform(species, - ReferenceDtos.newReferenceDtoIdFunction())); - - } catch (Exception e) { - UIHelper.displayWarning(t("observe.title.speciesList.not.found"), t(errorMessage)); - speciesIds = Collections.emptySet(); - - } - return speciesIds; - - } - - //FIXME Ne plus utiliser cela mais directement le labelSet sur la propriété Species qui contient la liste des espèces - protected void prepareSpeciesList(String speciesListId, JComponent speciesComponent, String errorMessage) { - - Set<String> speciesIds = loadSpeciesList(speciesListId, errorMessage); - - speciesComponent.putClientProperty( - ObserveContentUI.CLIENT_PROPERTY_LIST_PREDICATE, - ReferenceDtos.newContainsIdPredicate(speciesIds)); - } - @Override public void openUI() throws Exception { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index 0169cd4..a4f40db 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -90,6 +90,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat // Compute valid state of tab from the error table protected final TableModelListener computeTabValidStateListener = new TableModelListener() { + @Override public void tableChanged(TableModelEvent e) { @@ -100,6 +101,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat }; private final PropertyChangeListener catchFateChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { onCatchFateChanged((ReferenceDto<CatchFateLonglineDto>) evt.getNewValue(), (CatchLonglineDto) evt.getSource()); @@ -107,6 +109,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat }; private final PropertyChangeListener branchlineChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { onBranchlineChanged((ReferenceDto<BranchlineDto>) evt.getNewValue()); @@ -114,6 +117,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat }; private final PropertyChangeListener depredatedChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { onDepretadedChanged((Boolean) evt.getNewValue(), (CatchLonglineDto) evt.getSource()); @@ -369,13 +373,13 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SizeMeasureTypeDto.class.getSimpleName())); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); - Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, SizeMeasureTypeDto.class.getSimpleName()); + Decorator<ReferenceDto<SizeMeasureTypeDto>> decorator = getReferenceDecorator(SizeMeasureTypeDto.class); ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); ReferenceSetDto<SizeMeasureTypeDto> sizeMeasureTypeDtoRefSet = referentialService.getReferentialReferenceSet(SizeMeasureTypeDto.class); - ArrayList<ReferenceDto> sizeMeasureTypes = Lists.newArrayList(sizeMeasureTypeDtoRefSet.getReference()); + ArrayList<ReferenceDto<SizeMeasureTypeDto>> sizeMeasureTypes = Lists.newArrayList(sizeMeasureTypeDtoRefSet.getReference()); UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(sizeMeasureTypes, decorator)); UIHelper.setTableColumnEditor(table, 1, ContentUIInitializer.newFloatColumnEditor(table)); @@ -399,13 +403,13 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, WeightMeasureTypeDto.class.getSimpleName())); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); - Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, WeightMeasureTypeDto.class.getSimpleName()); + Decorator<ReferenceDto<WeightMeasureTypeDto>> decorator = getReferenceDecorator(WeightMeasureTypeDto.class); ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); ReferenceSetDto<WeightMeasureTypeDto> weightMeasureTypeDtoRefSet = referentialService.getReferentialReferenceSet(WeightMeasureTypeDto.class); - ArrayList<ReferenceDto> weightMeasureTypes = Lists.newArrayList(weightMeasureTypeDtoRefSet.getReference()); + ArrayList<ReferenceDto<WeightMeasureTypeDto>> weightMeasureTypes = Lists.newArrayList(weightMeasureTypeDtoRefSet.getReference()); UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(weightMeasureTypes, decorator)); UIHelper.setTableColumnEditor(table, 1, ContentUIInitializer.newFloatColumnEditor(table)); @@ -417,6 +421,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } getTableModel().addPropertyChangeListener(ContentTableModel.CREATE_PROPERTY, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Boolean oldValue = (Boolean) evt.getOldValue(); @@ -438,6 +443,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat uiInitializer.initUI(); getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_SHOW_INDIVIDUAL_TABS, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Boolean newValue = (Boolean) evt.getNewValue(); @@ -446,6 +452,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat }); getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Boolean newValue = (Boolean) evt.getNewValue(); @@ -454,15 +461,16 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat }); getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { - uiInitializer.referentialDataUpdated(); + updateReferenceSets(false); } }); setTableModelEditable(getModel().isEditable()); - LonglinePositionHelper<CatchLonglineDto> positionHelper = new LonglinePositionHelper<CatchLonglineDto>( + LonglinePositionHelper<CatchLonglineDto> positionHelper = new LonglinePositionHelper<>( getUi().getSection(), getUi().getBasket(), getUi().getBranchline(), @@ -509,9 +517,9 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); positionHelper.initSections(formDto.getReferenceSetDto(SectionDto.class, CatchLonglineDto.PROPERTY_SECTION), - formDto.getReferenceSetDto(BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), - formDto.getReferenceSetDto(BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), - formDto.getForm().getCatchLongline()); + formDto.getReferenceSetDto(BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), + formDto.getReferenceSetDto(BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), + formDto.getForm().getCatchLongline()); SetLonglineCatchDtos.copySetLonglineCatchDto(formDto.getForm(), getBean()); @@ -791,7 +799,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { - Set<String> errorProperties = new HashSet<String>(); + Set<String> errorProperties = new HashSet<>(); int rowCount = errorTableModel.getRowCount(); for (int i = 0; i < rowCount; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index 41d6668..9445037 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -94,6 +94,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip // Compute valid state of tab from the error table protected final TableModelListener computeTabValidStateListener = new TableModelListener() { + @Override public void tableChanged(TableModelEvent e) { @@ -222,7 +223,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip n("observe.gearUseFeaturesLongline.table.comment"), n("observe.gearUseFeaturesLongline.table.comment.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, GearDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, GearDto.class.getSimpleName())); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newBooleanTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newStringTableCellRenderer(renderer, 10, true)); @@ -243,13 +244,13 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip table.getTableHeader().setReorderingAllowed(false); - Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, GearCaracteristicDto.class.getSimpleName()); + Decorator<ReferenceDto<GearCaracteristicDto>> decorator = getReferenceDecorator(GearCaracteristicDto.class); ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); ReferenceSetDto<GearCaracteristicDto> gearCaracteristicDtoRefSet = referentialService.getReferentialReferenceSet(GearCaracteristicDto.class); - ArrayList<ReferenceDto> gearCaracteristics = Lists.newArrayList(gearCaracteristicDtoRefSet.getReference()); + ArrayList<ReferenceDto<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicDtoRefSet.getReference()); UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(gearCaracteristics, decorator)); UIHelper.setTableColumnEditor(table, 1, new GearUseFeatureMeasurementCellEditor(0)); @@ -287,6 +288,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip super.initUI(); getModel().addPropertyChangeListener(GearUseFeaturesLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Boolean newValue = (Boolean) evt.getNewValue(); @@ -349,7 +351,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip if (!selectionEmpty) { - GearUseFeaturesMeasurementLonglineDto data = tableModel.getSelectedRow(); + GearUseFeaturesMeasurementLonglineDto data = tableModel.getSelectedRow(); if (log.isInfoEnabled()) { log.info("Delete: " + data); @@ -443,7 +445,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { - Set<String> errorProperties = new HashSet<String>(); + Set<String> errorProperties = new HashSet<>(); int rowCount = errorTableModel.getRowCount(); for (int i = 0; i < rowCount; i++) { @@ -471,14 +473,15 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip List<GearUseFeaturesMeasurementLonglineDto> measurements = Lists.newArrayList( Iterables.transform(gearDto.getGearCaracteristic(), - new Function<ReferentialReferenceDto<GearCaracteristicDto>, GearUseFeaturesMeasurementLonglineDto>() { - @Override - public GearUseFeaturesMeasurementLonglineDto apply(ReferentialReferenceDto<GearCaracteristicDto> input) { - GearUseFeaturesMeasurementLonglineDto measurementLonglineDto = new GearUseFeaturesMeasurementLonglineDto(); - measurementLonglineDto.setGearCaracteristic(input); - return measurementLonglineDto; - } - })); + new Function<ReferentialReferenceDto<GearCaracteristicDto>, GearUseFeaturesMeasurementLonglineDto>() { + + @Override + public GearUseFeaturesMeasurementLonglineDto apply(ReferentialReferenceDto<GearCaracteristicDto> input) { + GearUseFeaturesMeasurementLonglineDto measurementLonglineDto = new GearUseFeaturesMeasurementLonglineDto(); + measurementLonglineDto.setGearCaracteristic(input); + return measurementLonglineDto; + } + })); return measurements; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index 14f209a..c76fbe8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -239,13 +239,13 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei table.getTableHeader().setReorderingAllowed(false); - Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, GearCaracteristicDto.class.getSimpleName()); + Decorator<ReferenceDto<GearCaracteristicDto>> decorator = getReferenceDecorator(GearCaracteristicDto.class); ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); ReferenceSetDto<GearCaracteristicDto> gearCaracteristicDtoRefSet = referentialService.getReferentialReferenceSet(GearCaracteristicDto.class); - ArrayList<ReferenceDto> gearCaracteristics = Lists.newArrayList(gearCaracteristicDtoRefSet.getReference()); + ArrayList<ReferenceDto<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicDtoRefSet.getReference()); UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(gearCaracteristics, decorator)); UIHelper.setTableColumnEditor(table, 1, new GearUseFeatureMeasurementCellEditor(0)); diff --git a/observe-application-swing/src/main/resources/observe-log4j.properties b/observe-application-swing/src/main/resources/observe-log4j.properties index 027fd89..61ae1eb 100644 --- a/observe-application-swing/src/main/resources/observe-log4j.properties +++ b/observe-application-swing/src/main/resources/observe-log4j.properties @@ -45,7 +45,7 @@ log4j.logger.fr.ird.observe.entities.Entities=DEBUG log4j.logger.fr.ird.observe.validation.field=WARN log4j.logger.fr.ird.observe.ui.tree=INFO -log4j.logger.fr.ird.observe.decorator.ObserveDecorator=ERROR +log4j.logger.fr.ird.observe.ui.util.decorator=ERROR log4j.logger.org.nuiton.topia.migration=INFO log4j.logger.org.nuiton.config=INFO -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 4283b5cbb0069572ab7b69dd8630e403cae30cfe Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 19 20:08:56 2015 +0100 Meilleure utilisation des ReferenceDto --- .../observe/services/service/ReferentialServiceTopia.java | 14 ++++++++------ .../service/seine/NonTargetSampleServiceTopia.java | 2 +- .../services/service/seine/TargetSampleServiceTopia.java | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index c4e9908..3d7d59a 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -195,17 +195,19 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe Iterable<E> entities = loadEntities(entityType); - LinkedHashSet<ReferentialReferenceDto<D>> labels = new LinkedHashSet<>(); + LinkedHashSet<ReferenceDto<D>> labels = new LinkedHashSet<>(); for (E entity : entities) { - ReferentialReferenceDto<D> dto = (ReferentialReferenceDto<D>) entityToReferenceDto(dtoType, entity); + ReferenceDto<D> dto = entityToReferenceDto(dtoType, entity); if (loadTechnicalInformations) { - dto.setVersion(entity.getTopiaVersion()); - dto.setCreateDate(entity.getTopiaCreateDate()); - dto.setLastUpdate(entity.getLastUpdate()); - dto.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == entity.getStatus()); + ReferentialReferenceDto<D> referentialReferenceDto = (ReferentialReferenceDto<D>) dto; + referentialReferenceDto.setVersion(entity.getTopiaVersion()); + referentialReferenceDto.setCreateDate(entity.getTopiaCreateDate()); + referentialReferenceDto.setLastUpdate(entity.getLastUpdate()); + referentialReferenceDto.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == entity.getStatus()); + } labels.add(dto); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java index fb02144..76ff6d3 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java @@ -117,7 +117,7 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements } - LinkedHashSet<ReferenceDto> speciesRefs = Sets.newLinkedHashSet(); + LinkedHashSet<ReferenceDto<SpeciesDto>> speciesRefs = Sets.newLinkedHashSet(); for (Species species : speciesSet ) { speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index 727d4e9..d651f02 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -120,7 +120,7 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } - LinkedHashSet<ReferenceDto> speciesRefs = Sets.newLinkedHashSet(); + LinkedHashSet<ReferenceDto<SpeciesDto>> speciesRefs = Sets.newLinkedHashSet(); for (Species species : speciesSet ) { speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 7117cdfff5f7d95c1061b5f42466dc88bcab772d Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:43:18 2015 +0100 Fix generic --- .../src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java index ad27724..7a03b5b 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java @@ -62,8 +62,8 @@ public class ReferenceSetDto<R extends IdDto> extends AbstractReferenceSetDto { .toString(); } - public ReferenceDto getReference(int index) { - ReferenceDto o = getChild(reference, index); + public ReferenceDto<R> getReference(int index) { + ReferenceDto<R> o = getChild(reference, index); return o; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 20213ae21053d05e5585eda2c26d8779bec0f9bd Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:43:24 2015 +0100 Réajout de méthodes enlevées trop rapidemment --- .../java/fr/ird/observe/services/dto/FormDto.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java index 219e9b3..0ff891a 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java @@ -26,6 +26,8 @@ import com.google.common.base.MoreObjects; import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; public class FormDto<R extends IdDto> extends AbstractFormDto { @@ -135,6 +137,23 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { } + //FIXME Supprimer cette méthode et toujours utiliser celle dessous car un ReferenceSetDto porte aussi sur le nom + //FIXME éviter d'avoir des API non déterministes + @Deprecated + public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String id) { + + return getReferentialReferenceById(type, null, id); + + } + + public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String name, String id) { + + ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type, name); + ReferentialReferenceDto<D> referenceDto = (ReferentialReferenceDto<D>) referenceSetDto.getById(id); + return referenceDto; + + } + @Override public String toString() { return MoreObjects.toStringHelper(this) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 38a4cc8ac12308e288731f0eb0bf52cf6931b5f6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:43:30 2015 +0100 Ajout d'une méthode utile pour récupérer tous les types de lables d'un formulaire --- .../fr/ird/observe/services/dto/ReferenceSetDtos.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java index eb12ec1..5667457 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java @@ -22,11 +22,15 @@ package fr.ird.observe.services.dto; * #L% */ +import com.google.common.base.Function; import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; +import com.google.common.collect.Sets; import java.util.Date; import java.util.LinkedHashSet; import java.util.Objects; +import java.util.Set; public class ReferenceSetDtos extends AbstractReferenceSetDtos { @@ -65,5 +69,18 @@ public class ReferenceSetDtos extends AbstractReferenceSetDtos { } + public static Set<Class<?>> getTypes(Iterable<ReferenceSetDto> referenceSets) { + + Set<Class<?>> types = Sets.newLinkedHashSet(Iterables.transform(referenceSets, new Function<ReferenceSetDto, Class<?>>() { + + @Override + public Class<?> apply(ReferenceSetDto input) { + return input.getType(); + } + })); + return types; + + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 2617dd47d372ab3a48aa4b2834f3104f52c18f6e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:44:21 2015 +0100 Déplacement du cache de rérentiels dans le module de l'API de service et intégration dans les tests --- .../fr/ird/observe/db/ObserveSwingDataSource.java | 62 +--------------------- .../services/service}/ObserveReferentialCache.java | 58 +++++++++++++++++++- .../ird/observe/services/DataSourceResource.java | 20 +++++-- .../services/service/AbstractServiceTopiaTest.java | 4 +- 4 files changed, 79 insertions(+), 65 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index 39401f2..6d1312d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -2,7 +2,6 @@ package fr.ird.observe.db; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableMap; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.event.ObserveSwingDataSourceEvent; @@ -23,20 +22,12 @@ import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportExcept import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.ObserveDbUserDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.reference.ObserveReference; -import fr.ird.observe.services.dto.reference.ObserveReferenceSet; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; -import fr.ird.observe.services.dto.reference.ObserveReferentialReference; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; +import fr.ird.observe.services.service.ObserveReferentialCache; import fr.ird.observe.services.service.ReferenceSetService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -47,8 +38,6 @@ import javax.swing.JOptionPane; import javax.swing.event.EventListenerList; import java.io.Closeable; import java.io.File; -import java.util.Date; -import java.util.LinkedHashSet; import java.util.Locale; import java.util.Set; @@ -276,54 +265,7 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements checkIsOpen(); ReferenceSetService referenceSetService = newService(ReferenceSetService.class); - - LinkedHashSet<ReferenceSetDto> values = new LinkedHashSet<>(); - - String referentialRequestName = formDto.getReferentialReferenceSetRequestName(); - if (referentialRequestName != null) { - - if (log.isInfoEnabled()) { - log.info("Loading referantialReferenceSetRequest: " + referentialRequestName); - } - ImmutableMap<String, Date> lastUpdateDates = referentialCache.getLastUpdateDates(referentialRequestName); - - ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); - request.setRequestName(referentialRequestName); - request.setLastUpdateDates(lastUpdateDates); - - ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = referenceSetService.loadReferentialReferenceSets(request); - - ImmutableMap<String, ReferenceSetDto<?>> referenceSets = referentialCache.loadReferenceSets(referenceSetResult); - values.addAll(referenceSets.values()); - } - - String dataRequestName = formDto.getDataReferenceSetRequestName(); - if (dataRequestName != null) { - - if (log.isInfoEnabled()) { - log.info("Loading dataReferenceSetRequest: " + dataRequestName); - } - ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); - request.setRequestName(dataRequestName); - request.setLastUpdateDates(ImmutableMap.<String, Date>of()); - - ObserveReferenceSetResult<ObserveReference> referenceSetResult = referenceSetService.loadDataReferenceSets(request); - ImmutableMap<String, ObserveReferenceSet<?, ObserveReference>> referenceSets = referenceSetResult.getReferenceSets(); - - ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(dataRequestName); - for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { - - String requestKeyDefinitionName = requestKeyDefinition.getName(); - ObserveReferenceSet<?, ObserveReference> referenceSet = referenceSets.get(requestKeyDefinitionName); - - ReferenceSetDto<?> referenceSetDto = referenceSet.toReferenceSetDto(requestKeyDefinitionName); - values.add(referenceSetDto); - - } - - } - - formDto.setLabels(values); + referentialCache.loadReferenceSets(referenceSetService, formDto); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ObserveReferentialCache.java similarity index 62% rename from observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java rename to observe-services-api/src/main/java/fr/ird/observe/services/service/ObserveReferentialCache.java index 76abd27..e6facfd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCache.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ObserveReferentialCache.java @@ -1,8 +1,11 @@ -package fr.ird.observe.db; +package fr.ird.observe.services.service; import com.google.common.collect.ImmutableMap; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.reference.ObserveReference; import fr.ird.observe.services.dto.reference.ObserveReferenceSet; +import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; import fr.ird.observe.services.dto.reference.ObserveReferentialReference; import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; @@ -15,6 +18,7 @@ import java.io.Closeable; import java.io.Serializable; import java.util.Date; import java.util.LinkedHashMap; +import java.util.LinkedHashSet; import java.util.Map; /** @@ -35,6 +39,58 @@ public class ObserveReferentialCache implements Closeable, Serializable { this.cache = new LinkedHashMap<>(); } + public void loadReferenceSets(ReferenceSetService referenceSetService, FormDto<?> formDto) { + + LinkedHashSet<ReferenceSetDto> values = new LinkedHashSet<>(); + + String referentialRequestName = formDto.getReferentialReferenceSetRequestName(); + if (referentialRequestName != null) { + + if (log.isInfoEnabled()) { + log.info("Loading referantialReferenceSetRequest: " + referentialRequestName); + } + ImmutableMap<String, Date> lastUpdateDates = getLastUpdateDates(referentialRequestName); + + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(referentialRequestName); + request.setLastUpdateDates(lastUpdateDates); + + ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = referenceSetService.loadReferentialReferenceSets(request); + + ImmutableMap<String, ReferenceSetDto<?>> referenceSets = loadReferenceSets(referenceSetResult); + values.addAll(referenceSets.values()); + } + + String dataRequestName = formDto.getDataReferenceSetRequestName(); + if (dataRequestName != null) { + + if (log.isInfoEnabled()) { + log.info("Loading dataReferenceSetRequest: " + dataRequestName); + } + ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + request.setRequestName(dataRequestName); + request.setLastUpdateDates(ImmutableMap.<String, Date>of()); + + ObserveReferenceSetResult<ObserveReference> referenceSetResult = referenceSetService.loadDataReferenceSets(request); + ImmutableMap<String, ObserveReferenceSet<?, ObserveReference>> referenceSets = referenceSetResult.getReferenceSets(); + + ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(dataRequestName); + for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + + String requestKeyDefinitionName = requestKeyDefinition.getName(); + ObserveReferenceSet<?, ObserveReference> referenceSet = referenceSets.get(requestKeyDefinitionName); + + ReferenceSetDto<?> referenceSetDto = referenceSet.toReferenceSetDto(requestKeyDefinitionName); + values.add(referenceSetDto); + + } + + } + + formDto.setLabels(values); + + } + /** * Pour récupérer les dates de dernières mises à jour des ensembles de références utiliées par la requète. * diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java index 4f57135..e458270 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java @@ -33,6 +33,7 @@ import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.service.DataSourceService; +import fr.ird.observe.services.service.ObserveReferentialCache; import fr.ird.observe.test.TestHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -71,6 +72,8 @@ public class DataSourceResource implements TestRule { protected String scriptName; + protected ObserveReferentialCache referentialCache; + public DataSourceResource(ApplicationContextResource applicationContextResource, Set<String> testNamesChangeDataBase, String scriptName) { this.applicationContextResource = applicationContextResource; this.testNamesChangeDataBase = testNamesChangeDataBase; @@ -99,6 +102,13 @@ public class DataSourceResource implements TestRule { } } + public ObserveReferentialCache getReferentialCache() { + if (referentialCache == null) { + referentialCache = new ObserveReferentialCache(); + } + return referentialCache; + } + public void createDataSourceFromScript(String scriptPath) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { byte[] databaseToImportContent = getDatabaseToImportContent(scriptPath); @@ -194,15 +204,15 @@ public class DataSourceResource implements TestRule { File commonsDir = TestHelper.getCommonsDir(); - File dataBaseCommonsRefDirectory = new File (commonsDir, scriptName); + File dataBaseCommonsRefDirectory = new File(commonsDir, scriptName); applicationContextResource.setDataBaseCommonRefDirectory(dataBaseCommonsRefDirectory); //if (testNamesChangeDataBase.contains(methodName)) { - File dataBaseDirectory = new File (testDirectory, scriptName); + File dataBaseDirectory = new File(testDirectory, scriptName); - applicationContextResource.setDataBaseDirectory(dataBaseDirectory); + applicationContextResource.setDataBaseDirectory(dataBaseDirectory); // } else { // @@ -223,6 +233,10 @@ public class DataSourceResource implements TestRule { log.debug("Ends " + testClass.getName() + "::" + methodName); } + if (referentialCache != null) { + referentialCache.close(); + } + applicationContextResource.closeServiceFactory(); applicationContextResource.setTemporaryDirectoryRoot(null); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java index b6fe60f..56b9d85 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java @@ -152,7 +152,9 @@ public abstract class AbstractServiceTopiaTest { return lastUpdateType.getLastUpdate(); - } + public ObserveReferentialCache getReferentialCache() { + return dataSourceResource.getReferentialCache(); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit da9cc4cf5fd83d499867ee271255ea45465ecf88 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 08:44:35 2015 +0100 Suppression classe non utilisée --- .../ird/observe/db/ObserveReferentialCacheKey.java | 33 ---------------------- 1 file changed, 33 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCacheKey.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCacheKey.java deleted file mode 100644 index 3eda009..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveReferentialCacheKey.java +++ /dev/null @@ -1,33 +0,0 @@ -package fr.ird.observe.db; - -import com.google.common.base.Optional; -import fr.ird.observe.services.dto.referential.ReferentialDto; - -/** - * Created on 10/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReferentialCacheKey<D extends ReferentialDto> { - - private final Class<D> type; - - private final Optional<String> context; - - public ObserveReferentialCacheKey(Class<D> type, Optional<String> context) { - this.type = type; - this.context = context; - } - - public Class<D> getType() { - return type; - } - - public Optional<String> getContext() { - return context; - } - - public static <D extends ReferentialDto> ObserveReferentialCacheKey<D> of(Class<D> type, String optionalContext) { - return new ObserveReferentialCacheKey<>(type, Optional.fromNullable(optionalContext)); - } -} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 6f8f7758dc418ecc72148c7353b5f637c9acab15 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 09:48:04 2015 +0100 Suppression de la méthode loadForRead et renommage de l'autre en loadForm --- .../open/impl/seine/TripSeineUIHandler.java | 14 +-- .../v1/seine/TripSeineServiceController.java | 9 +- .../services/service/seine/TripSeineService.java | 12 +-- .../service/seine/TripSeineServiceTopia.java | 54 +++++------ .../service/seine/TripSeineServiceTopiaTest.java | 104 ++++++--------------- 5 files changed, 65 insertions(+), 128 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 5eeee20..4167254 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -185,21 +185,13 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } formDto = getTripSeineService().preCreate(programId); - } else if (mode == ContentMode.READ) { - - // read mode - if (log.isInfoEnabled()) { - log.info(prefix + "read existing trip " + tripId); - } - formDto = getTripSeineService().loadToRead(tripId); - } else { - // edit mode + // update mode if (log.isInfoEnabled()) { - log.info(prefix + "edit existing trip " + tripId); + log.info(prefix + "load existing trip " + tripId); } - formDto = getTripSeineService().loadToEdit(tripId); + formDto = getTripSeineService().loadForm(tripId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java index 9f5fdaf..7734e25 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java @@ -68,18 +68,13 @@ public class TripSeineServiceController extends ObserveAuthenticatedServiceContr } @Override - public FormDto<TripSeineDto> loadToRead(String tripSeineId) { - return service.loadToRead(tripSeineId); - } - - @Override public boolean exists(String tripSeineId) { return service.exists(tripSeineId); } @Override - public FormDto<TripSeineDto> loadToEdit(String tripSeineId) { - return service.loadToEdit(tripSeineId); + public FormDto<TripSeineDto> loadForm(String tripSeineId) { + return service.loadForm(tripSeineId); } @Override diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java index 47e2d1f..6d4856e 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java @@ -42,6 +42,7 @@ import java.util.List; */ public interface TripSeineService extends ObserveService { + @ReadDataPermission ReferenceSetDto<TripSeineDto> getAllTripSeine(); @ReadDataPermission @@ -51,13 +52,13 @@ public interface TripSeineService extends ObserveService { int getTripSeinePositionInProgram(String programId, String tripSeineId); @ReadDataPermission - TripSeineDto loadDto(String tripSeineId); - - @ReadDataPermission TripMapDto getTripSeineMap(String tripSeineId); + @WriteDataPermission + FormDto<TripSeineDto> loadForm(String tripSeineId); + @ReadDataPermission - FormDto<TripSeineDto> loadToRead(String tripSeineId); + TripSeineDto loadDto(String tripSeineId); @ReadDataPermission ReferenceDto<TripSeineDto> loadReferenceToRead(String tripSeineId); @@ -66,9 +67,6 @@ public interface TripSeineService extends ObserveService { boolean exists(String tripSeineId); @WriteDataPermission - FormDto<TripSeineDto> loadToEdit(String tripSeineId); - - @WriteDataPermission FormDto<TripSeineDto> preCreate(String programId); @Write diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index c309822..4473b56 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -22,6 +22,7 @@ package fr.ird.observe.services.service.seine; * #L% */ +import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.constants.ReferenceLocale; @@ -59,7 +60,6 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe @Override public ReferenceSetDto<TripSeineDto> getAllTripSeine() { - ReferenceLocale referenceLocale = getReferenceLocale(); List<TripSeine> tripSeines = loadEntities(TripSeine.class); @@ -67,6 +67,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe for (TripSeine tripSeine : tripSeines) { + //FIXME Utiliser les définitions de références ReferenceDto<TripSeineDto> stub = entityToReferenceDto(TripSeineDto.class, tripSeine); stubs.add(stub); @@ -92,6 +93,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe for (TripSeine tripSeine : tripSeines) { + //FIXME Utiliser les définitions de références ReferenceDto<TripSeineDto> stub = entityToReferenceDto(TripSeineDto.class, tripSeine); stubs.add(stub); @@ -109,6 +111,27 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe } @Override + public FormDto<TripSeineDto> loadForm(String tripSeineId) { + + TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + + FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, TripSeine.class, tripSeine); + //FIXME Remove labels building from the entityToEditFormDto method + form.setLabels(ImmutableList.<ReferenceSetDto>of()); + + form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); + + TripSeineDto tripSeineDto = form.getForm(); + + if (tripSeineDto.getEndDate() == null) { + Date date = DateUtil.getEndOfDay(now()); + tripSeineDto.setEndDate(date); + } + + return form; + } + + @Override public TripSeineDto loadDto(String tripSeineId) { TripSeineDto dto= loadEntityToDto(TripSeineDto.class, tripSeineId); @@ -130,17 +153,6 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe } @Override - public FormDto<TripSeineDto> loadToRead(String tripSeineId) { - - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); - - FormDto<TripSeineDto> form = entityToReadFormDto(TripSeineDto.class, TripSeine.class, tripSeine); - form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); - - return form; - } - - @Override public ReferenceDto<TripSeineDto> loadReferenceToRead(String tripSeineId) { TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); @@ -155,24 +167,6 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe } @Override - public FormDto<TripSeineDto> loadToEdit(String tripSeineId) { - - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); - - FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, TripSeine.class, tripSeine); - form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); - - TripSeineDto tripSeineDto = form.getForm(); - - if (tripSeineDto.getEndDate() == null) { - Date date = DateUtil.getEndOfDay(now()); - tripSeineDto.setEndDate(date); - } - - return form; - } - - @Override public FormDto<TripSeineDto> preCreate(String programId) { TripSeine tripSeine = newEntity(TripSeine.class); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java index 2628c00..3879f16 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java @@ -23,8 +23,6 @@ package fr.ird.observe.services.service.seine; */ import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceContextTopiaTaiste; import fr.ird.observe.services.dto.FormDto; @@ -36,12 +34,12 @@ import fr.ird.observe.services.dto.referential.HarbourDto; import fr.ird.observe.services.dto.referential.OceanDto; import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.VesselDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.ConcurrentModificationException; +import fr.ird.observe.services.service.ReferenceSetService; import fr.ird.observe.services.service.ReferentialService; import org.junit.Assert; import org.junit.Test; @@ -60,6 +58,8 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { protected ReferentialService referentialService; + protected ReferenceSetService referenceSetService; + @Override public Set<String> getTestNamesChangeDataBase() { return ImmutableSet.of( @@ -80,6 +80,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { service = newService(TripSeineService.class); referentialService = newService(ReferentialService.class); + referenceSetService = newService(ReferenceSetService.class); } @@ -122,10 +123,10 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - public void loadToReadTest() throws Exception { + public void loadFormTest() throws Exception { TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); - FormDto<TripSeineDto> formDto = service.loadToRead(TRIP_SEINE_ID_1); + FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); Assert.assertNotNull(formDto); TripSeineDto tripSeineDto = formDto.getForm(); @@ -145,39 +146,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeine.getComment(), tripSeineDto.getComment()); Assert.assertEquals(tripSeine.getLastUpdate(), tripSeineDto.getLastUpdate()); - assertTripFormLabels(formDto); - - for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { - - Assert.assertEquals(0, referenceSetDto.sizeReference()); - - } - - } - - @Test - public void loadToEditTest() throws Exception { - - TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); - FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); - - Assert.assertNotNull(formDto); - TripSeineDto tripSeineDto = formDto.getForm(); - - assertEntityEqualsReferenceDto(tripSeine.getCaptain(), tripSeineDto.getCaptain()); - assertEntityEqualsReferenceDto(tripSeine.getObserver(), tripSeineDto.getObserver()); - assertEntityEqualsReferenceDto(tripSeine.getDataEntryOperator(), tripSeineDto.getDataEntryOperator()); - assertEntityEqualsReferenceDto(tripSeine.getVessel(), tripSeineDto.getVessel()); - assertEntityEqualsReferenceDto(tripSeine.getOcean(), tripSeineDto.getOcean()); - assertEntityEqualsReferenceDto(tripSeine.getDepartureHarbour(), tripSeineDto.getDepartureHarbour()); - assertEntityEqualsReferenceDto(tripSeine.getLandingHarbour(), tripSeineDto.getLandingHarbour()); - Assert.assertEquals(tripSeine.getErsId(), tripSeineDto.getErsId()); - Assert.assertEquals(tripSeine.getStartDate(), tripSeineDto.getStartDate()); - Assert.assertEquals(tripSeine.getEndDate(), tripSeineDto.getEndDate()); - Assert.assertEquals(tripSeine.getFormsUrl(), tripSeineDto.getFormsUrl()); - Assert.assertEquals(tripSeine.getReportsUrl(), tripSeineDto.getReportsUrl()); - Assert.assertEquals(tripSeine.getComment(), tripSeineDto.getComment()); - Assert.assertEquals(tripSeine.getLastUpdate(), tripSeineDto.getLastUpdate()); + loadReferenceSets(referenceSetService, formDto); assertTripFormLabels(formDto); @@ -228,21 +197,16 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { TripSeineDto tripSeineDto = formDto.getForm(); - ReferenceSetDto<PersonDto> personRefs = formDto.getReferenceSetDto(PersonDto.class); - ReferenceSetDto<VesselDto> vesselRefs = formDto.getReferenceSetDto(VesselDto.class); - ReferenceSetDto<OceanDto> oceanRefs = formDto.getReferenceSetDto(OceanDto.class); - ReferenceSetDto<HarbourDto> harbourRefs = formDto.getReferenceSetDto(HarbourDto.class); - - tripSeineDto.setCaptain((ReferentialReferenceDto<PersonDto>) personRefs.getReference(0)); - tripSeineDto.setObserver((ReferentialReferenceDto<PersonDto>) personRefs.getReference(1)); - tripSeineDto.setDataEntryOperator((ReferentialReferenceDto<PersonDto>) personRefs.getReference(2)); + tripSeineDto.setCaptain(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_CAPTAIN, 0)); + tripSeineDto.setObserver(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_OBSERVER, 0)); + tripSeineDto.setDataEntryOperator(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, 0)); - tripSeineDto.setVessel((ReferentialReferenceDto<VesselDto>) vesselRefs.getReference(0)); + tripSeineDto.setVessel(getReference(formDto, VesselDto.class, TripSeine.PROPERTY_VESSEL, 0)); - tripSeineDto.setOcean((ReferentialReferenceDto<OceanDto>) oceanRefs.getReference(0)); + tripSeineDto.setOcean(getReference(formDto, OceanDto.class, TripSeine.PROPERTY_OCEAN, 0)); - tripSeineDto.setDepartureHarbour((ReferentialReferenceDto<HarbourDto>) harbourRefs.getReference(0)); - tripSeineDto.setLandingHarbour((ReferentialReferenceDto<HarbourDto>) harbourRefs.getReference(1)); + tripSeineDto.setDepartureHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_DEPARTURE_HARBOUR, 0)); + tripSeineDto.setLandingHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_LANDING_HARBOUR, 0)); tripSeineDto.setErsId("ersid"); @@ -282,21 +246,19 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void saveUpdateTest() { - FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); + FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); - TripSeineDto tripSeineDto = formDto.getForm(); + loadReferenceSets(referenceSetService, formDto); - ReferenceSetDto<PersonDto> personRefs = formDto.getReferenceSetDto(PersonDto.class); - ReferenceSetDto<OceanDto> oceanRefs = formDto.getReferenceSetDto(OceanDto.class); - ReferenceSetDto<HarbourDto> harbourRefs = formDto.getReferenceSetDto(HarbourDto.class); + TripSeineDto tripSeineDto = formDto.getForm(); - tripSeineDto.setCaptain((ReferentialReferenceDto<PersonDto>) personRefs.getReference(0)); - tripSeineDto.setDataEntryOperator((ReferentialReferenceDto<PersonDto>) personRefs.getReference(2)); + tripSeineDto.setCaptain(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_CAPTAIN, 0)); + tripSeineDto.setDataEntryOperator(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, 0)); - tripSeineDto.setOcean((ReferentialReferenceDto<OceanDto>) oceanRefs.getReference(0)); + tripSeineDto.setOcean(getReference(formDto, OceanDto.class, TripSeine.PROPERTY_OCEAN, 0)); - tripSeineDto.setDepartureHarbour((ReferentialReferenceDto<HarbourDto>) harbourRefs.getReference(0)); - tripSeineDto.setLandingHarbour((ReferentialReferenceDto<HarbourDto>) harbourRefs.getReference(1)); + tripSeineDto.setDepartureHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_DEPARTURE_HARBOUR, 0)); + tripSeineDto.setLandingHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_LANDING_HARBOUR, 0)); tripSeineDto.setErsId("ersid"); @@ -335,31 +297,27 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } - - @Test(expected = ConcurrentModificationException.class) public void saveConcurrentTest() { - FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); + FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); TripSeineDto tripSeineDto = formDto.getForm(); - ReferenceSetDto<PersonDto> personRefs = formDto.getReferenceSetDto(PersonDto.class); - ReferenceSetDto<OceanDto> oceanRefs = formDto.getReferenceSetDto(OceanDto.class); - ReferenceSetDto<HarbourDto> harbourRefs = formDto.getReferenceSetDto(HarbourDto.class); + loadReferenceSets(referenceSetService, formDto); - tripSeineDto.setCaptain((ReferentialReferenceDto<PersonDto>) personRefs.getReference(0)); - tripSeineDto.setDataEntryOperator((ReferentialReferenceDto<PersonDto>) personRefs.getReference(2)); + tripSeineDto.setCaptain(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_CAPTAIN, 0)); + tripSeineDto.setDataEntryOperator(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, 0)); - tripSeineDto.setOcean((ReferentialReferenceDto<OceanDto>) oceanRefs.getReference(0)); + tripSeineDto.setOcean(getReference(formDto, OceanDto.class, TripSeine.PROPERTY_OCEAN, 0)); - tripSeineDto.setDepartureHarbour((ReferentialReferenceDto<HarbourDto>) harbourRefs.getReference(0)); - tripSeineDto.setLandingHarbour((ReferentialReferenceDto<HarbourDto>) harbourRefs.getReference(1)); + tripSeineDto.setDepartureHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_DEPARTURE_HARBOUR, 0)); + tripSeineDto.setLandingHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_LANDING_HARBOUR, 0)); // on fait croire que notre version est plus ancienne Calendar calendar = Calendar.getInstance(); calendar.setTime(tripSeineDto.getLastUpdate()); - calendar.add(Calendar.HOUR, - 1); + calendar.add(Calendar.HOUR, -1); tripSeineDto.setLastUpdate(calendar.getTime()); service.save(formDto.getForm()); @@ -388,7 +346,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(formDto.getLabels()); - Set<Class> types = Sets.newLinkedHashSet(Iterables.transform(formDto.getLabels(), ReferenceSetDtos.getTypeFunction())); + Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); Assert.assertTrue(types.contains(PersonDto.class)); Assert.assertTrue(types.contains(VesselDto.class)); Assert.assertTrue(types.contains(OceanDto.class)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 73880f3b7150639471b92ec9be0eed13912c8924 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 09:49:42 2015 +0100 Amélioration des logs + bien transformer les références vers référentiels + prise en compte des champs techniques --- .../fr/ird/observe/services/dto/ReferenceDto.java | 20 +++++++--- .../dto/gson/ObserveReferenceSetAdapter.java | 2 +- .../dto/reference/ObserveReferenceSet.java | 44 +++++++++++++++++++--- .../dto/reference/ObserveReferenceSetRequest.java | 10 +++++ .../dto/reference/ObserveReferenceSetResult.java | 4 +- .../dto/reference/ObserveReferentialReference.java | 34 +++++++++++------ .../definition/ObserveReferenceSetDefinition.java | 19 ++++++++++ .../ObserveReferenceSetRequestKeyDefinition.java | 21 ++++++++--- .../dto/referential/ReferentialReferenceDto.java | 30 ++++++++++----- .../dto/reference/ObserveReferenceSetBuilder.java | 27 +++++++++---- .../services/service/ReferenceSetServiceTopia.java | 23 +++++++---- 11 files changed, 177 insertions(+), 57 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java index 7301ecf..06b9a3e 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java @@ -31,6 +31,8 @@ import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.referential.I18nReferentialDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.SetSeineDto; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; @@ -50,6 +52,9 @@ public class ReferenceDto<D extends IdDto> extends AbstractReferenceDto { private static final long serialVersionUID = 1L; + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferenceDto.class); + protected Class<D> type; protected List<String> labelPropertyNames; @@ -160,12 +165,17 @@ public class ReferenceDto<D extends IdDto> extends AbstractReferenceDto { @Override public String toString() { - return MoreObjects.toStringHelper(this) - .add("type", type.getName()) - .add("id", id) - .add("labelPropertyNames", labelPropertyNames) + MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) + .add("type", type.getSimpleName()) + .add("id", id); + + if (log.isDebugEnabled()) { + toStringHelper + .add("labelPropertyNames", labelPropertyNames) + .add("labelPropertyTypes", Arrays.toString(labelPropertyTypes)); + } + return toStringHelper .add("labelPropertyValues", Arrays.toString(labelPropertyValues)) - .add("labelPropertyTypes", Arrays.toString(labelPropertyTypes)) .toString(); } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java index 300ae53..c37b255 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java @@ -83,7 +83,7 @@ public class ObserveReferenceSetAdapter implements JsonDeserializer<ObserveRefer result.setVersion((long) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_VERSION), long.class)); result.setCreateDate((Date) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_CREATE_DATE), Date.class)); - result.setLastUpdate((Date) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_LAST_UPDATE), Date.class)); + result.setLastUpdateDate((Date) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_LAST_UPDATE), Date.class)); result.setEnabled((Boolean) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_ENABLED), boolean.class)); result.setNeedComment((Boolean) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_NEED_COMMENT), boolean.class)); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java index 79b98cb..9abd500 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java @@ -5,6 +5,10 @@ import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinition; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.io.Serializable; import java.util.Collection; @@ -19,6 +23,9 @@ public class ObserveReferenceSet<D extends IdDto, R extends ObserveReference> im private static final long serialVersionUID = 1L; + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReferenceSet.class); + protected ObserveReferenceSetDefinition<D> definition; protected Collection<R> values; @@ -70,22 +77,47 @@ public class ObserveReferenceSet<D extends IdDto, R extends ObserveReference> im result.setLastUpdate(lastUpdate); result.setName(name); + boolean referential = ReferentialDto.class.isAssignableFrom(type); + for (R value : values) { - ReferenceDto<D> referenceDto = new ReferenceDto<>(); - referenceDto.init(type, propertyNames, propertyTypes, value.getValues()); - result.addReference(referenceDto); + if (referential) { + + ObserveReferentialReference referentialValue = (ObserveReferentialReference) value; + ReferentialReferenceDto referenceDto = new ReferentialReferenceDto<>(); + referenceDto.init(type, propertyNames, propertyTypes, value.getValues()); + referenceDto.setId(value.getId()); + referenceDto.setCreateDate(referentialValue.getCreateDate()); + referenceDto.setEnabled(referentialValue.isEnabled()); + referenceDto.setLastUpdate(referentialValue.getLastUpdateDate()); + referenceDto.setNeedComment(referentialValue.isNeedComment()); + referenceDto.setVersion(referentialValue.getVersion()); + result.addReference(referenceDto); + + } else { + + ReferenceDto<D> referenceDto = new ReferenceDto<>(); + referenceDto.setId(value.getId()); + referenceDto.init(type, propertyNames, propertyTypes, value.getValues()); + result.addReference(referenceDto); + + } } return result; } - + @Override public String toString() { - return MoreObjects.toStringHelper(this) - .add("definition", definition) + MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this); + if (log.isDebugEnabled()) { + toStringHelper.add("definition", definition); + } else { + toStringHelper.add("type", definition.getType().getSimpleName()); + } + return toStringHelper .add("values", values == null ? 0 : values.size()) .add("lastUpdate", lastUpdate) .toString(); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java index 25ea7b6..69cbda3 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java @@ -13,6 +13,8 @@ public class ObserveReferenceSetRequest { private String requestName; + private boolean loadTechnicalInformations; + private ImmutableMap<String, Date> lastUpdateDates; public String getRequestName() { @@ -30,4 +32,12 @@ public class ObserveReferenceSetRequest { public void setLastUpdateDates(ImmutableMap<String, Date> lastUpdateDates) { this.lastUpdateDates = lastUpdateDates; } + + public boolean isLoadTechnicalInformations() { + return loadTechnicalInformations; + } + + public void setLoadTechnicalInformations(boolean loadTechnicalInformations) { + this.loadTechnicalInformations = loadTechnicalInformations; + } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java index 2812e03..8eb4bf1 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java @@ -56,9 +56,9 @@ public class ObserveReferenceSetResult<R extends ObserveReference> { this.referenceSetsMapBuilder = ImmutableMap.builder(); } - public Builder addKey(String name, ObserveReferenceSet<?, R> referenceSet) { + public Builder addReferenceSet(String name, ObserveReferenceSet<?, R> referenceSet) { if (log.isInfoEnabled()) { - log.info("Add reference set " + name + " : " + referenceSet); + log.info(String.format("Add reference set : %s", referenceSet)); } referenceSetsMapBuilder.put(name, referenceSet); return this; diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java index f82dd81..083eccb 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java @@ -1,6 +1,8 @@ package fr.ird.observe.services.dto.reference; import com.google.common.base.MoreObjects; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.util.Arrays; import java.util.Date; @@ -14,13 +16,16 @@ public class ObserveReferentialReference extends ObserveReference { private static final long serialVersionUID = 1L; + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReferentialReference.class); + protected boolean needComment; protected boolean enabled; protected Date createDate; - protected Date lastUpdate; + protected Date lastUpdateDate; protected long version; @@ -40,12 +45,12 @@ public class ObserveReferentialReference extends ObserveReference { this.enabled = enabled; } - public Date getLastUpdate() { - return lastUpdate; + public Date getLastUpdateDate() { + return lastUpdateDate; } - public void setLastUpdate(Date lastUpdate) { - this.lastUpdate = lastUpdate; + public void setLastUpdateDate(Date lastUpdateDate) { + this.lastUpdateDate = lastUpdateDate; } public Date getCreateDate() { @@ -66,13 +71,18 @@ public class ObserveReferentialReference extends ObserveReference { @Override public String toString() { - return MoreObjects.toStringHelper(this) - .add("id", id) - .add("needComment", needComment) - .add("enabled", enabled) - .add("version", version) - .add("createDate", createDate) - .add("lastUpdate", lastUpdate) + MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) + .add("id", id); + + if (log.isDebugEnabled()) { + toStringHelper + .add("needComment", needComment) + .add("enabled", enabled) + .add("version", version) + .add("createDate", createDate) + .add("lastUpdate", lastUpdateDate); + } + return toStringHelper .add("values", Arrays.asList(values)) .toString(); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java index 3a5f327..b510ab4 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java @@ -1,8 +1,12 @@ package fr.ird.observe.services.dto.reference.definition; +import com.google.common.base.MoreObjects; import fr.ird.observe.services.dto.IdDto; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.io.Serializable; +import java.util.Arrays; import java.util.LinkedList; /** @@ -16,6 +20,9 @@ public class ObserveReferenceSetDefinition<D extends IdDto> implements Serializa private static final long serialVersionUID = 1L; + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReferenceSetDefinition.class); + /** * Le type du dto qui doit être transformé en références. * {@link ObserveReferenceSetDefinition#getType()}. @@ -48,6 +55,18 @@ public class ObserveReferenceSetDefinition<D extends IdDto> implements Serializa return propertyNames; } + @Override + public String toString() { + MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) + .add("type", type.getSimpleName()); + if (log.isDebugEnabled()) { + toStringHelper + .add("propertyNames", Arrays.toString(propertyNames)) + .add("propertyTypes", Arrays.toString(propertyTypes)); + } + return toStringHelper.toString(); + } + public static class Builder<D extends IdDto> { private final Class<D> type; diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java index b086c7e..5272c90 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java @@ -3,8 +3,11 @@ package fr.ird.observe.services.dto.reference.definition; import com.google.common.base.MoreObjects; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.io.Serializable; +import java.util.Arrays; import java.util.Objects; /** @@ -16,6 +19,9 @@ public class ObserveReferenceSetRequestKeyDefinition<D extends IdDto> implements private static final long serialVersionUID = 1L; + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReferenceSetRequestKeyDefinition.class); + private final Class<? extends IdDto> parentType; private final ObserveReferenceSetDefinition<D> referenceSetDefinition; @@ -66,12 +72,15 @@ public class ObserveReferenceSetRequestKeyDefinition<D extends IdDto> implements @Override public String toString() { - return MoreObjects.toStringHelper(this) - .add("parentType", parentType) + MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) + .add("parentType", parentType.getSimpleName()) .add("name", name) - .add("type", referenceSetDefinition.getType()) - .add("propertyNames", referenceSetDefinition.getPropertyNames()) - .add("propertyTypes", referenceSetDefinition.getPropertyTypes()) - .toString(); + .add("type", referenceSetDefinition.getType().getSimpleName()); + if (log.isDebugEnabled()) { + toStringHelper + .add("propertyNames", Arrays.toString(referenceSetDefinition.getPropertyNames())) + .add("propertyTypes", Arrays.toString(referenceSetDefinition.getPropertyTypes())); + } + return toStringHelper.toString(); } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java index b594ae4..626d4bd 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java @@ -27,6 +27,8 @@ import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import java.io.Serializable; import java.util.Arrays; @@ -35,6 +37,9 @@ public class ReferentialReferenceDto<D extends ReferentialDto> extends AbstractR private static final long serialVersionUID = 1L; + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialReferenceDto.class); + public static final String PROPERTY_LABEL = "label"; public static final ImmutableSet<String> I18N_PROPERTY_NAMES = ImmutableSet.of( @@ -94,17 +99,22 @@ public class ReferentialReferenceDto<D extends ReferentialDto> extends AbstractR @Override public String toString() { - return MoreObjects.toStringHelper(this) - .add("type", type.getName()) - .add("id", id) - .add("enabled", enabled) - .add("needComment", needComment) - .add("createDate", createDate) - .add("lastUpdate", lastUpdate) - .add("version", version) - .add("labelPropertyNames", labelPropertyNames) + MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) + .add("type", type.getSimpleName()) + .add("id", id); + + if (log.isDebugEnabled()) { + toStringHelper + .add("enabled", enabled) + .add("needComment", needComment) + .add("createDate", createDate) + .add("lastUpdate", lastUpdate) + .add("version", version) + .add("labelPropertyNames", labelPropertyNames) + .add("labelPropertyTypes", Arrays.toString(labelPropertyTypes)); + } + return toStringHelper .add("labelPropertyValues", Arrays.toString(labelPropertyValues)) - .add("labelPropertyTypes", Arrays.toString(labelPropertyTypes)) .toString(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java index bda5a57..3845e25 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java @@ -49,9 +49,14 @@ public class ObserveReferenceSetBuilder<D extends IdDto, R extends ObserveRefere private Date lastUpdateDate; + private boolean loadTechnicalInformations; + public static <D extends IdDto, R extends ObserveReference> ObserveReferenceSetBuilder<D, R> of( - ReferentialLocale referentialLocale, ObserveReferenceSetDefinition<D> definition, Class<TopiaEntity> entityType) { + ReferentialLocale referentialLocale, + ObserveReferenceSetDefinition<D> definition, + Class<TopiaEntity> entityType, + boolean loadTechnicalInformations) { ObserveReferenceSetBuilder<D, R> referenceDtoBuilder = new ObserveReferenceSetBuilder<>(); @@ -59,6 +64,7 @@ public class ObserveReferenceSetBuilder<D extends IdDto, R extends ObserveRefere referenceDtoBuilder.referentialLocaleOrdinal = referentialLocale.ordinal(); referenceDtoBuilder.binder = BinderFactory.newBinder(entityType); referenceDtoBuilder.propertyNames = definition.getPropertyNames(); + referenceDtoBuilder.loadTechnicalInformations = loadTechnicalInformations; List<String> entityPropertyNames = new ArrayList<>(); @@ -130,14 +136,21 @@ public class ObserveReferenceSetBuilder<D extends IdDto, R extends ObserveRefere result.setValues(propertyValues); result.setId(entity.getTopiaId()); - result.setVersion(entity.getTopiaVersion()); - result.setCreateDate(entity.getTopiaCreateDate()); + ReferenceEntity referenceEntity = (ReferenceEntity) entity; - result.setEnabled(referenceEntity.isEnabled()); - result.setNeedComment(referenceEntity.isNeedComment()); - result.setLastUpdate(referenceEntity.getLastUpdate()); - result.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == referenceEntity.getStatus()); + + if (loadTechnicalInformations) { + + result.setVersion(entity.getTopiaVersion()); + result.setCreateDate(entity.getTopiaCreateDate()); + result.setEnabled(referenceEntity.isEnabled()); + result.setNeedComment(referenceEntity.isNeedComment()); + result.setLastUpdateDate(referenceEntity.getLastUpdate()); + result.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == referenceEntity.getStatus()); + + } + references.add((R) result); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java index a017b15..509b086 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java @@ -34,6 +34,8 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref String requestName = request.getRequestName(); ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(requestName); + boolean loadTechnicalInformations = request.isLoadTechnicalInformations(); + ObserveReferenceSetResult.Builder<ObserveReference> resultBuilder = ObserveReferenceSetResult.builder(requestName); for (ObserveReferenceSetRequestKeyDefinition definition : requestDefinition.getKeys()) { @@ -41,10 +43,10 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref boolean referential = definition.isReferential(); Preconditions.checkArgument(!referential, "Can't obtain referenceSet of referential here, but try with " + definition); - ObserveReferenceSet<IdDto, ObserveReference> referenceSet = loadDataReferenceSet(definition); + ObserveReferenceSet<IdDto, ObserveReference> referenceSet = loadDataReferenceSet(definition, loadTechnicalInformations); String name = definition.getName(); - resultBuilder.addKey(name, referenceSet); + resultBuilder.addReferenceSet(name, referenceSet); } @@ -59,6 +61,8 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(requestName); + boolean loadTechnicalInformations = request.isLoadTechnicalInformations(); + ObserveReferenceSetResult.Builder<ObserveReferentialReference> resultBuilder = ObserveReferenceSetResult.builder(requestName); ImmutableMap<String, Date> lastUpdateDates = request.getLastUpdateDates(); Preconditions.checkNotNull(lastUpdateDates); @@ -71,9 +75,9 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref String name = definition.getName(); Date lastUpdateDate = lastUpdateDates.get(name); - ObserveReferenceSet<ReferentialDto, ObserveReferentialReference> referenceSet = loadReferentialReferenceSet(definition, lastUpdateDate); + ObserveReferenceSet<ReferentialDto, ObserveReferentialReference> referenceSet = loadReferentialReferenceSet(definition, lastUpdateDate, loadTechnicalInformations); if (referenceSet != null) { - resultBuilder.addKey(name, referenceSet); + resultBuilder.addReferenceSet(name, referenceSet); } } @@ -82,11 +86,11 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref } - protected <D extends IdDto> ObserveReferenceSet<D, ObserveReference> loadDataReferenceSet(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition) { + protected <D extends IdDto> ObserveReferenceSet<D, ObserveReference> loadDataReferenceSet(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition, boolean loadTechnicalInformations) { Class<TopiaEntity> entityType = getEntityType(requestKeyDefinition.getType()); - ObserveReferenceSetBuilder<D, ObserveReference> referenceBuilder = ObserveReferenceSetBuilder.of(serviceContext.getReferentialLocale(), requestKeyDefinition.getDefinition(), entityType); + ObserveReferenceSetBuilder<D, ObserveReference> referenceBuilder = ObserveReferenceSetBuilder.of(serviceContext.getReferentialLocale(), requestKeyDefinition.getDefinition(), entityType, loadTechnicalInformations); Iterable<TopiaEntity> entities = getEntities(requestKeyDefinition, Collections.<String, Object>emptyMap()); @@ -101,7 +105,7 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref } - protected <D extends ReferentialDto> ObserveReferenceSet<D, ObserveReferentialReference> loadReferentialReferenceSet(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition, Date lastUpdateDate) { + protected <D extends ReferentialDto> ObserveReferenceSet<D, ObserveReferentialReference> loadReferentialReferenceSet(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition, Date lastUpdateDate, boolean loadTechnicalInformations) { Class<TopiaEntity> entityType = getEntityType(requestKeyDefinition.getType()); @@ -110,7 +114,10 @@ public class ReferenceSetServiceTopia extends ObserveServiceTopia implements Ref ObserveReferenceSet<D, ObserveReferentialReference> referenceSet; if (lastUpdateOptional.isPresent() && (lastUpdateDate == null || lastUpdateOptional.get().after(lastUpdateDate))) { - ObserveReferenceSetBuilder<D, ObserveReferentialReference> referenceBuilder = ObserveReferenceSetBuilder.of(serviceContext.getReferentialLocale(), requestKeyDefinition.getDefinition(), entityType); + ObserveReferenceSetBuilder<D, ObserveReferentialReference> referenceBuilder = ObserveReferenceSetBuilder.of(serviceContext.getReferentialLocale(), + requestKeyDefinition.getDefinition(), + entityType, + loadTechnicalInformations); referenceBuilder.setLastUpdateDate(lastUpdateOptional.get()); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 3df48349ba14135c5719730c6f2af4d8bb617f48 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:15:49 2015 +0100 Add fixme --- .../src/main/java/fr/ird/observe/services/dto/FormDto.java | 1 + 1 file changed, 1 insertion(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java index 0ff891a..2e12be5 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java @@ -110,6 +110,7 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { Optional<ReferenceSetDto<D>> referenceSetDto = Iterables.tryFind(getLabels(), (Predicate) predicate); if (!referenceSetDto.isPresent()) { + //FIXME Supprimer cela, tout referenceSet doit être nommé predicate = ReferenceSetDtos.newTypeNamePredicate(type, null); referenceSetDto = Iterables.tryFind(getLabels(), (Predicate) predicate); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 8e687197f8ae959f8081b010fc953d99c87ce034 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:16:28 2015 +0100 Fix some tests --- .../service/seine/TripSeineServiceRestTest.java | 46 ++-------------------- .../services/service/AbstractServiceTopiaTest.java | 12 +++++- .../fr/ird/observe/services/service/RigthTest.java | 4 +- ...tLonglineDetailCompositionServiceTopiaTest.java | 18 ++++----- .../seine/TargetSampleServiceTopiaTest.java | 3 +- .../seine/TripSeineGearUseServiceTopiaTest.java | 6 +-- 6 files changed, 29 insertions(+), 60 deletions(-) diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceRestTest.java index a986048..9f17864 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceRestTest.java @@ -95,47 +95,9 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { } @Test - public void loadToReadTest() throws Exception { + public void loadFormTest() throws Exception { - FormDto<TripSeineDto> formDto = service.loadToRead(TRIP_SEINE_ID_1); - - Assert.assertNotNull(formDto); - TripSeineDto tripSeineDto = formDto.getForm(); - - Assert.assertNull(tripSeineDto.getCaptain()); - - Assert.assertEquals("fr.ird.observe.entities.referentiel.Person#1355399844272#0.32586441962131485", tripSeineDto.getObserver().getId()); - Assert.assertEquals("Fanchon", tripSeineDto.getObserver().getPropertyValue(PersonDto.PROPERTY_FIRST_NAME)); - Assert.assertEquals("Varenne", tripSeineDto.getObserver().getPropertyValue(PersonDto.PROPERTY_LAST_NAME)); - Assert.assertNull(tripSeineDto.getDataEntryOperator()); - Assert.assertEquals("fr.ird.observe.entities.referentiel.Vessel#1306847717532#0.7435948873477364", tripSeineDto.getVessel().getId()); - Assert.assertEquals("835", tripSeineDto.getVessel().getPropertyValue(VesselDto.PROPERTY_CODE)); - Assert.assertEquals("BERNICA", tripSeineDto.getVessel().getPropertyValue("label")); - Assert.assertEquals("fr.ird.observe.entities.referentiel.Ocean#1239832686152#0.8325731048817705", tripSeineDto.getOcean().getId()); - Assert.assertEquals("2", tripSeineDto.getOcean().getPropertyValue(OceanDto.PROPERTY_CODE)); - Assert.assertEquals("Indien", tripSeineDto.getOcean().getPropertyValue("label")); - Assert.assertNull(tripSeineDto.getDepartureHarbour()); - Assert.assertNull(tripSeineDto.getLandingHarbour()); - Assert.assertNull(tripSeineDto.getErsId()); - Assert.assertEquals(DateUtil.createDate(25, 1, 2013), tripSeineDto.getStartDate()); - Assert.assertEquals(DateUtil.createDate(27, 2, 2013), tripSeineDto.getEndDate()); - Assert.assertNull(tripSeineDto.getFormsUrl()); - Assert.assertNull(tripSeineDto.getReportsUrl()); - Assert.assertTrue(tripSeineDto.getComment().startsWith("Caractéristiques de la senne")); - - assertReadLabels(formDto, 8, - ProgramDto.class, - PersonDto.class, - VesselDto.class, - OceanDto.class, - HarbourDto.class); - - } - - @Test - public void loadToEditTest() throws Exception { - - FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); + FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); Assert.assertNotNull(formDto); TripSeineDto tripSeineDto = formDto.getForm(); @@ -205,7 +167,7 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { @Test public void saveUpdateTest() { - FormDto<TripSeineDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); + FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); TripSeineDto tripSeineDto = formDto.getForm(); @@ -233,7 +195,7 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { service.save(formDto.getForm()); - FormDto<TripSeineDto> formDtoReload = service.loadToRead(TRIP_SEINE_ID_1); + FormDto<TripSeineDto> formDtoReload = service.loadForm(TRIP_SEINE_ID_1); TripSeineDto tripSeineDtoReload = formDtoReload.getForm(); Assert.assertEquals(tripSeineDto.getCaptain().getId(), tripSeineDtoReload.getCaptain().getId()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java index 56b9d85..a7b6ecf 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java @@ -32,7 +32,10 @@ import fr.ird.observe.services.ObserveDataSourceConnectionTopiaTaiste; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; +import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -154,7 +157,12 @@ public abstract class AbstractServiceTopiaTest { } - public ObserveReferentialCache getReferentialCache() { - return dataSourceResource.getReferentialCache(); + protected void loadReferenceSets(ReferenceSetService referenceSetService, FormDto<?> formDto) { + dataSourceResource.getReferentialCache().loadReferenceSets(referenceSetService, formDto); } + + protected <R extends ReferentialDto> ReferentialReferenceDto<R> getReference(FormDto<?> formDto, Class<R> type, String propertyName, int index) { + return (ReferentialReferenceDto<R>) formDto.getReferenceSetDto(type, propertyName).getReference(index); + } + } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java index 065ac30..cb707bc 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java @@ -147,7 +147,7 @@ public class RigthTest { TripSeineService service = newService(dataSourceConnection, TripSeineService.class); - service.loadToRead(TRIP_SEINE_ID); + service.loadForm(TRIP_SEINE_ID); } protected void testWriteData(String login) throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { @@ -156,7 +156,7 @@ public class RigthTest { TripSeineService service = newService(dataSourceConnection, TripSeineService.class); - FormDto<TripSeineDto> tripSeineDtoFormDto = service.loadToEdit(TRIP_SEINE_ID); + FormDto<TripSeineDto> tripSeineDtoFormDto = service.loadForm(TRIP_SEINE_ID); service.save(tripSeineDtoFormDto.getForm()); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java index 28a4fbc..30ca7a9 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java @@ -118,36 +118,36 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic branchlineDto.setBranchlineLength(1.2f); branchlineDto.setTracelineLength(2.8f); - ReferentialReferenceDto<LineTypeDto> topType = formDto.getReferentialReferenceById(LineTypeDto.class, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.1"); + ReferentialReferenceDto<LineTypeDto> topType = formDto.getReferentialReferenceById(LineTypeDto.class, BranchlineDto.PROPERTY_TOP_TYPE, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.1"); branchlineDto.setTopType(topType); - ReferentialReferenceDto<LineTypeDto> tracelineType = formDto.getReferentialReferenceById(LineTypeDto.class, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.3"); + ReferentialReferenceDto<LineTypeDto> tracelineType = formDto.getReferentialReferenceById(LineTypeDto.class, BranchlineDto.PROPERTY_TRACELINE_TYPE, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.3"); branchlineDto.setTracelineType(tracelineType); branchlineDto.setDepthRecorder(true); branchlineDto.setHookLost(false); branchlineDto.setTraceCutOff(false); branchlineDto.setTimer(true); - branchlineDto.setTimeSinceContact(25478l); + branchlineDto.setTimeSinceContact(25478L); branchlineDto.setTimerTimeOnBoard(DateUtil.createDate(14, 57, 10, 2, 8, 2009)); branchlineDto.setWeightedSnap(true); branchlineDto.setSnapWeight(0.8f); branchlineDto.setWeightedSwivel(true); branchlineDto.setSwivelWeight(0.45f); - ReferentialReferenceDto<HookTypeDto> hookType = formDto.getReferentialReferenceById(HookTypeDto.class, "fr.ird.observe.entities.referentiel.longline.HookType#1239832686152#0.2"); + ReferentialReferenceDto<HookTypeDto> hookType = formDto.getReferentialReferenceById(HookTypeDto.class, BranchlineDto.PROPERTY_HOOK_TYPE, "fr.ird.observe.entities.referentiel.longline.HookType#1239832686152#0.2"); branchlineDto.setHookType(hookType); - ReferentialReferenceDto<HookSizeDto> hookSize = formDto.getReferentialReferenceById(HookSizeDto.class, "fr.ird.observe.entities.referentiel.longline.HookSize#1239832686151#0.6"); + ReferentialReferenceDto<HookSizeDto> hookSize = formDto.getReferentialReferenceById(HookSizeDto.class, BranchlineDto.PROPERTY_HOOK_SIZE, "fr.ird.observe.entities.referentiel.longline.HookSize#1239832686151#0.6"); branchlineDto.setHookSize(hookSize); branchlineDto.setHookOffset(24); - ReferentialReferenceDto<BaitTypeDto> baitType = formDto.getReferentialReferenceById(BaitTypeDto.class, "fr.ird.observe.entities.referentiel.longline.BaitType#1239832686124#0.8"); + ReferentialReferenceDto<BaitTypeDto> baitType = formDto.getReferentialReferenceById(BaitTypeDto.class, BranchlineDto.PROPERTY_BAIT_TYPE, "fr.ird.observe.entities.referentiel.longline.BaitType#1239832686124#0.8"); branchlineDto.setBaitType(baitType); - ReferentialReferenceDto<BaitSettingStatusDto> baitSettingStatus = formDto.getReferentialReferenceById(BaitSettingStatusDto.class, "fr.ird.observe.entities.referentiel.longline.BaitSettingStatus#1239832686123#0.1"); + ReferentialReferenceDto<BaitSettingStatusDto> baitSettingStatus = formDto.getReferentialReferenceById(BaitSettingStatusDto.class, BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, "fr.ird.observe.entities.referentiel.longline.BaitSettingStatus#1239832686123#0.1"); branchlineDto.setBaitSettingStatus(baitSettingStatus); - ReferentialReferenceDto<BaitHaulingStatusDto> baitHaulingStatus = formDto.getReferentialReferenceById(BaitHaulingStatusDto.class, "fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus#1239832686122#0.4"); + ReferentialReferenceDto<BaitHaulingStatusDto> baitHaulingStatus = formDto.getReferentialReferenceById(BaitHaulingStatusDto.class, BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, "fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus#1239832686122#0.4"); branchlineDto.setBaitHaulingStatus(baitHaulingStatus); service.save(compositionDto); - SetLongline setLongline = dataSourceResource.findById(SetLongline.class, SET_LONGLINE_ID); + SetLongline setLongline = dataSourceResource.findById(SetLongline.class, SET_LONGLINE_ID); Section section = setLongline.getSectionByTopiaId(sectionDto.getId()); Assert.assertEquals(sectionDto.getSettingIdentifier(), section.getSettingIdentifier()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java index 41625de..09f3bd7 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java @@ -27,6 +27,7 @@ import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import org.junit.Assert; @@ -82,7 +83,7 @@ public class TargetSampleServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertFalse(targetSampleDto.getDiscarded()); Assert.assertTrue(targetSampleDto.isTargetLengthEmpty()); - ReferenceSetDto<SpeciesDto> speciesDtoReferenceSetDto = formDto.getReferenceSetDto(SpeciesDto.class); + ReferenceSetDto<SpeciesDto> speciesDtoReferenceSetDto = formDto.getReferenceSetDto(SpeciesDto.class, TargetLengthDto.PROPERTY_SPECIES); Assert.assertEquals(1, speciesDtoReferenceSetDto.sizeReference()); ReferenceDto referenceDto = speciesDtoReferenceSetDto.getReference(0); Assert.assertEquals("fr.ird.observe.entities.referentiel.Species#1239832685474#0.8943253454598569", referenceDto.getId()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java index 4fbbeae..640c879 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.seine; * #L% */ -import com.google.common.collect.Collections2; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; @@ -43,7 +42,6 @@ import org.junit.Assert; import org.junit.Test; import org.nuiton.topia.persistence.TopiaEntities; -import java.util.Collection; import java.util.Set; /** @@ -116,7 +114,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(formDto.getLabels()); - Collection<Class> types = Collections2.transform(formDto.getLabels(), ReferenceSetDtos.getTypeFunction()); + Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); Assert.assertTrue(types.contains(GearDto.class)); Assert.assertTrue(types.contains(GearCaracteristicDto.class)); Assert.assertEquals(2, formDto.sizeLabels()); @@ -163,7 +161,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(formDto.getLabels()); - Collection<Class> types = Collections2.transform(formDto.getLabels(), ReferenceSetDtos.getTypeFunction()); + Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); Assert.assertTrue(types.contains(GearDto.class)); Assert.assertTrue(types.contains(GearCaracteristicDto.class)); Assert.assertEquals(2, formDto.sizeLabels()); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit b238b15307ab9a8dcf6013516b145158a7deee4e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:16:41 2015 +0100 Nommer le label set --- .../fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index d651f02..a55f943 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -126,7 +126,7 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); } - ReferenceSetDto<SpeciesDto> speciesRreferenceSetDto = form.getReferenceSetDto(SpeciesDto.class); + ReferenceSetDto<SpeciesDto> speciesRreferenceSetDto = form.getReferenceSetDto(SpeciesDto.class, TargetLengthDto.PROPERTY_SPECIES); speciesRreferenceSetDto.setReference(speciesRefs); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 1c7fb701205797ccbd9514548bd1caf9e5b647a0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:17:00 2015 +0100 Fix api --- .../java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java index 9f591c6..0392ab5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java @@ -125,7 +125,7 @@ public class RoutesUIHandler extends ContentListUIHandler<TripSeineDto, RouteDto @Override protected void loadParentBean() { TripSeineService service = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - FormDto<TripSeineDto> tripSeineDtoFormDto = service.loadToEdit(getSelectedParentId()); + FormDto<TripSeineDto> tripSeineDtoFormDto = service.loadForm(getSelectedParentId()); getModel().setFormDto(tripSeineDtoFormDto); TripSeineDtos.copyTripSeineDto(tripSeineDtoFormDto.getForm(), getBean()); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit e4655ebd9b16afb0cb83cd552f5fa6c5c7d81312 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:42:05 2015 +0100 Fix code after merge --- .../actions/shared/MoveTripLonglinesUIAction.java | 10 ++---- .../ui/actions/shared/MoveTripSeinesUIAction.java | 8 +---- .../ui/actions/shared/MoveTripsUIAction.java | 2 +- .../ird/observe/ui/content/list/ContentListUI.jaxx | 4 +-- .../ui/content/list/ContentListUIModel.java | 16 +++++----- .../list/impl/longline/TripLonglinesUIModel.java | 25 --------------- .../content/list/impl/seine/TripSeinesUIModel.java | 36 ---------------------- 7 files changed, 14 insertions(+), 87 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java index 57003e4..35a9577 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java @@ -3,6 +3,7 @@ package fr.ird.observe.ui.actions.shared; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; +import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; @@ -18,7 +19,7 @@ import java.util.List; * @author Kevin Morin (Code Lutin) * @since 5.0 */ -public class MoveTripLonglinesUIAction extends MoveTripsUIAction { +public class MoveTripLonglinesUIAction extends MoveTripsUIAction<TripLonglineDto> { private static final long serialVersionUID = 1L; @@ -41,13 +42,6 @@ public class MoveTripLonglinesUIAction extends MoveTripsUIAction { } @Override - protected List<ReferenceDto<TripLonglineDto>> getSelectedDatas(ContentUI<?> ui) { - TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; - TripLonglinesUIModel model = tripLonglinesUI.getModel(); - return model.getSelectedDatas(); - } - - @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.longline; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java index 1cf53db..7981613 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java @@ -3,6 +3,7 @@ package fr.ird.observe.ui.actions.shared; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; +import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.TripSeineService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; @@ -41,13 +42,6 @@ public class MoveTripSeinesUIAction extends MoveTripsUIAction<TripSeineDto> { } @Override - protected List<ReferenceDto<TripSeineDto>> getSelectedDatas(ContentUI<?> ui) { - TripSeinesUI tripSeinesUI = (TripSeinesUI) ui; - TripSeinesUIModel model = tripSeinesUI.getModel(); - return model.getSelectedDatas(); - } - - @Override protected GearType getGearType(ContentUI<?> ui) { return GearType.seine; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index 17a7b9c..809ebea 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -24,6 +24,7 @@ package fr.ird.observe.ui.actions.shared; import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceDtos; @@ -45,7 +46,6 @@ import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import java.awt.event.ActionEvent; import java.util.ArrayList; -import java.util.LinkedHashSet; import java.util.List; import static org.nuiton.i18n.I18n.n; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx index 6180809..42adbab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx @@ -61,8 +61,8 @@ public final ReferenceDto<C> getSelectedData() { return (ReferenceDto<C>) getSelectedBean(list); } -public final List<ReferenceDto> getSelectedDatas() { - return (List<ReferenceDto>) list.getSelectedValuesList(); +public final List<ReferenceDto<C>> getSelectedDatas() { + return (List<ReferenceDto<C>>) list.getSelectedValuesList(); } ]]></script> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java index df7ffc2..e3a1958 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java @@ -55,10 +55,10 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten protected final Class<C> childType; /** liste des entites */ - protected List<ReferenceDto> data; + protected List<ReferenceDto<C>> data; /** entités sélectionnées dans la liste */ - protected List<ReferenceDto> selectedDatas; + protected List<ReferenceDto<C>> selectedDatas; /** un drapeau pour savoir si on peut reouvrir l'un des données de la liste. */ protected boolean canReopen; @@ -72,11 +72,11 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten return childType; } - public List<ReferenceDto> getData() { + public List<ReferenceDto<C>> getData() { return data; } - public void setData(List<ReferenceDto> data) { + public void setData(List<ReferenceDto<C>> data) { boolean wasEmpty = isEmpty(); this.data = data; // on force toujours la propagation de la liste @@ -85,16 +85,16 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten setSelectedDatas(null); } - public ReferenceDto getSelectedData() { + public ReferenceDto<C> getSelectedData() { return CollectionUtils.isNotEmpty(selectedDatas) ? selectedDatas.get(0) : null; } - public List<ReferenceDto> getSelectedDatas() { + public List<ReferenceDto<C>> getSelectedDatas() { return selectedDatas; } - public void setSelectedDatas(List<ReferenceDto> selectedDatas) { - List<ReferenceDto> old = getSelectedDatas(); + public void setSelectedDatas(List<ReferenceDto<C>> selectedDatas) { + List<ReferenceDto<C>> old = getSelectedDatas(); this.selectedDatas = selectedDatas; if (log.isDebugEnabled()) { log.debug("New selected datas : " + selectedDatas); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java index 332347c..d81c3fe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java @@ -26,8 +26,6 @@ import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.ui.content.list.ContentListUIModel; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import java.util.List; @@ -41,33 +39,10 @@ public class TripLonglinesUIModel extends ContentListUIModel<ProgramDto, TripLon private static final long serialVersionUID = 1L; - /** - * Logger. - */ - private static final Log log = LogFactory.getLog(TripLonglinesUIModel.class); - - public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; - - /** entité sélectionnée dans la liste */ - protected List<ReferenceDto<TripLonglineDto>> selectedDatas; - public TripLonglinesUIModel() { super(ProgramDto.class, TripLonglineDto.class); } - public List<ReferenceDto<TripLonglineDto>> getSelectedDatas() { - return selectedDatas; - } - - public void setSelectedDatas(List<ReferenceDto<TripLonglineDto>> selectedDatas) { - List<ReferenceDto<TripLonglineDto>> old = getSelectedDatas(); - this.selectedDatas = selectedDatas; - if (log.isDebugEnabled()) { - log.debug("New selected datas : " + selectedDatas); - } - firePropertyChange(PROPERTY_SELECTED_DATAS, old, selectedDatas); - } - @Override public void setData(List<ReferenceDto<TripLonglineDto>> data) { super.setData(data); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java index 28d8952..f28ed51 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java @@ -25,8 +25,6 @@ package fr.ird.observe.ui.content.list.impl.seine; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.content.list.ContentListUIModel; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; /** * Created on 9/26/14. @@ -38,42 +36,8 @@ public class TripSeinesUIModel extends ContentListUIModel<ProgramDto, TripSeineD private static final long serialVersionUID = 1L; - /** - * Logger. - */ - private static final Log log = LogFactory.getLog(TripSeinesUIModel.class); - -<<<<<<< 91f61e4c040cb3dcca05b04dcccd582b94a3145c -======= - public static final String PROPERTY_SELECTED_DATAS = "selectedDatas"; - - /** entité sélectionnée dans la liste */ - protected List<ReferenceDto<TripSeineDto>> selectedDatas; - ->>>>>>> Début de revue du code de l'application swing : y'a du boulot... public TripSeinesUIModel() { super(ProgramDto.class, TripSeineDto.class); } -<<<<<<< 91f61e4c040cb3dcca05b04dcccd582b94a3145c -======= - public List<ReferenceDto<TripSeineDto>> getSelectedDatas() { - return selectedDatas; - } - - public void setSelectedDatas(List<ReferenceDto<TripSeineDto>> selectedDatas) { - List<ReferenceDto<TripSeineDto>> old = getSelectedDatas(); - this.selectedDatas = selectedDatas; - if (log.isDebugEnabled()) { - log.debug("New selected datas : " + selectedDatas); - } - firePropertyChange(PROPERTY_SELECTED_DATAS, old, selectedDatas); - } - - @Override - public void setData(List<ReferenceDto<TripSeineDto>> data) { - super.setData(data); - setSelectedDatas(null); - } ->>>>>>> Début de revue du code de l'application swing : y'a du boulot... } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 3598ed99bfc0d1f255927b7d774fe26375959adf Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:44:33 2015 +0100 Fix some other tests --- .../fr/ird/observe/services/service/AbstractServiceRestTest.java | 6 ++---- .../fr/ird/observe/services/service/ReferentialServiceRestTest.java | 2 +- .../services/service/seine/TripSeineGearUseServiceRestTest.java | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/AbstractServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/AbstractServiceRestTest.java index 285759d..d26f735 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/AbstractServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/AbstractServiceRestTest.java @@ -22,8 +22,6 @@ package fr.ird.observe.services.service; * #L% */ -import com.google.common.collect.Collections2; -import com.google.common.collect.Sets; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.TestClassResource; import fr.ird.observe.services.TestMethodResource; @@ -89,7 +87,7 @@ public abstract class AbstractServiceRestTest { Assert.assertNotNull(formDto.getLabels()); - Set<Class> types = Sets.newLinkedHashSet(Collections2.transform(formDto.getLabels(), ReferenceSetDtos.getTypeFunction())); + Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); Assert.assertEquals(expectedTypes.length, types.size()); @@ -109,7 +107,7 @@ public abstract class AbstractServiceRestTest { Assert.assertNotNull(formDto.getLabels()); - Set<Class> types = Sets.newLinkedHashSet(Collections2.transform(formDto.getLabels(), ReferenceSetDtos.getTypeFunction())); + Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); Assert.assertEquals(expectedTypes.length, types.size()); diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferentialServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferentialServiceRestTest.java index 5fd96a9..66b2c99 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferentialServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferentialServiceRestTest.java @@ -43,7 +43,7 @@ public class ReferentialServiceRestTest { Assert.assertNotNull(referentialReferenceSet); - LinkedHashSet<ReferenceDto> reference = referentialReferenceSet.getReference(); + LinkedHashSet<ReferenceDto<ProgramDto>> reference = referentialReferenceSet.getReference(); Assert.assertNotNull(reference); Assert.assertEquals(28, reference.size()); diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java index 1cacd88..93df71e 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java @@ -62,7 +62,7 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { ReferenceSetDto<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); - Map<String, ReferenceDto> tripIds = IdDtos.splitById(allTripSeine.getReference()); + Map<String, ReferenceDto<TripSeineDto>> tripIds = IdDtos.splitById(allTripSeine.getReference()); Assume.assumeTrue("Marée " + TRIP_SEINE_ID_1 + " non trouvée dans cette base. Test annulé", tripIds.containsKey(TRIP_SEINE_ID_1)); FormDto<TripSeineGearUseDto> formDto = service.loadToRead(TRIP_SEINE_ID_1); @@ -124,7 +124,7 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { ReferenceSetDto<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); - Map<String, ReferenceDto> tripIds = IdDtos.splitById(allTripSeine.getReference()); + Map<String, ReferenceDto<TripSeineDto>> tripIds = IdDtos.splitById(allTripSeine.getReference()); Assume.assumeTrue("Marée " + TRIP_SEINE_ID_1 + " non trouvée dans cette base. Test annulé", tripIds.containsKey(TRIP_SEINE_ID_1)); FormDto<TripSeineGearUseDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit f71eafebdbcf29584200c143ec0079da1179bcad Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 10:56:17 2015 +0100 Bien recharger les referenceSets lors de l'ouverture d'une donnée (mais cela n'est pas optimal, il faudra refaire une passe pour trouver le meilleur moment pour déclancher cette opération) --- .../fr/ird/observe/ui/content/ContentUIHandler.java | 18 ++++++++++++++++++ .../ui/content/open/ContentOpenableUIHandler.java | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index 3dc601c..5f1c03f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -772,6 +772,24 @@ public abstract class ContentUIHandler<E extends IdDto> { } + /** + * Pour mettre à jour les referencesSets liés au formulaire et rafraichir les ui en conséquence. + */ + protected void updateReferenceSets() { + + getDataSource().loadReferenceSets(getModel().getFormDto()); + + updateReferenceSets(false); + + } + + /** + * Pour mettre à jour les referenceSets liés au formulaire si le drapeau est à vrai et que l'écran est en édition. + * + * On rafraichit dans tous les cas l'ui (pour vider par exemple les combobox, si les referenceSets sont vides). + * + * @param reloadReferenceSets pour tenter de recharger les referenceSets + */ protected void updateReferenceSets(boolean reloadReferenceSets) { if (reloadReferenceSets && ContentMode.READ != getModel().getMode()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java index b77f81d..9d39bfe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java @@ -101,7 +101,7 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU ContentOpenableUI<E> ui = getUi(); // On charge les ensembles de références utilisées dans les combobox - updateReferenceSets(true); + updateReferenceSets(); // on repaint le parent (le program devient alors ouvert) ObserveTreeHelper treeHelper = getTreeHelper(ui); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit cb391fb5058f5f70f212165f8848307773646e38 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 11:33:28 2015 +0100 fix log level in dev mode --- observe-application-swing/src/main/resources/log4j.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/resources/log4j.properties b/observe-application-swing/src/main/resources/log4j.properties index 756b870..28f9047 100644 --- a/observe-application-swing/src/main/resources/log4j.properties +++ b/observe-application-swing/src/main/resources/log4j.properties @@ -45,7 +45,7 @@ log4j.logger.fr.ird.observe.entities.Entities=DEBUG log4j.logger.fr.ird.observe.validation.field=WARN log4j.logger.fr.ird.observe.ui.tree=INFO -log4j.logger.fr.ird.observe.decorator.ObserveDecorator=ERROR +log4j.logger.fr.ird.observe.ui.util.decorator=ERROR log4j.logger.org.nuiton.config=INFO log4j.logger.org.nuiton.topia.migration=INFO -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 39801c047e2ef3a6b067204f57344770d074ef44 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 11:33:35 2015 +0100 Fix i18n --- .../src/main/resources/i18n/observe-application-swing_fr_FR.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties index 514d226..73dc619 100644 --- a/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties +++ b/observe-application-swing/src/main/resources/i18n/observe-application-swing_fr_FR.properties @@ -1630,7 +1630,7 @@ observe.routes.title=Routes observe.runner.config.loaded=Configuration d'ObServe v. %1$s chargée. observe.runner.config.migrate.file=Le fichier de configuration %1$s a été déplacée de \n%2$s\nvers\n%3$s observe.runner.context.loaded=Initialisation du contexte terminée en %1$s. -observe.runner.copy.default.logConfigurationFile.file=Création du fichier de configuration des logs $1. +observe.runner.copy.default.logConfigurationFile.file=Création du fichier de configuration des logs %1$s. observe.runner.copy.default.map.file= observe.runner.copy.default.report.file=Création du fichier de reports %1$s. observe.runner.copy.default.ui.file=Création du fichier de cosmétique %1$s. -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 5dea869cbc74af6f0d10832386c5be5f173376dd Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 11:34:28 2015 +0100 remerge from develop :( --- .../main/java/fr/ird/observe/ObserveSwingApplicationContext.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java index 8fcd31e..6a6a015 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java @@ -27,6 +27,9 @@ import com.google.common.collect.Lists; import fr.ird.observe.db.DataContext; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.ui.actions.shared.MoveActivityLonglinesUIAction; +import fr.ird.observe.ui.actions.shared.MoveActivitySeinesUIAction; +import fr.ird.observe.ui.actions.shared.MoveRoutesUIAction; import fr.ird.observe.util.gps.GPSService; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.ObserveSwingDataSource; @@ -918,6 +921,9 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im registerMainAction(actionMap, new DeleteReferenceUIAction(ui)); registerMainAction(actionMap, new MoveTripLonglinesUIAction(ui)); registerMainAction(actionMap, new MoveTripSeinesUIAction(ui)); + registerMainAction(actionMap, new MoveRoutesUIAction(ui)); + registerMainAction(actionMap, new MoveActivitySeinesUIAction(ui)); + registerMainAction(actionMap, new MoveActivityLonglinesUIAction(ui)); } public void registerMainAction(ActionMap actionMap, AbstractUIAction action) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 0f8bb342beef705f9ac9520100bc30ba09eb3cd3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 11:34:38 2015 +0100 little improvments --- .../src/main/java/fr/ird/observe/ObserveRunner.java | 3 ++- .../main/java/fr/ird/observe/ui/content/ContentUIHandler.java | 11 +++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java index be74bfe..104ceef 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveRunner.java @@ -35,6 +35,7 @@ import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.beanutils.Converter; import org.apache.commons.beanutils.converters.DateConverter; import org.apache.commons.io.FileUtils; +import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.log4j.LogManager; @@ -327,7 +328,7 @@ public abstract class ObserveRunner extends ApplicationRunner { Boolean.class, ObserveCLAction.ActionDefinition.H2_SERVER_MODE.name()); - if (h2ServerMode != null && h2ServerMode) { + if (BooleanUtils.isTrue(h2ServerMode)) { // starts in h2 server mode diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index 5f1c03f..8ea91ce 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -50,6 +50,7 @@ import jaxx.runtime.swing.editor.bean.BeanComboBox; import jaxx.runtime.swing.editor.bean.BeanListHeader; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import jaxx.runtime.validator.swing.SwingValidatorUtil; +import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.lang3.reflect.ConstructorUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -888,10 +889,12 @@ public abstract class ContentUIHandler<E extends IdDto> { List<ReferenceDto<R>> data; FormDto<E> formDto = getModel().getFormDto(); - if (noLoad != null && noLoad || formDto == null) { + String propertyName = comboBox.getProperty(); + + if (BooleanUtils.isTrue(noLoad) || formDto == null) { if (log.isInfoEnabled()) { - log.info("Skip loading of entity list [" + dtoClass.getName() + "] (listNoLoad property found)"); + log.info(String.format("Skip loading of entity list [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); } data = Collections.emptyList(); @@ -900,7 +903,7 @@ public abstract class ContentUIHandler<E extends IdDto> { data = new ArrayList<>(); // get complete data list from service - Optional<ReferenceSetDto<R>> optionalReferenceSetDto = formDto.tryToGetReferenceSetDto(dtoClass, comboBox.getProperty()); + Optional<ReferenceSetDto<R>> optionalReferenceSetDto = formDto.tryToGetReferenceSetDto(dtoClass, propertyName); if (optionalReferenceSetDto.isPresent()) { @@ -913,7 +916,7 @@ public abstract class ContentUIHandler<E extends IdDto> { } if (log.isInfoEnabled()) { - log.info("entity list [" + dtoClass.getName() + "] : " + data.size()); + log.info(String.format("entity list [%s-%s] : %d", dtoClass.getSimpleName(), propertyName, data.size())); } comboBox.setData(data); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit f8b8e29b51bdf9ee41cdacf28886b90bcaf0b64e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 23:14:42 2015 +0100 Ajout d'un message sur l'exception --- .../fr/ird/observe/services/dto/ReferenceSetNotFoundException.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetNotFoundException.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetNotFoundException.java index 5694ce9..328c614 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetNotFoundException.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetNotFoundException.java @@ -54,4 +54,9 @@ public class ReferenceSetNotFoundException extends RuntimeException { public String getName() { return name; } + + @Override + public String getMessage() { + return String.format("Could not find referenceSet %s (type: %s)", name, dtoType.getSimpleName()); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 633fb103bc4037f4ba2c68fcc1b79b8afe1f9c7b Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 23:15:25 2015 +0100 enabled et needComment ne sont pas des propriétés techniques, on doit les recopier à chaque fois --- .../services/dto/reference/ObserveReferenceSetBuilder.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java index 3845e25..d5d3b12 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java @@ -137,21 +137,19 @@ public class ObserveReferenceSetBuilder<D extends IdDto, R extends ObserveRefere result.setValues(propertyValues); result.setId(entity.getTopiaId()); - ReferenceEntity referenceEntity = (ReferenceEntity) entity; + result.setEnabled(referenceEntity.isEnabled()); + result.setNeedComment(referenceEntity.isNeedComment()); + if (loadTechnicalInformations) { result.setVersion(entity.getTopiaVersion()); result.setCreateDate(entity.getTopiaCreateDate()); - result.setEnabled(referenceEntity.isEnabled()); - result.setNeedComment(referenceEntity.isNeedComment()); result.setLastUpdateDate(referenceEntity.getLastUpdate()); - result.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == referenceEntity.getStatus()); } - references.add((R) result); return this; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 96166b97dcde6f4ee22cca6df1393d6a8b2aa6d8 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Nov 20 23:16:22 2015 +0100 recharger les ensembles de références à l'ouverture d'un écran de type table --- .../java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index 026074e..dd10b91 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -248,7 +248,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - updateReferenceSets(false); + updateReferenceSets(true); } }); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 4a15f520b972f22c68bc8e3a9a7496abbb1150df Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:08:17 2015 +0100 Suppression de la méthode loadForRead (vu qu'elle n'a plus de raison d'être si les referenceSets sont gérés au niveau de l'application) + renommage de loadForEdit en loadFrom + réorganisation des méthodes --- .../service/longline/ActivityLongLineEncouterService.java | 5 +---- .../longline/ActivityLongLineSensorUsedService.java | 5 +---- .../service/longline/ActivityLonglineService.java | 15 ++++++--------- .../services/service/longline/BranchlineService.java | 5 +---- .../service/longline/SetLonglineCatchService.java | 5 +---- .../longline/SetLonglineDetailCompositionService.java | 5 +---- .../longline/SetLonglineGlobalCompositionService.java | 5 +---- .../services/service/longline/SetLonglineService.java | 9 +++------ .../ird/observe/services/service/longline/TdrService.java | 5 +---- .../service/longline/TripLonglineGearUseService.java | 5 +---- .../services/service/longline/TripLonglineService.java | 11 ++++------- .../service/seine/ActivitySeineObservedSystemService.java | 5 +---- .../services/service/seine/ActivitySeineService.java | 9 +++------ .../services/service/seine/FloatingObjectService.java | 9 +++------ .../services/service/seine/NonTargetCatchService.java | 5 +---- .../services/service/seine/NonTargetSampleService.java | 5 +---- .../service/seine/ObjectObservedSpeciesService.java | 5 +---- .../service/seine/ObjectSchoolEstimateService.java | 5 +---- .../ird/observe/services/service/seine/RouteService.java | 9 +++------ .../services/service/seine/SchoolEstimateService.java | 5 +---- .../observe/services/service/seine/SetSeineService.java | 9 +++------ .../services/service/seine/TargetCatchService.java | 5 +---- .../services/service/seine/TargetSampleService.java | 5 +---- .../service/seine/TransmittingBuoyOperationService.java | 5 +---- .../services/service/seine/TripSeineGearUseService.java | 5 +---- .../observe/services/service/seine/TripSeineService.java | 2 +- 26 files changed, 44 insertions(+), 119 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java index a47b8a0..1fb7ecb 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ActivityLongLineEncouterService extends ObserveService { @ReadDataPermission - FormDto<ActivityLonglineEncouterDto> loadToRead(String activityLonglineId); - - @WriteDataPermission - FormDto<ActivityLonglineEncouterDto> loadToEdit(String activityLonglineId); + FormDto<ActivityLonglineEncouterDto> loadForm(String activityLonglineId); @WriteDataPermission @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java index 643754b..223e3b8 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ActivityLongLineSensorUsedService extends ObserveService { @ReadDataPermission - FormDto<ActivityLonglineSensorUsedDto> loadToRead(String activityLonglineId); - - @WriteDataPermission - FormDto<ActivityLonglineSensorUsedDto> loadToEdit(String activityLonglineId); + FormDto<ActivityLonglineSensorUsedDto> loadForm(String activityLonglineId); @WriteDataPermission @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java index b3a7093..c8d5776 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java @@ -48,21 +48,18 @@ public interface ActivityLonglineService extends ObserveService { int getActivityLonglinePositionInTripLongline(String tripLonglineId, String activityLonglineId); @ReadDataPermission - FormDto<ActivityLonglineDto> loadToRead(String activityLonglineId); + FormDto<ActivityLonglineDto> loadForm(String activityLonglineId); @ReadDataPermission - ReferenceDto<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId); + ActivityLonglineDto loadDto(String activityLonglineId); @ReadDataPermission - ActivityLonglineDto loadDto(String activityLonglineId); + ReferenceDto<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId); @ReadDataPermission boolean exists(String activityLonglineId); @WriteDataPermission - FormDto<ActivityLonglineDto> loadToEdit(String activityLonglineId); - - @WriteDataPermission FormDto<ActivityLonglineDto> preCreate(String tripLonglineId); @Write @@ -70,12 +67,12 @@ public interface ActivityLonglineService extends ObserveService { @PostRequest TripChildSaveResultDto save(String tripLonglineId, ActivityLonglineDto dto); - @Write - @WriteDataPermission - @DeleteRequest /** * @return true if the trip end date has been updated */ + @Write + @WriteDataPermission + @DeleteRequest boolean delete(String tripLonglineId, String activityLonglineId); @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java index 279f5c2..f3e5f1b 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java @@ -14,10 +14,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface BranchlineService extends ObserveService { @ReadDataPermission - FormDto<BranchlineDto> loadToRead(String branchlineId); - - @WriteDataPermission - FormDto<BranchlineDto> loadToEdit(String branchlineId); + FormDto<BranchlineDto> loadForm(String branchlineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchService.java index c6883aa..5558aa6 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetLonglineCatchService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineCatchDto> loadToRead(String setLonglineId); - - @WriteDataPermission - FormDto<SetLonglineCatchDto> loadToEdit(String setLonglineId); + FormDto<SetLonglineCatchDto> loadForm(String setLonglineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java index 07b3cb2..40d41e8 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetLonglineDetailCompositionService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineDetailCompositionDto> loadToRead(String setLonglineId); - - @WriteDataPermission - FormDto<SetLonglineDetailCompositionDto> loadToEdit(String setLonglineId); + FormDto<SetLonglineDetailCompositionDto> loadForm(String setLonglineId); @WriteDataPermission boolean canDeleteSection(String sectionId); diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionService.java index f6c9fc7..29d5536 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetLonglineGlobalCompositionService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineGlobalCompositionDto> loadToRead(String setLonglineId); - - @WriteDataPermission - FormDto<SetLonglineGlobalCompositionDto> loadToEdit(String setLonglineId); + FormDto<SetLonglineGlobalCompositionDto> loadForm(String setLonglineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java index 9e97abe..3e8ada7 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java @@ -39,21 +39,18 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetLonglineService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineDto> loadToRead(String setLonglineId); + FormDto<SetLonglineDto> loadForm(String setLonglineId); @ReadDataPermission - ReferenceDto<SetLonglineDto> loadReferenceToRead(String setLonglineId); + SetLonglineDto loadDto(String setLonglineId); @ReadDataPermission - SetLonglineDto loadDto(String setLonglineId); + ReferenceDto<SetLonglineDto> loadReferenceToRead(String setLonglineId); @ReadDataPermission boolean exists(String setLonglineId); @WriteDataPermission - FormDto<SetLonglineDto> loadToEdit(String setLonglineId); - - @WriteDataPermission FormDto<SetLonglineDto> preCreate(String activityLonglineId); @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TdrService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TdrService.java index 3b82d60..1004972 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TdrService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TdrService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TdrService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineTdrDto> loadToRead(String setLonglineId); - - @WriteDataPermission - FormDto<SetLonglineTdrDto> loadToEdit(String setLonglineId); + FormDto<SetLonglineTdrDto> loadForm(String setLonglineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseService.java index a87d49d..8f5f633 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TripLonglineGearUseService extends ObserveService { @ReadDataPermission - FormDto<TripLonglineGearUseDto> loadToRead(String tripLonglineId); - - @WriteDataPermission - FormDto<TripLonglineGearUseDto> loadToEdit(String tripLonglineId); + FormDto<TripLonglineGearUseDto> loadForm(String tripLonglineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java index 3c5e492..2bd6ab6 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java @@ -49,16 +49,16 @@ public interface TripLonglineService extends ObserveService { ReferenceSetDto<TripLonglineDto> getTripLonglineByProgram(String programId); @ReadDataPermission - TripLonglineDto loadDto(String tripLonglineId); - - @ReadDataPermission int getTripLonglinePositionInProgram(String programId, String tripLonglineId); @ReadDataPermission TripMapDto getTripLonglineMap(String tripLonglineId); @ReadDataPermission - FormDto<TripLonglineDto> loadToRead(String tripLonglineId); + FormDto<TripLonglineDto> loadForm(String tripLonglineId); + + @ReadDataPermission + TripLonglineDto loadDto(String tripLonglineId); @ReadDataPermission ReferenceDto<TripLonglineDto> loadReferenceToRead(String tripLonglineId); @@ -67,9 +67,6 @@ public interface TripLonglineService extends ObserveService { boolean exists(String tripLonglineId); @WriteDataPermission - FormDto<TripLonglineDto> loadToEdit(String tripLonglineId); - - @WriteDataPermission FormDto<TripLonglineDto> preCreate(String programId); @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java index 77c8d83..b053d46 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ActivitySeineObservedSystemService extends ObserveService { @ReadDataPermission - FormDto<ActivitySeineObservedSystemDto> loadToRead(String activitySeineId); - - @WriteDataPermission - FormDto<ActivitySeineObservedSystemDto> loadToEdit(String activitySeineId); + FormDto<ActivitySeineObservedSystemDto> loadForm(String activitySeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java index 0acb68a..c6414b2 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java @@ -48,21 +48,18 @@ public interface ActivitySeineService extends ObserveService { int getActivitySeinePositionInRoute(String routeId, String activitySeineId); @ReadDataPermission - FormDto<ActivitySeineDto> loadToRead(String activitySeineId); + FormDto<ActivitySeineDto> loadForm(String activitySeineId); @ReadDataPermission - ReferenceDto<ActivitySeineDto> loadReferenceToRead(String activitySeineId); + ActivitySeineDto loadDto(String activitySeineId); @ReadDataPermission - ActivitySeineDto loadDto(String activitySeineId); + ReferenceDto<ActivitySeineDto> loadReferenceToRead(String activitySeineId); @ReadDataPermission boolean exists(String activitySeineId); @WriteDataPermission - FormDto<ActivitySeineDto> loadToEdit(String activitySeineId); - - @WriteDataPermission FormDto<ActivitySeineDto> preCreate(String routeId); @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java index 7c473ea..4b105b6 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java @@ -42,21 +42,18 @@ public interface FloatingObjectService extends ObserveService { ReferenceSetDto<FloatingObjectDto> getFloatingObjectByActivitySeine(String activitySeineId); @ReadDataPermission - FormDto<FloatingObjectDto> loadToRead(String floatingObjectId); + FormDto<FloatingObjectDto> loadForm(String floatingObjectId); @ReadDataPermission - ReferenceDto<FloatingObjectDto> loadReferenceToRead(String floatingObjectId); + FloatingObjectDto loadDto(String floatingObjectId); @ReadDataPermission - FloatingObjectDto loadDto(String floatingObjectId); + ReferenceDto<FloatingObjectDto> loadReferenceToRead(String floatingObjectId); @ReadDataPermission boolean exists(String floatingObjectId); @WriteDataPermission - FormDto<FloatingObjectDto> loadToEdit(String floatingObjectId); - - @WriteDataPermission FormDto<FloatingObjectDto> preCreate(String activitySeineId); @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchService.java index 2bbb108..54fd2e7 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface NonTargetCatchService extends ObserveService { @ReadDataPermission - FormDto<SetSeineNonTargetCatchDto> loadToRead(String setSeineId); - - @WriteDataPermission - FormDto<SetSeineNonTargetCatchDto> loadToEdit(String setSeineId, String tripSeineId); + FormDto<SetSeineNonTargetCatchDto> loadForm(String setSeineId, String tripSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java index 68a0e73..906e25b 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java @@ -39,10 +39,7 @@ public interface NonTargetSampleService extends ObserveService { boolean canUseNonTargetSample(String setSeineId); @ReadDataPermission - FormDto<NonTargetSampleDto> loadToRead(String setSeineId); - - @WriteDataPermission - FormDto<NonTargetSampleDto> loadToEdit(String setSeineId); + FormDto<NonTargetSampleDto> loadForm(String setSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java index 09da991..6ecd5ad 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java @@ -36,10 +36,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ObjectObservedSpeciesService extends ObserveService { @ReadDataPermission - FormDto<FloatingObjectObservedSpeciesDto> loadToRead(String floatingObjectId); - - @WriteDataPermission - FormDto<FloatingObjectObservedSpeciesDto> loadToEdit(String floatingObjectId); + FormDto<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java index 73b9117..dcc0d1c 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java @@ -36,10 +36,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ObjectSchoolEstimateService extends ObserveService { @ReadDataPermission - FormDto<FloatingObjectSchoolEstimateDto> loadToRead(String floatingObjectId); - - @WriteDataPermission - FormDto<FloatingObjectSchoolEstimateDto> loadToEdit(String floatingObjectId); + FormDto<FloatingObjectSchoolEstimateDto> loadForm(String floatingObjectId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java index 9d4d151..107dc9f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java @@ -48,21 +48,18 @@ public interface RouteService extends ObserveService { int getRoutePositionInTripSeine(String tripSeineId, String routeId); @ReadDataPermission - FormDto<RouteDto> loadToRead(String routeId); + FormDto<RouteDto> loadForm(String routeId); @ReadDataPermission - ReferenceDto<RouteDto> loadReferenceToRead(String routeId); + RouteDto loadDto(String routeId); @ReadDataPermission - RouteDto loadDto(String routeId); + ReferenceDto<RouteDto> loadReferenceToRead(String routeId); @ReadDataPermission boolean exists(String routeId); @WriteDataPermission - FormDto<RouteDto> loadToEdit(String routeId); - - @WriteDataPermission FormDto<RouteDto> preCreate(String tripSeineId); @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java index f384280..f403330 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java @@ -36,10 +36,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SchoolEstimateService extends ObserveService { @ReadDataPermission - FormDto<SetSeineSchoolEstimateDto> loadToRead(String setSeineId); - - @WriteDataPermission - FormDto<SetSeineSchoolEstimateDto> loadToEdit(String setSeineId, String tripSeineId); + FormDto<SetSeineSchoolEstimateDto> loadForm(String setSeineId, String tripSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java index 456ed6a..a4b2a74 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java @@ -38,21 +38,18 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetSeineService extends ObserveService { @ReadDataPermission - FormDto<SetSeineDto> loadToRead(String setSeineId); + FormDto<SetSeineDto> loadForm(String setSeineId); @ReadDataPermission - ReferenceDto<SetSeineDto> loadReferenceToRead(String setSeineId); + SetSeineDto loadDto(String setSeineId); @ReadDataPermission - SetSeineDto loadDto(String setSeineId); + ReferenceDto<SetSeineDto> loadReferenceToRead(String setSeineId); @ReadDataPermission boolean exists(String setSeineId); @WriteDataPermission - FormDto<SetSeineDto> loadToEdit(String setSeineId); - - @WriteDataPermission FormDto<SetSeineDto> preCreate(String routeId, String activitySeineId); @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetCatchService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetCatchService.java index 850339a..e67d627 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetCatchService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetCatchService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TargetCatchService extends ObserveService { @ReadDataPermission - FormDto<SetSeineTargetCatchDto> loadToRead(String setSeineId, boolean discarded); - - @WriteDataPermission - FormDto<SetSeineTargetCatchDto> loadToEdit(String setSeineId, boolean discarded, String tripSeineId); + FormDto<SetSeineTargetCatchDto> loadForm(String setSeineId, boolean discarded, String tripSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java index da9815f..6a2a237 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java @@ -40,10 +40,7 @@ public interface TargetSampleService extends ObserveService { boolean canUseTargetSample(String setSeineId, boolean discarded); @ReadDataPermission - FormDto<TargetSampleDto> loadToRead(String setSeineId, boolean discarded); - - @WriteDataPermission - FormDto<TargetSampleDto> loadToEdit(String setSeineId, boolean discarded); + FormDto<TargetSampleDto> loadForm(String setSeineId, boolean discarded); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java index 72987d9..b74cefd 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java @@ -36,10 +36,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TransmittingBuoyOperationService extends ObserveService { @ReadDataPermission - FormDto<FloatingObjectTransmittingBuoyDto> loadToRead(String floatingObjectId); - - @WriteDataPermission - FormDto<FloatingObjectTransmittingBuoyDto> loadToEdit(String floatingObjectId); + FormDto<FloatingObjectTransmittingBuoyDto> loadForm(String floatingObjectId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseService.java index 741df06..3f6a426 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseService.java @@ -37,10 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TripSeineGearUseService extends ObserveService { @ReadDataPermission - FormDto<TripSeineGearUseDto> loadToRead(String tripSeineId); - - @WriteDataPermission - FormDto<TripSeineGearUseDto> loadToEdit(String tripSeineId); + FormDto<TripSeineGearUseDto> loadForm(String tripSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java index 6d4856e..c03dc60 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java @@ -54,7 +54,7 @@ public interface TripSeineService extends ObserveService { @ReadDataPermission TripMapDto getTripSeineMap(String tripSeineId); - @WriteDataPermission + @ReadDataPermission FormDto<TripSeineDto> loadForm(String tripSeineId); @ReadDataPermission -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit f125342014beccbbca9b3a0327c0ef42e9d01eb0 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:12:26 2015 +0100 Impact du changement de l'API des services sur l'implatantion webmotion --- .../services/service/seine/TripSeineGearUseServiceRestTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java index 93df71e..f2bd135 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java @@ -127,7 +127,7 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { Map<String, ReferenceDto<TripSeineDto>> tripIds = IdDtos.splitById(allTripSeine.getReference()); Assume.assumeTrue("Marée " + TRIP_SEINE_ID_1 + " non trouvée dans cette base. Test annulé", tripIds.containsKey(TRIP_SEINE_ID_1)); - FormDto<TripSeineGearUseDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); + FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); Assert.assertNotNull(formDto); //FIXME @@ -189,7 +189,7 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { @Ignore @Test public void saveUpdateTest() { - FormDto<TripSeineGearUseDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); + FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); TripSeineGearUseDto tripSeineGearUseDto = formDto.getForm(); @@ -209,7 +209,7 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { service.save(tripSeineGearUseDto); - FormDto<TripSeineGearUseDto> formDtoAfterSave = service.loadToEdit(TRIP_SEINE_ID_1); + FormDto<TripSeineGearUseDto> formDtoAfterSave = service.loadForm(TRIP_SEINE_ID_1); tripSeineGearUseDto = formDtoAfterSave.getForm(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 4596656ba474c2281316de8fd107b5febf6cf010 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:14:20 2015 +0100 Impact du changement de l'API des services sur l'implatantion webmotion --- .../ActivityLongLineEncouterServiceController.java | 9 ++------- .../ActivityLongLineSensorUsedServiceController.java | 9 ++------- .../longline/ActivityLonglineServiceController.java | 17 ++++++----------- .../v1/longline/BranchlineServiceController.java | 9 ++------- .../longline/SetLonglineCatchServiceController.java | 9 ++------- ...SetLonglineDetailCompositionServiceController.java | 9 ++------- ...SetLonglineGlobalCompositionServiceController.java | 9 ++------- .../v1/longline/SetLonglineServiceController.java | 17 ++++++----------- .../controller/v1/longline/TdrServiceController.java | 9 ++------- .../TripLonglineGearUseServiceController.java | 9 ++------- .../v1/longline/TripLonglineServiceController.java | 19 +++++++------------ .../ActivitySeineObservedSystemServiceController.java | 9 ++------- .../v1/seine/ActivitySeineServiceController.java | 17 ++++++----------- .../v1/seine/FloatingObjectServiceController.java | 17 ++++++----------- .../v1/seine/NonTargetCatchServiceController.java | 9 ++------- .../v1/seine/NonTargetSampleServiceController.java | 9 ++------- .../seine/ObjectObservedSpeciesServiceController.java | 9 ++------- .../seine/ObjectSchoolEstimateServiceController.java | 9 ++------- .../controller/v1/seine/RouteServiceController.java | 17 ++++++----------- .../v1/seine/SchoolEstimateServiceController.java | 9 ++------- .../v1/seine/SetSeineServiceController.java | 17 ++++++----------- .../v1/seine/TargetCatchServiceController.java | 9 ++------- .../v1/seine/TargetSampleServiceController.java | 9 ++------- .../TransmittingBuoyOperationServiceController.java | 9 ++------- .../v1/seine/TripSeineGearUseServiceController.java | 9 ++------- .../v1/seine/TripSeineServiceController.java | 18 +++++++++--------- 26 files changed, 88 insertions(+), 213 deletions(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java index 6230410..cda5cd4 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java @@ -38,13 +38,8 @@ public class ActivityLongLineEncouterServiceController extends ObserveAuthentica } @Override - public FormDto<ActivityLonglineEncouterDto> loadToRead(String activityLonglineId) { - return service.loadToRead(activityLonglineId); - } - - @Override - public FormDto<ActivityLonglineEncouterDto> loadToEdit(String activityLonglineId) { - return service.loadToEdit(activityLonglineId); + public FormDto<ActivityLonglineEncouterDto> loadForm(String activityLonglineId) { + return service.loadForm(activityLonglineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineSensorUsedServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineSensorUsedServiceController.java index 9ac9b71..95bf586 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineSensorUsedServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineSensorUsedServiceController.java @@ -38,13 +38,8 @@ public class ActivityLongLineSensorUsedServiceController extends ObserveAuthenti } @Override - public FormDto<ActivityLonglineSensorUsedDto> loadToRead(String activityLonglineId) { - return service.loadToRead(activityLonglineId); - } - - @Override - public FormDto<ActivityLonglineSensorUsedDto> loadToEdit(String activityLonglineId) { - return service.loadToEdit(activityLonglineId); + public FormDto<ActivityLonglineSensorUsedDto> loadForm(String activityLonglineId) { + return service.loadForm(activityLonglineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java index 078ba79..cd4466d 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java @@ -52,13 +52,8 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi } @Override - public FormDto<ActivityLonglineDto> loadToRead(String activityLonglineId) { - return service.loadToRead(activityLonglineId); - } - - @Override - public ReferenceDto<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId) { - return service.loadReferenceToRead(activityLonglineId); + public FormDto<ActivityLonglineDto> loadForm(String activityLonglineId) { + return service.loadForm(activityLonglineId); } @Override @@ -67,13 +62,13 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi } @Override - public boolean exists(String activityLonglineId) { - return service.exists(activityLonglineId); + public ReferenceDto<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId) { + return service.loadReferenceToRead(activityLonglineId); } @Override - public FormDto<ActivityLonglineDto> loadToEdit(String activityLonglineId) { - return service.loadToEdit(activityLonglineId); + public boolean exists(String activityLonglineId) { + return service.exists(activityLonglineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java index 908a632..ce38864 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java @@ -15,13 +15,8 @@ public class BranchlineServiceController extends ObserveAuthenticatedServiceCont } @Override - public FormDto<BranchlineDto> loadToRead(String branchlineId) { - return service.loadToRead(branchlineId); - } - - @Override - public FormDto<BranchlineDto> loadToEdit(String branchlineId) { - return service.loadToEdit(branchlineId); + public FormDto<BranchlineDto> loadForm(String branchlineId) { + return service.loadForm(branchlineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineCatchServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineCatchServiceController.java index 2965c8f..8ed0131 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineCatchServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineCatchServiceController.java @@ -38,13 +38,8 @@ public class SetLonglineCatchServiceController extends ObserveAuthenticatedServi } @Override - public FormDto<SetLonglineCatchDto> loadToRead(String setLonglineId) { - return service.loadToRead(setLonglineId); - } - - @Override - public FormDto<SetLonglineCatchDto> loadToEdit(String setLonglineId) { - return service.loadToEdit(setLonglineId); + public FormDto<SetLonglineCatchDto> loadForm(String setLonglineId) { + return service.loadForm(setLonglineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineDetailCompositionServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineDetailCompositionServiceController.java index a34ad18..15b43ec 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineDetailCompositionServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineDetailCompositionServiceController.java @@ -38,13 +38,8 @@ public class SetLonglineDetailCompositionServiceController extends ObserveAuthen } @Override - public FormDto<SetLonglineDetailCompositionDto> loadToRead(String setLonglineId) { - return service.loadToRead(setLonglineId); - } - - @Override - public FormDto<SetLonglineDetailCompositionDto> loadToEdit(String setLonglineId) { - return service.loadToEdit(setLonglineId); + public FormDto<SetLonglineDetailCompositionDto> loadForm(String setLonglineId) { + return service.loadForm(setLonglineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineGlobalCompositionServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineGlobalCompositionServiceController.java index 0addcc9..3fca427 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineGlobalCompositionServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineGlobalCompositionServiceController.java @@ -38,13 +38,8 @@ public class SetLonglineGlobalCompositionServiceController extends ObserveAuthen } @Override - public FormDto<SetLonglineGlobalCompositionDto> loadToRead(String setLonglineId) { - return service.loadToRead(setLonglineId); - } - - @Override - public FormDto<SetLonglineGlobalCompositionDto> loadToEdit(String setLonglineId) { - return service.loadToEdit(setLonglineId); + public FormDto<SetLonglineGlobalCompositionDto> loadForm(String setLonglineId) { + return service.loadForm(setLonglineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java index 5e4a29d..8230595 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java @@ -39,13 +39,8 @@ public class SetLonglineServiceController extends ObserveAuthenticatedServiceCon } @Override - public FormDto<SetLonglineDto> loadToRead(String setLonglineId) { - return service.loadToRead(setLonglineId); - } - - @Override - public ReferenceDto<SetLonglineDto> loadReferenceToRead(String setLonglineId) { - return service.loadReferenceToRead(setLonglineId); + public FormDto<SetLonglineDto> loadForm(String setLonglineId) { + return service.loadForm(setLonglineId); } @Override @@ -54,13 +49,13 @@ public class SetLonglineServiceController extends ObserveAuthenticatedServiceCon } @Override - public boolean exists(String setLonglineId) { - return service.exists(setLonglineId); + public ReferenceDto<SetLonglineDto> loadReferenceToRead(String setLonglineId) { + return service.loadReferenceToRead(setLonglineId); } @Override - public FormDto<SetLonglineDto> loadToEdit(String setLonglineId) { - return service.loadToEdit(setLonglineId); + public boolean exists(String setLonglineId) { + return service.exists(setLonglineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TdrServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TdrServiceController.java index 19a4ae1..b63e6cc 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TdrServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TdrServiceController.java @@ -38,13 +38,8 @@ public class TdrServiceController extends ObserveAuthenticatedServiceControllerS } @Override - public FormDto<SetLonglineTdrDto> loadToRead(String setLonglineId) { - return service.loadToRead(setLonglineId); - } - - @Override - public FormDto<SetLonglineTdrDto> loadToEdit(String setLonglineId) { - return service.loadToEdit(setLonglineId); + public FormDto<SetLonglineTdrDto> loadForm(String setLonglineId) { + return service.loadForm(setLonglineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineGearUseServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineGearUseServiceController.java index fd8f77a..7d28e5c 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineGearUseServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineGearUseServiceController.java @@ -38,13 +38,8 @@ public class TripLonglineGearUseServiceController extends ObserveAuthenticatedSe } @Override - public FormDto<TripLonglineGearUseDto> loadToRead(String tripLonglineId) { - return service.loadToRead(tripLonglineId); - } - - @Override - public FormDto<TripLonglineGearUseDto> loadToEdit(String tripLonglineId) { - return service.loadToEdit(tripLonglineId); + public FormDto<TripLonglineGearUseDto> loadForm(String tripLonglineId) { + return service.loadForm(tripLonglineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java index e837d57..17808e3 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java @@ -53,11 +53,6 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override - public TripLonglineDto loadDto(String tripLonglineId) { - return service.loadDto(tripLonglineId); - } - - @Override public int getTripLonglinePositionInProgram(String programId, String tripLonglineId) { return service.getTripLonglinePositionInProgram(programId, tripLonglineId); } @@ -68,8 +63,13 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override - public FormDto<TripLonglineDto> loadToRead(String tripLonglineId) { - return service.loadToRead(tripLonglineId); + public FormDto<TripLonglineDto> loadForm(String tripLonglineId) { + return service.loadForm(tripLonglineId); + } + + @Override + public TripLonglineDto loadDto(String tripLonglineId) { + return service.loadDto(tripLonglineId); } @Override @@ -83,11 +83,6 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override - public FormDto<TripLonglineDto> loadToEdit(String tripLonglineId) { - return service.loadToEdit(tripLonglineId); - } - - @Override public FormDto<TripLonglineDto> preCreate(String programId) { return service.preCreate(programId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java index 601a5e8..ae3d1ad 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java @@ -38,13 +38,8 @@ public class ActivitySeineObservedSystemServiceController extends ObserveAuthent } @Override - public FormDto<ActivitySeineObservedSystemDto> loadToRead(String activitySeineId) { - return service.loadToRead(activitySeineId); - } - - @Override - public FormDto<ActivitySeineObservedSystemDto> loadToEdit(String activitySeineId) { - return service.loadToEdit(activitySeineId); + public FormDto<ActivitySeineObservedSystemDto> loadForm(String activitySeineId) { + return service.loadForm(activitySeineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java index 0c25098..70ad39d 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java @@ -52,13 +52,8 @@ public class ActivitySeineServiceController extends ObserveAuthenticatedServiceC } @Override - public FormDto<ActivitySeineDto> loadToRead(String activitySeineId) { - return service.loadToRead(activitySeineId); - } - - @Override - public ReferenceDto<ActivitySeineDto> loadReferenceToRead(String activitySeineId) { - return service.loadReferenceToRead(activitySeineId); + public FormDto<ActivitySeineDto> loadForm(String activitySeineId) { + return service.loadForm(activitySeineId); } @Override @@ -67,13 +62,13 @@ public class ActivitySeineServiceController extends ObserveAuthenticatedServiceC } @Override - public boolean exists(String activitySeineId) { - return service.exists(activitySeineId); + public ReferenceDto<ActivitySeineDto> loadReferenceToRead(String activitySeineId) { + return service.loadReferenceToRead(activitySeineId); } @Override - public FormDto<ActivitySeineDto> loadToEdit(String activitySeineId) { - return service.loadToEdit(activitySeineId); + public boolean exists(String activitySeineId) { + return service.exists(activitySeineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java index c4ed148..5f9dcad 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java @@ -44,13 +44,8 @@ public class FloatingObjectServiceController extends ObserveAuthenticatedService } @Override - public FormDto<FloatingObjectDto> loadToRead(String floatingObjectId) { - return service.loadToRead(floatingObjectId); - } - - @Override - public ReferenceDto<FloatingObjectDto> loadReferenceToRead(String floatingObjectId) { - return service.loadReferenceToRead(floatingObjectId); + public FormDto<FloatingObjectDto> loadForm(String floatingObjectId) { + return service.loadForm(floatingObjectId); } @Override @@ -59,13 +54,13 @@ public class FloatingObjectServiceController extends ObserveAuthenticatedService } @Override - public boolean exists(String floatingObjectId) { - return service.exists(floatingObjectId); + public ReferenceDto<FloatingObjectDto> loadReferenceToRead(String floatingObjectId) { + return service.loadReferenceToRead(floatingObjectId); } @Override - public FormDto<FloatingObjectDto> loadToEdit(String floatingObjectId) { - return service.loadToEdit(floatingObjectId); + public boolean exists(String floatingObjectId) { + return service.exists(floatingObjectId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetCatchServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetCatchServiceController.java index c79da89..5741cfa 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetCatchServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetCatchServiceController.java @@ -38,13 +38,8 @@ public class NonTargetCatchServiceController extends ObserveAuthenticatedService } @Override - public FormDto<SetSeineNonTargetCatchDto> loadToRead(String setSeineId) { - return service.loadToRead(setSeineId); - } - - @Override - public FormDto<SetSeineNonTargetCatchDto> loadToEdit(String setSeineId, String tripSeineId) { - return service.loadToEdit(setSeineId, tripSeineId); + public FormDto<SetSeineNonTargetCatchDto> loadForm(String setSeineId, String tripSeineId) { + return service.loadForm(setSeineId, tripSeineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java index 0efcba4..fda1ecd 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java @@ -42,13 +42,8 @@ public class NonTargetSampleServiceController extends ObserveAuthenticatedServic } @Override - public FormDto<NonTargetSampleDto> loadToRead(String setSeineId) { - return service.loadToRead(setSeineId); - } - - @Override - public FormDto<NonTargetSampleDto> loadToEdit(String setSeineId) { - return service.loadToEdit(setSeineId); + public FormDto<NonTargetSampleDto> loadForm(String setSeineId) { + return service.loadForm(setSeineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java index 0993183..c12d497 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java @@ -37,13 +37,8 @@ public class ObjectObservedSpeciesServiceController extends ObserveAuthenticated } @Override - public FormDto<FloatingObjectObservedSpeciesDto> loadToRead(String floatingObjectId) { - return service.loadToRead(floatingObjectId); - } - - @Override - public FormDto<FloatingObjectObservedSpeciesDto> loadToEdit(String floatingObjectId) { - return service.loadToEdit(floatingObjectId); + public FormDto<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId) { + return service.loadForm(floatingObjectId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java index 66e6737..5a4410c 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java @@ -37,13 +37,8 @@ public class ObjectSchoolEstimateServiceController extends ObserveAuthenticatedS } @Override - public FormDto<FloatingObjectSchoolEstimateDto> loadToRead(String floatingObjectId) { - return service.loadToRead(floatingObjectId); - } - - @Override - public FormDto<FloatingObjectSchoolEstimateDto> loadToEdit(String floatingObjectId) { - return service.loadToEdit(floatingObjectId); + public FormDto<FloatingObjectSchoolEstimateDto> loadForm(String floatingObjectId) { + return service.loadForm(floatingObjectId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java index eb8c949..2e1475b 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java @@ -52,13 +52,8 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle } @Override - public FormDto<RouteDto> loadToRead(String routeId) { - return service.loadToRead(routeId); - } - - @Override - public ReferenceDto<RouteDto> loadReferenceToRead(String routeId) { - return service.loadReferenceToRead(routeId); + public FormDto<RouteDto> loadForm(String routeId) { + return service.loadForm(routeId); } @Override @@ -67,13 +62,13 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle } @Override - public boolean exists(String routeId) { - return service.exists(routeId); + public ReferenceDto<RouteDto> loadReferenceToRead(String routeId) { + return service.loadReferenceToRead(routeId); } @Override - public FormDto<RouteDto> loadToEdit(String routeId) { - return service.loadToEdit(routeId); + public boolean exists(String routeId) { + return service.exists(routeId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java index 8ddbc10..8ddb8fb 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java @@ -37,13 +37,8 @@ public class SchoolEstimateServiceController extends ObserveAuthenticatedService } @Override - public FormDto<SetSeineSchoolEstimateDto> loadToRead(String setSeineId) { - return service.loadToRead(setSeineId); - } - - @Override - public FormDto<SetSeineSchoolEstimateDto> loadToEdit(String setSeineId, String tripSeineId) { - return service.loadToEdit(setSeineId, tripSeineId); + public FormDto<SetSeineSchoolEstimateDto> loadForm(String setSeineId, String tripSeineId) { + return service.loadForm(setSeineId, tripSeineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java index 39e3f11..abdf5c4 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java @@ -38,13 +38,8 @@ public class SetSeineServiceController extends ObserveAuthenticatedServiceContro } @Override - public FormDto<SetSeineDto> loadToRead(String setSeineId) { - return service.loadToRead(setSeineId); - } - - @Override - public ReferenceDto<SetSeineDto> loadReferenceToRead(String setSeineId) { - return service.loadReferenceToRead(setSeineId); + public FormDto<SetSeineDto> loadForm(String setSeineId) { + return service.loadForm(setSeineId); } @Override @@ -53,13 +48,13 @@ public class SetSeineServiceController extends ObserveAuthenticatedServiceContro } @Override - public boolean exists(String setSeineId) { - return service.exists(setSeineId); + public ReferenceDto<SetSeineDto> loadReferenceToRead(String setSeineId) { + return service.loadReferenceToRead(setSeineId); } @Override - public FormDto<SetSeineDto> loadToEdit(String setSeineId) { - return service.loadToEdit(setSeineId); + public boolean exists(String setSeineId) { + return service.exists(setSeineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetCatchServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetCatchServiceController.java index 7a270ef..d49eb00 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetCatchServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetCatchServiceController.java @@ -38,13 +38,8 @@ public class TargetCatchServiceController extends ObserveAuthenticatedServiceCon } @Override - public FormDto<SetSeineTargetCatchDto> loadToRead(String setSeineId, boolean discarded) { - return service.loadToRead(setSeineId, discarded); - } - - @Override - public FormDto<SetSeineTargetCatchDto> loadToEdit(String setSeineId, boolean discarded, String tripSeineId) { - return service.loadToEdit(setSeineId, discarded, tripSeineId); + public FormDto<SetSeineTargetCatchDto> loadForm(String setSeineId, boolean discarded, String tripSeineId) { + return service.loadForm(setSeineId, discarded, tripSeineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java index dd25a10..f425ee5 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java @@ -43,13 +43,8 @@ public class TargetSampleServiceController extends ObserveAuthenticatedServiceCo } @Override - public FormDto<TargetSampleDto> loadToRead(String setSeineId, boolean discarded) { - return service.loadToRead(setSeineId, discarded); - } - - @Override - public FormDto<TargetSampleDto> loadToEdit(String setSeineId, boolean discarded) { - return service.loadToEdit(setSeineId, discarded); + public FormDto<TargetSampleDto> loadForm(String setSeineId, boolean discarded) { + return service.loadForm(setSeineId, discarded); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java index a291d0f..fbc55e8 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java @@ -37,13 +37,8 @@ public class TransmittingBuoyOperationServiceController extends ObserveAuthentic } @Override - public FormDto<FloatingObjectTransmittingBuoyDto> loadToRead(String floatingObjectId) { - return service.loadToRead(floatingObjectId); - } - - @Override - public FormDto<FloatingObjectTransmittingBuoyDto> loadToEdit(String floatingObjectId) { - return service.loadToEdit(floatingObjectId); + public FormDto<FloatingObjectTransmittingBuoyDto> loadForm(String floatingObjectId) { + return service.loadForm(floatingObjectId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineGearUseServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineGearUseServiceController.java index ec4871a..e31c6ff 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineGearUseServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineGearUseServiceController.java @@ -38,13 +38,8 @@ public class TripSeineGearUseServiceController extends ObserveAuthenticatedServi } @Override - public FormDto<TripSeineGearUseDto> loadToRead(String tripSeineId) { - return service.loadToRead(tripSeineId); - } - - @Override - public FormDto<TripSeineGearUseDto> loadToEdit(String tripSeineId) { - return service.loadToEdit(tripSeineId); + public FormDto<TripSeineGearUseDto> loadForm(String tripSeineId) { + return service.loadForm(tripSeineId); } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java index 7734e25..b30bfb6 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java @@ -58,23 +58,18 @@ public class TripSeineServiceController extends ObserveAuthenticatedServiceContr } @Override - public TripSeineDto loadDto(String tripSeineId) { - return service.loadDto(tripSeineId); - } - - @Override public TripMapDto getTripSeineMap(String tripSeineId) { return service.getTripSeineMap(tripSeineId); } @Override - public boolean exists(String tripSeineId) { - return service.exists(tripSeineId); + public FormDto<TripSeineDto> loadForm(String tripSeineId) { + return service.loadForm(tripSeineId); } @Override - public FormDto<TripSeineDto> loadForm(String tripSeineId) { - return service.loadForm(tripSeineId); + public TripSeineDto loadDto(String tripSeineId) { + return service.loadDto(tripSeineId); } @Override @@ -83,6 +78,11 @@ public class TripSeineServiceController extends ObserveAuthenticatedServiceContr } @Override + public boolean exists(String tripSeineId) { + return service.exists(tripSeineId); + } + + @Override public FormDto<TripSeineDto> preCreate(String programId) { return service.preCreate(programId); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 416c329f29bc5c011e8a28540e9bd581d160111c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:16:56 2015 +0100 Ajout propriétés sur le FormDto, revue du constructeur et de l'adapter json (on ne deserialise plus les labels qui de toute façon seront supprimés au prochain wagon...) --- .../main/java/fr/ird/observe/services/dto/FormDto.java | 4 ++++ .../java/fr/ird/observe/services/dto/FormDtos.java | 18 ++++++++---------- .../ird/observe/services/dto/gson/FormDtoAdapter.java | 12 ++++-------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java index 2e12be5..1bd49ae 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java @@ -37,6 +37,10 @@ public class FormDto<R extends IdDto> extends AbstractFormDto { public static final String PROPERTY_FORM = "form"; + public static final String PROPERTY_REFERENTIAL_REFERENCE_SET_REQUEST_NAME = "referentialReferenceSetRequestName"; + + public static final String PROPERTY_DATA_REFERENCE_SET_REQUEST_NAME = "dataReferenceSetRequestName"; + protected final Class<R> type; protected R form; diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDtos.java index d551993..8ac4ed4 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDtos.java @@ -22,8 +22,6 @@ package fr.ird.observe.services.dto; * #L% */ -import java.util.Collection; - /** * Created on 17/08/15. * @@ -31,16 +29,16 @@ import java.util.Collection; */ public class FormDtos extends AbstractFormDtos { - public static <BeanType extends FormDto, R extends IdDto> BeanType newFormDto(Class<R> source) { - BeanType result = (BeanType) new FormDto<>(source); - return result; - } - - public static <BeanType extends FormDto, R extends IdDto> BeanType newFormDto(Class<R> source, R form, Collection<ReferenceSetDto> labels) { - BeanType result = (BeanType) new FormDto<>(source); + public static <R extends IdDto> FormDto<R> newFormDto(Class<R> source, + R form, + String referentialRequestDefinitionName, + String dataRequestDefinitionName) { + FormDto<R> result = new FormDto<>(source); result.setForm(form); - result.setLabels(labels); + result.setReferentialReferenceSetRequestName(referentialRequestDefinitionName); + result.setDataReferenceSetRequestName(dataRequestDefinitionName); return result; } + } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormDtoAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormDtoAdapter.java index 67bdc08..d7cacc9 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormDtoAdapter.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormDtoAdapter.java @@ -1,6 +1,5 @@ package fr.ird.observe.services.dto.gson; -import com.google.common.collect.Lists; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; @@ -9,29 +8,26 @@ import com.google.gson.JsonParseException; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.FormDtos; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import java.lang.reflect.Type; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -public class FormDtoAdapter implements JsonDeserializer<FormDto<?>>{ +public class FormDtoAdapter implements JsonDeserializer<FormDto<?>> { @Override public FormDto<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { JsonObject jsonObject = json.getAsJsonObject(); Class dtoType = context.deserialize(jsonObject.get(FormDto.PROPERTY_TYPE), Class.class); + String referentialRequestDefinitionName = context.deserialize(jsonObject.get(FormDto.PROPERTY_REFERENTIAL_REFERENCE_SET_REQUEST_NAME), String.class); + String dataRequestDefinitionName = context.deserialize(jsonObject.get(FormDto.PROPERTY_DATA_REFERENCE_SET_REQUEST_NAME), String.class); JsonElement jsonFrom = jsonObject.get(FormDto.PROPERTY_FORM); IdDto form = context.deserialize(jsonFrom, dtoType); - JsonElement jsonLabels = jsonObject.get(FormDto.PROPERTY_LABELS); - - ReferenceSetDto[] labels = context.deserialize(jsonLabels, ReferenceSetDto[].class); - - FormDto<?> formDto = FormDtos.newFormDto(dtoType, form, Lists.newArrayList(labels)); + FormDto<?> formDto = FormDtos.newFormDto(dtoType, form, referentialRequestDefinitionName, dataRequestDefinitionName); return formDto; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 3bd56008a510169bdbb8383846bbbba9da9f78f2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:22:13 2015 +0100 Ajout de requetes manquantes + aussi de définition l'ensemble de références --- .../definition/ObserveReferenceSetDefinitions.java | 23 ++- .../ObserveReferenceSetRequestDefinitions.java | 214 ++++++++++++++++++--- 2 files changed, 213 insertions(+), 24 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java index e959ad7..2bba077 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java @@ -1,6 +1,10 @@ package fr.ird.observe.services.dto.reference.definition; +import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.constants.GearType; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.referential.CountryDto; import fr.ird.observe.services.dto.referential.FpaZoneDto; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; @@ -72,6 +76,18 @@ import fr.ird.observe.services.dto.referential.seine.WindDto; */ public enum ObserveReferenceSetDefinitions { + SECTION(newDataDefinitionBuilder(SectionDto.class) + .addProperty(Integer.class, SectionDto.PROPERTY_HAULING_IDENTIFIER) + .addProperty(Integer.class, SectionDto.PROPERTY_SETTING_IDENTIFIER)), + + BASKET(newDataDefinitionBuilder(BasketDto.class) + .addProperty(Integer.class, BasketDto.PROPERTY_HAULING_IDENTIFIER) + .addProperty(Integer.class, BasketDto.PROPERTY_SETTING_IDENTIFIER)), + + BRANCHLINE(newDataDefinitionBuilder(BranchlineDto.class) + .addProperty(Integer.class, BranchlineDto.PROPERTY_HAULING_IDENTIFIER) + .addProperty(Integer.class, BranchlineDto.PROPERTY_SETTING_IDENTIFIER)), + COUNTRY(newDefaultDefinitionBuilder(CountryDto.class)), FPA_ZONE(newDefaultDefinitionBuilder(FpaZoneDto.class)), @@ -210,7 +226,7 @@ public enum ObserveReferenceSetDefinitions { SURROUNDING_ACTIVITY(newDefaultDefinitionBuilder(SurroundingActivityDto.class)), - TRANSMITTING_BUOYO_PERATION(newDefaultDefinitionBuilder(TransmittingBuoyOperationDto.class)), + TRANSMITTING_BUOY_OPERATION(newDefaultDefinitionBuilder(TransmittingBuoyOperationDto.class)), TRANSMITTING_BUOY_TYPE(newDefaultDefinitionBuilder(TransmittingBuoyTypeDto.class)), @@ -245,6 +261,11 @@ public enum ObserveReferenceSetDefinitions { return builder; } + protected static <R extends IdDto> ObserveReferenceSetDefinition.Builder newDataDefinitionBuilder(Class<R> type) { + ObserveReferenceSetDefinition.Builder<R> builder = ObserveReferenceSetDefinition.builder(type); + return builder; + } + ObserveReferenceSetDefinitions(ObserveReferenceSetDefinition.Builder definition) { this.definition = definition.build(); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java index 26a11fe..3bcb184 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java @@ -2,10 +2,28 @@ package fr.ird.observe.services.dto.reference.definition; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.longline.SensorUsedDto; +import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.longline.TdrDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearDto; import fr.ird.observe.services.dto.referential.HarbourDto; @@ -20,23 +38,50 @@ import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; +import fr.ird.observe.services.dto.seine.NonTargetSampleDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; +import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_HAULING_STATUS; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_SETTING_STATUS; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BASKET; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BRANCHLINE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.CATCH_FATE_LONGLINE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.COUNTRY; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.DETECTION_MODE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ENCOUNTER_TYPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.FPA_ZONE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC_TYPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HARBOUR; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HEALTHNESS; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_POSITION; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_SIZE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ITEM_HORIZONTAL_POSITION; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ITEM_VERTICAL_POSITION; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LIGHTSTICKS_COLOR; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LIGHTSTICKS_TYPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LINE_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.MATURITY_STATUS; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.MITIGATION_TYPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_FATE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_OPERATION; @@ -46,19 +91,32 @@ import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceS import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ORGANISM; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.PERSON; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.PROGRAM; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_DISCARD; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_NO_FISHING; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_NULL_SET; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SECTION; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SENSOR_BRAND; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SENSOR_DATA_FORMAT; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SENSOR_TYPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SETTING_SHAPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SEX; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SIZE_MEASURE_TYPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES_FATE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES_GROUP; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES_STATUS; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.STOMAC_FULLNESS; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SURROUNDING_ACTIVITY; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.TRANSMITTING_BUOY_OPERATION; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.TRANSMITTING_BUOY_TYPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.TRIP_TYPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_LONGLINE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_SEINE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_SIZE_CATEGORY; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_TYPE; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.WEIGHT_CATEGORY; +import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.WEIGHT_MEASURE_TYPE; import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.WIND; /** @@ -70,11 +128,41 @@ import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceS */ public enum ObserveReferenceSetRequestDefinitions { + // LONGLINE DATA + + TRIP_LONGLINE_FORM(newBuilder(TripLonglineDto.class) + .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, TRIP_TYPE) + .addKey(TripLonglineDto.PROPERTY_OBSERVER, PERSON) + .addKey(TripLonglineDto.PROPERTY_VESSEL, VESSEL) + .addKey(TripLonglineDto.PROPERTY_CAPTAIN, PERSON) + .addKey(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) + .addKey(TripLonglineDto.PROPERTY_PROGRAM, PROGRAM) + .addKey(TripLonglineDto.PROPERTY_OCEAN, OCEAN) + .addKey(TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) + .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) + ), + + TRIP_LONGLINE_GEAR_USE_FORM(newBuilder(TripLonglineGearUseDto.class) + .addKey(GearUseFeaturesLonglineDto.PROPERTY_GEAR, GEAR) + .addKey(GearUseFeaturesMeasurementLonglineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC) + ), + ACTIVITY_LONGLINE_FORM(newBuilder(ActivityLonglineDto.class) .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, FPA_ZONE) .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, VESSEL_ACTIVITY_LONGLINE) ), + ACTIVITY_LONGLINE_SENSOR_USED_FORM(newBuilder(ActivityLonglineSensorUsedDto.class) + .addKey(SensorUsedDto.PROPERTY_SENSOR_TYPE, SENSOR_TYPE) + .addKey(SensorUsedDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) + .addKey(SensorUsedDto.PROPERTY_SENSOR_DATA_FORMAT, SENSOR_DATA_FORMAT) + ), + + ACTIVITY_LONGLINE_ENCOUTER_FORM(newBuilder(ActivityLonglineEncouterDto.class) + .addKey(EncounterDto.PROPERTY_ENCOUNTER_TYPE, ENCOUNTER_TYPE) + .addKey(EncounterDto.PROPERTY_SPECIES, SPECIES) + ), + BRANCHLINE_FORM(newBuilder(BranchlineDto.class) .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) @@ -87,6 +175,23 @@ public enum ObserveReferenceSetRequestDefinitions { SET_LONGLINE_GLOBAL_COMPOSITION_FORM(newBuilder(SetLonglineGlobalCompositionDto.class) .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, MITIGATION_TYPE) + .addKey(FloatlinesCompositionDto.PROPERTY_LINE_TYPE, LINE_TYPE) + .addKey(BranchlinesCompositionDto.PROPERTY_TOP_TYPE, LINE_TYPE) + .addKey(BranchlinesCompositionDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) + .addKey(HooksCompositionDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) + .addKey(HooksCompositionDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) + .addKey(BaitsCompositionDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) + .addKey(BaitsCompositionDto.PROPERTY_BAIT_TYPE, BAIT_TYPE) + ), + + SET_LONGLINE_DETAIL_COMPOSITION_FORM(newBuilder(SetLonglineDetailCompositionDto.class) + .addKey(BranchlineDto.PROPERTY_TOP_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) + .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) + .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, BAIT_TYPE) + .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) + .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) ), SET_LONGLINE_FORM(newBuilder(SetLonglineDto.class) @@ -96,20 +201,50 @@ public enum ObserveReferenceSetRequestDefinitions { .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, LIGHTSTICKS_COLOR) ), - TRIP_LONGLINE_FORM(newBuilder(TripLonglineDto.class) - .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, TRIP_TYPE) - .addKey(TripLonglineDto.PROPERTY_OBSERVER, PERSON) - .addKey(TripLonglineDto.PROPERTY_VESSEL, VESSEL) - .addKey(TripLonglineDto.PROPERTY_CAPTAIN, PERSON) - .addKey(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) - .addKey(TripLonglineDto.PROPERTY_PROGRAM, PROGRAM) - .addKey(TripLonglineDto.PROPERTY_OCEAN, OCEAN) - .addKey(TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) - .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) + SET_LONGLINE_CATCH_FORM(newBuilder(SetLonglineCatchDto.class) + .addKey(CatchLonglineDto.PROPERTY_SPECIES_CATCH, SPECIES) + .addKey(CatchLonglineDto.PROPERTY_CATCH_HEALTHNESS, HEALTHNESS) + .addKey(CatchLonglineDto.PROPERTY_HOOK_POSITION, HOOK_POSITION) + .addKey(CatchLonglineDto.PROPERTY_CATCH_FATE_LONGLINE, CATCH_FATE_LONGLINE) + .addKey(CatchLonglineDto.PROPERTY_DISCARD_HEALTHNESS, HEALTHNESS) + .addKey(CatchLonglineDto.PROPERTY_PREDATOR, SPECIES) + .addKey(CatchLonglineDto.PROPERTY_STOMAC_FULLNESS, STOMAC_FULLNESS) + .addKey(CatchLonglineDto.PROPERTY_SEX, SEX) + .addKey(CatchLonglineDto.PROPERTY_MATURITY_STATUS, MATURITY_STATUS) + .addKey(SizeMeasureDto.PROPERTY_SIZE_MEASURE_TYPE, SIZE_MEASURE_TYPE) + .addKey(WeightMeasureDto.PROPERTY_WEIGHT_MEASURE_TYPE, WEIGHT_MEASURE_TYPE) + .addKey(CatchLonglineDto.PROPERTY_SECTION, SECTION) + .addKey(CatchLonglineDto.PROPERTY_BASKET, BASKET) + .addKey(CatchLonglineDto.PROPERTY_BRANCHLINE, BRANCHLINE) + .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) ), - ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM(newBuilder(ActivitySeineObservedSystemDto.class) - .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, OBSERVED_SYSTEM) + SET_LONGLINE_TDR_FORM(newBuilder(SetLonglineTdrDto.class) + .addKey(TdrDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) + .addKey(TdrDto.PROPERTY_ITEM_HORIZONTAL_POSITION, ITEM_HORIZONTAL_POSITION) + .addKey(TdrDto.PROPERTY_ITEM_VERTICAL_POSITION, ITEM_VERTICAL_POSITION) + .addKey(TdrDto.PROPERTY_SPECIES, SPECIES) + .addKey(TdrDto.PROPERTY_SECTION, SECTION) + .addKey(TdrDto.PROPERTY_BASKET, BASKET) + .addKey(TdrDto.PROPERTY_BRANCHLINE, BRANCHLINE) + ), + + // SEINE DATA + + TRIP_SEINE_FORM(newBuilder(TripSeineDto.class) + .addKey(TripSeineDto.PROPERTY_OBSERVER, PERSON) + .addKey(TripSeineDto.PROPERTY_CAPTAIN, PERSON) + .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) + .addKey(TripSeineDto.PROPERTY_VESSEL, VESSEL) + .addKey(TripSeineDto.PROPERTY_OCEAN, OCEAN) + .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) + .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) + .addKey(TripSeineDto.PROPERTY_PROGRAM, PROGRAM) + ), + + TRIP_SEINE_GEAR_USE_FORM(newBuilder(TripSeineGearUseDto.class) + .addKey(GearUseFeaturesSeineDto.PROPERTY_GEAR, GEAR) + .addKey(GearUseFeaturesMeasurementSeineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC) ), ACTIVITY_SEINE_FORM(newBuilder(ActivitySeineDto.class) @@ -123,25 +258,58 @@ public enum ObserveReferenceSetRequestDefinitions { .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, FPA_ZONE) ), + ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM(newBuilder(ActivitySeineObservedSystemDto.class) + .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, OBSERVED_SYSTEM) + ), + + SET_SEINE_FORM(newBuilder(SetSeineDto.class) + .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, REASON_FOR_NULL_SET) + ), + + SET_SEINE_SCHOOL_ESTIMATE_FORM(newBuilder(SetSeineSchoolEstimateDto.class) + .addKey(SchoolEstimateDto.PROPERTY_SPECIES, SPECIES) + ), + + SET_SEINE_TARGET_CATCH_FORM(newBuilder(SetSeineTargetCatchDto.class) + .addKey(TargetCatchDto.PROPERTY_SPECIES, SPECIES) + .addKey(TargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD) + .addKey(TargetCatchDto.PROPERTY_WEIGHT_CATEGORY, WEIGHT_CATEGORY) + ), + + SET_SEINE_NON_TARGET_CATCH_FORM(newBuilder(SetSeineNonTargetCatchDto.class) + .addKey(NonTargetCatchDto.PROPERTY_SPECIES, SPECIES) + .addKey(NonTargetCatchDto.PROPERTY_SPECIES_FATE, SPECIES_FATE) + .addKey(NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD) + ), + + TARGET_SAMPLE_FORM(newBuilder(TargetSampleDto.class) + .addKey(TargetLengthDto.PROPERTY_SPECIES, SPECIES) + ), + + NON_TARGET_SAMPLE_FORM(newBuilder(NonTargetSampleDto.class) + .addKey(NonTargetLengthDto.PROPERTY_SPECIES, SPECIES) + .addKey(NonTargetLengthDto.PROPERTY_SEX, SEX) + ), + FLOATING_OBJECT_FORM(newBuilder(FloatingObjectDto.class) .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, OBJECT_TYPE) .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, OBJECT_OPERATION) .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, OBJECT_FATE) ), - SET_SEINE_FORM(newBuilder(SetSeineDto.class) - .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, REASON_FOR_NULL_SET) + FLOATING_OBJECT_OBSERVED_SPECIES_FORM(newBuilder(FloatingObjectObservedSpeciesDto.class) + .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES) + .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES_STATUS, SPECIES_STATUS) ), - TRIP_SEINE_FORM(newBuilder(TripSeineDto.class) - .addKey(TripSeineDto.PROPERTY_OBSERVER, PERSON) - .addKey(TripSeineDto.PROPERTY_CAPTAIN, PERSON) - .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) - .addKey(TripSeineDto.PROPERTY_VESSEL, VESSEL) - .addKey(TripSeineDto.PROPERTY_OCEAN, OCEAN) - .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) - .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) - .addKey(TripSeineDto.PROPERTY_PROGRAM, PROGRAM) + FLOATING_OBJECT_SCHOOL_ESTIMATE_FORM(newBuilder(SchoolEstimateDto.class) + .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES) + ), + + FLOATING_OBJECT_TRANSMITTING_BUOY_FORM(newBuilder(FloatingObjectTransmittingBuoyDto.class) + .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_OPERATION, TRANSMITTING_BUOY_OPERATION) + .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_TYPE, TRANSMITTING_BUOY_TYPE) + .addKey(TransmittingBuoyDto.PROPERTY_COUNTRY, COUNTRY) ), // REFERENTIAL -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit ebd0b3e95e3fcb44c253c8893278fcccb7895a66 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:25:58 2015 +0100 Utilisation des requetes dans les formulaires (en fait juste passé le nom de la requete) et ne plus calculer les labels dans le formulaire --- .../ird/observe/services/ObserveServiceTopia.java | 94 +++++----------------- .../services/builder/EntityToDtoBuilder.java | 6 +- .../services/service/ReferentialServiceTopia.java | 10 +-- .../ActivityLongLineEncouterServiceTopia.java | 23 +----- .../ActivityLongLineSensorUsedServiceTopia.java | 29 ++----- .../longline/ActivityLonglineServiceTopia.java | 24 ++---- .../service/longline/BranchlineServiceTopia.java | 37 ++------- .../longline/SetLonglineCatchServiceTopia.java | 50 +----------- .../SetLonglineDetailCompositionServiceTopia.java | 32 +------- .../SetLonglineGlobalCompositionServiceTopia.java | 42 ++-------- .../service/longline/SetLonglineServiceTopia.java | 42 +++++----- .../services/service/longline/TdrServiceTopia.java | 35 ++------ .../longline/TripLonglineGearUseServiceTopia.java | 22 +---- .../service/longline/TripLonglineServiceTopia.java | 39 ++++----- .../ActivitySeineObservedSystemServiceTopia.java | 19 +---- .../service/seine/ActivitySeineServiceTopia.java | 25 ++---- .../service/seine/FloatingObjectServiceTopia.java | 23 +++--- .../service/seine/NonTargetCatchServiceTopia.java | 26 ++---- .../service/seine/NonTargetSampleServiceTopia.java | 29 ++----- .../seine/ObjectObservedSpeciesServiceTopia.java | 26 +----- .../seine/ObjectSchoolEstimateServiceTopia.java | 17 +--- .../services/service/seine/RouteServiceTopia.java | 18 +---- .../service/seine/SchoolEstimateServiceTopia.java | 23 ++---- .../service/seine/SetSeineServiceTopia.java | 23 +++--- .../service/seine/TargetCatchServiceTopia.java | 42 ++-------- .../service/seine/TargetSampleServiceTopia.java | 19 +---- .../TransmittingBuoyOperationServiceTopia.java | 25 +----- .../seine/TripSeineGearUseServiceTopia.java | 22 +---- .../service/seine/TripSeineServiceTopia.java | 25 +++--- 29 files changed, 178 insertions(+), 669 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index e3916d3..dd48a7a 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -69,6 +69,7 @@ import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.EncounterDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; @@ -78,7 +79,6 @@ import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TargetLengthDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.entity.EntitiesExtractor; -import fr.ird.observe.services.entity.EntitiesSetFactory; import fr.ird.observe.services.service.ConcurrentModificationException; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.DataSourceService; @@ -299,31 +299,6 @@ public abstract class ObserveServiceTopia implements ObserveService { } } - protected <E extends TopiaEntity, D extends IdDto> FormDto<D> entityToReadFormDto(Class<D> dtoType, Class<E> entityType, E entity) { - try (EntityToDtoBuilder<E, D> dtoBuilder = EntityToDtoBuilder.create(entityType, dtoType)) { - - // copy entity - D dto = dtoBuilder.build(serviceContext.getReferentialLocale(), entity); - - // build label sets detected while copy - // For read form, we don't need to get any values in labelSet (since there is nothing to edit^^) - ImmutableSet.Builder<ReferenceSetDto> labels = ImmutableSet.builder(); - - for (ReferenceTypeName referenceDtoTypeName : dtoBuilder.getReferenceTypesNames()) { - - Class<? extends IdDto> childDtoType = referenceDtoTypeName.getType(); - String propertyName = referenceDtoTypeName.getProperty(); - - labels.add(ReferenceSetDtos.newEmptyReferenceSetDto(childDtoType, propertyName)); - - } - - FormDto<D> form = FormDtos.newFormDto(dtoType, dto, labels.build()); - return form; - - } - } - protected <E extends TopiaEntity, D extends IdDto> D entityToDto(Class<D> dtoType, Class<E> entityType, E entity) { try (EntityToDtoBuilder<E, D> dtoBuilder = EntityToDtoBuilder.create(entityType, dtoType)) { @@ -337,53 +312,19 @@ public abstract class ObserveServiceTopia implements ObserveService { protected <E extends TopiaEntity, D extends IdDto> FormDto<D> entityToEditFormDto( Class<D> dtoType, - Class<E> entityType, E entity, + ObserveReferenceSetRequestDefinitions referentialRequestDefinition, ReferenceTypeName... includeReferenceDtoTypesNames) { - return entityToEditFormDto(dtoType, entityType, entity, ImmutableMap.<String, Object>of(), includeReferenceDtoTypesNames); - - } - protected <E extends TopiaEntity, D extends IdDto> FormDto<D> entityToEditFormDto( - Class<D> dtoType, - Class<E> entityType, - E entity, - Map<String, Object> dataContext, - ReferenceTypeName... includeReferenceDtoTypesNames) { + Class<E> entityType = getEntityType(dtoType); try (EntityToDtoBuilder<E, D> dtoBuilder = EntityToDtoBuilder.create(entityType, dtoType)) { // copy entity - D dto = dtoBuilder.build(serviceContext.getReferentialLocale(), entity, includeReferenceDtoTypesNames); - - // build label sets detected while copy - ImmutableSet.Builder<ReferenceSetDto> labels = new ImmutableSet.Builder<>(); - - EntitiesSetFactory entityFilterFactory = serviceContext.getEntitiesSetFactory(); - - for (ReferenceTypeName referenceDtoTypeName : dtoBuilder.getReferenceTypesNames()) { - - Class<? extends IdDto> childDtoType = referenceDtoTypeName.getType(); - String propertyName = referenceDtoTypeName.getProperty(); - - Class<TopiaEntity> entityParentType = getEntityType(referenceDtoTypeName.getParentType()); - Class<TopiaEntity> entityChildType = getEntityType(childDtoType); - - EntitiesExtractor<TopiaEntity> entitiesExtractor = entityFilterFactory.newEntitiesSet(entityParentType, - entityChildType, - propertyName); - - ReferenceSetDto referenceSet = getReferenceSet(childDtoType, - propertyName, - entityChildType, - entitiesExtractor, - dataContext); - - labels.add(referenceSet); - - } + D dto = dtoBuilder.build(serviceContext.getReferentialLocale(), entity); - FormDto<D> form = FormDtos.newFormDto(dtoType, dto, labels.build()); + FormDto<D> form = FormDtos.newFormDto(dtoType, dto, referentialRequestDefinition == null ? null : + referentialRequestDefinition.name(), null); return form; } @@ -562,10 +503,10 @@ public abstract class ObserveServiceTopia implements ObserveService { ReferenceDto<TripLonglineDto> referenceDto = ReferenceDtos.newReferenceDto(TripLonglineDto.class, - Lists.newArrayList(TripLonglineDto.PROPERTY_START_DATE, - TripLonglineDto.PROPERTY_END_DATE, - TripLonglineDto.PROPERTY_VESSEL, - TripLonglineDto.PROPERTY_OBSERVER)); + Lists.newArrayList(TripLonglineDto.PROPERTY_START_DATE, + TripLonglineDto.PROPERTY_END_DATE, + TripLonglineDto.PROPERTY_VESSEL, + TripLonglineDto.PROPERTY_OBSERVER)); referenceDto.setId(entity.getTopiaId()); referenceDto.setPropertyValue(TripLonglineDto.PROPERTY_START_DATE, entity.getStartDate()); @@ -583,8 +524,8 @@ public abstract class ObserveServiceTopia implements ObserveService { ReferenceDto<ActivityLonglineDto> referenceDto = ReferenceDtos.newReferenceDto( ActivityLonglineDto.class, Lists.newArrayList(ActivityLonglineDto.PROPERTY_TIME_STAMP, - ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, - ActivityLonglineDto.PROPERTY_SET_LONGLINE)); + ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, + ActivityLonglineDto.PROPERTY_SET_LONGLINE)); referenceDto.setId(entity.getTopiaId()); referenceDto.setPropertyValue(ActivityLonglineDto.PROPERTY_TIME_STAMP, entity.getTimeStamp()); @@ -601,11 +542,11 @@ public abstract class ObserveServiceTopia implements ObserveService { ReferenceLocale referenceLocale = getReferenceLocale(); ReferenceDto<TripSeineDto> referenceDto = ReferenceDtos.newReferenceDto(TripSeineDto.class, - Lists.newArrayList(TripSeineDto.PROPERTY_ID, - TripSeineDto.PROPERTY_START_DATE, - TripSeineDto.PROPERTY_END_DATE, - TripSeineDto.PROPERTY_VESSEL, - TripSeineDto.PROPERTY_OBSERVER)); + Lists.newArrayList(TripSeineDto.PROPERTY_ID, + TripSeineDto.PROPERTY_START_DATE, + TripSeineDto.PROPERTY_END_DATE, + TripSeineDto.PROPERTY_VESSEL, + TripSeineDto.PROPERTY_OBSERVER)); referenceDto.setId(entity.getTopiaId()); referenceDto.setPropertyValue(TripSeineDto.PROPERTY_START_DATE, entity.getStartDate()); referenceDto.setPropertyValue(TripSeineDto.PROPERTY_END_DATE, entity.getEndDate()); @@ -846,6 +787,7 @@ public abstract class ObserveServiceTopia implements ObserveService { return dto; } + protected <E extends TopiaEntity> boolean existsEntity(Class<E> entityType, String id) { ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java index 32701b2..389e655 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java @@ -85,17 +85,13 @@ public class EntityToDtoBuilder<E extends TopiaEntity, D extends IdDto> implemen } - public D build(ReferentialLocale referentialLocale, E entity, ReferenceTypeName ... includeReferenceTypesNames) { + public D build(ReferentialLocale referentialLocale, E entity) { Preconditions.checkNotNull(referentialLocale, "'referentialLocale' can't be null."); Preconditions.checkNotNull(entity, "'entity' can't be null."); ImmutableSet.Builder<ReferenceTypeName> referenceTypesBuilder = new ImmutableSet.Builder<>(); - for (ReferenceTypeName includeReferenceDtoType : includeReferenceTypesNames) { - referenceTypesBuilder.add(includeReferenceDtoType); - } - Map<String, Object> entityProperties = binder.obtainProperties(entity, true); ImmutableMap.Builder<String, Object> dtoPropertiesBuilder = new ImmutableMap.Builder<>(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index 3d7d59a..1f1e972 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -93,7 +93,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe public <D extends ReferentialDto> FormDto<D> loadToRead(Class<D> dtoType, String id) { Class<ReferenceEntity> entityType = getEntityType(dtoType); ReferenceEntity entity = loadEntity(dtoType, entityType, id); - FormDto<D> form = entityToReadFormDto(dtoType, entityType, entity); + FormDto<D> form = entityToEditFormDto(dtoType, entity, null); addTechnicalInformations(entity, form.getForm()); return form; } @@ -110,7 +110,8 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe public <D extends ReferentialDto> FormDto<D> loadToEdit(Class<D> dtoType, String id) { Class<ReferenceEntity> entityType = getEntityType(dtoType); ReferenceEntity entity = loadEntity(dtoType, entityType, id); - FormDto<D> form = entityToEditFormDto(dtoType, entityType, entity); + //TODO Voir selon le type d'entité si il y a des valeurs par défaut à utiliser + FormDto<D> form = entityToEditFormDto(dtoType, entity, null); addTechnicalInformations(entity, form.getForm()); return form; } @@ -120,7 +121,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe Class<ReferenceEntity> entityType = getEntityType(dtoType); ReferenceEntity entity = newEntity(entityType); //TODO Voir selon le type d'entité si il y a des valeurs par défaut à utiliser - FormDto<D> form = entityToEditFormDto(dtoType, entityType, entity); + FormDto<D> form = entityToEditFormDto(dtoType, entity, null); return form; } @@ -129,8 +130,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe Class<ReferenceEntity> entityType = getEntityType(dtoType); ReferenceEntity entity = dtoToEntity(dtoType, entityType, bean); entity = saveEntity(entityType, entity); - FormDto<D> model = entityToEditFormDto(dtoType, entityType, entity); - return model.getForm().getId(); + return entity.getTopiaId(); } @Override diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java index 8fc6cd7..cef70a1 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java @@ -25,11 +25,8 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; -import fr.ird.observe.services.dto.longline.EncounterDto; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -39,27 +36,14 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia implements ActivityLongLineEncouterService { @Override - public FormDto<ActivityLonglineEncouterDto> loadToRead(String activityLonglineId) { - - ActivityLongline activityLongline = loadEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLonglineId); - - FormDto<ActivityLonglineEncouterDto> form = entityToReadFormDto(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLongline); - - return form; - - } - - @Override - public FormDto<ActivityLonglineEncouterDto> loadToEdit(String activityLonglineId) { + public FormDto<ActivityLonglineEncouterDto> loadForm(String activityLonglineId) { ActivityLongline activityLongline = loadEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLonglineId); FormDto<ActivityLonglineEncouterDto> form = entityToEditFormDto( ActivityLonglineEncouterDto.class, - ActivityLongline.class, activityLongline, - new ReferenceTypeName(EncounterDto.class, EncounterTypeDto.class, EncounterDto.PROPERTY_ENCOUNTER_TYPE), - new ReferenceTypeName(EncounterDto.class, SpeciesDto.class, EncounterDto.PROPERTY_SPECIES)); + ObserveReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_ENCOUTER_FORM); return form; @@ -76,5 +60,4 @@ public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia im } - } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java index b4c6a88..26dc538 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java @@ -25,12 +25,8 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; -import fr.ird.observe.services.dto.longline.SensorUsedDto; -import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; -import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; -import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -40,28 +36,13 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class ActivityLongLineSensorUsedServiceTopia extends ObserveServiceTopia implements ActivityLongLineSensorUsedService { @Override - public FormDto<ActivityLonglineSensorUsedDto> loadToRead(String activityLonglineId) { + public FormDto<ActivityLonglineSensorUsedDto> loadForm(String activityLonglineId) { ActivityLongline activityLongline = loadEntity(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, activityLonglineId); - FormDto<ActivityLonglineSensorUsedDto> form = entityToReadFormDto(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, activityLongline); - - return form; - - } - - @Override - public FormDto<ActivityLonglineSensorUsedDto> loadToEdit(String activityLonglineId) { - - ActivityLongline activityLongline = loadEntity(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, activityLonglineId); - - FormDto<ActivityLonglineSensorUsedDto> form = entityToEditFormDto( - ActivityLonglineSensorUsedDto.class, - ActivityLongline.class, - activityLongline, - new ReferenceTypeName(SensorUsedDto.class, SensorTypeDto.class, SensorUsedDto.PROPERTY_SENSOR_TYPE), - new ReferenceTypeName(SensorUsedDto.class, SensorBrandDto.class, SensorUsedDto.PROPERTY_SENSOR_BRAND), - new ReferenceTypeName(SensorUsedDto.class, SensorDataFormatDto.class, SensorUsedDto.PROPERTY_SENSOR_DATA_FORMAT)); + FormDto<ActivityLonglineSensorUsedDto> form = entityToEditFormDto(ActivityLonglineSensorUsedDto.class, + activityLongline, + ObserveReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_SENSOR_USED_FORM); return form; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java index 69fd30b..d287981 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java @@ -39,6 +39,7 @@ import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.ReferenceSetDtos; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.type.CoordinateHelper; @@ -91,19 +92,6 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements } @Override - public FormDto<ActivityLonglineDto> loadToRead(String activityLonglineId) { - - ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); - - FormDto<ActivityLonglineDto> form = entityToReadFormDto(ActivityLonglineDto.class, ActivityLongline.class, activityLongline); - - form.getForm().setHasSetLongline(activityLongline.getSetLongline() != null); - - return form; - - } - - @Override public ReferenceDto<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId) { ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); @@ -125,11 +113,13 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements } @Override - public FormDto<ActivityLonglineDto> loadToEdit(String activityLonglineId) { + public FormDto<ActivityLonglineDto> loadForm(String activityLonglineId) { ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); - FormDto<ActivityLonglineDto> form = entityToEditFormDto(ActivityLonglineDto.class, ActivityLongline.class, activityLongline); + FormDto<ActivityLonglineDto> form = entityToEditFormDto(ActivityLonglineDto.class, + activityLongline, + ObserveReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_FORM); form.getForm().setHasSetLongline(activityLongline.getSetLongline() != null); @@ -176,7 +166,9 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements preCreated.setTimeStamp(timestamp); - FormDto<ActivityLonglineDto> form = entityToEditFormDto(ActivityLonglineDto.class, ActivityLongline.class, preCreated); + FormDto<ActivityLonglineDto> form = entityToEditFormDto(ActivityLonglineDto.class, + preCreated, + ObserveReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_FORM); return form; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java index ebe6bfe..48f7b04 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java @@ -3,14 +3,8 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; import fr.ird.observe.services.dto.longline.BranchlineDto; -import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; -import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; -import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; -import fr.ird.observe.services.dto.referential.longline.HookSizeDto; -import fr.ird.observe.services.dto.referential.longline.HookTypeDto; -import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -18,34 +12,13 @@ import fr.ird.observe.services.dto.referential.longline.LineTypeDto; public class BranchlineServiceTopia extends ObserveServiceTopia implements BranchlineService { @Override - public FormDto<BranchlineDto> loadToRead(String branchlineId) { + public FormDto<BranchlineDto> loadForm(String branchlineId) { Branchline branchline = loadEntity(BranchlineDto.class, Branchline.class, branchlineId); - FormDto<BranchlineDto> form = entityToReadFormDto( - BranchlineDto.class, - Branchline.class, - branchline); - - return form; - } - - @Override - public FormDto<BranchlineDto> loadToEdit(String branchlineId) { - - Branchline branchline = loadEntity(BranchlineDto.class, Branchline.class, branchlineId); - - FormDto<BranchlineDto> form = entityToEditFormDto( - BranchlineDto.class, - Branchline.class, - branchline, - new ReferenceTypeName(BranchlineDto.class, LineTypeDto.class, BranchlineDto.PROPERTY_TOP_TYPE), - new ReferenceTypeName(BranchlineDto.class, LineTypeDto.class, BranchlineDto.PROPERTY_TRACELINE_TYPE), - new ReferenceTypeName(BranchlineDto.class, HookTypeDto.class, BranchlineDto.PROPERTY_HOOK_TYPE), - new ReferenceTypeName(BranchlineDto.class, HookSizeDto.class, BranchlineDto.PROPERTY_HOOK_SIZE), - new ReferenceTypeName(BranchlineDto.class, BaitTypeDto.class, BranchlineDto.PROPERTY_BAIT_TYPE), - new ReferenceTypeName(BranchlineDto.class, BaitSettingStatusDto.class, BranchlineDto.PROPERTY_BAIT_SETTING_STATUS), - new ReferenceTypeName(BranchlineDto.class, BaitHaulingStatusDto.class, BranchlineDto.PROPERTY_BAIT_HAULING_STATUS)); + FormDto<BranchlineDto> form = entityToEditFormDto(BranchlineDto.class, + branchline, + ObserveReferenceSetRequestDefinitions.BRANCHLINE_FORM); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java index 2f9724d..560ee02 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.longline; * #L% */ -import com.google.common.collect.ImmutableMap; import fr.ird.observe.entities.longline.Basket; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.Section; @@ -30,24 +29,11 @@ import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceTypeName; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.CatchLonglineDto; -import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; -import fr.ird.observe.services.dto.longline.SizeMeasureDto; -import fr.ird.observe.services.dto.longline.WeightMeasureDto; -import fr.ird.observe.services.dto.referential.SexDto; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; -import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; -import fr.ird.observe.services.dto.referential.longline.HealthnessDto; -import fr.ird.observe.services.dto.referential.longline.HookPositionDto; -import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; -import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; -import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; -import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -57,43 +43,15 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements SetLonglineCatchService { @Override - public FormDto<SetLonglineCatchDto> loadToRead(String setLonglineId) { - - SetLongline setLongline = loadEntity(SetLonglineCatchDto.class, SetLongline.class, setLonglineId); - - FormDto<SetLonglineCatchDto> form = entityToReadFormDto( - SetLonglineCatchDto.class, - SetLongline.class, - setLongline); - - return form; - } - - @Override - public FormDto<SetLonglineCatchDto> loadToEdit(String setLonglineId) { + public FormDto<SetLonglineCatchDto> loadForm(String setLonglineId) { SetLongline setLongline = loadEntity(SetLonglineCatchDto.class, SetLongline.class, setLonglineId); FormDto<SetLonglineCatchDto> form = entityToEditFormDto( SetLonglineCatchDto.class, - SetLongline.class, setLongline, - ImmutableMap.<String, Object>of(Section.PROPERTY_SET_LONGLINE, setLongline), - new ReferenceTypeName(CatchLonglineDto.class, SpeciesDto.class, CatchLonglineDto.PROPERTY_SPECIES_CATCH), - new ReferenceTypeName(CatchLonglineDto.class, HealthnessDto.class, CatchLonglineDto.PROPERTY_CATCH_HEALTHNESS), - new ReferenceTypeName(CatchLonglineDto.class, HookPositionDto.class, CatchLonglineDto.PROPERTY_HOOK_POSITION), - new ReferenceTypeName(CatchLonglineDto.class, CatchFateLonglineDto.class, CatchLonglineDto.PROPERTY_CATCH_FATE_LONGLINE), - new ReferenceTypeName(CatchLonglineDto.class, HealthnessDto.class, CatchLonglineDto.PROPERTY_DISCARD_HEALTHNESS), - new ReferenceTypeName(CatchLonglineDto.class, SpeciesDto.class, CatchLonglineDto.PROPERTY_PREDATOR), - new ReferenceTypeName(CatchLonglineDto.class, StomacFullnessDto.class, CatchLonglineDto.PROPERTY_STOMAC_FULLNESS), - new ReferenceTypeName(CatchLonglineDto.class, SexDto.class, CatchLonglineDto.PROPERTY_SEX), - new ReferenceTypeName(CatchLonglineDto.class, MaturityStatusDto.class, CatchLonglineDto.PROPERTY_MATURITY_STATUS), - new ReferenceTypeName(SizeMeasureDto.class, SizeMeasureTypeDto.class, SizeMeasureDto.PROPERTY_SIZE_MEASURE_TYPE), - new ReferenceTypeName(WeightMeasureDto.class, WeightMeasureTypeDto.class, WeightMeasureDto.PROPERTY_WEIGHT_MEASURE_TYPE), - new ReferenceTypeName(CatchLonglineDto.class, SectionDto.class, CatchLonglineDto.PROPERTY_SECTION), - new ReferenceTypeName(CatchLonglineDto.class, BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), - new ReferenceTypeName(CatchLonglineDto.class, BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), - new ReferenceTypeName(BranchlineDto.class, BaitHaulingStatusDto.class, BranchlineDto.PROPERTY_BAIT_HAULING_STATUS) // utilisé pour l'edition des l'anvançon + ObserveReferenceSetRequestDefinitions.SET_LONGLINE_CATCH_FORM + //ImmutableMap.<String, Object>of(Section.PROPERTY_SET_LONGLINE, setLongline), //FIXME context ); for(Section section : setLongline.getSection()) { diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java index 2ed5426..3a98607 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java @@ -28,17 +28,11 @@ import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; -import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; -import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; -import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; -import fr.ird.observe.services.dto.referential.longline.HookSizeDto; -import fr.ird.observe.services.dto.referential.longline.HookTypeDto; -import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -48,34 +42,14 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopia implements SetLonglineDetailCompositionService { @Override - public FormDto<SetLonglineDetailCompositionDto> loadToRead(String setLonglineId) { - - SetLongline setLongline = loadEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, setLonglineId); - - FormDto<SetLonglineDetailCompositionDto> form = entityToReadFormDto( - SetLonglineDetailCompositionDto.class, - SetLongline.class, - setLongline); - - return form; - } - - @Override - public FormDto<SetLonglineDetailCompositionDto> loadToEdit(String setLonglineId) { + public FormDto<SetLonglineDetailCompositionDto> loadForm(String setLonglineId) { SetLongline setLongline = loadEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, setLonglineId); FormDto<SetLonglineDetailCompositionDto> form = entityToEditFormDto( SetLonglineDetailCompositionDto.class, - SetLongline.class, setLongline, - new ReferenceTypeName(BranchlineDto.class, LineTypeDto.class, BranchlineDto.PROPERTY_TOP_TYPE), - new ReferenceTypeName(BranchlineDto.class, LineTypeDto.class, BranchlineDto.PROPERTY_TRACELINE_TYPE), - new ReferenceTypeName(BranchlineDto.class, HookTypeDto.class, BranchlineDto.PROPERTY_HOOK_TYPE), - new ReferenceTypeName(BranchlineDto.class, HookSizeDto.class, BranchlineDto.PROPERTY_HOOK_SIZE), - new ReferenceTypeName(BranchlineDto.class, BaitTypeDto.class, BranchlineDto.PROPERTY_BAIT_TYPE), - new ReferenceTypeName(BranchlineDto.class, BaitSettingStatusDto.class, BranchlineDto.PROPERTY_BAIT_SETTING_STATUS), - new ReferenceTypeName(BranchlineDto.class, BaitHaulingStatusDto.class, BranchlineDto.PROPERTY_BAIT_HAULING_STATUS)); + ObserveReferenceSetRequestDefinitions.SET_LONGLINE_DETAIL_COMPOSITION_FORM); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java index d8c5333..7deb7a5 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java @@ -25,18 +25,8 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.longline.BaitsCompositionDto; -import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; -import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; -import fr.ird.observe.services.dto.longline.HooksCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; -import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; -import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; -import fr.ird.observe.services.dto.referential.longline.HookSizeDto; -import fr.ird.observe.services.dto.referential.longline.HookTypeDto; -import fr.ird.observe.services.dto.referential.longline.LineTypeDto; -import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -46,35 +36,13 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class SetLonglineGlobalCompositionServiceTopia extends ObserveServiceTopia implements SetLonglineGlobalCompositionService { @Override - public FormDto<SetLonglineGlobalCompositionDto> loadToRead(String setLonglineId) { + public FormDto<SetLonglineGlobalCompositionDto> loadForm(String setLonglineId) { SetLongline setLongline = loadEntity(SetLonglineGlobalCompositionDto.class, SetLongline.class, setLonglineId); - FormDto<SetLonglineGlobalCompositionDto> form = entityToReadFormDto( - SetLonglineGlobalCompositionDto.class, - SetLongline.class, - setLongline); - - return form; - } - - @Override - public FormDto<SetLonglineGlobalCompositionDto> loadToEdit(String setLonglineId) { - - SetLongline setLongline = loadEntity(SetLonglineGlobalCompositionDto.class, SetLongline.class, setLonglineId); - - FormDto<SetLonglineGlobalCompositionDto> form = entityToEditFormDto( - SetLonglineGlobalCompositionDto.class, - SetLongline.class, - setLongline, - new ReferenceTypeName(FloatlinesCompositionDto.class, LineTypeDto.class, FloatlinesCompositionDto.PROPERTY_LINE_TYPE), - new ReferenceTypeName(BranchlinesCompositionDto.class, LineTypeDto.class, BranchlinesCompositionDto.PROPERTY_TOP_TYPE), - new ReferenceTypeName(BranchlinesCompositionDto.class, LineTypeDto.class, BranchlinesCompositionDto.PROPERTY_TRACELINE_TYPE), - new ReferenceTypeName(HooksCompositionDto.class, HookTypeDto.class, HooksCompositionDto.PROPERTY_HOOK_TYPE), - new ReferenceTypeName(HooksCompositionDto.class, HookSizeDto.class, HooksCompositionDto.PROPERTY_HOOK_SIZE), - new ReferenceTypeName(BaitsCompositionDto.class, BaitSettingStatusDto.class, BaitsCompositionDto.PROPERTY_BAIT_SETTING_STATUS), - new ReferenceTypeName(BaitsCompositionDto.class, BaitTypeDto.class, BaitsCompositionDto.PROPERTY_BAIT_TYPE), - new ReferenceTypeName(SetLonglineGlobalCompositionDto.class, MitigationTypeDto.class, SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE)); + FormDto<SetLonglineGlobalCompositionDto> form = entityToEditFormDto(SetLonglineGlobalCompositionDto.class, + setLongline, + ObserveReferenceSetRequestDefinitions.SET_LONGLINE_GLOBAL_COMPOSITION_FORM); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java index c3cfa6f..723a5b0 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java @@ -34,6 +34,7 @@ import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.service.DataNotFoundException; @@ -48,11 +49,19 @@ import java.util.Set; public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetLonglineService { @Override - public FormDto<SetLonglineDto> loadToRead(String setLonglineId) { + public FormDto<SetLonglineDto> loadForm(String setLonglineId) { SetLongline setLongline = loadEntity(SetLonglineDto.class, SetLongline.class, setLonglineId); - FormDto<SetLonglineDto> form = entityToReadFormDto(SetLonglineDto.class, SetLongline.class, setLongline); + FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, + setLongline, + ObserveReferenceSetRequestDefinitions.SET_LONGLINE_FORM); + + ActivityLonglineTopiaDao activityLonglineDao = getTopiaPersistenceContext().getActivityLonglineDao(); + + ActivityLongline activityLongline = activityLonglineDao.forSetLonglineEquals(setLongline).findUnique(); + + form.getForm().setOtherSets(getOtherSetLonglineDtos(activityLongline, setLongline)); return form; @@ -79,23 +88,6 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL } @Override - public FormDto<SetLonglineDto> loadToEdit(String setLonglineId) { - - SetLongline setLongline = loadEntity(SetLonglineDto.class, SetLongline.class, setLonglineId); - - FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, SetLongline.class, setLongline); - - ActivityLonglineTopiaDao activityLonglineDao = getTopiaPersistenceContext().getActivityLonglineDao(); - - ActivityLongline activityLongline = activityLonglineDao.forSetLonglineEquals(setLongline).findUnique(); - - form.getForm().setOtherSets(getOtherSetLonglineDtos(activityLongline, setLongline)); - - return form; - - } - - @Override public FormDto<SetLonglineDto> preCreate(String activityLonglineId) { ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); @@ -120,14 +112,16 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL preCreated.setSettingStartLatitude(latitude); preCreated.setSettingStartLongitude(longitude); - FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, SetLongline.class, preCreated); + FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, + preCreated, + ObserveReferenceSetRequestDefinitions.SET_LONGLINE_FORM); form.getForm().setOtherSets(getOtherSetLonglineDtos(activityLongline, preCreated)); return form; } - + @Override public SaveResultDto save(String activityLonglineId, SetLonglineDto setLonglineDto) { @@ -166,9 +160,9 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL } - protected Set<SetLonglineStubDto> getOtherSetLonglineDtos(ActivityLongline currentActivityLongline, SetLongline setLongline) { + protected Set<SetLonglineStubDto> getOtherSetLonglineDtos(ActivityLongline currentActivityLongline, SetLongline setLongline) { - Set<SetLonglineStubDto> otherSetLonglineDtos = Sets.newHashSet(); + Set<SetLonglineStubDto> otherSetLonglineDtos = Sets.newHashSet(); TripLonglineTopiaDao tripLonglineDao = getTopiaPersistenceContext().getTripLonglineDao(); @@ -178,7 +172,7 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL SetLongline otherSetLongline = activityLongline.getSetLongline(); - if (otherSetLongline != null && ! setLongline.equals(otherSetLongline)) { + if (otherSetLongline != null && !setLongline.equals(otherSetLongline)) { SetLonglineStubDto otherSetDto = new SetLonglineStubDto(); otherSetDto.setId(otherSetLongline.getTopiaId()); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java index a122222..5c817e3 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.longline; * #L% */ -import com.google.common.collect.ImmutableMap; import fr.ird.observe.entities.longline.Basket; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.Section; @@ -30,16 +29,11 @@ import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceTypeName; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; -import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; import fr.ird.observe.services.dto.longline.TdrDto; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; -import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; -import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -49,35 +43,16 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class TdrServiceTopia extends ObserveServiceTopia implements TdrService { @Override - public FormDto<SetLonglineTdrDto> loadToRead(String setLonglineId) { - - SetLongline setLongline = loadEntity(SetLonglineTdrDto.class, SetLongline.class, setLonglineId); - - FormDto<SetLonglineTdrDto> form = entityToReadFormDto( - SetLonglineTdrDto.class, - SetLongline.class, - setLongline); - - return form; - } - - @Override - public FormDto<SetLonglineTdrDto> loadToEdit(String setLonglineId) { + public FormDto<SetLonglineTdrDto> loadForm(String setLonglineId) { SetLongline setLongline = loadEntity(SetLonglineTdrDto.class, SetLongline.class, setLonglineId); FormDto<SetLonglineTdrDto> form = entityToEditFormDto( SetLonglineTdrDto.class, - SetLongline.class, setLongline, - ImmutableMap.<String, Object>of(Section.PROPERTY_SET_LONGLINE, setLongline), - new ReferenceTypeName(TdrDto.class, SensorBrandDto.class, TdrDto.PROPERTY_SENSOR_BRAND), - new ReferenceTypeName(TdrDto.class, ItemHorizontalPositionDto.class, TdrDto.PROPERTY_ITEM_HORIZONTAL_POSITION), - new ReferenceTypeName(TdrDto.class, ItemVerticalPositionDto.class, TdrDto.PROPERTY_ITEM_VERTICAL_POSITION), - new ReferenceTypeName(TdrDto.class, SpeciesDto.class, TdrDto.PROPERTY_SPECIES), - new ReferenceTypeName(TdrDto.class, SectionDto.class, TdrDto.PROPERTY_SECTION), - new ReferenceTypeName(TdrDto.class, BasketDto.class, TdrDto.PROPERTY_BASKET), - new ReferenceTypeName(TdrDto.class, BranchlineDto.class, TdrDto.PROPERTY_BRANCHLINE)); + ObserveReferenceSetRequestDefinitions.SET_LONGLINE_TDR_FORM + //ImmutableMap.<String, Object>of(Section.PROPERTY_SET_LONGLINE, setLongline), //FIXME context + ); for(Section section : setLongline.getSection()) { diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java index fe89e0a..521d797 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java @@ -26,12 +26,8 @@ import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.longline.TripLonglineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; -import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; -import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -41,26 +37,14 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class TripLonglineGearUseServiceTopia extends ObserveServiceTopia implements TripLonglineGearUseService { @Override - public FormDto<TripLonglineGearUseDto> loadToRead(String tripLonglineId) { - - TripLongline tripLongline = loadEntity(TripLonglineGearUseDto.class, TripLongline.class, tripLonglineId); - - FormDto<TripLonglineGearUseDto> form = entityToReadFormDto(TripLonglineGearUseDto.class, TripLongline.class, tripLongline); - - return form; - } - - @Override - public FormDto<TripLonglineGearUseDto> loadToEdit(String tripLonglineId) { + public FormDto<TripLonglineGearUseDto> loadForm(String tripLonglineId) { TripLongline tripLongline = loadEntity(TripLonglineGearUseDto.class, TripLongline.class, tripLonglineId); FormDto<TripLonglineGearUseDto> form = entityToEditFormDto( TripLonglineGearUseDto.class, - TripLongline.class, tripLongline, - new ReferenceTypeName(GearUseFeaturesLonglineDto.class, GearDto.class, GearUseFeaturesLonglineDto.PROPERTY_GEAR), - new ReferenceTypeName(GearUseFeaturesMeasurementLonglineDto.class, GearCaracteristicDto.class, GearUseFeaturesMeasurementLonglineDto.PROPERTY_GEAR_CARACTERISTIC)); + ObserveReferenceSetRequestDefinitions.TRIP_LONGLINE_GEAR_USE_FORM); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java index a7c7691..a9266f9 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java @@ -35,8 +35,10 @@ import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.ReferenceSetDtos; import fr.ird.observe.services.dto.TripMapDto; +import fr.ird.observe.services.dto.TripMapDtos; import fr.ird.observe.services.dto.TripMapPointDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -53,10 +55,6 @@ import java.util.List; */ public class TripLonglineServiceTopia extends ObserveServiceTopia implements TripLonglineService { - protected TripLonglineTopiaDao getDao() { - return (TripLonglineTopiaDao) serviceContext.getTopiaPersistenceContext().getDao(TripLongline.class); - } - @Override public ReferenceSetDto<TripLonglineDto> getAllTripLongline() { @@ -80,7 +78,6 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri return stubReferences; } - @Override public ReferenceSetDto<TripLonglineDto> getTripLonglineByProgram(String programId) { @@ -105,6 +102,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri return stubReferences; } + @Override public TripLonglineDto loadDto(String tripLonglineId) { return loadEntityToDto(TripLonglineDto.class, tripLonglineId); @@ -123,26 +121,11 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri LinkedHashSet<TripMapPointDto> points = getDao().extractTripMapActivityPoints(tripLonglineId); - TripMapDto tripMapDto = new TripMapDto(); - - tripMapDto.setId(tripLonglineId); - - tripMapDto.setPoints(points); - + TripMapDto tripMapDto = TripMapDtos.newTripMapDto(tripLonglineId, points); return tripMapDto; } @Override - public FormDto<TripLonglineDto> loadToRead(String tripLonglineId) { - - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); - - FormDto<TripLonglineDto> form = entityToReadFormDto(TripLonglineDto.class, TripLongline.class, tripLongline); - - return form; - } - - @Override public ReferenceDto<TripLonglineDto> loadReferenceToRead(String tripLonglineId) { TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); @@ -158,11 +141,13 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri } @Override - public FormDto<TripLonglineDto> loadToEdit(String tripLonglineId) { + public FormDto<TripLonglineDto> loadForm(String tripLonglineId) { TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); - FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, TripLongline.class, tripLongline); + FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, + tripLongline, + ObserveReferenceSetRequestDefinitions.TRIP_LONGLINE_FORM); TripLonglineDto tripLonglineDto = form.getForm(); @@ -189,7 +174,9 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri tripLongline.setProgram(program); - FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, TripLongline.class, tripLongline); + FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, + tripLongline, + ObserveReferenceSetRequestDefinitions.TRIP_LONGLINE_FORM); return form; } @@ -246,4 +233,8 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri return result; } + + protected TripLonglineTopiaDao getDao() { + return (TripLonglineTopiaDao) serviceContext.getTopiaPersistenceContext().getDao(TripLongline.class); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java index 215e882..a832f19 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java @@ -25,8 +25,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; @@ -37,25 +36,13 @@ import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia implements ActivitySeineObservedSystemService { @Override - public FormDto<ActivitySeineObservedSystemDto> loadToRead(String activitySeineId) { + public FormDto<ActivitySeineObservedSystemDto> loadForm(String activitySeineId) { ActivitySeine activitySeine = loadEntity(ActivitySeineObservedSystemDto.class, ActivitySeine.class, activitySeineId); - FormDto<ActivitySeineObservedSystemDto> form = entityToReadFormDto(ActivitySeineObservedSystemDto.class, ActivitySeine.class, activitySeine); - - return form; - } - - @Override - public FormDto<ActivitySeineObservedSystemDto> loadToEdit(String activitySeineId) { - - ActivitySeine activitySeine = loadEntity(ActivitySeineObservedSystemDto.class, ActivitySeine.class, activitySeineId); - - //FIXME Voir s'il faut aussi le faire pour le read (je ne peux plus créer de base... donc pas finir de tester) FormDto<ActivitySeineObservedSystemDto> form = entityToEditFormDto(ActivitySeineObservedSystemDto.class, - ActivitySeine.class, activitySeine, - new ReferenceTypeName(ActivitySeineObservedSystemDto.class, ObservedSystemDto.class, ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM)); + ObserveReferenceSetRequestDefinitions.ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java index c96e044..43ffc06 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java @@ -37,6 +37,7 @@ import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceDtos; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineDto; @@ -56,7 +57,6 @@ import java.util.List; */ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements ActivitySeineService { - @Override public ReferenceSetDto<ActivitySeineDto> getActivitySeineByRoute(String routeId) { @@ -100,19 +100,6 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac } @Override - public FormDto<ActivitySeineDto> loadToRead(String activitySeineId) { - - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); - - FormDto<ActivitySeineDto> form = entityToReadFormDto(ActivitySeineDto.class, ActivitySeine.class, activitySeine); - - form.getForm().setObservedSystemEmpty(activitySeine.isObservedSystemEmpty()); - form.getForm().setFloatingObjectEmpty(activitySeine.isFloatingObjectEmpty()); - - return form; - } - - @Override public ReferenceDto<ActivitySeineDto> loadReferenceToRead(String activitySeineId) { ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); @@ -132,11 +119,13 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac } @Override - public FormDto<ActivitySeineDto> loadToEdit(String activitySeineId) { + public FormDto<ActivitySeineDto> loadForm(String activitySeineId) { ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); - FormDto<ActivitySeineDto> form = entityToEditFormDto(ActivitySeineDto.class, ActivitySeine.class, activitySeine); + FormDto<ActivitySeineDto> form = entityToEditFormDto(ActivitySeineDto.class, + activitySeine, + ObserveReferenceSetRequestDefinitions.ACTIVITY_SEINE_FORM); form.getForm().setObservedSystemEmpty(activitySeine.isObservedSystemEmpty()); form.getForm().setFloatingObjectEmpty(activitySeine.isFloatingObjectEmpty()); @@ -190,7 +179,9 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac preCreated.setTime(DateUtil.getTime(time, false, false)); preCreated.setCurrentFpaZone(currentFpaZone); - FormDto<ActivitySeineDto> form = entityToEditFormDto(ActivitySeineDto.class, ActivitySeine.class, preCreated); + FormDto<ActivitySeineDto> form = entityToEditFormDto(ActivitySeineDto.class, + preCreated, + ObserveReferenceSetRequestDefinitions.ACTIVITY_SEINE_FORM); form.getForm().setObservedSystemEmpty(preCreated.isObservedSystemEmpty()); form.getForm().setFloatingObjectEmpty(preCreated.isFloatingObjectEmpty()); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java index 6674efc..6c8e3fa 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java @@ -32,6 +32,7 @@ import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.FloatingObjectDtos; @@ -70,16 +71,6 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F } @Override - public FormDto<FloatingObjectDto> loadToRead(String floatingObjectId) { - - FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectId); - - FormDto<FloatingObjectDto> form = entityToReadFormDto(FloatingObjectDto.class, FloatingObject.class, floatingObject); - - return form; - } - - @Override public ReferenceDto<FloatingObjectDto> loadReferenceToRead(String floatingObjectId) { ReferenceLocale referenceLocale = getReferenceLocale(); @@ -104,11 +95,13 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F } @Override - public FormDto<FloatingObjectDto> loadToEdit(String floatingObjectId) { + public FormDto<FloatingObjectDto> loadForm(String floatingObjectId) { FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectId); - FormDto<FloatingObjectDto> form = entityToEditFormDto(FloatingObjectDto.class, FloatingObject.class, floatingObject); + FormDto<FloatingObjectDto> form = entityToEditFormDto(FloatingObjectDto.class, + floatingObject, + ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_FORM); return form; } @@ -118,7 +111,9 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F FloatingObject floatingObject = newEntity(FloatingObject.class); - FormDto<FloatingObjectDto> form = entityToEditFormDto(FloatingObjectDto.class, FloatingObject.class, floatingObject); + FormDto<FloatingObjectDto> form = entityToEditFormDto(FloatingObjectDto.class, + floatingObject, + ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_FORM); return form; } @@ -150,7 +145,7 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectId); - if (! activitySeine.containsFloatingObject(floatingObject)) { + if (!activitySeine.containsFloatingObject(floatingObject)) { throw new DataNotFoundException(FloatingObjectDto.class, floatingObjectId); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java index 932f94c..228569a 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.seine; * #L% */ -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import fr.ird.observe.entities.referentiel.Ocean; @@ -36,10 +35,7 @@ import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; -import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.NonTargetCatchDto; @@ -55,17 +51,7 @@ import java.util.Set; public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements NonTargetCatchService { @Override - public FormDto<SetSeineNonTargetCatchDto> loadToRead(String setSeineId) { - - SetSeine setSeine = loadEntity(SetSeineNonTargetCatchDto.class, SetSeine.class, setSeineId); - - FormDto<SetSeineNonTargetCatchDto> form = entityToReadFormDto(SetSeineNonTargetCatchDto.class, SetSeine.class, setSeine); - - return form; - } - - @Override - public FormDto<SetSeineNonTargetCatchDto> loadToEdit(String setSeineId, String tripSeineId) { + public FormDto<SetSeineNonTargetCatchDto> loadForm(String setSeineId, String tripSeineId) { SetSeine setSeine = loadEntity(SetSeineNonTargetCatchDto.class, SetSeine.class, setSeineId); @@ -75,12 +61,10 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N FormDto<SetSeineNonTargetCatchDto> form = entityToEditFormDto( SetSeineNonTargetCatchDto.class, - SetSeine.class, setSeine, - ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), - new ReferenceTypeName(NonTargetCatchDto.class, SpeciesDto.class, NonTargetCatchDto.PROPERTY_SPECIES), - new ReferenceTypeName(NonTargetCatchDto.class, SpeciesFateDto.class, NonTargetCatchDto.PROPERTY_SPECIES_FATE), - new ReferenceTypeName(NonTargetCatchDto.class, ReasonForDiscardDto.class, NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD)); + ObserveReferenceSetRequestDefinitions.SET_SEINE_FORM + //ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), //FIXME context + ); SetSeineNonTargetCatchDto setSeineNonTargetCatchDto = form.getForm(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java index 76ff6d3..5980335 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java @@ -32,10 +32,8 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.seine.NonTargetLengthDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -75,19 +73,7 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements } @Override - public FormDto<NonTargetSampleDto> loadToRead(String setSeineId) { - - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); - - NonTargetSample nonTargetSample = getNonTargetSample(setSeine); - - FormDto<NonTargetSampleDto> form = entityToReadFormDto(NonTargetSampleDto.class, NonTargetSample.class, nonTargetSample); - - return form; - } - - @Override - public FormDto<NonTargetSampleDto> loadToEdit(String setSeineId) { + public FormDto<NonTargetSampleDto> loadForm(String setSeineId) { SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); @@ -95,13 +81,10 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements FormDto<NonTargetSampleDto> form = entityToEditFormDto( NonTargetSampleDto.class, - NonTargetSample.class, nonTargetSample, - new ReferenceTypeName(NonTargetLengthDto.class, SexDto.class, NonTargetLengthDto.PROPERTY_SEX), - new ReferenceTypeName(NonTargetLengthDto.class, SpeciesDto.class, NonTargetLengthDto.PROPERTY_SPECIES) - ); + ObserveReferenceSetRequestDefinitions.SET_SEINE_NON_TARGET_CATCH_FORM); - // on filtre la list des espéces cibles + // on filtre la liste des espéces cibles Set<Species> speciesSet = Sets.newLinkedHashSet(); // on recupere la liste des espèces thon cible @@ -116,10 +99,10 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements } } - + //FIXME request LinkedHashSet<ReferenceDto<SpeciesDto>> speciesRefs = Sets.newLinkedHashSet(); - for (Species species : speciesSet ) { + for (Species species : speciesSet) { speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java index 3c4109a..2dfed78 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java @@ -25,11 +25,8 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; -import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -37,22 +34,7 @@ import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia implements ObjectObservedSpeciesService { @Override - public FormDto<FloatingObjectObservedSpeciesDto> loadToRead(String floatingObjectId) { - - FloatingObject floatingObject = - loadEntity(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObjectId); - - FormDto<FloatingObjectObservedSpeciesDto> form = - entityToReadFormDto( - FloatingObjectObservedSpeciesDto.class, - FloatingObject.class, - floatingObject); - - return form; - } - - @Override - public FormDto<FloatingObjectObservedSpeciesDto> loadToEdit(String floatingObjectId) { + public FormDto<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId) { FloatingObject floatingObject = loadEntity(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObjectId); @@ -60,10 +42,8 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple FormDto<FloatingObjectObservedSpeciesDto> form = entityToEditFormDto( FloatingObjectObservedSpeciesDto.class, - FloatingObject.class, floatingObject, - new ReferenceTypeName(ObjectObservedSpeciesDto.class, SpeciesDto.class, ObjectObservedSpeciesDto.PROPERTY_SPECIES), - new ReferenceTypeName(ObjectObservedSpeciesDto.class, SpeciesStatusDto.class, ObjectObservedSpeciesDto.PROPERTY_SPECIES_STATUS)); + ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_OBSERVED_SPECIES_FORM); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java index 51a1c05..4179233 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java @@ -26,6 +26,7 @@ import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceTypeName; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; @@ -37,19 +38,7 @@ import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implements ObjectSchoolEstimateService { @Override - public FormDto<FloatingObjectSchoolEstimateDto> loadToRead(String floatingObjectId) { - - FloatingObject floatingObject = - loadEntity(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObjectId); - - FormDto<FloatingObjectSchoolEstimateDto> form = - entityToReadFormDto(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObject); - - return form; - } - - @Override - public FormDto<FloatingObjectSchoolEstimateDto> loadToEdit(String floatingObjectId) { + public FormDto<FloatingObjectSchoolEstimateDto> loadForm(String floatingObjectId) { FloatingObject floatingObject = loadEntity(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObjectId); @@ -57,8 +46,8 @@ public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implem FormDto<FloatingObjectSchoolEstimateDto> form = entityToEditFormDto( FloatingObjectSchoolEstimateDto.class, - FloatingObject.class, floatingObject, + ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_SCHOOL_ESTIMATE_FORM, new ReferenceTypeName(ObjectSchoolEstimateDto.class, SpeciesDto.class, ObjectObservedSpeciesDto.PROPERTY_SPECIES)); return form; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 2f3e494..b82c596 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -113,18 +113,6 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi } @Override - public FormDto<RouteDto> loadToRead(String routeId) { - - Route route = loadEntity(RouteDto.class, Route.class, routeId); - - FormDto<RouteDto> form = entityToReadFormDto(RouteDto.class, Route.class, route); - - bindFindeVeilleProperties(route.getActivitySeine(), form.getForm().getActivitySeine()); - - return form; - } - - @Override public ReferenceDto<RouteDto> loadReferenceToRead(String routeId) { Route route = loadEntity(RouteDto.class, Route.class, routeId); @@ -148,11 +136,11 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi } @Override - public FormDto<RouteDto> loadToEdit(String routeId) { + public FormDto<RouteDto> loadForm(String routeId) { Route route = loadEntity(RouteDto.class, Route.class, routeId); - FormDto<RouteDto> form = entityToEditFormDto(RouteDto.class, Route.class, route); + FormDto<RouteDto> form = entityToEditFormDto(RouteDto.class, route, null); bindFindeVeilleProperties(route.getActivitySeine(), form.getForm().getActivitySeine()); @@ -187,7 +175,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi preCreated.setDate(DateUtil.getDay(date)); - FormDto<RouteDto> form = entityToEditFormDto(RouteDto.class, Route.class, preCreated); + FormDto<RouteDto> form = entityToEditFormDto(RouteDto.class, preCreated, null); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java index abf9075..8a7aa39 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java @@ -22,17 +22,13 @@ package fr.ird.observe.services.service.seine; * #L% */ -import com.google.common.collect.ImmutableMap; import fr.ird.observe.entities.referentiel.Ocean; -import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.seine.SchoolEstimate; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.seine.SchoolEstimateDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -40,18 +36,9 @@ import fr.ird.observe.services.dto.seine.TripSeineDto; * @author Sylvain Bavencoff - bavencoff@codelutin.com */ public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements SchoolEstimateService { - @Override - public FormDto<SetSeineSchoolEstimateDto> loadToRead(String setSeineId) { - - SetSeine setSeine = loadEntity(SetSeineSchoolEstimateDto.class, SetSeine.class, setSeineId); - - FormDto<SetSeineSchoolEstimateDto> form = entityToReadFormDto(SetSeineSchoolEstimateDto.class, SetSeine.class, setSeine); - - return form; - } @Override - public FormDto<SetSeineSchoolEstimateDto> loadToEdit(String setSeineId, String tripSeineId) { + public FormDto<SetSeineSchoolEstimateDto> loadForm(String setSeineId, String tripSeineId) { SetSeine setSeine = loadEntity(SetSeineSchoolEstimateDto.class, SetSeine.class, setSeineId); @@ -61,10 +48,10 @@ public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements S FormDto<SetSeineSchoolEstimateDto> form = entityToEditFormDto( SetSeineSchoolEstimateDto.class, - SetSeine.class, setSeine, - ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), - new ReferenceTypeName(SchoolEstimateDto.class, SpeciesDto.class, SchoolEstimateDto.PROPERTY_SPECIES)); + ObserveReferenceSetRequestDefinitions.SET_SEINE_SCHOOL_ESTIMATE_FORM + //ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), //FIXME context + ); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java index 9c7bc1a..f3a8116 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java @@ -29,6 +29,7 @@ import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -43,16 +44,6 @@ import java.util.Date; public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSeineService { @Override - public FormDto<SetSeineDto> loadToRead(String setSeineId) { - - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); - - FormDto<SetSeineDto> form = entityToReadFormDto(SetSeineDto.class, SetSeine.class, setSeine); - - return form; - } - - @Override public ReferenceDto<SetSeineDto> loadReferenceToRead(String setSeineId) { SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); @@ -73,11 +64,13 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein } @Override - public FormDto<SetSeineDto> loadToEdit(String setSeineId) { + public FormDto<SetSeineDto> loadForm(String setSeineId) { SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); - FormDto<SetSeineDto> form = entityToEditFormDto(SetSeineDto.class, SetSeine.class, setSeine); + FormDto<SetSeineDto> form = entityToEditFormDto(SetSeineDto.class, + setSeine, + ObserveReferenceSetRequestDefinitions.SET_SEINE_FORM); return form; } @@ -89,7 +82,7 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); - if (! route.containsActivitySeine(activitySeine)) { + if (!route.containsActivitySeine(activitySeine)) { throw new DataNotFoundException(ActivitySeineDto.class, activitySeineId); } @@ -114,7 +107,9 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein SchoolType schoolType = activitySeine.getSchoolType(); preCreated.setSchoolType(schoolType); - FormDto<SetSeineDto> form = entityToEditFormDto(SetSeineDto.class, SetSeine.class, preCreated); + FormDto<SetSeineDto> form = entityToEditFormDto(SetSeineDto.class, + preCreated, + ObserveReferenceSetRequestDefinitions.SET_SEINE_FORM); return form; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java index 254b91a..ab6adc4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java @@ -1,7 +1,6 @@ package fr.ird.observe.services.service.seine; import com.google.common.base.Optional; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; @@ -16,10 +15,7 @@ import fr.ird.observe.entities.seine.TargetSample; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; -import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; @@ -38,29 +34,7 @@ import java.util.Set; public class TargetCatchServiceTopia extends ObserveServiceTopia implements TargetCatchService { @Override - public FormDto<SetSeineTargetCatchDto> loadToRead(String setSeineId, boolean discarded) { - - SetSeine setSeine = loadEntity(SetSeineTargetCatchDto.class, SetSeine.class, setSeineId); - - FormDto<SetSeineTargetCatchDto> form = entityToReadFormDto(SetSeineTargetCatchDto.class, SetSeine.class, setSeine); - - SetSeineTargetCatchDto setSeineTargetCatchDto = form.getForm(); - - setSeineTargetCatchDto.setDiscarded(discarded); - - // on filtre les captures pour ne garder que les conservées ou les rejetées - Collection<TargetCatchDto> allTargetCatchDtos = setSeineTargetCatchDto.getTargetCatch(); - - List<TargetCatchDto> targetCatchDtos = Lists.newArrayList(Iterables.filter(allTargetCatchDtos, TargetCatchDtos.newDiscardedPredicate(discarded))); - - setSeineTargetCatchDto.setTargetCatch(targetCatchDtos); - - - return form; - } - - @Override - public FormDto<SetSeineTargetCatchDto> loadToEdit(String setSeineId, boolean discarded, String tripSeineId) { + public FormDto<SetSeineTargetCatchDto> loadForm(String setSeineId, boolean discarded, String tripSeineId) { SetSeine setSeine = loadEntity(SetSeineTargetCatchDto.class, SetSeine.class, setSeineId); @@ -70,12 +44,10 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ FormDto<SetSeineTargetCatchDto> form = entityToEditFormDto( SetSeineTargetCatchDto.class, - SetSeine.class, setSeine, - ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), - new ReferenceTypeName(TargetCatchDto.class, SpeciesDto.class, TargetCatchDto.PROPERTY_SPECIES), - new ReferenceTypeName(TargetCatchDto.class, ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD), - new ReferenceTypeName(TargetCatchDto.class, WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY)); + ObserveReferenceSetRequestDefinitions.SET_SEINE_TARGET_CATCH_FORM + //ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), //FIXME context + ); SetSeineTargetCatchDto setSeineTargetCatchDto = form.getForm(); @@ -129,7 +101,7 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ List<TargetCatchDto> otherTargetCatchDtos = Lists.newArrayList(Iterables.filter( allTargetCatchDtos, - TargetCatchDtos.newDiscardedPredicate( ! dto.isDiscarded()))); + TargetCatchDtos.newDiscardedPredicate(!dto.isDiscarded()))); dto.addAllTargetCatch(otherTargetCatchDtos); @@ -152,7 +124,7 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ for (TargetLength targetLength : targetSample.getTargetLength()) { - if (! speciesCatchs.contains(targetLength.getSpecies())) { + if (!speciesCatchs.contains(targetLength.getSpecies())) { targetLengthToDelete.add(targetLength); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index a55f943..656ea17 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -32,7 +32,7 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceTypeName; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -73,19 +73,7 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } @Override - public FormDto<TargetSampleDto> loadToRead(String setSeineId, boolean discarded) { - - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); - - TargetSample targetSample = getTargetSample(setSeine, discarded); - - FormDto<TargetSampleDto> form = entityToReadFormDto(TargetSampleDto.class, TargetSample.class, targetSample); - - return form; - } - - @Override - public FormDto<TargetSampleDto> loadToEdit(String setSeineId, boolean discarded) { + public FormDto<TargetSampleDto> loadForm(String setSeineId, boolean discarded) { SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); @@ -93,9 +81,8 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar FormDto<TargetSampleDto> form = entityToEditFormDto( TargetSampleDto.class, - TargetSample.class, targetSample, - new ReferenceTypeName(TargetLengthDto.class, SpeciesDto.class, TargetLengthDto.PROPERTY_SPECIES)); + ObserveReferenceSetRequestDefinitions.TARGET_SAMPLE_FORM); // on filtre la list des espéces cibles Set<Species> speciesSet = Sets.newLinkedHashSet(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java index 67fd1cb..21429cb 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java @@ -25,12 +25,8 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.referential.CountryDto; -import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; -import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; -import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -38,19 +34,7 @@ import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia implements TransmittingBuoyOperationService { @Override - public FormDto<FloatingObjectTransmittingBuoyDto> loadToRead(String floatingObjectId) { - - FloatingObject floatingObject = - loadEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObjectId); - - FormDto<FloatingObjectTransmittingBuoyDto> form = - entityToReadFormDto(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObject); - - return form; - } - - @Override - public FormDto<FloatingObjectTransmittingBuoyDto> loadToEdit(String floatingObjectId) { + public FormDto<FloatingObjectTransmittingBuoyDto> loadForm(String floatingObjectId) { FloatingObject floatingObject = loadEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObjectId); @@ -58,11 +42,8 @@ public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia i FormDto<FloatingObjectTransmittingBuoyDto> form = entityToEditFormDto( FloatingObjectTransmittingBuoyDto.class, - FloatingObject.class, floatingObject, - new ReferenceTypeName(TransmittingBuoyDto.class, TransmittingBuoyOperationDto.class, TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_OPERATION), - new ReferenceTypeName(TransmittingBuoyDto.class, TransmittingBuoyTypeDto.class, TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_TYPE), - new ReferenceTypeName(TransmittingBuoyDto.class, CountryDto.class, TransmittingBuoyDto.PROPERTY_COUNTRY)); + ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_TRANSMITTING_BUOY_FORM); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java index e8b0e7f..63856c8 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java @@ -26,13 +26,9 @@ import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.entities.seine.TripSeineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; -import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; -import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; /** @@ -41,26 +37,14 @@ import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; public class TripSeineGearUseServiceTopia extends ObserveServiceTopia implements TripSeineGearUseService { @Override - public FormDto<TripSeineGearUseDto> loadToRead(String tripSeineId) { - - TripSeine tripSeine = loadEntity(TripSeineGearUseDto.class, TripSeine.class, tripSeineId); - - FormDto<TripSeineGearUseDto> form = entityToReadFormDto(TripSeineGearUseDto.class, TripSeine.class, tripSeine); - - return form; - } - - @Override - public FormDto<TripSeineGearUseDto> loadToEdit(String tripSeineId) { + public FormDto<TripSeineGearUseDto> loadForm(String tripSeineId) { TripSeine tripSeine = loadEntity(TripSeineGearUseDto.class, TripSeine.class, tripSeineId); FormDto<TripSeineGearUseDto> form = entityToEditFormDto( TripSeineGearUseDto.class, - TripSeine.class, tripSeine, - new ReferenceTypeName(GearUseFeaturesSeineDto.class, GearDto.class, GearUseFeaturesSeineDto.PROPERTY_GEAR), - new ReferenceTypeName(GearUseFeaturesMeasurementSeineDto.class, GearCaracteristicDto.class, GearUseFeaturesMeasurementSeineDto.PROPERTY_GEAR_CARACTERISTIC)); + ObserveReferenceSetRequestDefinitions.TRIP_SEINE_GEAR_USE_FORM); return form; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index 4473b56..aed6e26 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.seine; * #L% */ -import com.google.common.collect.ImmutableList; import com.google.common.collect.Sets; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.constants.ReferenceLocale; @@ -35,6 +34,7 @@ import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.ReferenceSetDtos; import fr.ird.observe.services.dto.TripMapDto; +import fr.ird.observe.services.dto.TripMapDtos; import fr.ird.observe.services.dto.TripMapPointDto; import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ProgramDto; @@ -115,11 +115,9 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); - FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, TripSeine.class, tripSeine); - //FIXME Remove labels building from the entityToEditFormDto method - form.setLabels(ImmutableList.<ReferenceSetDto>of()); - - form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); + FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, + tripSeine, + ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM); TripSeineDto tripSeineDto = form.getForm(); @@ -134,7 +132,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe @Override public TripSeineDto loadDto(String tripSeineId) { - TripSeineDto dto= loadEntityToDto(TripSeineDto.class, tripSeineId); + TripSeineDto dto = loadEntityToDto(TripSeineDto.class, tripSeineId); return dto; } @@ -143,13 +141,9 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe LinkedHashSet<TripMapPointDto> points = getDao().extractTripMapActivityPoints(tripSeineId); - TripMapDto tripMapDto = new TripMapDto(); - - tripMapDto.setId(tripSeineId); - - tripMapDto.setPoints(points); - + TripMapDto tripMapDto = TripMapDtos.newTripMapDto(tripSeineId, points); return tripMapDto; + } @Override @@ -181,8 +175,9 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe tripSeine.setProgram(program); - FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, TripSeine.class, tripSeine); - form.setReferentialReferenceSetRequestName(ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name()); + FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, + tripSeine, + ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM); return form; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit ab1418118bbdc405c7b2fce8edc19ded91005752 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:26:17 2015 +0100 Fix some tests --- .../longline/SetLonglineDetailCompositionServiceTopiaTest.java | 4 ++-- .../observe/services/service/seine/TargetSampleServiceTopiaTest.java | 2 +- .../services/service/seine/TripSeineGearUseServiceTopiaTest.java | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java index 30ca7a9..17cb00f 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java @@ -78,7 +78,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic @Test public void loadToEditTest() { - FormDto<SetLonglineDetailCompositionDto> formDto = service.loadToEdit(SET_LONGLINE_ID); + FormDto<SetLonglineDetailCompositionDto> formDto = service.loadForm(SET_LONGLINE_ID); Assert.assertNotNull(formDto); @@ -105,7 +105,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic @Test public void saveTest() { - FormDto<SetLonglineDetailCompositionDto> formDto = service.loadToEdit(SET_LONGLINE_ID); + FormDto<SetLonglineDetailCompositionDto> formDto = service.loadForm(SET_LONGLINE_ID); SetLonglineDetailCompositionDto compositionDto = formDto.getForm(); SectionDto sectionDto = compositionDto.getSection(4); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java index 09f3bd7..e5eac64 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java @@ -73,7 +73,7 @@ public class TargetSampleServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void loadForEditTest() { - FormDto<TargetSampleDto> formDto = service.loadToEdit(SET_SEINE_ID, false); + FormDto<TargetSampleDto> formDto = service.loadForm(SET_SEINE_ID, false); Assert.assertNotNull(formDto); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java index 640c879..f55cffb 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java @@ -131,7 +131,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); - FormDto<TripSeineGearUseDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); + FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); Assert.assertNotNull(formDto); TripSeineGearUseDto tripSeineGearUseDto = formDto.getForm(); @@ -175,7 +175,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void saveUpdateTest() { - FormDto<TripSeineGearUseDto> formDto = service.loadToEdit(TRIP_SEINE_ID_1); + FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); TripSeineGearUseDto tripSeineGearUseDto = formDto.getForm(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit d36ca088eefef72e35ef6a9b2087fa9f3f4db831 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 08:27:57 2015 +0100 Impact dans les handlers dues aux renommages de l'API des services + début d'utilisation des bons objets là où il faut : si j'ai un ReferentialReference et bien je veux m'en servir; toujours être le plus précis possible) --- .../fr/ird/observe/ui/content/ContentUIModel.java | 14 +++ .../LonglineDetailCompositionUIHandler.java | 27 ++-- .../LonglineGlobalCompositionUIHandler.java | 2 +- .../impl/longline/SetLonglineUIHandler.java | 2 +- .../ActivitySeineObservedSystemUIHandler.java | 6 +- ...ngObjectTransmittingBuoyOperationUIHandler.java | 2 +- .../impl/seine/FloatingObjectUIHandler.java | 2 +- .../ui/content/impl/seine/SetSeineUIHandler.java | 6 +- .../impl/longline/ActivityLonglinesUIHandler.java | 2 +- .../list/impl/seine/ActivitySeinesUIHandler.java | 2 +- .../impl/longline/ActivityLonglineUIHandler.java | 2 +- .../open/impl/longline/TripLonglineUIHandler.java | 2 +- .../open/impl/seine/ActivitySeineUIHandler.java | 2 +- .../ui/content/open/impl/seine/RouteUIHandler.java | 2 +- .../impl/longline/CatchLonglineUIHandler.java | 4 +- .../table/impl/longline/EncounterUIHandler.java | 2 +- .../longline/GearUseFeaturesLonglineUIHandler.java | 2 +- .../table/impl/longline/SensorUsedUIHandler.java | 5 +- .../content/table/impl/longline/TdrUIHandler.java | 2 +- .../table/impl/seine/GearUseFeaturesSeineUI.jaxx | 3 +- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 23 ++-- .../content/table/impl/seine/NonTargetCatchUI.jaxx | 7 +- .../table/impl/seine/NonTargetCatchUIHandler.java | 22 ++-- .../table/impl/seine/NonTargetSampleUI.jaxx | 5 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 12 +- .../table/impl/seine/ObjectObservedSpeciesUI.jaxx | 5 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 2 +- .../table/impl/seine/ObjectSchoolEstimateUI.jaxx | 3 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 2 +- .../content/table/impl/seine/SchoolEstimateUI.jaxx | 3 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 18 ++- .../ui/content/table/impl/seine/TargetCatchUI.jaxx | 7 +- .../table/impl/seine/TargetCatchUIHandler.java | 46 +++---- .../table/impl/seine/TargetDiscardCatchUI.jaxx | 9 +- .../impl/seine/TargetDiscardCatchUIHandler.java | 138 ++++++++++----------- .../content/table/impl/seine/TargetSampleUI.jaxx | 3 +- .../table/impl/seine/TargetSampleUIHandler.java | 5 +- .../fr/ird/observe/services/dto/TripMapDtos.java | 15 +++ 38 files changed, 227 insertions(+), 189 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java index 5259b99..7a7da5e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java @@ -24,10 +24,16 @@ package fr.ird.observe.ui.content; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; +import java.util.LinkedHashSet; +import java.util.Set; + /** * Le modèle d'un écran d'édition * @@ -239,6 +245,14 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab firePropertyChange(PROPERTY_CAN_WRITE, oldValue, canWrite); } + public <D extends ReferentialDto> Set<ReferentialReferenceDto<D>> getReferentialReferences(Class<D> type, String name) { + + ReferenceSetDto<D> referenceSetDto1 = formDto.getReferenceSetDto(type, name); + LinkedHashSet<ReferentialReferenceDto<D>> reference = (LinkedHashSet)referenceSetDto1.getReference(); + return reference; + + } + protected void firePropertyChange(String propertyName, Object newValue) { firePropertyChange(propertyName, null, newValue); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java index 67b2006..1478989 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java @@ -26,8 +26,8 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.entities.longline.SectionTemplate; import fr.ird.observe.entities.longline.SectionWithTemplate; import fr.ird.observe.entities.longline.SectionWithTemplates; @@ -82,6 +82,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong static private Log log = LogFactory.getLog(LonglineDetailCompositionUIHandler.class); private final PropertyChangeListener sectionTemplatesTableModelModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Boolean newValue = (Boolean) evt.getNewValue(); @@ -90,6 +91,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final PropertyChangeListener sectionsTableModelModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Boolean newValue = (Boolean) evt.getNewValue(); @@ -98,6 +100,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final TableModelListener sectionsTableModelChanged = new TableModelListener() { + @Override public void tableChanged(TableModelEvent e) { SectionsTableModel source = (SectionsTableModel) e.getSource(); @@ -106,6 +109,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final PropertyChangeListener branchlineDetailChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -124,6 +128,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final PropertyChangeListener basketsTableModelModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Boolean newValue = (Boolean) evt.getNewValue(); @@ -132,6 +137,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final TableModelListener basketsTableModelChanged = new TableModelListener() { + @Override public void tableChanged(TableModelEvent e) { BasketsTableModel source = (BasketsTableModel) e.getSource(); @@ -140,6 +146,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final PropertyChangeListener branchinesTableModelModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { onBranchlinesTableModelModified((Boolean) evt.getNewValue()); @@ -147,6 +154,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final TableModelListener branchinesTableModelChanged = new TableModelListener() { + @Override public void tableChanged(TableModelEvent e) { BranchlinesTableModel source = (BranchlinesTableModel) e.getSource(); @@ -155,6 +163,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final PropertyChangeListener selectedBranchlineChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { BranchlineDto previousValue = (BranchlineDto) evt.getOldValue(); @@ -164,6 +173,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final ChangeListener tabbedPaneChanged = new ChangeListener() { + @Override public void stateChanged(ChangeEvent e) { JVetoableTabbedPane source = (JVetoableTabbedPane) e.getSource(); @@ -200,6 +210,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong private boolean sectionAdjusting; private final PropertyChangeListener modelCanGenerateChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -216,6 +227,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong }; private final PropertyChangeListener selectedSectionChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -238,6 +250,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong private boolean basketAdjusting; private final PropertyChangeListener selectedBasketChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -262,6 +275,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong private boolean onOpen; private JVetoableTabbedPane.ChangeSelectedIndex tabbedPaneWillChanged = new JVetoableTabbedPane.ChangeSelectedIndex() { + @Override public boolean canChangeTab(int currentSelectedIndex, int newSelectedIndex) { return onTabWillChanged(currentSelectedIndex, newSelectedIndex); @@ -398,19 +412,14 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong SetLonglineDetailCompositionService setLonglineService = getSetLonglineDetailCompositionService(); - FormDto<SetLonglineDetailCompositionDto> setLonglineDtoFormDto; - if (mode == ContentMode.READ) { - setLonglineDtoFormDto = setLonglineService.loadToRead(setId); - - } else { - setLonglineDtoFormDto = setLonglineService.loadToEdit(setId); - } + FormDto<SetLonglineDetailCompositionDto> setLonglineDtoFormDto = setLonglineService.loadForm(setId); getModel().setFormDto(setLonglineDtoFormDto); SetLonglineDetailCompositionDto bean = getBean(); SetLonglineDetailCompositionDtos.copySetLonglineDetailCompositionDto(setLonglineDtoFormDto.getForm(), bean); - FormDto<BranchlineDto> branchlineDtoFormDto = FormDtos.newFormDto(BranchlineDto.class, null, setLonglineDtoFormDto.getLabels()); + //FIXME Voir comment gérer ça + FormDto<BranchlineDto> branchlineDtoFormDto = FormDtos.newFormDto(BranchlineDto.class, null, null, null); getUi().getBranchlineDetailUI().getModel().setFormDto(branchlineDtoFormDto); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java index 9e8ce1e..2144003 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java @@ -143,7 +143,7 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong ContentMode mode = computeContentMode(); // update mode - FormDto<SetLonglineGlobalCompositionDto> formDto = getSetLonglineGlobalCompositionService().loadToEdit(setId); + FormDto<SetLonglineGlobalCompositionDto> formDto = getSetLonglineGlobalCompositionService().loadForm(setId); getModel().setFormDto(formDto); SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), getBean()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java index d5d88bd..1467bb2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java @@ -225,7 +225,7 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { } else { // update mode - formDto = getSetLonglineService().loadToEdit(setId); + formDto = getSetLonglineService().loadForm(setId); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java index 2463da4..0591cab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java @@ -87,12 +87,12 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ ContentMode mode = computeContentMode(); - FormDto<ActivitySeineObservedSystemDto> formDto = getActivitySeineObservedSystemService().loadToEdit(activityId); + getModel().setMode(mode); + + FormDto<ActivitySeineObservedSystemDto> formDto = getActivitySeineObservedSystemService().loadForm(activityId); getModel().setFormDto(formDto); ActivitySeineObservedSystemDtos.copyActivitySeineObservedSystemDto(formDto.getForm(), getBean()); - getModel().setMode(mode); - if (mode == ContentMode.UPDATE) { getUi().startEdit(null); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index 1b5a244..3ef90fc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -119,7 +119,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH getModel().setEditing(false); - FormDto<FloatingObjectTransmittingBuoyDto> formDto = getTransmittingBuoyOperationService().loadToEdit(dcpId); + FormDto<FloatingObjectTransmittingBuoyDto> formDto = getTransmittingBuoyOperationService().loadForm(dcpId); getModel().setFormDto(formDto); FloatingObjectTransmittingBuoyDtos.copyFloatingObjectTransmittingBuoyDto(formDto.getForm(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index e9d4fcc..d0b926e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -119,7 +119,7 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> } else { // update mode - formDto = getFloatingObjectService().loadToEdit(dcpId); + formDto = getFloatingObjectService().loadForm(dcpId); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index 8d8c1ea..d449680 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -179,7 +179,7 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { } else { // update mode - formDto = getSetSeineService().loadToEdit(setId); + formDto = getSetSeineService().loadForm(setId); } @@ -187,7 +187,9 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { SetSeineDtos.copySetSeineDto(formDto.getForm(), bean); RouteService routeService = ObserveSwingApplicationContext.get().newService(RouteService.class); - FormDto<RouteDto> route = routeService.loadToRead(selectedRouteId); + //FIXME ! Pourquoi donc récupérer le formulaire d'une route ici ? juste remonter la donnée dont on a + //FIXME besoin depuis le service + FormDto<RouteDto> route = routeService.loadForm(selectedRouteId); Date time = bean.getStartTime(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java index 620c684..d20e932 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java @@ -130,7 +130,7 @@ public class ActivityLonglinesUIHandler extends ContentListUIHandler<TripLonglin @Override protected void loadParentBean() { TripLonglineService service = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - FormDto<TripLonglineDto> tripLonglineDtoFormDto = service.loadToEdit(getSelectedParentId()); + FormDto<TripLonglineDto> tripLonglineDtoFormDto = service.loadForm(getSelectedParentId()); getModel().setFormDto(tripLonglineDtoFormDto); TripLonglineDtos.copyTripLonglineDto(tripLonglineDtoFormDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java index b0f1701..7adb4c1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java @@ -127,7 +127,7 @@ public class ActivitySeinesUIHandler extends ContentListUIHandler<RouteDto, Acti @Override protected void loadParentBean() { RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); - FormDto<RouteDto> routeDtoFormDto = service.loadToEdit(getSelectedParentId()); + FormDto<RouteDto> routeDtoFormDto = service.loadForm(getSelectedParentId()); getModel().setFormDto(routeDtoFormDto); RouteDtos.copyRouteDto(routeDtoFormDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index 0b26e67..e0424d7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -181,7 +181,7 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity } else { // update mode - formDto = getActivityLonglineService().loadToEdit(activityId); + formDto = getActivityLonglineService().loadForm(activityId); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java index 695cd74..783bd67 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java @@ -192,7 +192,7 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } // update mode - formDto = getTripLonglineService().loadToEdit(tripId); + formDto = getTripLonglineService().loadForm(tripId); } setContentMode(mode); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java index ba98e15..dba9572 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -209,7 +209,7 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei } else { // update mode - formDto = getActivitySeineService().loadToEdit(activityId); + formDto = getActivitySeineService().loadForm(activityId); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java index 0e043aa..bde2aca 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java @@ -142,7 +142,7 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { } else { // update mode - formDto = getRouteService().loadToEdit(routeId); + formDto = getRouteService().loadForm(routeId); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index a4f40db..2c984f7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -511,7 +511,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat @Override protected void loadEditBean(String beanId) { - FormDto<SetLonglineCatchDto> formDto = getSetLonglineCatchService().loadToEdit(beanId); + FormDto<SetLonglineCatchDto> formDto = getSetLonglineCatchService().loadForm(beanId); getModel().setFormDto(formDto); LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); @@ -730,7 +730,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat log.info("Use branchline: " + newValue); } - FormDto<BranchlineDto> formDto = getBranchLineService().loadToEdit(newValue.getId()); + FormDto<BranchlineDto> formDto = getBranchLineService().loadForm(newValue.getId()); BranchlineDtos.copyBranchlineDto(formDto.getForm(), branchline); if (ui.getValidator().getBean() == null) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index c873ad5..1f373fc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -106,7 +106,7 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn @Override protected void loadEditBean(String beanId) { - FormDto<ActivityLonglineEncouterDto> formDto = getActivityLongLineEncouterService().loadToEdit(beanId); + FormDto<ActivityLonglineEncouterDto> formDto = getActivityLongLineEncouterService().loadForm(beanId); getModel().setFormDto(formDto); ActivityLonglineEncouterDtos.copyActivityLonglineEncouterDto(formDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index 9445037..b7d0938 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -494,7 +494,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip @Override protected void loadEditBean(String beanId) { - FormDto<TripLonglineGearUseDto> formDto = getTripLonglineGearUseService().loadToEdit(beanId); + FormDto<TripLonglineGearUseDto> formDto = getTripLonglineGearUseService().loadForm(beanId); getModel().setFormDto(formDto); TripLonglineGearUseDtos.copyTripLonglineGearUseDto(formDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java index 97224d2..b37c9a6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -113,6 +113,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SensorDataFormatDto.class.getSimpleName())); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newStringTableCellRenderer(renderer, 10, true)); UIHelper.setTableColumnRenderer(table, 4, UIHelper.newBooleanTableCellRenderer(renderer, new Predicate<Object>() { + @Override public boolean apply(Object input) { return input != null; @@ -165,7 +166,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS t("observe.sensorUsed.delete.data.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), - t("observe.choice.cancel")}, + t("observe.choice.cancel")}, 1); boolean doDelete = response == 0; @@ -234,7 +235,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS @Override protected void loadEditBean(String beanId) { - FormDto<ActivityLonglineSensorUsedDto> formDto = getActivityLonglineSensorUsedService().loadToEdit(beanId); + FormDto<ActivityLonglineSensorUsedDto> formDto = getActivityLonglineSensorUsedService().loadForm(beanId); getModel().setFormDto(formDto); ActivityLonglineSensorUsedDtos.copyActivityLonglineSensorUsedDto(formDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index 34df2b7..20625b7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -465,7 +465,7 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt @Override protected void loadEditBean(String beanId) { - FormDto<SetLonglineTdrDto> formDto = getTdrService().loadToEdit(beanId); + FormDto<SetLonglineTdrDto> formDto = getTdrService().loadForm(beanId); getModel().setFormDto(formDto); LonglinePositionHelper<TdrDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx index 36c4d74..eeb8893 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx @@ -34,6 +34,7 @@ fr.ird.observe.services.dto.seine.TripSeineGearUseDto fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto + fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.referential.GearDto fr.ird.observe.ui.content.table.* fr.ird.observe.ui.util.BooleanEditor @@ -100,7 +101,7 @@ <JLabel id='gearLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='gear' constructorParams='this' genericType='ReferenceDto<GearDto>' _entityClass='GearDto.class'/> + <BeanComboBox id='gear' constructorParams='this' genericType='ReferentialReferenceDto<GearDto>' _entityClass='GearDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index c76fbe8..b0f80b2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -92,6 +92,7 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei // Compute valid state of tab from the error table protected final TableModelListener computeTabValidStateListener = new TableModelListener() { + @Override public void tableChanged(TableModelEvent e) { @@ -283,6 +284,7 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei super.initUI(); getModel().addPropertyChangeListener(GearUseFeaturesSeineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Boolean newValue = (Boolean) evt.getNewValue(); @@ -345,7 +347,7 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei if (!selectionEmpty) { - GearUseFeaturesMeasurementSeineDto data = tableModel.getSelectedRow(); + GearUseFeaturesMeasurementSeineDto data = tableModel.getSelectedRow(); if (log.isInfoEnabled()) { log.info("Delete: " + data); @@ -467,14 +469,15 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei List<GearUseFeaturesMeasurementSeineDto> measurements = Lists.newArrayList( Iterables.transform(gearDto.getGearCaracteristic(), - new Function<ReferentialReferenceDto<GearCaracteristicDto>, GearUseFeaturesMeasurementSeineDto>() { - @Override - public GearUseFeaturesMeasurementSeineDto apply(ReferentialReferenceDto<GearCaracteristicDto> input) { - GearUseFeaturesMeasurementSeineDto measurementSeineDto = new GearUseFeaturesMeasurementSeineDto(); - measurementSeineDto.setGearCaracteristic(input); - return measurementSeineDto; - } - })); + new Function<ReferentialReferenceDto<GearCaracteristicDto>, GearUseFeaturesMeasurementSeineDto>() { + + @Override + public GearUseFeaturesMeasurementSeineDto apply(ReferentialReferenceDto<GearCaracteristicDto> input) { + GearUseFeaturesMeasurementSeineDto measurementSeineDto = new GearUseFeaturesMeasurementSeineDto(); + measurementSeineDto.setGearCaracteristic(input); + return measurementSeineDto; + } + })); return measurements; @@ -488,7 +491,7 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei @Override protected void loadEditBean(String beanId) { - FormDto<TripSeineGearUseDto> formDto = getTripSeineGearUseService().loadToEdit(beanId); + FormDto<TripSeineGearUseDto> formDto = getTripSeineGearUseService().loadForm(beanId); getModel().setFormDto(formDto); TripSeineGearUseDtos.copyTripSeineGearUseDto(formDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx index b9d95ad..471c6fe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx @@ -35,6 +35,7 @@ fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto fr.ird.observe.services.dto.seine.NonTargetCatchDto fr.ird.observe.services.dto.referential.seine.SpeciesFateDto + fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto fr.ird.observe.ui.content.table.* @@ -90,7 +91,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='species' constructorParams='this' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -100,7 +101,7 @@ <JLabel id='speciesFateLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='speciesFate' constructorParams='this' genericType='ReferenceDto<SpeciesFateDto>' _entityClass='SpeciesFateDto.class'/> + <BeanComboBox id='speciesFate' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesFateDto>' _entityClass='SpeciesFateDto.class'/> </cell> </row> @@ -110,7 +111,7 @@ <JLabel id='reasonForDiscardLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> + <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index d039447..2e6102a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -28,7 +28,6 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; @@ -52,6 +51,7 @@ import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -75,6 +75,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa * @since 3.0 */ protected final PropertyChangeListener totalCountChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { NonTargetCatchDto source = (NonTargetCatchDto) evt.getSource(); @@ -90,6 +91,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa * @since 3.0 */ protected final PropertyChangeListener catchWeightChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { NonTargetCatchDto source = (NonTargetCatchDto) evt.getSource(); @@ -105,6 +107,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa * @since 3.0 */ protected final PropertyChangeListener meanWeightChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { NonTargetCatchDto source = (NonTargetCatchDto) evt.getSource(); @@ -120,6 +123,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa * @since 3.0 */ protected final PropertyChangeListener meanLengthChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { NonTargetCatchDto source = (NonTargetCatchDto) evt.getSource(); @@ -207,9 +211,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa } @Override - protected void onSelectedRowChanged(int editingRow, - NonTargetCatchDto bean, - boolean create) { + protected void onSelectedRowChanged(int editingRow, NonTargetCatchDto bean, boolean create) { NonTargetCatchUI ui = getUi(); ContentTableModel<SetSeineNonTargetCatchDto, NonTargetCatchDto> model = getTableModel(); @@ -220,18 +222,18 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa return; } - List<ReferenceDto<SpeciesDto>> availableEspeces; + List<ReferentialReferenceDto<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { - ReferenceSetDto<SpeciesDto> speciesDtoReferenceSetDto = getModel().getFormDto().getReferenceSetDto(SpeciesDto.class); - Set<ReferenceDto<SpeciesDto>> speciesSet = (Set) speciesDtoReferenceSetDto.getReference(); + Set<ReferentialReferenceDto<SpeciesDto>> speciesSet = getModel().getReferentialReferences(SpeciesDto.class, NonTargetCatchDto.PROPERTY_SPECIES); availableEspeces = Lists.newArrayList(speciesSet); requestFocus = ui.getSpecies(); } else { - ReferenceDto<SpeciesDto> species = bean.getSpecies(); - availableEspeces = Lists.newArrayList(species); + ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + availableEspeces = new ArrayList<>(); + availableEspeces.add(species); requestFocus = ui.getTable(); } @@ -364,7 +366,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa @Override protected void loadEditBean(String beanId) { String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineNonTargetCatchDto> formDto = getNonTargetCatchService().loadToEdit(beanId, tripSeineId); + FormDto<SetSeineNonTargetCatchDto> formDto = getNonTargetCatchService().loadForm(beanId, tripSeineId); getModel().setFormDto(formDto); SetSeineNonTargetCatchDtos.copySetSeineNonTargetCatchDto(formDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx index 40eeca8..b9d9ca3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx @@ -34,6 +34,7 @@ fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.SpeciesDto + fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.seine.NonTargetLengthDto fr.ird.observe.services.dto.seine.NonTargetSampleDto fr.ird.observe.ui.content.table.impl.seine.ModeSaisieEchantillonEnum @@ -123,7 +124,7 @@ public String getSpeciesFauneTypeTaille(ReferenceDto<SpeciesDto> species) { <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -185,7 +186,7 @@ public String getSpeciesFauneTypeTaille(ReferenceDto<SpeciesDto> species) { <JLabel id='sexLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sex' genericType='ReferenceDto<SexDto>' _entityClass='SexDto.class' constructorParams='this'/> + <BeanComboBox id='sex' genericType='ReferentialReferenceDto<SexDto>' _entityClass='SexDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index 7e67baa..54e7e1f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -27,7 +27,7 @@ import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.NonTargetLengthDto; @@ -129,12 +129,12 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam return; } - ReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); NonTargetSampleUI ui = getUi(); if (log.isDebugEnabled()) { log.debug("selected species " + species); } - List<ReferenceDto<SpeciesDto>> availableEspeces; + List<ReferentialReferenceDto<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { @@ -146,9 +146,9 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam ui.getAcquisitionModeGroup().setSelectedValue(ModeSaisieEchantillonEnum.byEffectif); } - ReferenceSetDto<SpeciesDto> speciesSetDto = getModel().getFormDto().getReferenceSetDto(SpeciesDto.class); + Set<ReferentialReferenceDto<SpeciesDto>> speciesReferences = getModel().getReferentialReferences(SpeciesDto.class, NonTargetLengthDto.PROPERTY_SPECIES); - availableEspeces = Lists.newArrayList((Set) speciesSetDto.getReference()); + availableEspeces = Lists.newArrayList(speciesReferences); requestFocus = ui.getSpecies(); } else { @@ -299,7 +299,7 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam @Override protected void loadEditBean(String beanId) { - FormDto<NonTargetSampleDto> formDto = getNonTargetSampleService().loadToEdit(beanId); + FormDto<NonTargetSampleDto> formDto = getNonTargetSampleService().loadForm(beanId); getModel().setFormDto(formDto); NonTargetSampleDtos.copyNonTargetSampleDto(formDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx index 4de6832..e7110c7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx @@ -33,6 +33,7 @@ fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto + fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto fr.ird.observe.ui.content.table.* @@ -84,7 +85,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='species' constructorParams='this' - genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -95,7 +96,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='speciesStatus' constructorParams='this' - genericType='ReferenceDto<SpeciesStatusDto>' _entityClass='SpeciesStatusDto.class'/> + genericType='ReferentialReferenceDto<SpeciesStatusDto>' _entityClass='SpeciesStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index 1e2daaf..37d5e2a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -99,7 +99,7 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati @Override protected void loadEditBean(String beanId) { - FormDto<FloatingObjectObservedSpeciesDto> formDto = getObjectObservedSpeciesService().loadToEdit(beanId); + FormDto<FloatingObjectObservedSpeciesDto> formDto = getObjectObservedSpeciesService().loadForm(beanId); getModel().setFormDto(formDto); FloatingObjectObservedSpeciesDtos.copyFloatingObjectObservedSpeciesDto(formDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx index df2d78e..6be0ca7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx @@ -33,6 +33,7 @@ fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto + fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.content.table.* @@ -83,7 +84,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='species' constructorParams='this' - genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index e0acd0b..d80cebd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -95,7 +95,7 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin @Override protected void loadEditBean(String beanId) { - FormDto<FloatingObjectSchoolEstimateDto> formDto = getObjectSchoolEstimateService().loadToEdit(beanId); + FormDto<FloatingObjectSchoolEstimateDto> formDto = getObjectSchoolEstimateService().loadForm(beanId); getModel().setFormDto(formDto); FloatingObjectSchoolEstimateDtos.copyFloatingObjectSchoolEstimateDto(formDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx index 685f865..59d8430 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx @@ -35,6 +35,7 @@ fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto fr.ird.observe.services.dto.seine.SchoolEstimateDto + fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.content.table.* @@ -88,7 +89,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' + <BeanComboBox id='species' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index f5a917f..50a9bc8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -25,13 +25,11 @@ import com.google.common.base.Predicates; import com.google.common.collect.Collections2; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.SchoolEstimateDto; @@ -48,6 +46,7 @@ import javax.swing.JComponent; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.Set; @@ -88,26 +87,25 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo } SchoolEstimateUI ui = getUi(); - Set<ReferenceDto<SpeciesDto>> availableEspeces; + List<ReferentialReferenceDto<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { - ReferenceSetDto<SpeciesDto> referenceSetDto = getModel().getFormDto().getReferenceSetDto(SpeciesDto.class); - Set<ReferenceDto<SpeciesDto>> references = (Set) referenceSetDto.getReference(); + Set<ReferentialReferenceDto<SpeciesDto>> references = getModel().getReferentialReferences(SpeciesDto.class, SchoolEstimateDto.PROPERTY_SPECIES); List<ReferentialReferenceDto<SpeciesDto>> listSpeciesUsed = model.getColumnValues(0); Collection<String> listSpeciesIdUsed = Collections2.transform(listSpeciesUsed, IdDtos.getIdFunction()); - availableEspeces = Sets.newHashSet(Iterables.filter(references, Predicates.not(IdDtos.newIdsPredicate(listSpeciesIdUsed)))); + availableEspeces = Lists.newArrayList(Iterables.filter(references, Predicates.not(IdDtos.newIdsPredicate(listSpeciesIdUsed)))); requestFocus = ui.getSpecies(); } else { - ReferenceDto<SpeciesDto> species = bean.getSpecies(); - availableEspeces = Sets.newHashSet(species); + ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + availableEspeces = Collections.singletonList(species); requestFocus = ui.getTotalWeight(); } - ui.getSpecies().setData(Lists.newArrayList(availableEspeces)); + ui.getSpecies().setData(availableEspeces); requestFocus.requestFocus(); } @@ -137,7 +135,7 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo @Override protected void loadEditBean(String beanId) { String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineSchoolEstimateDto> formDto = getSchoolEstimateService().loadToEdit(beanId, tripSeineId); + FormDto<SetSeineSchoolEstimateDto> formDto = getSchoolEstimateService().loadForm(beanId, tripSeineId); getModel().setFormDto(formDto); SetSeineSchoolEstimateDtos.copySetSeineSchoolEstimateDto(formDto.getForm(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx index 193fb48..b1018ee 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx @@ -33,8 +33,9 @@ fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto fr.ird.observe.services.dto.seine.TargetCatchDto - fr.ird.observe.services.dto.referential.seine.WeightCategoryDto + fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.referential.SpeciesDto + fr.ird.observe.services.dto.referential.seine.WeightCategoryDto fr.ird.observe.ui.content.table.* jaxx.runtime.swing.editor.NumberEditor @@ -86,7 +87,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> + <BeanComboBox id='species' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> @@ -97,7 +98,7 @@ <JLabel id='weightCategoryLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='weightCategory' genericType='ReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class' constructorParams='this'/> + <BeanComboBox id='weightCategory' genericType='ReferentialReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index d1486ad..dc16e4e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -29,7 +29,6 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; @@ -53,7 +52,6 @@ import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.Arrays; import java.util.Collections; import java.util.List; import java.util.Set; @@ -104,7 +102,6 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa ReferentialReferenceDto<SpeciesDto> species = (ReferentialReferenceDto<SpeciesDto>) evt.getNewValue(); - onEspeceChanged(species); } } @@ -120,7 +117,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa @Override protected boolean prepareSave(SetSeineTargetCatchDto bean, List<TargetCatchDto> objets) { - //on cherche si parmis les captures supprimer certaines ont des échantillon + // on cherche si parmis les captures supprimer certaines ont des échantillons SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getFormDto().getForm(); SetSeineTargetCatchDto currentSetSeineTargetCatch = getModel().getBean(); @@ -145,8 +142,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa if (!speciesToDelete.isEmpty()) { - // il existe des echantillon thon a supprimer on demande une - // confirmation + // il existe des echantillons thon a supprimer on demande une confirmation StringBuilder sb = new StringBuilder(512); Decorator<ReferenceDto> decorator = getDecoratorService().getDecoratorByType(ReferenceDto.class, SpeciesDto.class.getSimpleName()); @@ -187,23 +183,21 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa TargetCatchUI ui = getUi(); - ReferenceDto<WeightCategoryDto> beanWeightCategory = bean.getWeightCategory(); + ReferentialReferenceDto<WeightCategoryDto> beanWeightCategory = bean.getWeightCategory(); - ReferenceDto<SpeciesDto> beanSpecies = null; - if (beanWeightCategory != null) { - beanSpecies = (ReferenceDto<SpeciesDto>) beanWeightCategory.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES); + ReferentialReferenceDto<SpeciesDto> beanSpecies = null; + if (beanWeightCategory != null) { + beanSpecies = (ReferentialReferenceDto<SpeciesDto>) beanWeightCategory.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES); } JComponent requestFocus; if (create) { - // on reinitilise toujours l'species (pour reinitialiser la liste - // des categories) + // on reinitilise toujours l'espèce (pour reinitialiser la liste des categories) ui.getSpecies().setSelectedItem(null); if (!getTableModel().isCreate()) { - // on repositionne l'species (cela reconstruira la liste - // des categories) + // on repositionne l'espèce (cela reconstruira la liste des categories) ui.getSpecies().setSelectedItem(beanSpecies); // on repositionne la categorie ui.getWeightCategory().setSelectedItem(beanWeightCategory); @@ -218,8 +212,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa // puisque dans ce mode, pas possibilite de modifier de cette // valeur (clef metier) ui.getSpecies().setSelectedItem(beanSpecies); - ui.getWeightCategory().setData( - Arrays.asList(beanWeightCategory)); + ui.getWeightCategory().setData(Collections.singletonList(beanWeightCategory)); ui.getWeightCategory().setSelectedItem(beanWeightCategory); requestFocus = ui.getCatchWeight(); @@ -264,35 +257,34 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa @SuppressWarnings("unchecked") protected void onEspeceChanged(final ReferentialReferenceDto<SpeciesDto> species) { - List<ReferenceDto<WeightCategoryDto>> availableCategories; + List<ReferentialReferenceDto<WeightCategoryDto>> availableCategories; if (species == null) { - // aucune species selectionnee, on vide simplement + // aucune espèce selectionnee, on vide simplement // la liste des categories car il faut d'abord choisir une - // species puis une categorie + // espèce puis une categorie availableCategories = Collections.emptyList(); } else { // un species est selectionnee, - // on calcule les categories pour cette species + // on calcule les categories pour cette espèce - ReferenceSetDto<WeightCategoryDto> weightCategoryDtoReferenceSetDto = getModel().getFormDto().getReferenceSetDto(WeightCategoryDto.class); + Set<ReferentialReferenceDto<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_SPECIES); - Set<ReferenceDto<WeightCategoryDto>> allCategories = (Set) weightCategoryDtoReferenceSetDto.getReference(); + // on ne conserve que les categories de l'espèce + availableCategories = Lists.newArrayList(Iterables.filter(allCategories, new Predicate<ReferentialReferenceDto<WeightCategoryDto>>() { - // on ne conserve que les categories de l'species - availableCategories = Lists.newArrayList(Iterables.filter(allCategories, new Predicate<ReferenceDto<WeightCategoryDto>>() { @Override - public boolean apply(ReferenceDto<WeightCategoryDto> input) { + public boolean apply(ReferentialReferenceDto<WeightCategoryDto> input) { return species.equals(input.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES)); } })); } // on met a jour la liste des categories disponibles - BeanComboBox<ReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); + BeanComboBox<ReferentialReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); combo.setData(availableCategories); // on reinitialise toujours la categorie selectionnee @@ -310,7 +302,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineTargetCatchDto> formDto = getTargetCatchService().loadToEdit(beanId, false, tripSeineId); + FormDto<SetSeineTargetCatchDto> formDto = getTargetCatchService().loadForm(beanId, false, tripSeineId); getModel().setFormDto(formDto); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx index 8ea3383..911e664 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx @@ -33,9 +33,10 @@ fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto fr.ird.observe.services.dto.seine.TargetCatchDto - fr.ird.observe.services.dto.referential.seine.WeightCategoryDto + fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto + fr.ird.observe.services.dto.referential.seine.WeightCategoryDto fr.ird.observe.ui.content.table.* fr.ird.observe.ui.util.BooleanEditor @@ -87,7 +88,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -97,7 +98,7 @@ <JLabel id='weightCategoryLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='weightCategory' constructorParams='this' genericType='ReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class'/> + <BeanComboBox id='weightCategory' constructorParams='this' genericType='ReferentialReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class'/> </cell> </row> @@ -107,7 +108,7 @@ <JLabel id='reasonForDiscardLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> + <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java index 029018f..f56b866 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java @@ -28,7 +28,6 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; @@ -53,7 +52,6 @@ import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.Arrays; import java.util.Collection; import java.util.Collections; import java.util.Iterator; @@ -76,20 +74,20 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT super(ui, DataContextType.SetSeine); } - protected static Collection<ReferenceDto<WeightCategoryDto>> getWeightCategoryUsed( + protected static Collection<ReferentialReferenceDto<WeightCategoryDto>> getWeightCategoryUsed( ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model) { - List<ReferenceDto<WeightCategoryDto>> list = model.getColumnValues(1); - Collection<ReferenceDto<WeightCategoryDto>> set = Sets.newHashSet(list); + List<ReferentialReferenceDto<WeightCategoryDto>> list = model.getColumnValues(1); + Collection<ReferentialReferenceDto<WeightCategoryDto>> set = Sets.newHashSet(list); list.clear(); return set; } - protected static Collection<ReferenceDto<ReasonForDiscardDto>> getReasonForDiscardUsed( + protected static Collection<ReferentialReferenceDto<ReasonForDiscardDto>> getReasonForDiscardUsed( ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model, - ReferenceDto<WeightCategoryDto> weightCategory) { + ReferentialReferenceDto<WeightCategoryDto> weightCategory) { - Collection<ReferenceDto<ReasonForDiscardDto>> set = Sets.newHashSet(); + Collection<ReferentialReferenceDto<ReasonForDiscardDto>> set = Sets.newHashSet(); if (weightCategory != null) { for (int i = 0; i < model.getRowCount(); i++) { TargetCatchDto c = model.getValueAt(i); @@ -131,10 +129,9 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT TargetCatchDto bean = model.getRowBean(); if (bean.getId() == null) { - // en mode creation , on doit recalculer la liste - // des categories + // en mode creation , on doit recalculer la liste des categories - ReferenceDto<SpeciesDto> species = (ReferenceDto<SpeciesDto>) evt.getNewValue(); + ReferentialReferenceDto<SpeciesDto> species = (ReferentialReferenceDto<SpeciesDto>) evt.getNewValue(); onEspeceChanged(bean, species); } } @@ -158,8 +155,8 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (bean.getId() == null) { // en mode creation , on doit recalculer la liste // des raison rejet - ReferenceDto<WeightCategoryDto> weightCategory = - (ReferenceDto<WeightCategoryDto>) evt.getNewValue(); + ReferentialReferenceDto<WeightCategoryDto> weightCategory = + (ReferentialReferenceDto<WeightCategoryDto>) evt.getNewValue(); onCategorieChanged(bean, weightCategory); } @@ -177,7 +174,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT @Override protected boolean prepareSave(SetSeineTargetCatchDto bean, List<TargetCatchDto> objets) { - //on cherche si parmis les captures supprimer certaines ont des échantillon + //on cherche si parmis les captures supprimer certaines ont des échantillons SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getFormDto().getForm(); SetSeineTargetCatchDto currentSetSeineTargetCatch = getModel().getBean(); @@ -201,11 +198,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } if (!speciesToDelete.isEmpty()) { - // il existe des echantillon thon a supprimer on demande une - // confirmation + // il existe des echantillon thon a supprimer on demande une confirmation StringBuilder sb = new StringBuilder(512); - Decorator<ReferenceDto> decorator = - getDecoratorService().getDecoratorByType(ReferenceDto.class, SpeciesDto.class.getSimpleName()); + Decorator<ReferentialReferenceDto<SpeciesDto>> decorator = + getDecoratorService().getReferenceDecorator(SpeciesDto.class); for (ReferentialReferenceDto<SpeciesDto> species : speciesToDelete) { sb.append(" - ").append(decorator.toString(species)).append('\n'); @@ -243,14 +239,14 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT protected void onSelectedRowChanged(int editingRow, TargetCatchDto bean, boolean create) { TargetDiscardCatchUI ui = getUi(); - ReferenceDto<WeightCategoryDto> beanWeightCategory = bean.getWeightCategory(); + ReferentialReferenceDto<WeightCategoryDto> beanWeightCategory = bean.getWeightCategory(); - ReferenceDto<SpeciesDto> beanSpecies = null; - if (beanWeightCategory != null) { - beanSpecies = (ReferenceDto<SpeciesDto>) beanWeightCategory.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES); + ReferentialReferenceDto<SpeciesDto> beanSpecies = null; + if (beanWeightCategory != null) { + beanSpecies = (ReferentialReferenceDto<SpeciesDto>) beanWeightCategory.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES); } - ReferenceDto<ReasonForDiscardDto> beanReasonForDiscard = bean.getReasonForDiscard(); + ReferentialReferenceDto<ReasonForDiscardDto> beanReasonForDiscard = bean.getReasonForDiscard(); if (log.isDebugEnabled()) { log.debug("selected categoriePoid " + beanWeightCategory); log.debug("selected species " + beanSpecies); @@ -262,22 +258,20 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); if (model.isCreate()) { - // par défaut, on considère que l'espèce a été monté sur le pont + // par défaut, on considère que l'espèce a été montée sur le pont // c'est le cas le plus fréquent. bean.setBroughtOnDeck(true); } // on recalcule la liste des speciess disponibles - List<ReferenceDto<SpeciesDto>> availableSpecies = buildEspeceList(beanSpecies, beanWeightCategory); + List<ReferentialReferenceDto<SpeciesDto>> availableSpecies = buildEspeceList(beanSpecies, beanWeightCategory); ui.getSpecies().setData(availableSpecies); - // on reinitilise toujours l'species (pour reinitialiser la liste - // des categories) + // on reinitilise toujours l'species (pour reinitialiser la liste des categories) ui.getSpecies().setSelectedItem(null); if (!model.isCreate()) { - // on repositionne l'species (cela reconstruira la liste - // des categories) + // on repositionne l'espèce (cela reconstruira la liste des categories) ui.getSpecies().setSelectedItem(beanSpecies); // on repositionne la categorie ui.getWeightCategory().setSelectedItem(beanWeightCategory); @@ -291,9 +285,9 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT // puisque dans ce mode, pas possibilite de modifier de cette // valeur (clef metier) ui.getSpecies().setSelectedItem(beanSpecies); - ui.getWeightCategory().setData(Arrays.asList(beanWeightCategory)); + ui.getWeightCategory().setData(Collections.singletonList(beanWeightCategory)); ui.getWeightCategory().setSelectedItem(beanWeightCategory); - ui.getReasonForDiscard().setData(Arrays.asList(beanReasonForDiscard)); + ui.getReasonForDiscard().setData(Collections.singletonList(beanReasonForDiscard)); ui.getReasonForDiscard().setSelectedItem(beanReasonForDiscard); requestFocus = ui.getCatchWeight(); @@ -332,26 +326,24 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT UIHelper.setTableColumnRenderer(table, 5, UIHelper.newStringTableCellRenderer(renderer, 10, true)); } - protected void onEspeceChanged(TargetCatchDto bean, ReferenceDto<SpeciesDto> species) { + protected void onEspeceChanged(TargetCatchDto bean, ReferentialReferenceDto<SpeciesDto> species) { - ReferenceDto<WeightCategoryDto> weightCategory = null; + ReferentialReferenceDto<WeightCategoryDto> weightCategory = null; - List<ReferenceDto<WeightCategoryDto>> data; + List<ReferentialReferenceDto<WeightCategoryDto>> data; if (species == null) { - // aucune species selectionnee, on vide simplement - // la liste des categories car il faut d'abord choisir une - // species puis une categorie + // aucune espèce selectionnee, on vide simplement + // la liste des categories car il faut d'abord choisir une espèce puis une categorie data = Collections.emptyList(); } else { // un species est selectionne, on met a jour la liste des categories - // disponibles pour cet species + // disponibles pour cette espèce - List<ReferenceDto<WeightCategoryDto>> availableCategories = buildWeightCategoryList( - species); + List<ReferentialReferenceDto<WeightCategoryDto>> availableCategories = buildWeightCategoryList(species); data = availableCategories; @@ -364,23 +356,23 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } // on met a jour le model de la liste des categories - BeanComboBox<ReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); + BeanComboBox<ReferentialReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); combo.setData(data); // on selectionne la categorie retenue combo.setSelectedItem(weightCategory); } - protected void onCategorieChanged(TargetCatchDto bean, ReferenceDto<WeightCategoryDto> weightCategory) { + protected void onCategorieChanged(TargetCatchDto bean, ReferentialReferenceDto<WeightCategoryDto> weightCategory) { TargetDiscardCatchUI ui = getUi(); - ReferenceDto<ReasonForDiscardDto> reasonForDiscard = null; - List<ReferenceDto<ReasonForDiscardDto>> data; + ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard = null; + List<ReferentialReferenceDto<ReasonForDiscardDto>> data; if (weightCategory == null) { // aucune categorie selectionnee, on vide simplement // la liste des raison rejets car il faut d'abord choisir une - // species puis une categorie, puis une raison rejet + // espèce puis une categorie, puis une raison rejet data = Collections.emptyList(); } else { @@ -390,7 +382,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT reasonForDiscard = bean.getReasonForDiscard(); - List<ReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = buildReasonFordiscardList(weightCategory, reasonForDiscard); + List<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = buildReasonFordiscardList(weightCategory, reasonForDiscard); if (log.isDebugEnabled()) { log.debug("new reasonForDiscard list " + reasonForDiscardList); @@ -399,7 +391,6 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT data = reasonForDiscardList; - if (reasonForDiscard != null && !reasonForDiscardList.contains(reasonForDiscard)) { // on sélectionne la première raison rejet disponible @@ -407,7 +398,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } } - BeanComboBox<ReferenceDto<ReasonForDiscardDto>> combo = ui.getReasonForDiscard(); + BeanComboBox<ReferentialReferenceDto<ReasonForDiscardDto>> combo = ui.getReasonForDiscard(); // on met a jour le model de la liste des raison rejets combo.setData(data); @@ -416,9 +407,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT combo.setSelectedItem(reasonForDiscard); } - protected List<ReferenceDto<SpeciesDto>> buildEspeceList(ReferenceDto<SpeciesDto> species, ReferenceDto<WeightCategoryDto> weightCategory) { + protected List<ReferentialReferenceDto<SpeciesDto>> buildEspeceList(ReferentialReferenceDto<SpeciesDto> species, + ReferentialReferenceDto<WeightCategoryDto> weightCategory) { - List<ReferenceDto<WeightCategoryDto>> weightCategoryList = getAllCategories(); + List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getAllCategories(); removeFullyUsedCategories(weightCategoryList); @@ -426,25 +418,25 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT weightCategoryList.add(weightCategory); } - Collection<ReferenceDto<SpeciesDto>> usedEspeces = Sets.newHashSet(); - for (ReferenceDto<WeightCategoryDto> cat : weightCategoryList) { - usedEspeces.add((ReferenceDto<SpeciesDto>) cat.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES)); + Collection<ReferentialReferenceDto<SpeciesDto>> usedEspeces = Sets.newHashSet(); + for (ReferentialReferenceDto<WeightCategoryDto> cat : weightCategoryList) { + usedEspeces.add((ReferentialReferenceDto<SpeciesDto>) cat.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES)); } - List<ReferenceDto<SpeciesDto>> result = Lists.newArrayList(usedEspeces); + List<ReferentialReferenceDto<SpeciesDto>> result = Lists.newArrayList(usedEspeces); weightCategoryList.clear(); usedEspeces.clear(); return result; } - protected List<ReferenceDto<WeightCategoryDto>> buildWeightCategoryList(ReferenceDto<SpeciesDto> species) { + protected List<ReferentialReferenceDto<WeightCategoryDto>> buildWeightCategoryList(ReferentialReferenceDto<SpeciesDto> species) { - List<ReferenceDto<WeightCategoryDto>> weightCategoryList = getAllCategories(); + List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getAllCategories(); // on filtre les categories sur l'espèce donnée - for (Iterator<ReferenceDto<WeightCategoryDto>> it = weightCategoryList.iterator(); + for (Iterator<ReferentialReferenceDto<WeightCategoryDto>> it = weightCategoryList.iterator(); it.hasNext(); ) { - ReferenceDto<WeightCategoryDto> weighte = it.next(); + ReferentialReferenceDto<WeightCategoryDto> weighte = it.next(); if (!species.equals(weighte.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES))) { it.remove(); } @@ -458,20 +450,20 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } @SuppressWarnings("unchecked") - protected List<ReferenceDto<ReasonForDiscardDto>> buildReasonFordiscardList(ReferenceDto<WeightCategoryDto> weightCategory, ReferenceDto<ReasonForDiscardDto> currentReason) { + protected List<ReferentialReferenceDto<ReasonForDiscardDto>> buildReasonFordiscardList(ReferentialReferenceDto<WeightCategoryDto> weightCategory, ReferentialReferenceDto<ReasonForDiscardDto> currentReason) { ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - ReferenceSetDto<ReasonForDiscardDto> reasonForDiscardSetDto = getModel().getFormDto().getReferenceSetDto(ReasonForDiscardDto.class); + Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSetDto = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); - List<ReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = Lists.newArrayList((Set) reasonForDiscardSetDto.getReference()); + List<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = Lists.newArrayList(reasonForDiscardSetDto); // on filtre les raison rejet sur la categorie for (int i = 0; i < model.getRowCount(); i++) { TargetCatchDto c = model.getValueAt(i); if (c != null - && c.getReasonForDiscard() != null - && (currentReason == null || ! currentReason.equals(c.getReasonForDiscard())) - && weightCategory.equals(c.getWeightCategory())) { + && c.getReasonForDiscard() != null + && (currentReason == null || !currentReason.equals(c.getReasonForDiscard())) + && weightCategory.equals(c.getWeightCategory())) { reasonForDiscardList.remove(c.getReasonForDiscard()); } } @@ -479,27 +471,27 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT return reasonForDiscardList; } - protected List<ReferenceDto<WeightCategoryDto>> getAllCategories() { - ReferenceSetDto<WeightCategoryDto> weightCategorySetDto = getModel().getFormDto().getReferenceSetDto(WeightCategoryDto.class); + protected List<ReferentialReferenceDto<WeightCategoryDto>> getAllCategories() { + Set<ReferentialReferenceDto<WeightCategoryDto>> weightCategorySetDto = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); - List<ReferenceDto<WeightCategoryDto>> weightCategoryList = Lists.newArrayList((Set) weightCategorySetDto.getReference()); + List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = Lists.newArrayList(weightCategorySetDto); return weightCategoryList; } protected void removeFullyUsedCategories( - List<ReferenceDto<WeightCategoryDto>> weightCategoryAvaillable) { + List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryAvaillable) { ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - ReferenceSetDto<ReasonForDiscardDto> reasonForDiscardSetDto = getModel().getFormDto().getReferenceSetDto(ReasonForDiscardDto.class); + Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSetDto = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); - int nbReasonForDiscard = reasonForDiscardSetDto.sizeReference(); + int nbReasonForDiscard = reasonForDiscardSetDto.size(); // on filtre toutes les weightCategory qui ont deja references toutes // les raisons rejets - for (ReferenceDto<WeightCategoryDto> c : getWeightCategoryUsed(model)) { - Collection<ReferenceDto<ReasonForDiscardDto>> raisonUsed = getReasonForDiscardUsed(model, c); + for (ReferentialReferenceDto<WeightCategoryDto> c : getWeightCategoryUsed(model)) { + Collection<ReferentialReferenceDto<ReasonForDiscardDto>> raisonUsed = getReasonForDiscardUsed(model, c); if (raisonUsed.size() == nbReasonForDiscard) { // toutes les raison de rejet epuisé pour cette categorie weightCategoryAvaillable.remove(c); @@ -519,7 +511,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineTargetCatchDto> formDto = getTargetCatchService().loadToEdit(beanId, true, tripSeineId); + FormDto<SetSeineTargetCatchDto> formDto = getTargetCatchService().loadForm(beanId, true, tripSeineId); getModel().setFormDto(formDto); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx index 3575faf..14482d9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx @@ -32,6 +32,7 @@ fr.ird.observe.services.dto.seine.TargetLengthDto fr.ird.observe.ui.content.table.impl.seine.CodeMesureEnum fr.ird.observe.ui.content.table.impl.seine.ModeSaisieEchantillonEnum + fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.content.table.* @@ -123,7 +124,7 @@ public String getLengthDataTip(boolean computed) { <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> + <BeanComboBox id='species' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 2f90d0b..9dfab19 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -26,6 +26,7 @@ import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -133,7 +134,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto return; } - ReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); JComponent requestFocus; @@ -316,7 +317,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto @Override protected void loadEditBean(String beanId) { - FormDto<TargetSampleDto> formDto = getTargetSampleService().loadToEdit(beanId, discarded); + FormDto<TargetSampleDto> formDto = getTargetSampleService().loadForm(beanId, discarded); getModel().setFormDto(formDto); TargetSampleDtos.copyTargetSampleDto(formDto.getForm(), getBean()); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/TripMapDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/TripMapDtos.java new file mode 100644 index 0000000..458275a --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/TripMapDtos.java @@ -0,0 +1,15 @@ +package fr.ird.observe.services.dto; + + +import java.util.LinkedHashSet; + +public class TripMapDtos extends AbstractTripMapDtos { + + public static TripMapDto newTripMapDto(String tripId, LinkedHashSet<TripMapPointDto> points) { + TripMapDto tripMapDto = new TripMapDto(); + tripMapDto.setId(tripId); + tripMapDto.setPoints(points); + return tripMapDto; + } +} + -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 37707035a6eed00857918f5ffabcfcf8fbafe2d2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 11:56:52 2015 +0100 Dans une référence, on n'expose pas d'autres références, on récupère juste l'id (si possible) --- .../observe/services/dto/reference/ObserveReferenceSetBuilder.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java index d5d3b12..3c5803e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java @@ -3,7 +3,6 @@ package fr.ird.observe.services.dto.reference; import com.google.common.base.Defaults; import com.google.common.base.Function; import com.google.common.base.Preconditions; -import fr.ird.observe.entities.referentiel.ReferenceEntities; import fr.ird.observe.entities.referentiel.ReferenceEntity; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ObserveDtosInitializer; @@ -235,9 +234,11 @@ public class ObserveReferenceSetBuilder<D extends IdDto, R extends ObserveRefere Serializable result; if (String.class.equals(propertyType)) { - // Conversion + // On en récupère que son identifiant + //FIXME Voir si cela suffit - result = ReferenceEntities.toString(referentialLocaleOrdinal, referentialEntity); + result = referentialEntity.getTopiaId(); +// result = ReferenceEntities.toString(referentialLocaleOrdinal, referentialEntity); } else { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit a65d18a5a19e54fb1b2bfba34016489198ebe113 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 12:59:34 2015 +0100 - Suppression des méthodes getDecorator du context applicatif (ce n'est pas le role du context de décorer ou fournir des décorateurs mais celui du DecoratorService) - Arrêter d'exposer comment on récupère un décorateur de référence, on le code une fois pour toute dans DecoratorService et on s'en sert partout ailleurs (ce n'est certainement pas à un handler d'ui à savoir comment récupérer un décorateur...) - Revue un peu des actions pour déplacer les noeuds (manque de précision, c'est facile de faire des casts sauvages, mais après on ne sait pas sur quoi on bosse, essayer toujours d'être le plus précis possible) - Les premiers écrans avec tableaux sur la seine refonctionne \o/ (il faut absoluement supprimer les references de references lorsqu'on remonte des dto, remonter juste l'id suffit, ensuite l'ui connait les référeniels et donc sait retrouver la référence complète si besoin...) Je me demande même si on ne devrait pas juste remonter que des ids pour toutes les références et on reconstruit côté applicatif... --- .../observe/ObserveSwingApplicationContext.java | 32 +---- .../java/fr/ird/observe/ui/DecoratorService.java | 47 ++++--- .../src/main/java/fr/ird/observe/ui/UIHelper.java | 19 ++- .../ird/observe/ui/actions/ShowConfigAction.java | 2 +- .../shared/MoveActivityLonglinesUIAction.java | 27 ++-- .../actions/shared/MoveActivitySeinesUIAction.java | 18 +-- .../ui/actions/shared/MoveRoutesUIAction.java | 13 +- .../ui/actions/shared/MoveTripsUIAction.java | 45 ++---- .../observe/ui/admin/export/ExportUIHandler.java | 5 +- .../ui/admin/gps/GPSActivityTableModel.java | 2 +- .../ird/observe/ui/content/ContentUIHandler.java | 13 +- .../observe/ui/content/ContentUIInitializer.java | 25 ++-- .../fr/ird/observe/ui/content/ContentUIModel.java | 22 +++ .../ui/content/impl/seine/SetSeineUIHandler.java | 6 +- .../ui/content/table/ContentTableModel.java | 4 + .../ui/content/table/ContentTableUIHandler.java | 62 +++++++- .../impl/longline/BaitsCompositionUIHandler.java | 6 +- .../longline/BranchlinesCompositionUIHandler.java | 5 +- .../impl/longline/CatchLonglineUIHandler.java | 23 +-- .../table/impl/longline/EncounterUIHandler.java | 5 +- .../longline/FloatlinesCompositionUIHandler.java | 4 +- .../longline/GearUseFeaturesLonglineUIHandler.java | 4 +- .../impl/longline/HooksCompositionUIHandler.java | 5 +- .../impl/longline/LonglinePositionHelper.java | 4 +- .../table/impl/longline/SensorUsedUIHandler.java | 7 +- .../content/table/impl/longline/TdrUIHandler.java | 23 +-- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 4 +- .../table/impl/seine/NonTargetCatchUIHandler.java | 7 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 7 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 5 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 3 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 3 +- .../table/impl/seine/TargetCatchUIHandler.java | 69 ++++----- .../impl/seine/TargetDiscardCatchUIHandler.java | 156 +++++++++------------ .../table/impl/seine/TargetSampleUIHandler.java | 5 +- .../fr/ird/observe/ui/tree/ObserveTreeHelper.java | 2 +- .../MoveActivityLonglineNodeMenuPopulator.java | 18 ++- .../menu/MoveActivitySeineNodeMenuPopulator.java | 18 ++- .../ui/tree/menu/MoveRouteNodeMenuPopulator.java | 18 ++- .../ui/tree/menu/MoveTripNodeMenuPopulator.java | 44 +++--- .../fr/ird/observe/ui/usage/UsagesUIHandler.java | 2 +- .../ird/observe/ui/util/DecoratedNodeEntity.java | 18 +-- .../ui/util/decorator/TargetCatchDecorator.java | 53 +++++++ .../dto/ActivitySimpleSpeedDtoValidator.java | 6 +- .../validator/dto/ActivitySpeedDtoValidator.java | 4 +- .../dto/SetLonglineUniqueHomeIdDtoValidator.java | 2 +- .../dto/SetLonglineUniqueNumberDtoValidator.java | 2 +- 47 files changed, 482 insertions(+), 392 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java index 6a6a015..16ac1f0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java @@ -24,14 +24,8 @@ package fr.ird.observe; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; -import fr.ird.observe.db.DataContext; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.ui.actions.shared.MoveActivityLonglinesUIAction; -import fr.ird.observe.ui.actions.shared.MoveActivitySeinesUIAction; -import fr.ird.observe.ui.actions.shared.MoveRoutesUIAction; -import fr.ird.observe.util.gps.GPSService; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; +import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DbMode; import fr.ird.observe.db.event.ObserveSwingDataSourceEvent; @@ -73,6 +67,9 @@ import fr.ird.observe.ui.actions.shared.DeleteDataUIAction; import fr.ird.observe.ui.actions.shared.DeleteReferenceUIAction; import fr.ird.observe.ui.actions.shared.GoDownUIAction; import fr.ird.observe.ui.actions.shared.GoUpUIAction; +import fr.ird.observe.ui.actions.shared.MoveActivityLonglinesUIAction; +import fr.ird.observe.ui.actions.shared.MoveActivitySeinesUIAction; +import fr.ird.observe.ui.actions.shared.MoveRoutesUIAction; import fr.ird.observe.ui.actions.shared.MoveTripLonglinesUIAction; import fr.ird.observe.ui.actions.shared.MoveTripSeinesUIAction; import fr.ird.observe.ui.actions.shared.ReOpenUIAction; @@ -82,6 +79,7 @@ import fr.ird.observe.ui.actions.shared.SelectNodeUIAction; import fr.ird.observe.ui.actions.shared.SelectOpenNodeUIAction; import fr.ird.observe.ui.content.ContentUI; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.util.gps.GPSService; import fr.ird.observe.validation.ObserveSwingValidator; import fr.ird.observe.validation.ValidationContext; import jaxx.runtime.JAXXUtil; @@ -91,7 +89,6 @@ import jaxx.runtime.swing.CardLayout2; import jaxx.runtime.swing.ErrorDialogUI; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.ActionMap; import javax.swing.JOptionPane; @@ -162,7 +159,6 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im public static final JAXXContextEntryDef<ObserveOpenDataManager> OPEN_DATA_MANAGER_ENTRY_DEF = JAXXUtil.newContextEntryDef(ObserveOpenDataManager.class); - /** the jaxx context entry to store the decorator service */ public static final JAXXContextEntryDef<ObserveSwingBinderService> BINDER_SERVICE_ENTRY_DEF = JAXXUtil.newContextEntryDef(ObserveSwingBinderService.class); @@ -204,23 +200,6 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im public static final JAXXContextEntryDef<List<String>> NODE_TO_RESELECT_ENTRY_DEF = UIHelper.newListContextEntryDef("nodeToReselect"); - public <O> Decorator<O> getDecorator(Class<O> clazz) { - DecoratorService provider = getDecoratorService(); - Decorator<O> value = provider.getDecoratorByType(clazz); - return value; - } - - public <O> Decorator<O> getDecorator(Class<O> clazz, String name) { - DecoratorService provider = getDecoratorService(); - Decorator<O> value = provider.getDecoratorByType(clazz, name); - return value; - } - public <R extends IdDto> Decorator<ReferenceDto<R>> getReferenceDecorator(Class<R> dtoType) { - Decorator<ReferenceDto> decorator1 = getDecorator(ReferenceDto.class, dtoType.getSimpleName()); - return (Decorator) decorator1; - } - - public ObserveSwingApplicationConfig getConfig() { return CONFIG_ENTRY_DEF.getContextValue(this); } @@ -242,6 +221,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im ObserveSwingDataSource dataSource = new ObserveSwingDataSource(configuration); dataSource.addObserveSwingDataSourceListener(new ObserveSwingDataSourceListenerAdapter() { + @Override public void onOpened(ObserveSwingDataSourceEvent event) { super.onOpened(event); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java index 8d1b2f7..172ea36 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java @@ -22,8 +22,6 @@ package fr.ird.observe.ui; import com.google.common.collect.Lists; -import fr.ird.observe.util.gps.GPSPoint; -import fr.ird.observe.util.gps.GPSPointInterval; import fr.ird.observe.entities.longline.SectionTemplate; import fr.ird.observe.services.dto.AbstractObserveDto; import fr.ird.observe.services.dto.IdDto; @@ -108,7 +106,6 @@ import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SchoolEstimateDto; import fr.ird.observe.services.dto.seine.SetSeineDto; -import fr.ird.observe.services.dto.seine.TargetCatchDto; import fr.ird.observe.services.dto.seine.TargetLengthDto; import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -119,8 +116,11 @@ import fr.ird.observe.ui.util.decorator.ObjectObservedSpeciesDecorator; import fr.ird.observe.ui.util.decorator.ObserveDecorator; import fr.ird.observe.ui.util.decorator.ReferenceDecorator; import fr.ird.observe.ui.util.decorator.SpeciesDecorator; +import fr.ird.observe.ui.util.decorator.TargetCatchDecorator; import fr.ird.observe.ui.util.decorator.TripLonglineDecorator; import fr.ird.observe.ui.util.decorator.TripSeineDecorator; +import fr.ird.observe.util.gps.GPSPoint; +import fr.ird.observe.util.gps.GPSPointInterval; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -501,15 +501,12 @@ public class DecoratorService extends DecoratorProvider { registerReferenceDtoDecorator(HarbourDto.class, "${code}$s##${name}$s##${locode}$s"); registerReferenceDtoDecorator(ObjectSchoolEstimateDto.class, - "${species/scientificLabel}$s##${weight}$d", - "${species}$s##${weight}$d"); + "${species/scientificLabel}$s##${weight}$d", + "${species}$s##${weight}$d"); registerReferenceDtoDecorator(SchoolEstimateDto.class, - "${species/scientificLabel}$s##${totalWeight}$d##${meanWeight}$d", - "${species}$s##${totalWeight}$d##${meanWeight}$d"); + "${species/scientificLabel}$s##${totalWeight}$d##${meanWeight}$d", + "${species}$s##${totalWeight}$d##${meanWeight}$d"); - registerObserveDecorator( - TargetCatchDto.class, - "${weightCategory/species/scientificLabel}$s##${weightCategory/label}$s##${weight}$f"); registerReferenceDtoDecorator( TargetLengthDto.class, "${species/scientificLabel}$s##${length}$f##${count}$d", @@ -550,22 +547,25 @@ public class DecoratorService extends DecoratorProvider { // Trip commun decorator registerDecorator(TRIP_CONTEXT, - new ReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); + new ReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); - String oldCode = l(locale, "observe.common.oldCode3L"); // Species decorator - registerDecorator(new SpeciesDecorator( oldCode)); + String oldCode = l(locale, "observe.common.oldCode3L"); + registerDecorator(new SpeciesDecorator(oldCode)); registerDecorator(SpeciesDto.class.getSimpleName(), new ReferenceDecorator("${faoCode}$s##${scientificLabel}$s##" + oldCode + " ${homeId}$s")); // ObjectObservedSpecies decorator registerDecorator(new ObjectObservedSpeciesDecorator()); + // TargetLength decorator + registerDecorator(new TargetCatchDecorator()); + // NonTargetCatch decorator registerDecorator(new NonTargetCatchDecorator()); registerDecorator(NonTargetCatchDto.class.getSimpleName(), - new ReferenceDecorator("${species}$s##${speciesFate}$s")); + new ReferenceDecorator("${species}$s##${speciesFate}$s")); // NonTargetLength decorator registerDecorator(new NonTargetLengthDecorator()); @@ -574,7 +574,7 @@ public class DecoratorService extends DecoratorProvider { registerDecorator(new LengthWeightParameterDecorator()); registerDecorator(LengthWeightParameterDto.class.getSimpleName(), new ReferenceDecorator("${sex/label}$s##${ocean/label}$s##${species/scientificLabel}$s##" + - t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s")); + t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s")); // gps decorators registerObserveDecorator("activity-gps", @@ -601,18 +601,23 @@ public class DecoratorService extends DecoratorProvider { registerObserveDecorator(GearUseFeaturesMeasurementSeineDto.class, "${id}$s"); registerReferenceDtoDecorator(EncounterDto.class, - "${encounterType/label}$s##${species/label}$s", - "${encounterType}$s##${species}$s", - " - "); + "${encounterType/label}$s##${species/label}$s", + "${encounterType}$s##${species}$s", + " - "); } - public <T extends ReferentialDto> Decorator<ReferentialReferenceDto<T>> getReferenceDecorator(Class<T> referenceType) { - Decorator decoratorByType = getDecoratorByType(ReferenceDto.class, referenceType.getSimpleName()); - return decoratorByType; + public <T extends ReferentialDto> Decorator<ReferentialReferenceDto<T>> getReferentialReferenceDecorator(Class<T> referenceType) { + Decorator decorator = getDecoratorByType(ReferenceDto.class, referenceType.getSimpleName()); + return decorator; } + public <T extends IdDto> Decorator<ReferenceDto<T>> getReferenceDecorator(Class<T> referenceType) { + Decorator decorator = getDecoratorByType(ReferenceDto.class, referenceType.getSimpleName()); + return decorator; + + } protected <T extends ReferentialDto> void registerReferentialReferenceDtoDecorator(Class<T> referenceType, String libelle) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java index c7bc2d1..cb1c9ef 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java @@ -23,6 +23,7 @@ package fr.ird.observe.ui; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.ui.util.table.ObserveBooleanTableCellRenderer; import jaxx.runtime.FileChooserUtil; import jaxx.runtime.JAXXObject; @@ -32,11 +33,15 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; -import javax.swing.*; +import javax.swing.JOptionPane; +import javax.swing.JTable; +import javax.swing.SwingUtilities; import javax.swing.event.HyperlinkEvent; import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellRenderer; -import java.awt.*; +import java.awt.Component; +import java.awt.Desktop; +import java.awt.Toolkit; import java.awt.datatransfer.Clipboard; import java.awt.datatransfer.StringSelection; import java.io.File; @@ -338,13 +343,19 @@ public class UIHelper extends SwingUtil { public static DecoratorTableCellRenderer newDecorateTableCellRenderer( TableCellRenderer renderer, Class<?> entityClass) { - Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecorator(entityClass); + Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecorator(entityClass); return new DecoratorTableCellRenderer(renderer, decorator); } public static DecoratorTableCellRenderer newDecorateTableCellRenderer( TableCellRenderer renderer, Class<?> entityClass, String context) { - Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecorator(entityClass, context); + Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecorator(entityClass, context); + return new DecoratorTableCellRenderer(renderer, decorator); + } + + public static <T extends ReferentialDto> DecoratorTableCellRenderer newReferentialReferenceDecorateTableCellRenderer(TableCellRenderer renderer, + Class<T> entityClass) { + Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(entityClass); return new DecoratorTableCellRenderer(renderer, decorator); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java index e1c313d..bcda0e6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java @@ -127,7 +127,7 @@ public class ShowConfigAction extends AbstractAction { Set<ReferentialReferenceDto<SpeciesListDto>> speciesLists = (Set) referentialReferenceSet.getReference(); Map<String, ReferentialReferenceDto<SpeciesListDto>> speciesListMap = IdDtos.splitById(speciesLists); - Decorator<ReferentialReferenceDto<SpeciesListDto>> referenceDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(SpeciesListDto.class); + Decorator<ReferentialReferenceDto<SpeciesListDto>> referenceDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(SpeciesListDto.class); editor = new SpeciesListTableCellEditor(speciesLists, speciesListMap, referenceDecorator); renderer = new SpeciesListsTableCellRenderer(speciesListMap, referenceDecorator); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java index 14bed07..0880e1b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java @@ -33,9 +33,9 @@ import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.content.list.impl.longline.ActivityLonglinesUI; -import fr.ird.observe.ui.tree.DtoNodeSupport; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.tree.TripLonglineNode; import fr.ird.observe.ui.util.DecoratedNodeEntity; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -89,7 +89,7 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { if (ui == null) { throw new IllegalStateException( "could not find client property " + - "ui on component" + c); + "ui on component" + c); } if (!(ui instanceof ActivityLonglinesUI)) { @@ -127,31 +127,30 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { int tripLonglineNb = programNode.getChildCount(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, - TripLonglineDto.class.getSimpleName()); + Decorator<ReferenceDto<TripLonglineDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(TripLonglineDto.class); //on crée un tableau avec une marée en moins car on ne propose pas la marée actuelle DecoratedNodeEntity[] decoratedTripLonglines = new DecoratedNodeEntity[tripLonglineNb - 1]; int j = 0; - for (int i = 0 ; i < tripLonglineNb ; i++) { + for (int i = 0; i < tripLonglineNb; i++) { - ObserveNode tripLonglineNode = programNode.getChildAt(i); + TripLonglineNode tripLonglineNode = (TripLonglineNode) programNode.getChildAt(i); String tripLonglineId = tripLonglineNode.getId(); if (!oldTripLonglineId.equals(tripLonglineId)) { - decoratedTripLonglines[j++] = new DecoratedNodeEntity((DtoNodeSupport) tripLonglineNode, decorator); + decoratedTripLonglines[j++] = DecoratedNodeEntity.newDecoratedNodeEntity(tripLonglineNode, decorator); } } Object decoratedTripLongline = JOptionPane.showInputDialog(ui, - t("observe.action.choose.tripLongline.message"), - t("observe.action.choose.tripLongline.title"), - JOptionPane.QUESTION_MESSAGE, - null, - decoratedTripLonglines, - null); + t("observe.action.choose.tripLongline.message"), + t("observe.action.choose.tripLongline.title"), + JOptionPane.QUESTION_MESSAGE, + null, + decoratedTripLonglines, + null); return decoratedTripLongline != null ? ((DecoratedNodeEntity) decoratedTripLongline).getId() : null; } @@ -169,7 +168,7 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { ObserveNode programNode = oldTripLonglineNode.getParent(); ObserveNode newTripLonglineNode = treeHelper.getChild(programNode, tripLonglineId); String activitiesNodeId = DecoratorService.getPropertyLabel(ObserveTreeHelper.TREE_NODE_PREFIX, - TripLonglineDto.PROPERTY_ACTIVITY_LONGLINE); + TripLonglineDto.PROPERTY_ACTIVITY_LONGLINE); ObserveNode newActivitiesNode = treeHelper.getChild(newTripLonglineNode, activitiesNodeId); treeHelper.selectNode(newActivitiesNode); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java index 6ea1874..ae5a511 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java @@ -26,16 +26,17 @@ import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; -import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.content.list.impl.seine.ActivitySeinesUI; -import fr.ird.observe.ui.tree.DtoNodeSupport; +import fr.ird.observe.ui.content.list.impl.seine.ActivitySeinesUIModel; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.tree.RouteSeineNode; import fr.ird.observe.ui.util.DecoratedNodeEntity; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -89,7 +90,7 @@ public class MoveActivitySeinesUIAction extends AbstractUIAction { if (ui == null) { throw new IllegalStateException( "could not find client property " + - "ui on component" + c); + "ui on component" + c); } if (!(ui instanceof ActivitySeinesUI)) { @@ -107,7 +108,7 @@ public class MoveActivitySeinesUIAction extends AbstractUIAction { if (routeId != null) { // change the route of the selected activities - List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); + List<ReferenceDto<ActivitySeineDto>> selectedDatas = ((ActivitySeinesUIModel) ui.getModel()).getSelectedDatas(); List<String> activityIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); ActivitySeineService service = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); List<Integer> positions = service.moveActivitySeinesToRoute(activityIds, routeId); @@ -127,21 +128,20 @@ public class MoveActivitySeinesUIAction extends AbstractUIAction { int routeNb = routesNode.getChildCount(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, - RouteDto.class.getSimpleName()); + Decorator<ReferenceDto<RouteDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(RouteDto.class); //on crée un tableau avec une route en moins car on ne propose pas la route actuel DecoratedNodeEntity[] decoratedRoutes = new DecoratedNodeEntity[routeNb - 1]; int j = 0; - for (int i = 0 ; i < routeNb ; i++) { + for (int i = 0; i < routeNb; i++) { - ObserveNode routeNode = routesNode.getChildAt(i); + RouteSeineNode routeNode = (RouteSeineNode) routesNode.getChildAt(i); String routeId = routeNode.getId(); if (!oldRouteId.equals(routeId)) { - decoratedRoutes[j++] = new DecoratedNodeEntity((DtoNodeSupport) routeNode, decorator); + decoratedRoutes[j++] = DecoratedNodeEntity.newDecoratedNodeEntity(routeNode, decorator); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index 408b194..8c94322 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -33,9 +33,9 @@ import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.content.list.impl.seine.RoutesUI; -import fr.ird.observe.ui.tree.DtoNodeSupport; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.tree.TripSeineNode; import fr.ird.observe.ui.util.DecoratedNodeEntity; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -89,7 +89,7 @@ public class MoveRoutesUIAction extends AbstractUIAction { if (ui == null) { throw new IllegalStateException( "could not find client property " + - "ui on component" + c); + "ui on component" + c); } if (!(ui instanceof RoutesUI)) { @@ -127,21 +127,20 @@ public class MoveRoutesUIAction extends AbstractUIAction { int tripSeineNb = programNode.getChildCount(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, - TripSeineDto.class.getSimpleName()); + Decorator<ReferenceDto<TripSeineDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(TripSeineDto.class); //on crée un tableau avec une marée en moins car on ne propose pas la marée actuel DecoratedNodeEntity[] decoratedTripSeines = new DecoratedNodeEntity[tripSeineNb - 1]; int j = 0; - for (int i = 0 ; i < tripSeineNb ; i++) { + for (int i = 0; i < tripSeineNb; i++) { - ObserveNode tripSeineNode = programNode.getChildAt(i); + TripSeineNode tripSeineNode = (TripSeineNode) programNode.getChildAt(i); String tripSeineId = tripSeineNode.getId(); if (!oldTripSeineId.equals(tripSeineId)) { - decoratedTripSeines[j++] = new DecoratedNodeEntity((DtoNodeSupport) tripSeineNode, decorator); + decoratedTripSeines[j++] = DecoratedNodeEntity.newDecoratedNodeEntity(tripSeineNode, decorator); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index 809ebea..b9881aa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -25,7 +25,6 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceDtos; import fr.ird.observe.services.dto.constants.GearType; @@ -33,9 +32,9 @@ import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; import fr.ird.observe.ui.content.list.ContentListUIModel; -import fr.ird.observe.ui.tree.DtoNodeSupport; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.tree.menu.MoveTripNodeMenuPopulator; import fr.ird.observe.ui.util.DecoratedNodeEntity; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -90,7 +89,7 @@ public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIActio if (ui == null) { throw new IllegalStateException( "could not find client property " + - "ui on component" + c); + "ui on component" + c); } checkUIClass(ui); @@ -153,45 +152,25 @@ public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIActio // racine ObserveNode rootNode = treeHelper.getRootNode(); - Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, - ProgramDto.class.getSimpleName()); + Decorator<ReferenceDto<ProgramDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(ProgramDto.class); //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel List<DecoratedNodeEntity> decoratedProgramList = new ArrayList<>(); - for (int i = 0, n = rootNode.getChildCount() ; i < n ; i++) { - - ObserveNode programNode = rootNode.getChildAt(i); - String programId = programNode.getId(); - - // si le noeud programme n'est pas le même que le parent actuel - if (!oldProgramId.equals(programId) - // si le noeud est bien un noeud de programme - && IdDtos.isProgramId(programId)) { - - ReferenceDto<ProgramDto> program = ((DtoNodeSupport) programNode).getEntity(); - - // si le type de marée et le type de prgramme sont les même - if (geartype.equals(program.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE))) { - - String decoratedProgram = decorator.toString(program); - decoratedProgramList.add(new DecoratedNodeEntity(programId, decoratedProgram)); - } - } - } + MoveTripNodeMenuPopulator.createPossibleParents(oldProgramId, decoratedProgramList, geartype, rootNode); DecoratedNodeEntity[] decoratedPrograms = decoratedProgramList.toArray(new DecoratedNodeEntity[decoratedProgramList.size()]); - Object decoratedProgram = JOptionPane.showInputDialog(ui, - t("observe.action.choose.program.message"), - t("observe.action.choose.program.title"), - JOptionPane.QUESTION_MESSAGE, - null, - decoratedPrograms, - null); + DecoratedNodeEntity decoratedProgram = (DecoratedNodeEntity) JOptionPane.showInputDialog(ui, + t("observe.action.choose.program.message"), + t("observe.action.choose.program.title"), + JOptionPane.QUESTION_MESSAGE, + null, + decoratedPrograms, + null); - return decoratedProgram != null ? ((DecoratedNodeEntity) decoratedProgram).getId() : null; + return decoratedProgram == null ? null : decoratedProgram.getId(); } protected void updateTree(ContentUI<?> ui, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java index 5ce47f9..8b6d885 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java @@ -85,6 +85,7 @@ public class ExportUIHandler extends AdminTabUIHandler { final SelectDataUI selectTabUI = (SelectDataUI) ui.getStepUI(AdminStep.SELECT_DATA); tabUI.getModel().addPropertyChangeListener(AdminUIModel.SELECTION_MODEL_CHANGED_PROPERTY_NAME, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { AdminUIModel model = (AdminUIModel) evt.getSource(); @@ -126,7 +127,7 @@ public class ExportUIHandler extends AdminTabUIHandler { n("observe.synchro.table.exportData.exist.label.tip")); UIHelper.setTableColumnRenderer(table4, 0, UIHelper.newBooleanTableCellRenderer(renderer5)); - UIHelper.setTableColumnRenderer(table4, 1, UIHelper.newDecorateTableCellRenderer(renderer5, ReferenceDto.class, ProgramDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table4, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer5, ProgramDto.class)); UIHelper.setTableColumnRenderer(table4, 2, UIHelper.newDecorateTableCellRenderer(renderer5, ReferenceDto.class, DecoratorService.TRIP_CONTEXT)); UIHelper.setTableColumnRenderer(table4, 3, UIHelper.newBooleanTableCellRenderer(renderer5)); UIHelper.setTableColumnEditor(table4, 0, MyDefaultCellEditor.newBooleanEditor(false)); @@ -166,6 +167,7 @@ public class ExportUIHandler extends AdminTabUIHandler { addAdminWorker( ((ExportUI) ui).getPrepareAction().getToolTipText(), new Callable<WizardState>() { + @Override public WizardState call() throws Exception { return prepareAction(); @@ -184,6 +186,7 @@ public class ExportUIHandler extends AdminTabUIHandler { addAdminWorker( tabUI.getStartAction().getToolTipText(), new Callable<WizardState>() { + @Override public WizardState call() throws Exception { return doAction(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/gps/GPSActivityTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/gps/GPSActivityTableModel.java index 95010ae..704784d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/gps/GPSActivityTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/gps/GPSActivityTableModel.java @@ -74,7 +74,7 @@ public class GPSActivityTableModel extends AbstractTableModel { public GPSActivityTableModel() { selected = new HashSet<Integer>(); - decorator = ObserveSwingApplicationContext.get().getDecorator(ActivitySeineDto.class, + decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecorator(ActivitySeineDto.class, "gps-activity"); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index 8ea91ce..1e00947 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -35,6 +35,7 @@ import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.actions.shared.AbstractUIAction; @@ -75,6 +76,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.t; @@ -834,9 +836,9 @@ public abstract class ContentUIHandler<E extends IdDto> { if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { //FIXME Bien vérifier que cela fonctionne - ReferenceSetDto<R> referenceSetDto = formDto.getReferenceSetDto(dtoClass, list.getModel().getProperty()); + Set<ReferentialDto> referenceSetDto = getModel().getReferentialReferences((Class) dtoClass, list.getModel().getProperty()); - data = new ArrayList<>(referenceSetDto.getReference()); + data = new ArrayList(referenceSetDto); } else { @@ -928,7 +930,12 @@ public abstract class ContentUIHandler<E extends IdDto> { } protected <R extends IdDto> Decorator<ReferenceDto<R>> getReferenceDecorator(Class<R> dtoType) { - Decorator<ReferenceDto<R>> decorator = ObserveSwingApplicationContext.get().getReferenceDecorator(dtoType); + Decorator<ReferenceDto<R>> decorator = getDecoratorService().getReferenceDecorator(dtoType); + return decorator; + } + + protected <R extends ReferentialDto> Decorator<ReferentialReferenceDto<R>> getReferentialReferenceDecorator(Class<R> dtoType) { + Decorator<ReferentialReferenceDto<R>> decorator = getDecoratorService().getReferentialReferenceDecorator(dtoType); return decorator; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java index 14bfd19..cbc63b3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java @@ -234,7 +234,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E } if (o instanceof BeanListHeader<?>) { - init((BeanListHeader<?>) o); + init((BeanListHeader) o); continue; } @@ -361,8 +361,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E prepareBeanComboBox(beanComboBox); } - @SuppressWarnings("unchecked") - protected void init(BeanListHeader beanList) { + protected <E extends IdDto> void init(BeanListHeader<ReferenceDto<E>> beanList) { beanList.setI18nPrefix("observe.common."); @@ -382,7 +381,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E log.debug("addDecorator to list " + jlist.getName()); } - Decorator<? extends IdDto> decorator = ObserveSwingApplicationContext.get().getDecorator(klass); + Decorator<? extends IdDto> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(klass); jlist.putClientProperty("decorator", decorator); } @@ -609,13 +608,13 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E * des entités * @since 1.5 */ - protected <E extends IdDto> void prepareEntityList(FilterableDoubleList<ReferenceDto> list) { + protected <E extends IdDto> void prepareEntityList(FilterableDoubleList<ReferenceDto<E>> list) { ObserveSwingApplicationContext tx = ObserveSwingApplicationContext.get(); Class<E> dtoClass = (Class<E>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); // init list - Decorator<ReferenceDto> decorator = tx.getDecorator(ReferenceDto.class, dtoClass.getSimpleName()); + Decorator<ReferenceDto<E>> decorator = tx.getDecoratorService().getReferenceDecorator(dtoClass); if (log.isDebugEnabled()) { log.debug("Will use decorator " + decorator); } @@ -623,7 +622,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E list.putClientProperty("decorator", decorator); // set datas to list and init renderer - list.init((JXPathDecorator<ReferenceDto>) decorator, new ArrayList<ReferenceDto>(), new ArrayList<ReferenceDto>()); + list.init((JXPathDecorator<ReferenceDto<E>>) decorator, new ArrayList<ReferenceDto<E>>(), new ArrayList<ReferenceDto<E>>()); // get the renderer initialized ListCellRenderer renderer = list.getSelectedList().getCellRenderer(); @@ -650,12 +649,12 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E * @since 1.5 */ protected <E extends IdDto> void prepareEntityList(Class<E> dtoClass, - BeanListHeader<ReferenceDto> list) { + BeanListHeader<ReferenceDto<E>> list) { ObserveSwingApplicationContext tx = ObserveSwingApplicationContext.get(); // init list - Decorator<ReferenceDto> decorator = tx.getDecorator(ReferenceDto.class, dtoClass.getSimpleName()); + Decorator<ReferenceDto<E>> decorator = tx.getDecoratorService().getReferenceDecorator(dtoClass); if (log.isDebugEnabled()) { log.debug("Will use decorator " + decorator); } @@ -663,7 +662,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E list.putClientProperty("decorator", decorator); // set datas to list and init renderer - list.init((JXPathDecorator<ReferenceDto>) decorator, Collections.<ReferenceDto>emptyList()); + list.init((JXPathDecorator<ReferenceDto<E>>) decorator, Collections.<ReferenceDto<E>>emptyList()); // get the renderer initialized ListCellRenderer renderer = list.getList().getCellRenderer(); @@ -688,16 +687,16 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E * @si un pb pendant la récupération des * entités */ - protected <E extends IdDto> void prepareBeanComboBox(BeanComboBox<ReferenceDto> comboBox) { + protected <E extends IdDto> void prepareBeanComboBox(BeanComboBox<ReferenceDto<E>> comboBox) { ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); // init combobox Class<E> dtoClass = (Class<E>) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - Decorator<ReferenceDto> decorator = context.getDecorator(ReferenceDto.class, dtoClass.getSimpleName()); + Decorator<ReferenceDto<E>> decorator = context.getDecoratorService().getReferenceDecorator(dtoClass); // add data list to combo box - comboBox.init((JXPathDecorator<ReferenceDto>) decorator, Collections.<ReferenceDto>emptyList()); + comboBox.init((JXPathDecorator<ReferenceDto<E>>) decorator, Collections.<ReferenceDto<E>>emptyList()); final ListCellRenderer renderer = comboBox.getCombobox().getRenderer(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java index 7a7da5e..e6a47de 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java @@ -24,6 +24,7 @@ package fr.ird.observe.ui.content; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; @@ -253,6 +254,27 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab } + public <D extends IdDto> ReferenceSetDto<D> getReferenceSet(Class<D> type, String name) { + + ReferenceSetDto<D> referenceSetDto = formDto.getReferenceSetDto(type, name); + return referenceSetDto; + + } + + public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String name, String id) { + + ReferentialReferenceDto<D> referenceSetDto = (ReferentialReferenceDto<D>) formDto.getReferenceById(type, name, id); + return referenceSetDto; + + } + + public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String name, String id) { + + ReferenceDto<D> referenceSetDto = formDto.getReferenceById(type, name, id); + return referenceSetDto; + + } + protected void firePropertyChange(String propertyName, Object newValue) { firePropertyChange(propertyName, null, newValue); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index d449680..6ac234a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -183,6 +183,9 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { } + // utilisation du mode requis + setContentMode(mode); + getModel().setFormDto(formDto); SetSeineDtos.copySetSeineDto(formDto.getForm(), bean); @@ -199,9 +202,6 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { getUi().getStartTime().setDate(dateAndTime); - // utilisation du mode requis - setContentMode(mode); - SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); computeTabValidState(errorTableModel); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableModel.java index 30c032c..f27eb03 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableModel.java @@ -469,6 +469,10 @@ public abstract class ContentTableModel<P extends IdDto, B extends IdDto> extend return model == null ? null : model.getTableEditBean(); } + public boolean isNewRow() { + return getRowBean().getId() == null; + } + public boolean isCreate() { return create; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index dd10b91..0e164ea 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -21,11 +21,18 @@ */ package fr.ird.observe.ui.content.table; +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; import fr.ird.observe.ui.content.ContentUIModel; @@ -42,7 +49,9 @@ import javax.swing.table.DefaultTableCellRenderer; import java.awt.Rectangle; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.io.Serializable; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -189,12 +198,8 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex E editBean = getBean(); // preparation du bean d'édition - loadEditBean(id); - - getModel().setMode(mode); - // initialisation du modèle du tableau getUi().getTableModel().attachModel(); @@ -246,6 +251,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex uiInitializer.initUI(); getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { updateReferenceSets(true); @@ -268,6 +274,8 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex ui.getTableModel().dettachModel(); + getModel().setMode(mode); + // chargement du bean d'édition loadEditBean(mode); @@ -439,4 +447,50 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex getTableModel().resetEditBean(); } + /** + * @param weightCategory la catégorie de poids + * @return la référence sur l'espèce de la catégorie de poids + */ + protected ReferentialReferenceDto<SpeciesDto> getWeightCategorySpecies(ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + + //FIXME Il faut que les références dans les dto du form remontés soient les même que ceux remontés par les ensembles de références + //FIXME i.e pas de référence de référence + Serializable ref = weightCategory.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES); + + String speciesId; + if (ref instanceof String) { + speciesId = (String) ref; + } else { + speciesId = ((ReferentialReferenceDto<?>) ref).getId(); + } + return getModel().getReferentialReferenceById(SpeciesDto.class, TargetCatchDto.PROPERTY_SPECIES, speciesId); + } + + /** + * @param speciesId l'identifiant de l'espèce + * @return la liste de toutes les catégories de poids de l'espèce + */ + protected List<ReferentialReferenceDto<WeightCategoryDto>> getSpeciesWeightCategories(String speciesId) { + + Set<ReferentialReferenceDto<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); + + return Lists.newArrayList(Iterables.filter(allCategories, new WeightCategorySpeciesPredicate(speciesId))); + + } + + private static class WeightCategorySpeciesPredicate implements Predicate<ReferentialReferenceDto<WeightCategoryDto>> { + + private final String speciesId; + + public WeightCategorySpeciesPredicate(String speciesId) { + this.speciesId = speciesId; + } + + @Override + public boolean apply(ReferentialReferenceDto<WeightCategoryDto> input) { + return speciesId.equals(input.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES)); + } + + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java index 077d1cd..9b55b32 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUIHandler.java @@ -23,7 +23,6 @@ package fr.ird.observe.ui.content.table.impl.longline; */ import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.BaitsCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; @@ -90,14 +89,15 @@ public class BaitsCompositionUIHandler extends ContentTableUIHandler<SetLongline n("observe.baitsComposition.table.proportion"), n("observe.baitsComposition.table.proportion.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, BaitTypeDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, BaitSettingStatusDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, BaitTypeDto.class)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, BaitSettingStatusDto.class)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 4, UIHelper.newEmptyNumberTableCellRenderer(renderer)); // when model change in table, let's recompute the proportion sum table.getModel().addTableModelListener(new TableModelListener() { + @Override public void tableChanged(TableModelEvent e) { int proportionSum = getBean().getBaitsCompositionProportionSum(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java index 8e63600..98d6423 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUIHandler.java @@ -23,7 +23,6 @@ package fr.ird.observe.ui.content.table.impl.longline; */ import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.referential.longline.HookSizeDto; @@ -88,8 +87,8 @@ public class BranchlinesCompositionUIHandler extends ContentTableUIHandler<SetLo n("observe.branchlinesComposition.table.proportion"), n("observe.branchlinesComposition.table.proportion.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, HookTypeDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, HookSizeDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HookTypeDto.class)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HookSizeDto.class)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index 2c984f7..0848a00 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -349,12 +349,12 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, BasketDto.class.getSimpleName() + DecoratorService.HAULING_IDENTIFIER)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, BranchlineDto.class.getSimpleName() + DecoratorService.HAULING_IDENTIFIER)); - UIHelper.setTableColumnRenderer(table, 3, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 3, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 4, UIHelper.newEnumTableCellRenderer(renderer, CatchAcquisitionModeEnum.class)); UIHelper.setTableColumnRenderer(table, 5, UIHelper.newEmptyNumberTableCellRenderer(renderer)); - UIHelper.setTableColumnRenderer(table, 6, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, HealthnessDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 7, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, CatchFateLonglineDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 8, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, HealthnessDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 6, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HealthnessDto.class)); + UIHelper.setTableColumnRenderer(table, 7, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, CatchFateLonglineDto.class)); + UIHelper.setTableColumnRenderer(table, 8, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HealthnessDto.class)); UIHelper.setTableColumnRenderer(table, 9, UIHelper.newBooleanTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 10, UIHelper.newStringTableCellRenderer(renderer, 10, true)); @@ -370,7 +370,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat n("observe.catchlongline.table.size"), n("observe.catchlongline.table.size.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SizeMeasureTypeDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SizeMeasureTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); Decorator<ReferenceDto<SizeMeasureTypeDto>> decorator = getReferenceDecorator(SizeMeasureTypeDto.class); @@ -400,7 +400,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat n("observe.catchlongline.table.weight"), n("observe.catchlongline.table.weight.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, WeightMeasureTypeDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, WeightMeasureTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); Decorator<ReferenceDto<WeightMeasureTypeDto>> decorator = getReferenceDecorator(WeightMeasureTypeDto.class); @@ -511,14 +511,17 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat @Override protected void loadEditBean(String beanId) { + FormDto<SetLonglineCatchDto> formDto = getSetLonglineCatchService().loadForm(beanId); - getModel().setFormDto(formDto); + + CatchLonglineUIModel model = getModel(); + model.setFormDto(formDto); LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - positionHelper.initSections(formDto.getReferenceSetDto(SectionDto.class, CatchLonglineDto.PROPERTY_SECTION), - formDto.getReferenceSetDto(BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), - formDto.getReferenceSetDto(BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), + positionHelper.initSections(model.getReferenceSet(SectionDto.class, CatchLonglineDto.PROPERTY_SECTION), + model.getReferenceSet(BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), + model.getReferenceSet(BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), formDto.getForm().getCatchLongline()); SetLonglineCatchDtos.copySetLonglineCatchDto(formDto.getForm(), getBean()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index 1f373fc..88641f0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -25,7 +25,6 @@ package fr.ird.observe.ui.content.table.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDtos; import fr.ird.observe.services.dto.longline.EncounterDto; @@ -87,8 +86,8 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn n("observe.encounter.table.count"), n("observe.encounter.table.count.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, EncounterTypeDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, EncounterTypeDto.class)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java index ec431e7..1ad8a3d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUIHandler.java @@ -23,7 +23,6 @@ package fr.ird.observe.ui.content.table.impl.longline; */ import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.referential.longline.LineTypeDto; @@ -85,12 +84,13 @@ public class FloatlinesCompositionUIHandler extends ContentTableUIHandler<SetLon n("observe.floatlinesComposition.table.proportion"), n("observe.floatlinesComposition.table.proportion.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, LineTypeDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, LineTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); // when model change in table, let's recompute the proportion sum table.getModel().addTableModelListener(new TableModelListener() { + @Override public void tableChanged(TableModelEvent e) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index b7d0938..4e66bd5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -223,7 +223,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip n("observe.gearUseFeaturesLongline.table.comment"), n("observe.gearUseFeaturesLongline.table.comment.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, GearDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, GearDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newBooleanTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newStringTableCellRenderer(renderer, 10, true)); @@ -239,7 +239,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip n("observe.gearUseFeaturesLongline.table.value"), n("observe.gearUseFeaturesLongline.table.value.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, GearCaracteristicDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, GearCaracteristicDto.class)); UIHelper.setTableColumnRenderer(table, 1, new GearUseFeatureMeasurementCellRenderer(0, renderer)); table.getTableHeader().setReorderingAllowed(false); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java index 6faa103..4e51701 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUIHandler.java @@ -23,7 +23,6 @@ package fr.ird.observe.ui.content.table.impl.longline; */ import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.HooksCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.referential.longline.HookSizeDto; @@ -88,8 +87,8 @@ public class HooksCompositionUIHandler extends ContentTableUIHandler<SetLongline n("observe.hooksComposition.table.proportion"), n("observe.hooksComposition.table.proportion.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, HookTypeDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, HookSizeDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HookTypeDto.class)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, HookSizeDto.class)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java index 6bebad1..21b7bf1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java @@ -306,7 +306,7 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { protected List<ReferenceDto<BasketDto>> getBaskets(ReferenceDto<SectionDto> section) { ArrayList<ReferenceDto<BasketDto>> baskets = Lists.newArrayList(Iterables.filter( - (Set) basketUniverse.getReference(), + basketUniverse.getReference(), ReferenceDtos.newLabelValuePredicate(BasketDto.PROPERTY_SECTION, section.getId()))); return baskets; @@ -315,7 +315,7 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { protected List<ReferenceDto<BranchlineDto>> getBranchlines(ReferenceDto<BasketDto> basket) { ArrayList<ReferenceDto<BranchlineDto>> branchlines = Lists.newArrayList(Iterables.filter( - (Set) branchlineUniverse.getReference(), + branchlineUniverse.getReference(), ReferenceDtos.newLabelValuePredicate(BranchlineDto.PROPERTY_BASKET, basket.getId()))); return branchlines; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java index b37c9a6..26d45f6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -29,7 +29,6 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDtos; import fr.ird.observe.services.dto.longline.SensorUsedDto; @@ -108,9 +107,9 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS n("observe.sensorUsed.table.dataLocation"), n("observe.sensorUsed.table.dataLocation.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SensorTypeDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SensorBrandDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SensorDataFormatDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SensorTypeDto.class)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SensorBrandDto.class)); + UIHelper.setTableColumnRenderer(table, 2, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SensorDataFormatDto.class)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newStringTableCellRenderer(renderer, 10, true)); UIHelper.setTableColumnRenderer(table, 4, UIHelper.newBooleanTableCellRenderer(renderer, new Predicate<Object>() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index 20625b7..9ee21a1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -29,7 +29,6 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SectionDto; @@ -43,6 +42,7 @@ import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ContentTableUIHandler; +import fr.ird.observe.ui.content.table.ContentTableUIModel; import jaxx.runtime.context.JAXXContextEntryDef; import jaxx.runtime.swing.HidorButton; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -89,6 +89,7 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt // Compute valid state of tab from the error table protected final TableModelListener computeTabValidStateListener = new TableModelListener() { + @Override public void tableChanged(TableModelEvent e) { @@ -100,6 +101,7 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt // Change toogle target visible on all TimeEditors protected final PropertyChangeListener onToogleTimeEditorSliderChangedListener = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { Boolean newValue = (Boolean) evt.getNewValue(); @@ -188,8 +190,9 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt UIHelper.setTableColumnRenderer(table, 0, UIHelper.newStringTableCellRenderer(renderer, 10, true)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newStringTableCellRenderer(renderer, 10, true)); - UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SensorBrandDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 2, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SensorBrandDto.class)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newBooleanTableCellRenderer(renderer, new Predicate<Object>() { + @Override public boolean apply(Object input) { return input != null; @@ -327,7 +330,7 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt t("observe.tdr.delete.data.message"), JOptionPane.WARNING_MESSAGE, new Object[]{t("observe.choice.confirm.delete"), - t("observe.choice.cancel")}, + t("observe.choice.cancel")}, 1); boolean doDelete = response == 0; @@ -465,17 +468,21 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt @Override protected void loadEditBean(String beanId) { + FormDto<SetLonglineTdrDto> formDto = getTdrService().loadForm(beanId); - getModel().setFormDto(formDto); + + ContentTableUIModel<SetLonglineTdrDto, TdrDto> model = getModel(); + model.setFormDto(formDto); LonglinePositionHelper<TdrDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - positionHelper.initSections(formDto.getReferenceSetDto(SectionDto.class, TdrDto.PROPERTY_SECTION), - formDto.getReferenceSetDto(BasketDto.class, TdrDto.PROPERTY_BASKET), - formDto.getReferenceSetDto(BranchlineDto.class, TdrDto.PROPERTY_BRANCHLINE), - formDto.getForm().getTdr()); + positionHelper.initSections(model.getReferenceSet(SectionDto.class, TdrDto.PROPERTY_SECTION), + model.getReferenceSet(BasketDto.class, TdrDto.PROPERTY_BASKET), + model.getReferenceSet(BranchlineDto.class, TdrDto.PROPERTY_BRANCHLINE), + formDto.getForm().getTdr()); SetLonglineTdrDtos.copySetLonglineTdrDto(formDto.getForm(), getBean()); + } protected TdrService getTdrService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index b0f80b2..3fb1e1f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -219,7 +219,7 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei n("observe.gearUseFeaturesSeine.table.comment"), n("observe.gearUseFeaturesSeine.table.comment.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, GearDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, GearDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newBooleanTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newStringTableCellRenderer(renderer, 10, true)); @@ -235,7 +235,7 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei n("observe.gearUseFeaturesSeine.table.value"), n("observe.gearUseFeaturesSeine.table.value.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, GearCaracteristicDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, GearCaracteristicDto.class)); UIHelper.setTableColumnRenderer(table, 1, new GearUseFeatureMeasurementCellRenderer(0, renderer)); table.getTableHeader().setReorderingAllowed(false); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index 2e6102a..c734463 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -284,9 +284,9 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa n("observe.nonTargetCatch.table.comment"), n("observe.nonTargetCatch.table.comment.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesFateDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, ReasonForDiscardDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesFateDto.class)); + UIHelper.setTableColumnRenderer(table, 2, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, ReasonForDiscardDto.class)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 4, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 5, UIHelper.newEmptyNumberTableCellRenderer(renderer)); @@ -294,6 +294,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa UIHelper.setTableColumnRenderer(table, 7, UIHelper.newStringTableCellRenderer(renderer, 10, true)); } + @SuppressWarnings("Duplicates") @Override protected boolean prepareSave(SetSeineNonTargetCatchDto editBean, List<NonTargetCatchDto> objets) throws Exception { super.prepareSave(editBean, objets); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index 54e7e1f..d0c5935 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -26,7 +26,6 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; @@ -71,6 +70,7 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam * @since 3.0 */ protected final PropertyChangeListener weightChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { NonTargetLengthDto source = (NonTargetLengthDto) evt.getSource(); @@ -86,6 +86,7 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam * @since 3.0 */ protected final PropertyChangeListener lengthChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { NonTargetLengthDto source = (NonTargetLengthDto) evt.getSource(); @@ -196,11 +197,11 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam n("observe.nonTargetSample.table.picturesReferences"), n("observe.nonTargetSample.table.picturesReferences.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); - UIHelper.setTableColumnRenderer(table, 4, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SexDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 4, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SexDto.class)); UIHelper.setTableColumnRenderer(table, 5, renderer); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index 37d5e2a..f6e2c7c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -24,7 +24,6 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; @@ -87,8 +86,8 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati n("observe.objectObservedSpecies.table.count"), n("observe.objectObservedSpecies.table.count.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesStatusDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesStatusDto.class)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index d80cebd..99dc5b0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -24,7 +24,6 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDtos; @@ -84,7 +83,7 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin n("observe.schoolEstimate.table.weight"), n("observe.schoolEstimate.table.weight.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index 50a9bc8..e6f0b37 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -29,7 +29,6 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.SchoolEstimateDto; @@ -122,7 +121,7 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo n("observe.schoolEstimate.table.meanWeight"), n("observe.schoolEstimate.table.meanWeight.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index dc16e4e..9e1ccfa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -21,14 +21,11 @@ */ package fr.ird.observe.ui.content.table.impl.seine; -import com.google.common.base.Predicate; import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; @@ -92,17 +89,13 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa @Override public void propertyChange(PropertyChangeEvent evt) { - ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model; - model = getTableModel(); - - if (model.getRowBean().getId() == null) { - - // en mode creation , on doit recalculer la liste - // des categories + ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); + if (model.isNewRow()) { + // en mode creation , on doit recalculer la liste des categories ReferentialReferenceDto<SpeciesDto> species = (ReferentialReferenceDto<SpeciesDto>) evt.getNewValue(); + onSpeciesChanged(species); - onEspeceChanged(species); } } } @@ -114,6 +107,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa return getDataContext().getSelectedSetId(); } + @SuppressWarnings("Duplicates") @Override protected boolean prepareSave(SetSeineTargetCatchDto bean, List<TargetCatchDto> objets) { @@ -144,8 +138,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa // il existe des echantillons thon a supprimer on demande une confirmation StringBuilder sb = new StringBuilder(512); - Decorator<ReferenceDto> decorator = - getDecoratorService().getDecoratorByType(ReferenceDto.class, SpeciesDto.class.getSimpleName()); + Decorator<ReferentialReferenceDto<SpeciesDto>> decorator = getReferentialReferenceDecorator(SpeciesDto.class); for (ReferentialReferenceDto<SpeciesDto> species : speciesToDelete) { sb.append(" - ").append(decorator.toString(species)).append('\n'); @@ -183,11 +176,11 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa TargetCatchUI ui = getUi(); - ReferentialReferenceDto<WeightCategoryDto> beanWeightCategory = bean.getWeightCategory(); + ReferentialReferenceDto<WeightCategoryDto> weightCategory = bean.getWeightCategory(); - ReferentialReferenceDto<SpeciesDto> beanSpecies = null; - if (beanWeightCategory != null) { - beanSpecies = (ReferentialReferenceDto<SpeciesDto>) beanWeightCategory.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES); + ReferentialReferenceDto<SpeciesDto> species = null; + if (weightCategory != null) { + species = getWeightCategorySpecies(weightCategory); } JComponent requestFocus; @@ -198,9 +191,9 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa if (!getTableModel().isCreate()) { // on repositionne l'espèce (cela reconstruira la liste des categories) - ui.getSpecies().setSelectedItem(beanSpecies); + ui.getSpecies().setSelectedItem(species); // on repositionne la categorie - ui.getWeightCategory().setSelectedItem(beanWeightCategory); + ui.getWeightCategory().setSelectedItem(weightCategory); } requestFocus = ui.getSpecies(); @@ -211,16 +204,16 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa // au singleton de sa valeur correspondante dans le bean // puisque dans ce mode, pas possibilite de modifier de cette // valeur (clef metier) - ui.getSpecies().setSelectedItem(beanSpecies); - ui.getWeightCategory().setData(Collections.singletonList(beanWeightCategory)); - ui.getWeightCategory().setSelectedItem(beanWeightCategory); + ui.getSpecies().setSelectedItem(species); + ui.getWeightCategory().setData(Collections.singletonList(weightCategory)); + ui.getWeightCategory().setSelectedItem(weightCategory); requestFocus = ui.getCatchWeight(); } if (log.isDebugEnabled()) { - log.debug("selected categoriePoid " + beanWeightCategory); - log.debug("selected species " + beanSpecies); + log.debug("selected weightcategory " + weightCategory); + log.debug("selected species " + species); } requestFocus.requestFocus(); } @@ -247,40 +240,30 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa n("observe.targetCatch.table.comment"), n("observe.targetCatch.table.comment.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, WeightCategoryDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, WeightCategoryDto.class)); UIHelper.setTableColumnRenderer(table, 2, renderer); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 4, UIHelper.newStringTableCellRenderer(renderer, 10, true)); } @SuppressWarnings("unchecked") - protected void onEspeceChanged(final ReferentialReferenceDto<SpeciesDto> species) { + protected void onSpeciesChanged(ReferentialReferenceDto<SpeciesDto> species) { List<ReferentialReferenceDto<WeightCategoryDto>> availableCategories; if (species == null) { - // aucune espèce selectionnee, on vide simplement - // la liste des categories car il faut d'abord choisir une - // espèce puis une categorie - + // aucune espèce selectionnee, on vide simplement la liste des categories + // car il faut d'abord choisir une espèce puis une categorie availableCategories = Collections.emptyList(); - } else { - - // un species est selectionnee, - // on calcule les categories pour cette espèce - Set<ReferentialReferenceDto<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_SPECIES); + } else { + // un espèce est selectionnee, on calcule les categories pour cette espèce // on ne conserve que les categories de l'espèce - availableCategories = Lists.newArrayList(Iterables.filter(allCategories, new Predicate<ReferentialReferenceDto<WeightCategoryDto>>() { + availableCategories = getSpeciesWeightCategories(species.getId()); - @Override - public boolean apply(ReferentialReferenceDto<WeightCategoryDto> input) { - return species.equals(input.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES)); - } - })); } // on met a jour la liste des categories disponibles @@ -289,6 +272,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa // on reinitialise toujours la categorie selectionnee combo.setSelectedItem(null); + } @Override @@ -312,4 +296,5 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa protected TargetCatchService getTargetCatchService() { return ObserveSwingApplicationContext.get().newService(TargetCatchService.class); } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java index f56b866..2934fde 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java @@ -27,7 +27,6 @@ import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; @@ -54,7 +53,6 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.Collection; import java.util.Collections; -import java.util.Iterator; import java.util.List; import java.util.Set; @@ -91,9 +89,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (weightCategory != null) { for (int i = 0; i < model.getRowCount(); i++) { TargetCatchDto c = model.getValueAt(i); - if (c != null && - weightCategory.equals(c.getWeightCategory()) && - c.getReasonForDiscard() != null) { + if (c != null && weightCategory.equals(c.getWeightCategory()) && c.getReasonForDiscard() != null) { set.add(c.getReasonForDiscard()); } } @@ -124,16 +120,16 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT @Override public void propertyChange(PropertyChangeEvent evt) { - ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = - getTableModel(); - TargetCatchDto bean = model.getRowBean(); + ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - if (bean.getId() == null) { - // en mode creation , on doit recalculer la liste des categories + if (model.isNewRow()) { + // en mode creation , on doit recalculer la liste des categories ReferentialReferenceDto<SpeciesDto> species = (ReferentialReferenceDto<SpeciesDto>) evt.getNewValue(); - onEspeceChanged(bean, species); + onSpeciesChanged(model.getRowBean(), species); + } + } } ); @@ -149,15 +145,14 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT @Override public void propertyChange(PropertyChangeEvent evt) { - ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = - getTableModel(); - TargetCatchDto bean = model.getRowBean(); - if (bean.getId() == null) { - // en mode creation , on doit recalculer la liste - // des raison rejet + ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); + if (model.isNewRow()) { + + // en mode creation , on doit recalculer la liste des raison rejet ReferentialReferenceDto<WeightCategoryDto> weightCategory = (ReferentialReferenceDto<WeightCategoryDto>) evt.getNewValue(); - onCategorieChanged(bean, weightCategory); + onWeightCategoryChanged(model.getRowBean(), weightCategory); + } } @@ -171,6 +166,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT return getDataContext().getSelectedSetId(); } + @SuppressWarnings("Duplicates") @Override protected boolean prepareSave(SetSeineTargetCatchDto bean, List<TargetCatchDto> objets) { @@ -201,7 +197,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT // il existe des echantillon thon a supprimer on demande une confirmation StringBuilder sb = new StringBuilder(512); Decorator<ReferentialReferenceDto<SpeciesDto>> decorator = - getDecoratorService().getReferenceDecorator(SpeciesDto.class); + getReferentialReferenceDecorator(SpeciesDto.class); for (ReferentialReferenceDto<SpeciesDto> species : speciesToDelete) { sb.append(" - ").append(decorator.toString(species)).append('\n'); @@ -235,22 +231,23 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT return true; } + @SuppressWarnings("Duplicates") @Override protected void onSelectedRowChanged(int editingRow, TargetCatchDto bean, boolean create) { TargetDiscardCatchUI ui = getUi(); - ReferentialReferenceDto<WeightCategoryDto> beanWeightCategory = bean.getWeightCategory(); + ReferentialReferenceDto<WeightCategoryDto> weightCategory = bean.getWeightCategory(); - ReferentialReferenceDto<SpeciesDto> beanSpecies = null; - if (beanWeightCategory != null) { - beanSpecies = (ReferentialReferenceDto<SpeciesDto>) beanWeightCategory.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES); + ReferentialReferenceDto<SpeciesDto> species = null; + if (weightCategory != null) { + species = getWeightCategorySpecies(weightCategory); } - ReferentialReferenceDto<ReasonForDiscardDto> beanReasonForDiscard = bean.getReasonForDiscard(); + ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard = bean.getReasonForDiscard(); if (log.isDebugEnabled()) { - log.debug("selected categoriePoid " + beanWeightCategory); - log.debug("selected species " + beanSpecies); - log.debug("selected reasonForDiscard " + beanReasonForDiscard); + log.debug("selected categoriePoid " + weightCategory); + log.debug("selected species " + species); + log.debug("selected reasonForDiscard " + reasonForDiscard); } JComponent requestFocus; @@ -264,7 +261,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } // on recalcule la liste des speciess disponibles - List<ReferentialReferenceDto<SpeciesDto>> availableSpecies = buildEspeceList(beanSpecies, beanWeightCategory); + List<ReferentialReferenceDto<SpeciesDto>> availableSpecies = buildSpeciesList(species, weightCategory); ui.getSpecies().setData(availableSpecies); // on reinitilise toujours l'species (pour reinitialiser la liste des categories) @@ -272,10 +269,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (!model.isCreate()) { // on repositionne l'espèce (cela reconstruira la liste des categories) - ui.getSpecies().setSelectedItem(beanSpecies); + ui.getSpecies().setSelectedItem(species); // on repositionne la categorie - ui.getWeightCategory().setSelectedItem(beanWeightCategory); - ui.getReasonForDiscard().setSelectedItem(beanReasonForDiscard); + ui.getWeightCategory().setSelectedItem(weightCategory); + ui.getReasonForDiscard().setSelectedItem(reasonForDiscard); } requestFocus = ui.getSpecies(); @@ -284,11 +281,11 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT // au singleton de sa valeur correspondante dans le bean // puisque dans ce mode, pas possibilite de modifier de cette // valeur (clef metier) - ui.getSpecies().setSelectedItem(beanSpecies); - ui.getWeightCategory().setData(Collections.singletonList(beanWeightCategory)); - ui.getWeightCategory().setSelectedItem(beanWeightCategory); - ui.getReasonForDiscard().setData(Collections.singletonList(beanReasonForDiscard)); - ui.getReasonForDiscard().setSelectedItem(beanReasonForDiscard); + ui.getSpecies().setSelectedItem(species); + ui.getWeightCategory().setData(Collections.singletonList(weightCategory)); + ui.getWeightCategory().setSelectedItem(weightCategory); + ui.getReasonForDiscard().setData(Collections.singletonList(reasonForDiscard)); + ui.getReasonForDiscard().setSelectedItem(reasonForDiscard); requestFocus = ui.getCatchWeight(); } @@ -318,15 +315,15 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT n("observe.targetDiscarded.table.comment"), n("observe.targetDiscarded.table.comment.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, WeightCategoryDto.class.getSimpleName())); - UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, ReasonForDiscardDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, WeightCategoryDto.class)); + UIHelper.setTableColumnRenderer(table, 2, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, ReasonForDiscardDto.class)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 4, UIHelper.newStringTableCellRenderer(renderer, 20, false)); UIHelper.setTableColumnRenderer(table, 5, UIHelper.newStringTableCellRenderer(renderer, 10, true)); } - protected void onEspeceChanged(TargetCatchDto bean, ReferentialReferenceDto<SpeciesDto> species) { + protected void onSpeciesChanged(TargetCatchDto bean, ReferentialReferenceDto<SpeciesDto> species) { ReferentialReferenceDto<WeightCategoryDto> weightCategory = null; @@ -334,23 +331,20 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (species == null) { - // aucune espèce selectionnee, on vide simplement - // la liste des categories car il faut d'abord choisir une espèce puis une categorie + // aucune espèce selectionnee, on vide simplement la liste des categories + // car il faut d'abord choisir une espèce puis une categorie data = Collections.emptyList(); } else { - // un species est selectionne, on met a jour la liste des categories - // disponibles pour cette espèce - + // un espèce est selectionnee, on met a jour la liste des categories disponibles pour cette espèce List<ReferentialReferenceDto<WeightCategoryDto>> availableCategories = buildWeightCategoryList(species); data = availableCategories; weightCategory = bean.getWeightCategory(); - if (weightCategory != null && - !availableCategories.contains(weightCategory)) { + if (weightCategory != null && !availableCategories.contains(weightCategory)) { weightCategory = null; } } @@ -363,7 +357,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT combo.setSelectedItem(weightCategory); } - protected void onCategorieChanged(TargetCatchDto bean, ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + protected void onWeightCategoryChanged(TargetCatchDto bean, ReferentialReferenceDto<WeightCategoryDto> weightCategory) { TargetDiscardCatchUI ui = getUi(); ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard = null; @@ -390,9 +384,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT data = reasonForDiscardList; - - if (reasonForDiscard != null && - !reasonForDiscardList.contains(reasonForDiscard)) { + if (reasonForDiscard != null && !reasonForDiscardList.contains(reasonForDiscard)) { // on sélectionne la première raison rejet disponible reasonForDiscard = null; } @@ -407,62 +399,54 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT combo.setSelectedItem(reasonForDiscard); } - protected List<ReferentialReferenceDto<SpeciesDto>> buildEspeceList(ReferentialReferenceDto<SpeciesDto> species, - ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + protected List<ReferentialReferenceDto<SpeciesDto>> buildSpeciesList(ReferentialReferenceDto<SpeciesDto> species, + ReferentialReferenceDto<WeightCategoryDto> weightCategory) { - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getAllCategories(); + List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getAllWeightCategories(); - removeFullyUsedCategories(weightCategoryList); + removeFullyUsedWeightCategories(weightCategoryList); if (weightCategory != null) { weightCategoryList.add(weightCategory); } - Collection<ReferentialReferenceDto<SpeciesDto>> usedEspeces = Sets.newHashSet(); + Collection<ReferentialReferenceDto<SpeciesDto>> usedSpecies = Sets.newHashSet(); for (ReferentialReferenceDto<WeightCategoryDto> cat : weightCategoryList) { - usedEspeces.add((ReferentialReferenceDto<SpeciesDto>) cat.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES)); + usedSpecies.add(getWeightCategorySpecies(cat)); } - List<ReferentialReferenceDto<SpeciesDto>> result = Lists.newArrayList(usedEspeces); + List<ReferentialReferenceDto<SpeciesDto>> result = Lists.newArrayList(usedSpecies); weightCategoryList.clear(); - usedEspeces.clear(); + usedSpecies.clear(); return result; + } protected List<ReferentialReferenceDto<WeightCategoryDto>> buildWeightCategoryList(ReferentialReferenceDto<SpeciesDto> species) { - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getAllCategories(); + List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getSpeciesWeightCategories(species.getId()); - // on filtre les categories sur l'espèce donnée - for (Iterator<ReferentialReferenceDto<WeightCategoryDto>> it = weightCategoryList.iterator(); - it.hasNext(); ) { - ReferentialReferenceDto<WeightCategoryDto> weighte = it.next(); - if (!species.equals(weighte.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES))) { - it.remove(); - } - } - - // on filtre toutes les weightCategory qui ont deja references - // toutes les raison rejets - removeFullyUsedCategories(weightCategoryList); + // on filtre toutes les categories qui ont deja references sur toutes les raisons de rejet + removeFullyUsedWeightCategories(weightCategoryList); return weightCategoryList; } @SuppressWarnings("unchecked") - protected List<ReferentialReferenceDto<ReasonForDiscardDto>> buildReasonFordiscardList(ReferentialReferenceDto<WeightCategoryDto> weightCategory, ReferentialReferenceDto<ReasonForDiscardDto> currentReason) { + protected List<ReferentialReferenceDto<ReasonForDiscardDto>> buildReasonFordiscardList(ReferentialReferenceDto<WeightCategoryDto> weightCategory, + ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard) { ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSetDto = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); + Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); - List<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = Lists.newArrayList(reasonForDiscardSetDto); + List<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = Lists.newArrayList(reasonForDiscardSet); // on filtre les raison rejet sur la categorie for (int i = 0; i < model.getRowCount(); i++) { TargetCatchDto c = model.getValueAt(i); if (c != null && c.getReasonForDiscard() != null - && (currentReason == null || !currentReason.equals(c.getReasonForDiscard())) + && (reasonForDiscard == null || !reasonForDiscard.equals(c.getReasonForDiscard())) && weightCategory.equals(c.getWeightCategory())) { reasonForDiscardList.remove(c.getReasonForDiscard()); } @@ -471,30 +455,28 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT return reasonForDiscardList; } - protected List<ReferentialReferenceDto<WeightCategoryDto>> getAllCategories() { - Set<ReferentialReferenceDto<WeightCategoryDto>> weightCategorySetDto = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); - - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = Lists.newArrayList(weightCategorySetDto); + protected List<ReferentialReferenceDto<WeightCategoryDto>> getAllWeightCategories() { + Set<ReferentialReferenceDto<WeightCategoryDto>> weightCategorySet = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); + List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = Lists.newArrayList(weightCategorySet); return weightCategoryList; + } - protected void removeFullyUsedCategories( - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryAvaillable) { + protected void removeFullyUsedWeightCategories(List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryAvaillables) { ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSetDto = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); + Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); - int nbReasonForDiscard = reasonForDiscardSetDto.size(); + int nbReasonForDiscard = reasonForDiscardSet.size(); - // on filtre toutes les weightCategory qui ont deja references toutes - // les raisons rejets + // on filtre toutes les weightCategory qui ont deja references toutes les raisons rejets for (ReferentialReferenceDto<WeightCategoryDto> c : getWeightCategoryUsed(model)) { Collection<ReferentialReferenceDto<ReasonForDiscardDto>> raisonUsed = getReasonForDiscardUsed(model, c); if (raisonUsed.size() == nbReasonForDiscard) { // toutes les raison de rejet epuisé pour cette categorie - weightCategoryAvaillable.remove(c); + weightCategoryAvaillables.remove(c); } } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 9dfab19..18b1f93 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -25,7 +25,6 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; @@ -77,6 +76,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto * @since 3.0 */ protected final PropertyChangeListener weightChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { TargetLengthDto source = (TargetLengthDto) evt.getSource(); @@ -92,6 +92,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto * @since 3.0 */ protected final PropertyChangeListener lengthChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { TargetLengthDto source = (TargetLengthDto) evt.getSource(); @@ -211,7 +212,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto n("observe.targetSample.table.totalWeight"), n("observe.targetSample.table.totalWeight.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SpeciesDto.class.getSimpleName())); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEnumTableCellRenderer(renderer, CodeMesureEnum.class)); UIHelper.setTableColumnRenderer(table, 2, UIHelper.newEmptyNumberTableCellRenderer(renderer)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newEmptyNumberTableCellRenderer(renderer)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java index 3d8197b..e532c88 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java @@ -543,7 +543,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { Collections.sort(data, new Comparator<ReferenceDto<ProgramDto>>() { Decorator<ReferentialReferenceDto<ProgramDto>> decorator = - ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(ProgramDto.class); + ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); @Override public int compare(ReferenceDto<ProgramDto> o1, ReferenceDto<ProgramDto> o2) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java index 4697333..83cfce2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java @@ -5,9 +5,9 @@ import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.ui.DecoratorService; -import fr.ird.observe.ui.tree.DtoNodeSupport; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.tree.TripLonglineNode; import fr.ird.observe.ui.tree.actions.ChangeActivityTripActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; @@ -43,21 +43,19 @@ public class MoveActivityLonglineNodeMenuPopulator extends MoveNodeMenuPopulator ObserveNode programNode = parentNode.getParent(); DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto> tripDecorator = - decoratorService.getDecoratorByType(ReferenceDto.class, TripLonglineDto.class.getSimpleName()); + Decorator<ReferenceDto<TripLonglineDto>> tripDecorator = decoratorService.getReferenceDecorator(TripLonglineDto.class); - for (int i = 0, n = programNode.getChildCount() ; i < n ; i++) { + for (int i = 0, n = programNode.getChildCount(); i < n; i++) { - ObserveNode tripNode = programNode.getChildAt(i); + TripLonglineNode tripNode = (TripLonglineNode) programNode.getChildAt(i); String tripId = tripNode.getId(); // si le noeud de marée n'est pas le même que le parent actuel - if (!parentNode.equals(tripNode) - // si le noeud est bien un noeud de marée longline - && IdDtos.isTripLonglineId(tripId)) { + // si le noeud est bien un noeud de marée longline + if (!parentNode.equals(tripNode) && IdDtos.isTripLonglineId(tripId)) { + + possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(tripNode, tripDecorator)); - String decoratedTrip = tripDecorator.toString(((DtoNodeSupport) tripNode).getEntity()); - possibleParents.add(new DecoratedNodeEntity(tripId, decoratedTrip)); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java index 719c393..909203b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java @@ -5,9 +5,9 @@ import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.ui.DecoratorService; -import fr.ird.observe.ui.tree.DtoNodeSupport; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.tree.RouteSeineNode; import fr.ird.observe.ui.tree.actions.ChangeActivityRouteActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; @@ -43,21 +43,19 @@ public class MoveActivitySeineNodeMenuPopulator extends MoveNodeMenuPopulator { ObserveNode routesNode = parentNode.getParent(); DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto> routeDecorator = - decoratorService.getDecoratorByType(ReferenceDto.class, RouteDto.class.getSimpleName()); + Decorator<ReferenceDto<RouteDto>> routeDecorator = decoratorService.getReferenceDecorator(RouteDto.class); - for (int i = 0, n = routesNode.getChildCount() ; i < n ; i++) { + for (int i = 0, n = routesNode.getChildCount(); i < n; i++) { - ObserveNode routeNode = routesNode.getChildAt(i); + RouteSeineNode routeNode = (RouteSeineNode) routesNode.getChildAt(i); String routeId = routeNode.getId(); // si le noeud de marée n'est pas le même que le parent actuel - if (!parentNode.equals(routeNode) - // si le noeud est bien un noeud de marée seine - && IdDtos.isRouteId(routeId)) { + // si le noeud est bien un noeud de marée seine + if (!parentNode.equals(routeNode) && IdDtos.isRouteId(routeId)) { + + possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(routeNode, routeDecorator)); - String decoratedRoute = routeDecorator.toString(((DtoNodeSupport) routeNode).getEntity()); - possibleParents.add(new DecoratedNodeEntity(routeId, decoratedRoute)); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java index b9ea140..5158e8c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java @@ -5,9 +5,9 @@ import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.DecoratorService; -import fr.ird.observe.ui.tree.DtoNodeSupport; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.tree.TripSeineNode; import fr.ird.observe.ui.tree.actions.ChangeRouteTripActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; @@ -43,21 +43,19 @@ public class MoveRouteNodeMenuPopulator extends MoveNodeMenuPopulator { ObserveNode programNode = parentNode.getParent(); DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto> tripDecorator = - decoratorService.getDecoratorByType(ReferenceDto.class, TripSeineDto.class.getSimpleName()); + Decorator<ReferenceDto<TripSeineDto>> tripDecorator = decoratorService.getReferenceDecorator(TripSeineDto.class); - for (int i = 0, n = programNode.getChildCount() ; i < n ; i++) { + for (int i = 0, n = programNode.getChildCount(); i < n; i++) { - ObserveNode tripNode = programNode.getChildAt(i); + TripSeineNode tripNode = (TripSeineNode) programNode.getChildAt(i); String tripId = tripNode.getId(); // si le noeud de marée n'est pas le même que le parent actuel - if (!parentNode.equals(tripNode) - // si le noeud est bien un noeud de marée seine - && IdDtos.isTripSeineId(tripId)) { + // si le noeud est bien un noeud de marée seine + if (!parentNode.equals(tripNode) && IdDtos.isTripSeineId(tripId)) { + + possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(tripNode, tripDecorator)); - String decoratedTrip = tripDecorator.toString(((DtoNodeSupport) tripNode).getEntity()); - possibleParents.add(new DecoratedNodeEntity(tripId, decoratedTrip)); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java index be084c7..c6586fb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java @@ -1,14 +1,15 @@ package fr.ird.observe.ui.tree.menu; +import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.ui.DecoratorService; -import fr.ird.observe.ui.tree.DtoNodeSupport; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.tree.ProgramLonglineNode; +import fr.ird.observe.ui.tree.ProgramSeineNode; import fr.ird.observe.ui.tree.actions.ChangeTripProgramActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; @@ -19,7 +20,7 @@ import java.util.List; /** * @author Kevin Morin (Code Lutin) - * @since x.x + * @since 5.0 */ public class MoveTripNodeMenuPopulator extends MoveNodeMenuPopulator { @@ -41,36 +42,43 @@ public class MoveTripNodeMenuPopulator extends MoveNodeMenuPopulator { List<DecoratedNodeEntity> possibleParents = new ArrayList<>(); // noeud longline ? - GearType geartype = IdDtos.isLonglineId(tripNode.getId()) ? GearType.longline : GearType.seine; + GearType gearType = IdDtos.isLonglineId(tripNode.getId()) ? GearType.longline : GearType.seine; // racine ObserveNode rootNode = treeHelper.getRootNode(); - DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto> programDecorator = - decoratorService.getDecoratorByType(ReferenceDto.class, ProgramDto.class.getSimpleName()); + createPossibleParents(parentNode.getId(), possibleParents, gearType, rootNode); - for (int i = 0, n = rootNode.getChildCount() ; i < n ; i++) { + return possibleParents; + } + + public static void createPossibleParents(String oldProgramId, List<DecoratedNodeEntity> possibleParents, GearType gearType, ObserveNode rootNode) { + + Decorator<ReferenceDto<ProgramDto>> programDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(ProgramDto.class); + + for (int i = 0, n = rootNode.getChildCount(); i < n; i++) { ObserveNode programNode = rootNode.getChildAt(i); String programId = programNode.getId(); // si le noeud programme n'est pas le même que le parent actuel - if (!parentNode.equals(programNode) - // si le noeud est bien un noeud de programme - && IdDtos.isProgramId(programId)) { + // si le noeud est bien un noeud de programme + if (IdDtos.isProgramId(programId) && !oldProgramId.equals(programId)) { + + if (programNode instanceof ProgramSeineNode && GearType.seine == gearType) { - ReferenceDto<ProgramDto> program = ((DtoNodeSupport) programNode).getEntity(); + ProgramSeineNode node = (ProgramSeineNode) programNode; + possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(node, programDecorator)); - // si le type de marée et le type de prgramme sont les même - if (geartype.equals(program.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE))) { + } else if (programNode instanceof ProgramLonglineNode && GearType.longline == gearType) { + + ProgramLonglineNode node = (ProgramLonglineNode) programNode; + possibleParents.add(DecoratedNodeEntity.newDecoratedNodeEntity(node, programDecorator)); - String decoratedProgram = programDecorator.toString(program); - possibleParents.add(new DecoratedNodeEntity(programId, decoratedProgram)); } + } } - - return possibleParents; } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/usage/UsagesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/usage/UsagesUIHandler.java index 8538cb2..0affb51 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/usage/UsagesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/usage/UsagesUIHandler.java @@ -123,7 +123,7 @@ public class UsagesUIHandler { typetitle = t(typetitle, typeTitle, size); pane.setColumnHeaderView(new JLabel(typetitle)); List<String> data = new ArrayList<String>(size); - Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecorator(type); + Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(type); if (decorator == null) { throw new NullPointerException( "could not find decorator for type " + type); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java index 0b61312..d34b546 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java @@ -1,6 +1,7 @@ package fr.ird.observe.ui.util; import com.google.common.base.Preconditions; +import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.tree.DtoNodeSupport; import org.nuiton.decorator.Decorator; @@ -12,19 +13,13 @@ import org.nuiton.decorator.Decorator; public class DecoratedNodeEntity { private final String id; - private final String label; - public DecoratedNodeEntity(String id, String label) { - this.id = id; - this.label = label; - } + private final String label; - public DecoratedNodeEntity(DtoNodeSupport node, Decorator<ReferenceDto> decorator) { + public static <E extends IdDto> DecoratedNodeEntity newDecoratedNodeEntity(DtoNodeSupport<E> node, Decorator<ReferenceDto<E>> decorator) { Preconditions.checkNotNull(node); Preconditions.checkNotNull(decorator); - - this.id = node.getId(); - this.label = decorator.toString(node.getEntity()); + return new DecoratedNodeEntity(node.getId(), decorator.toString(node.getEntity())); } public String getId() { @@ -36,4 +31,9 @@ public class DecoratedNodeEntity { return label; } + protected DecoratedNodeEntity(String id, String label) { + this.id = id; + this.label = label; + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/TargetCatchDecorator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/TargetCatchDecorator.java new file mode 100644 index 0000000..3a3ee5c --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/TargetCatchDecorator.java @@ -0,0 +1,53 @@ +/* + * #%L + * ObServe :: Business + * %% + * Copyright (C) 2008 - 2011 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ +package fr.ird.observe.ui.util.decorator; + +import fr.ird.observe.services.dto.seine.TargetCatchDto; +import org.apache.commons.jxpath.JXPathContext; + +/** + * Decorator of {@link TargetCatchDto}. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 2.4 + */ +public class TargetCatchDecorator extends ObserveDecorator<TargetCatchDto> { + + private static final long serialVersionUID = 1L; + + public TargetCatchDecorator() { + super(TargetCatchDto.class, + "${species/scientificLabel}$s##${weightCategory/label}$s##${catchWeight}$f" + ); + } + + @Override + protected Comparable<Comparable<?>> getTokenValue(JXPathContext jxcontext, + String token) { + Comparable<Comparable<?>> value = super.getTokenValue(jxcontext, token); + if (token.equals("species/scientificLabel") && + "xx".equals(String.valueOf(value))) { + value = super.getTokenValue(jxcontext, "species/label"); + } + return value; + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySimpleSpeedDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySimpleSpeedDtoValidator.java index 389e461..005df01 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySimpleSpeedDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySimpleSpeedDtoValidator.java @@ -172,15 +172,15 @@ public class ActivitySimpleSpeedDtoValidator extends FieldValidatorSupport { } protected String decorate(ActivitySeineDto activitySeine) { - return ObserveSwingApplicationContext.get().getDecorator(ActivitySeineDto.class).toString(activitySeine); + return ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(ActivitySeineDto.class).toString(activitySeine); } protected String decorate(ActivitySeineStubDto activitySeine) { - return ObserveSwingApplicationContext.get().getDecorator(ActivitySeineStubDto.class).toString(activitySeine); + return ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(ActivitySeineStubDto.class).toString(activitySeine); } protected String decorate(GPSPoint currentPoint) { - return ObserveSwingApplicationContext.get().getDecorator(GPSPoint.class).toString(currentPoint); + return ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(GPSPoint.class).toString(currentPoint); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySpeedDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySpeedDtoValidator.java index 530b548..5c69c48 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySpeedDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivitySpeedDtoValidator.java @@ -98,11 +98,11 @@ public class ActivitySpeedDtoValidator extends FieldValidatorSupport { } protected String decorate(ActivitySeineStubDto activitySeine) { - return ObserveSwingApplicationContext.get().getDecorator(ActivitySeineStubDto.class).toString(activitySeine); + return ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(ActivitySeineStubDto.class).toString(activitySeine); } protected String decorate(GPSPoint currentPoint) { - return ObserveSwingApplicationContext.get().getDecorator(GPSPoint.class).toString(currentPoint); + return ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(GPSPoint.class).toString(currentPoint); } public CollectionFieldExpressionValidator getDelegate(final RouteDto route) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java index f79007a..cffadf5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java @@ -63,7 +63,7 @@ public class SetLonglineUniqueHomeIdDtoValidator extends FieldValidatorSupport { ReferenceDto<ActivityLonglineDto> activityLonglineRef = sameHomeIdSetLonglineOptional.get().getActivityLongline(); - Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, ActivityLonglineDto.class.getSimpleName()); + Decorator<ReferenceDto<ActivityLonglineDto>> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(ActivityLonglineDto.class); stack.set("duplicatedActivity", decorator.toString(activityLonglineRef)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java index 8b1502b..147bed8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java @@ -63,7 +63,7 @@ public class SetLonglineUniqueNumberDtoValidator extends FieldValidatorSupport { ReferenceDto<ActivityLonglineDto> activityLonglineRef = sameNumberSetLonglineOptional.get().getActivityLongline(); - Decorator<ReferenceDto> decorator = ObserveSwingApplicationContext.get().getDecorator(ReferenceDto.class, ActivityLonglineDto.class.getSimpleName()); + Decorator<Class<ActivityLonglineDto>> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecorator(ActivityLonglineDto.class); stack.set("duplicatedActivity", decorator.toString(activityLonglineRef)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit e3ecfd02c089e532c27a6a305d87a0a66fd0bfa1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 14:33:10 2015 +0100 Fix test --- .../seine/TripSeineGearUseServiceTopiaTest.java | 47 ---------------------- 1 file changed, 47 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java index f55cffb..7e08406 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java @@ -80,53 +80,6 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - public void loadToReadTest() { - - TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); - - FormDto<TripSeineGearUseDto> formDto = service.loadToRead(TRIP_SEINE_ID_1); - - Assert.assertNotNull(formDto); - TripSeineGearUseDto tripSeineGearUseDto = formDto.getForm(); - - Assert.assertEquals(tripSeine.getTopiaId(), tripSeineGearUseDto.getId()); - Assert.assertEquals(tripSeine.sizeGearUseFeaturesSeine(), tripSeineGearUseDto.sizeGearUseFeaturesSeine()); - - GearUseFeaturesSeine featuresSeine = tripSeine.getGearUseFeaturesSeineByTopiaId(GEAR_USE_FEATURES_SEINE_ID); - GearUseFeaturesSeineDto featuresSeineDto = Iterables.find(tripSeineGearUseDto.getGearUseFeaturesSeine(), IdDtos.newIdPredicate(GEAR_USE_FEATURES_SEINE_ID)); - - Assert.assertEquals(featuresSeine.getTopiaId(), featuresSeineDto.getId()); - assertEntityEqualsReferenceDto(featuresSeine.getGear(), featuresSeineDto.getGear()); - Assert.assertEquals(featuresSeine.getNumber(), featuresSeineDto.getNumber()); - Assert.assertEquals(featuresSeine.getUsedInTrip(), featuresSeineDto.getUsedInTrip()); - Assert.assertEquals(featuresSeine.getComment(), featuresSeineDto.getComment()); - - Assert.assertEquals(featuresSeine.sizeGearUseFeaturesMeasurement(), featuresSeineDto.sizeGearUseFeaturesMeasurement()); - - for (GearUseFeaturesMeasurementSeineDto measurementSeineDto : featuresSeineDto.getGearUseFeaturesMeasurement()) { - GearUseFeaturesMeasurementSeine measurementSeine = Iterables.find( - featuresSeine.getGearUseFeaturesMeasurement(), - TopiaEntities.entityHasId(measurementSeineDto.getId())); - - assertEntityEqualsReferenceDto(measurementSeine.getGearCaracteristic(), measurementSeineDto.getGearCaracteristic()); - Assert.assertEquals(measurementSeine.getMeasurementValue(), measurementSeineDto.getMeasurementValue()); - } - - Assert.assertNotNull(formDto.getLabels()); - - Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); - Assert.assertTrue(types.contains(GearDto.class)); - Assert.assertTrue(types.contains(GearCaracteristicDto.class)); - Assert.assertEquals(2, formDto.sizeLabels()); - - for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { - - Assert.assertEquals(0, referenceSetDto.sizeReference()); - - } - } - - @Test public void loadToEditTest() { TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 51a9861004d9ae07736e5c601d360c79111dfee5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 21 18:37:26 2015 +0100 Fix test --- .../observe/services/service/seine/TripSeineGearUseServiceRestTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java index f2bd135..4f6ec04 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java @@ -65,7 +65,7 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { Map<String, ReferenceDto<TripSeineDto>> tripIds = IdDtos.splitById(allTripSeine.getReference()); Assume.assumeTrue("Marée " + TRIP_SEINE_ID_1 + " non trouvée dans cette base. Test annulé", tripIds.containsKey(TRIP_SEINE_ID_1)); - FormDto<TripSeineGearUseDto> formDto = service.loadToRead(TRIP_SEINE_ID_1); + FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); Assert.assertNotNull(formDto); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 7aaa20e84dbc13c083d727db05f7da5abb8f22b4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 26 10:57:37 2015 +0100 Introduction de DataDto, suppression des ReferenceDto et autre, remplacés par ReferentialReference et DataReference --- .../src/main/xmi/observe-services-dto-common.zargo | Bin 42562 -> 42680 bytes .../main/xmi/observe-services-dto-longline.zargo | Bin 66568 -> 65747 bytes .../src/main/xmi/observe-services-dto-seine.zargo | Bin 62122 -> 61382 bytes 3 files changed, 0 insertions(+), 0 deletions(-) diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo index e5d5804..3ab7a39 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo differ diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo index 361b3a3..546c74e 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo differ diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo index e946692..f278524 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit db23b0322e9a267c5928c05a1f15ecdfff2c6b9e Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Nov 26 10:58:09 2015 +0100 Ajout d'un nouveau système de binder déterministe et qui est auto-suffisant --- .../ird/observe/services/binder/BinderEngine.java | 145 +++ .../services/binder/BinderEngineInitializer.java | 1149 ++++++++++++++++++++ .../ird/observe/services/binder/BinderSupport.java | 272 +++++ .../binder/data/ActivityLonglineBinder.java | 71 ++ .../data/ActivityLonglineEncouterDtoBinder.java | 56 + .../data/ActivityLonglineSensorUsedDtoBinder.java | 42 + .../binder/data/ActivityLonglineStubDtoBinder.java | 37 + .../services/binder/data/ActivitySeineBinder.java | 99 ++ .../data/ActivitySeineObservedSystemDtoBinder.java | 42 + .../binder/data/ActivitySeineStubDtoBinder.java | 40 + .../binder/data/BaitsCompositionBinder.java | 48 + .../observe/services/binder/data/BasketBinder.java | 60 + .../services/binder/data/BranchlineBinder.java | 108 ++ .../binder/data/BranchlinesCompositionBinder.java | 44 + .../services/binder/data/CatchLonglineBinder.java | 123 +++ .../services/binder/data/DataBinderSupport.java | 181 +++ .../services/binder/data/EncounterBinder.java | 64 ++ .../services/binder/data/FloatingObjectBinder.java | 67 ++ .../FloatingObjectObservedSpeciesDtoBinder.java | 39 + .../FloatingObjectSchoolEstimateDtoBinder.java | 39 + .../FloatingObjectTransmittingBuoyDtoBinder.java | 39 + .../binder/data/FloatlinesCompositionBinder.java | 42 + .../binder/data/GearUseFeaturesLonglineBinder.java | 38 + .../GearUseFeaturesMeasurementLonglineBinder.java | 40 + .../GearUseFeaturesMeasurementSeineBinder.java | 41 + .../binder/data/GearUseFeaturesSeineBinder.java | 40 + .../binder/data/HooksCompositionBinder.java | 46 + .../services/binder/data/NonTargetCatchBinder.java | 84 ++ .../binder/data/NonTargetLengthBinder.java | 57 + .../binder/data/NonTargetSampleBinder.java | 39 + .../binder/data/ObjectObservedSpeciesBinder.java | 47 + .../binder/data/ObjectSchoolEstimateBinder.java | 39 + .../observe/services/binder/data/RouteBinder.java | 64 ++ .../services/binder/data/RouteStubDtoBinder.java | 39 + .../services/binder/data/SchoolEstimateBinder.java | 62 ++ .../services/binder/data/SectionBinder.java | 56 + .../services/binder/data/SensorUsedBinder.java | 53 + .../services/binder/data/SetLonglineBinder.java | 119 ++ .../binder/data/SetLonglineCatchDtoBinder.java | 39 + .../SetLonglineDetailCompositionDtoBinder.java | 54 + .../SetLonglineGlobalCompositionDtoBinder.java | 58 + .../binder/data/SetLonglineStubDtoBinder.java | 34 + .../binder/data/SetLonglineTdrDtoBinder.java | 37 + .../services/binder/data/SetSeineBinder.java | 74 ++ .../data/SetSeineNonTargetCatchDtoBinder.java | 36 + .../data/SetSeineSchoolEstimateDtoBinder.java | 40 + .../binder/data/SetSeineTargetCatchDtoBinder.java | 39 + .../services/binder/data/SizeMeasureBinder.java | 40 + .../services/binder/data/TargetCatchBinder.java | 55 + .../services/binder/data/TargetLengthBinder.java | 76 ++ .../services/binder/data/TargetSampleBinder.java | 44 + .../observe/services/binder/data/TdrBinder.java | 100 ++ .../binder/data/TransmittingBuoyBinder.java | 51 + .../binder/data/TripLonglineActivityDtoBinder.java | 35 + .../services/binder/data/TripLonglineBinder.java | 102 ++ .../binder/data/TripLonglineGearUseDtoBinder.java | 39 + .../services/binder/data/TripSeineBinder.java | 101 ++ .../binder/data/TripSeineGearUseDtoBinder.java | 39 + .../services/binder/data/WeightMeasureBinder.java | 39 + .../referential/BaitHaulingStatusBinder.java | 50 + .../referential/BaitSettingStatusBinder.java | 50 + .../binder/referential/BaitTypeBinder.java | 50 + .../referential/CatchFateLonglineBinder.java | 50 + .../services/binder/referential/CountryBinder.java | 54 + .../binder/referential/DetectionModeBinder.java | 50 + .../binder/referential/EncounterTypeBinder.java | 50 + .../services/binder/referential/FpaZoneBinder.java | 54 + .../services/binder/referential/GearBinder.java | 53 + .../referential/GearCaracteristicBinder.java | 60 + .../referential/GearCaracteristicTypeBinder.java | 50 + .../services/binder/referential/HarbourBinder.java | 62 ++ .../binder/referential/HealthnessBinder.java | 50 + .../binder/referential/HookPositionBinder.java | 50 + .../binder/referential/HookSizeBinder.java | 54 + .../binder/referential/HookTypeBinder.java | 50 + .../referential/ItemHorizontalPositionBinder.java | 54 + .../referential/ItemVerticalPositionBinder.java | 54 + .../referential/LengthWeightParameterBinder.java | 71 ++ .../binder/referential/LightsticksColorBinder.java | 50 + .../binder/referential/LightsticksTypeBinder.java | 50 + .../binder/referential/LineTypeBinder.java | 50 + .../binder/referential/MaturityStatusBinder.java | 54 + .../binder/referential/MitigationTypeBinder.java | 50 + .../binder/referential/ObjectFateBinder.java | 50 + .../binder/referential/ObjectOperationBinder.java | 50 + .../binder/referential/ObjectTypeBinder.java | 50 + .../binder/referential/ObservedSystemBinder.java | 56 + .../services/binder/referential/OceanBinder.java | 50 + .../binder/referential/OrganismBinder.java | 60 + .../services/binder/referential/PersonBinder.java | 72 ++ .../services/binder/referential/ProgramBinder.java | 86 ++ .../binder/referential/ReasonForDiscardBinder.java | 54 + .../referential/ReasonForNoFishingBinder.java | 54 + .../binder/referential/ReasonForNullSetBinder.java | 54 + .../referential/ReferentialBinderSupport.java | 138 +++ .../binder/referential/SensorBrandBinder.java | 56 + .../binder/referential/SensorDataFormatBinder.java | 54 + .../binder/referential/SensorTypeBinder.java | 54 + .../binder/referential/SettingShapeBinder.java | 54 + .../services/binder/referential/SexBinder.java | 54 + .../binder/referential/SizeMeasureTypeBinder.java | 54 + .../services/binder/referential/SpeciesBinder.java | 86 ++ .../binder/referential/SpeciesFateBinder.java | 54 + .../binder/referential/SpeciesGroupBinder.java | 54 + .../binder/referential/SpeciesListBinder.java | 54 + .../binder/referential/SpeciesStatusBinder.java | 54 + .../binder/referential/StomacFullnessBinder.java | 54 + .../referential/SurroundingActivityBinder.java | 54 + .../TransmittingBuoyOperationBinder.java | 54 + .../referential/TransmittingBuoyTypeBinder.java | 54 + .../binder/referential/TripTypeBinder.java | 54 + .../referential/VesselActivityLonglineBinder.java | 54 + .../referential/VesselActivitySeineBinder.java | 54 + .../services/binder/referential/VesselBinder.java | 84 ++ .../referential/VesselSizeCategoryBinder.java | 60 + .../binder/referential/VesselTypeBinder.java | 54 + .../binder/referential/WeightCategoryBinder.java | 60 + .../referential/WeightMeasureTypeBinder.java | 54 + .../services/binder/referential/WindBinder.java | 57 + .../services/binder/BinderEngineMetadataTest.java | 167 +++ .../observe/services/binder/BinderEngineTest.java | 373 +++++++ 121 files changed, 8762 insertions(+) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java new file mode 100644 index 0000000..cf22134 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java @@ -0,0 +1,145 @@ +package fr.ird.observe.services.binder; + +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.data.DataBinderSupport; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.ObserveModelInitializerRunner; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import org.nuiton.topia.persistence.TopiaEntity; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BinderEngine { + + private static final BinderEngine INSTANCE = new BinderEngine(); + + protected ImmutableMap<Class<? extends ReferentialDto>, BinderSupport> referentialBinders; + + protected ImmutableMap<Class<? extends DataDto>, BinderSupport> dataBinders; + + protected ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes; + + protected ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypes; + + protected ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; + + protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToTtoTypes; + + public static BinderEngine get() { + return INSTANCE; + } + + protected BinderEngine() { + + BinderEngineInitializer initializer = new BinderEngineInitializer(); + ObserveModelInitializerRunner.init(initializer); + + dataBinders = initializer.dataBinders; + referentialBinders = initializer.referentialBinders; + + dataDtoToEntityTypes = initializer.dataDtoToEntityTypeTypes; + referentialDtoToEntityTypes = initializer.referentialDtoToEntityTypes; + + referentialEntityToDtoTypes = initializer.referentialEntityToDtoTypes; + dataEntityToTtoTypes = initializer.dataEntityToDToTypes; + + } + + public <D extends ReferentialDto, E extends ReferenceEntity> ReferentialBinderSupport<E, D> getReferentialBinder(Class<D> dtoType) { + return (ReferentialBinderSupport) referentialBinders.get(dtoType); + } + + public <D extends DataDto, E extends TopiaEntity> DataBinderSupport<E, D> getDataBinder(Class<D> dtoType) { + return (DataBinderSupport) dataBinders.get(dtoType); + } + + public <D extends DataDto, E extends TopiaEntity> DataBinderSupport<E, D> getDataBinder(D dtoType) { + return (DataBinderSupport) dataBinders.get(dtoType.getClass()); + } + + public <D extends DataDto, E extends TopiaEntity> Class<E> getDataEntityType(Class<D> dtoType) { + return (Class<E>) dataDtoToEntityTypes.get(dtoType); + } + + public <D extends DataDto, E extends TopiaEntity> Class<D> getDataDtoType(Class<E> entityType) { + return (Class<D>) dataEntityToTtoTypes.get(entityType); + } + + public <D extends ReferentialDto, E extends ReferenceEntity> Class<D> getReferentialDtoType(Class<E> entityType) { + return (Class<D>) referentialEntityToDtoTypes.get(entityType); + } + + public <D extends ReferentialDto, E extends ReferenceEntity> Class<E> getReferentialEntityType(Class<D> dtoType) { + return (Class<E>) referentialDtoToEntityTypes.get(dtoType); + } + + public <D extends ReferentialDto, E extends ReferenceEntity> D transformEntityToReferentialDto(ReferentialLocale referentialLocale, E entity) { + + Class<D> dtoType = getReferentialDtoType(entity.getClass()); + ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); + + D dto = binder.newDto(); + binder.copyToDto(referentialLocale, entity, dto); + + return dto; + + } + + public <D extends ReferentialDto, E extends ReferenceEntity> E transformReferentialDtoToEntity(ReferentialLocale referentialLocale, D dto) { + + Class<D> dtoType = (Class<D>) dto.getClass(); + ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); + + E entity = binder.newEntity(); + binder.copyToEntity(referentialLocale, dto, entity); + + return entity; + + } + + public <D extends DataDto, E extends TopiaEntity> D transformEntityToDataDto(ReferentialLocale referentialLocale, E entity) { + + Class<D> dtoType = getDataDtoType(entity.getClass()); + DataBinderSupport<E, D> binder = getDataBinder(dtoType); + + D dto = binder.newDto(); + binder.copyToDto(referentialLocale, entity, dto); + + return dto; + + } + + public <D extends DataDto, E extends TopiaEntity> E transformDataDtoToEntity(ReferentialLocale referentialLocale, D dto) { + + Class<D> dtoType = (Class<D>) dto.getClass(); + DataBinderSupport<E, D> binder = getDataBinder(dtoType); + + E entity = binder.newEntity(); + binder.copyToEntity(referentialLocale, dto, entity); + + return entity; + + } + + protected ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> getReferentialEntityToDtoTypes() { + return referentialEntityToDtoTypes; + } + + protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> getDataEntityToDtoTypes() { + return dataEntityToTtoTypes; + } + + protected ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> getDataDtoToEntityTypes() { + return dataDtoToEntityTypes; + } + + protected ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> getReferentialDtoToEntityTypes() { + return referentialDtoToEntityTypes; + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java new file mode 100644 index 0000000..bd3dfdb --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java @@ -0,0 +1,1149 @@ +package fr.ird.observe.services.binder; + +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.BaitsComposition; +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.BranchlinesComposition; +import fr.ird.observe.entities.longline.CatchLongline; +import fr.ird.observe.entities.longline.Encounter; +import fr.ird.observe.entities.longline.FloatlinesComposition; +import fr.ird.observe.entities.longline.GearUseFeaturesLongline; +import fr.ird.observe.entities.longline.GearUseFeaturesMeasurementLongline; +import fr.ird.observe.entities.longline.HooksComposition; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.SensorUsed; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.entities.longline.SizeMeasure; +import fr.ird.observe.entities.longline.Tdr; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.longline.WeightMeasure; +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.FpaZone; +import fr.ird.observe.entities.referentiel.Gear; +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.entities.referentiel.GearCaracteristicType; +import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.entities.referentiel.LengthWeightParameter; +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Organism; +import fr.ird.observe.entities.referentiel.Person; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.SpeciesGroup; +import fr.ird.observe.entities.referentiel.SpeciesList; +import fr.ird.observe.entities.referentiel.Vessel; +import fr.ird.observe.entities.referentiel.VesselSizeCategory; +import fr.ird.observe.entities.referentiel.VesselType; +import fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitSettingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitType; +import fr.ird.observe.entities.referentiel.longline.CatchFateLongline; +import fr.ird.observe.entities.referentiel.longline.EncounterType; +import fr.ird.observe.entities.referentiel.longline.Healthness; +import fr.ird.observe.entities.referentiel.longline.HookPosition; +import fr.ird.observe.entities.referentiel.longline.HookSize; +import fr.ird.observe.entities.referentiel.longline.HookType; +import fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition; +import fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition; +import fr.ird.observe.entities.referentiel.longline.LightsticksColor; +import fr.ird.observe.entities.referentiel.longline.LightsticksType; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.entities.referentiel.longline.MaturityStatus; +import fr.ird.observe.entities.referentiel.longline.MitigationType; +import fr.ird.observe.entities.referentiel.longline.SensorBrand; +import fr.ird.observe.entities.referentiel.longline.SensorDataFormat; +import fr.ird.observe.entities.referentiel.longline.SensorType; +import fr.ird.observe.entities.referentiel.longline.SettingShape; +import fr.ird.observe.entities.referentiel.longline.SizeMeasureType; +import fr.ird.observe.entities.referentiel.longline.StomacFullness; +import fr.ird.observe.entities.referentiel.longline.TripType; +import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; +import fr.ird.observe.entities.referentiel.longline.WeightMeasureType; +import fr.ird.observe.entities.referentiel.seine.DetectionMode; +import fr.ird.observe.entities.referentiel.seine.ObjectFate; +import fr.ird.observe.entities.referentiel.seine.ObjectOperation; +import fr.ird.observe.entities.referentiel.seine.ObjectType; +import fr.ird.observe.entities.referentiel.seine.ObservedSystem; +import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; +import fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing; +import fr.ird.observe.entities.referentiel.seine.ReasonForNullSet; +import fr.ird.observe.entities.referentiel.seine.SpeciesFate; +import fr.ird.observe.entities.referentiel.seine.SpeciesStatus; +import fr.ird.observe.entities.referentiel.seine.SurroundingActivity; +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; +import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; +import fr.ird.observe.entities.referentiel.seine.WeightCategory; +import fr.ird.observe.entities.referentiel.seine.Wind; +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; +import fr.ird.observe.entities.seine.GearUseFeaturesSeine; +import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.entities.seine.NonTargetLength; +import fr.ird.observe.entities.seine.NonTargetSample; +import fr.ird.observe.entities.seine.ObjectObservedSpecies; +import fr.ird.observe.entities.seine.ObjectSchoolEstimate; +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.entities.seine.SchoolEstimate; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.entities.seine.TargetCatch; +import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.entities.seine.TargetSample; +import fr.ird.observe.entities.seine.TransmittingBuoy; +import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.binder.data.ActivityLonglineBinder; +import fr.ird.observe.services.binder.data.ActivityLonglineEncouterDtoBinder; +import fr.ird.observe.services.binder.data.ActivityLonglineSensorUsedDtoBinder; +import fr.ird.observe.services.binder.data.ActivityLonglineStubDtoBinder; +import fr.ird.observe.services.binder.data.ActivitySeineBinder; +import fr.ird.observe.services.binder.data.ActivitySeineObservedSystemDtoBinder; +import fr.ird.observe.services.binder.data.ActivitySeineStubDtoBinder; +import fr.ird.observe.services.binder.data.BaitsCompositionBinder; +import fr.ird.observe.services.binder.data.BasketBinder; +import fr.ird.observe.services.binder.data.BranchlineBinder; +import fr.ird.observe.services.binder.data.BranchlinesCompositionBinder; +import fr.ird.observe.services.binder.data.CatchLonglineBinder; +import fr.ird.observe.services.binder.data.EncounterBinder; +import fr.ird.observe.services.binder.data.FloatingObjectBinder; +import fr.ird.observe.services.binder.data.FloatingObjectObservedSpeciesDtoBinder; +import fr.ird.observe.services.binder.data.FloatingObjectSchoolEstimateDtoBinder; +import fr.ird.observe.services.binder.data.FloatingObjectTransmittingBuoyDtoBinder; +import fr.ird.observe.services.binder.data.FloatlinesCompositionBinder; +import fr.ird.observe.services.binder.data.GearUseFeaturesLonglineBinder; +import fr.ird.observe.services.binder.data.GearUseFeaturesMeasurementLonglineBinder; +import fr.ird.observe.services.binder.data.GearUseFeaturesMeasurementSeineBinder; +import fr.ird.observe.services.binder.data.GearUseFeaturesSeineBinder; +import fr.ird.observe.services.binder.data.HooksCompositionBinder; +import fr.ird.observe.services.binder.data.NonTargetCatchBinder; +import fr.ird.observe.services.binder.data.NonTargetLengthBinder; +import fr.ird.observe.services.binder.data.NonTargetSampleBinder; +import fr.ird.observe.services.binder.data.ObjectObservedSpeciesBinder; +import fr.ird.observe.services.binder.data.ObjectSchoolEstimateBinder; +import fr.ird.observe.services.binder.data.RouteBinder; +import fr.ird.observe.services.binder.data.RouteStubDtoBinder; +import fr.ird.observe.services.binder.data.SchoolEstimateBinder; +import fr.ird.observe.services.binder.data.SectionBinder; +import fr.ird.observe.services.binder.data.SensorUsedBinder; +import fr.ird.observe.services.binder.data.SetLonglineBinder; +import fr.ird.observe.services.binder.data.SetLonglineCatchDtoBinder; +import fr.ird.observe.services.binder.data.SetLonglineDetailCompositionDtoBinder; +import fr.ird.observe.services.binder.data.SetLonglineGlobalCompositionDtoBinder; +import fr.ird.observe.services.binder.data.SetLonglineStubDtoBinder; +import fr.ird.observe.services.binder.data.SetLonglineTdrDtoBinder; +import fr.ird.observe.services.binder.data.SetSeineBinder; +import fr.ird.observe.services.binder.data.SetSeineNonTargetCatchDtoBinder; +import fr.ird.observe.services.binder.data.SetSeineSchoolEstimateDtoBinder; +import fr.ird.observe.services.binder.data.SetSeineTargetCatchDtoBinder; +import fr.ird.observe.services.binder.data.SizeMeasureBinder; +import fr.ird.observe.services.binder.data.TargetCatchBinder; +import fr.ird.observe.services.binder.data.TargetLengthBinder; +import fr.ird.observe.services.binder.data.TargetSampleBinder; +import fr.ird.observe.services.binder.data.TdrBinder; +import fr.ird.observe.services.binder.data.TransmittingBuoyBinder; +import fr.ird.observe.services.binder.data.TripLonglineActivityDtoBinder; +import fr.ird.observe.services.binder.data.TripLonglineBinder; +import fr.ird.observe.services.binder.data.TripLonglineGearUseDtoBinder; +import fr.ird.observe.services.binder.data.TripSeineBinder; +import fr.ird.observe.services.binder.data.TripSeineGearUseDtoBinder; +import fr.ird.observe.services.binder.data.WeightMeasureBinder; +import fr.ird.observe.services.binder.referential.BaitHaulingStatusBinder; +import fr.ird.observe.services.binder.referential.BaitSettingStatusBinder; +import fr.ird.observe.services.binder.referential.BaitTypeBinder; +import fr.ird.observe.services.binder.referential.CatchFateLonglineBinder; +import fr.ird.observe.services.binder.referential.CountryBinder; +import fr.ird.observe.services.binder.referential.DetectionModeBinder; +import fr.ird.observe.services.binder.referential.EncounterTypeBinder; +import fr.ird.observe.services.binder.referential.FpaZoneBinder; +import fr.ird.observe.services.binder.referential.GearBinder; +import fr.ird.observe.services.binder.referential.GearCaracteristicBinder; +import fr.ird.observe.services.binder.referential.GearCaracteristicTypeBinder; +import fr.ird.observe.services.binder.referential.HarbourBinder; +import fr.ird.observe.services.binder.referential.HealthnessBinder; +import fr.ird.observe.services.binder.referential.HookPositionBinder; +import fr.ird.observe.services.binder.referential.HookSizeBinder; +import fr.ird.observe.services.binder.referential.HookTypeBinder; +import fr.ird.observe.services.binder.referential.ItemHorizontalPositionBinder; +import fr.ird.observe.services.binder.referential.ItemVerticalPositionBinder; +import fr.ird.observe.services.binder.referential.LengthWeightParameterBinder; +import fr.ird.observe.services.binder.referential.LightsticksColorBinder; +import fr.ird.observe.services.binder.referential.LightsticksTypeBinder; +import fr.ird.observe.services.binder.referential.LineTypeBinder; +import fr.ird.observe.services.binder.referential.MaturityStatusBinder; +import fr.ird.observe.services.binder.referential.MitigationTypeBinder; +import fr.ird.observe.services.binder.referential.ObjectFateBinder; +import fr.ird.observe.services.binder.referential.ObjectOperationBinder; +import fr.ird.observe.services.binder.referential.ObjectTypeBinder; +import fr.ird.observe.services.binder.referential.ObservedSystemBinder; +import fr.ird.observe.services.binder.referential.OceanBinder; +import fr.ird.observe.services.binder.referential.OrganismBinder; +import fr.ird.observe.services.binder.referential.PersonBinder; +import fr.ird.observe.services.binder.referential.ProgramBinder; +import fr.ird.observe.services.binder.referential.ReasonForDiscardBinder; +import fr.ird.observe.services.binder.referential.ReasonForNoFishingBinder; +import fr.ird.observe.services.binder.referential.ReasonForNullSetBinder; +import fr.ird.observe.services.binder.referential.SensorBrandBinder; +import fr.ird.observe.services.binder.referential.SensorDataFormatBinder; +import fr.ird.observe.services.binder.referential.SensorTypeBinder; +import fr.ird.observe.services.binder.referential.SettingShapeBinder; +import fr.ird.observe.services.binder.referential.SexBinder; +import fr.ird.observe.services.binder.referential.SizeMeasureTypeBinder; +import fr.ird.observe.services.binder.referential.SpeciesBinder; +import fr.ird.observe.services.binder.referential.SpeciesFateBinder; +import fr.ird.observe.services.binder.referential.SpeciesGroupBinder; +import fr.ird.observe.services.binder.referential.SpeciesListBinder; +import fr.ird.observe.services.binder.referential.SpeciesStatusBinder; +import fr.ird.observe.services.binder.referential.StomacFullnessBinder; +import fr.ird.observe.services.binder.referential.SurroundingActivityBinder; +import fr.ird.observe.services.binder.referential.TransmittingBuoyOperationBinder; +import fr.ird.observe.services.binder.referential.TransmittingBuoyTypeBinder; +import fr.ird.observe.services.binder.referential.TripTypeBinder; +import fr.ird.observe.services.binder.referential.VesselActivityLonglineBinder; +import fr.ird.observe.services.binder.referential.VesselActivitySeineBinder; +import fr.ird.observe.services.binder.referential.VesselBinder; +import fr.ird.observe.services.binder.referential.VesselSizeCategoryBinder; +import fr.ird.observe.services.binder.referential.VesselTypeBinder; +import fr.ird.observe.services.binder.referential.WeightCategoryBinder; +import fr.ird.observe.services.binder.referential.WeightMeasureTypeBinder; +import fr.ird.observe.services.binder.referential.WindBinder; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.ObserveModelInitializer; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SensorUsedDto; +import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDto; +import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.longline.TdrDto; +import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.referential.VesselTypeDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.referential.seine.WindDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; +import fr.ird.observe.services.dto.seine.NonTargetSampleDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.dto.seine.RouteStubDto; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; +import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.util.Map; + +class BinderEngineInitializer implements ObserveModelInitializer { + + ImmutableMap.Builder<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypeBuilder; + + ImmutableMap.Builder<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDToTypeBuilder; + + ImmutableMap.Builder<Class<? extends DataDto>, BinderSupport> dataBinderBuilder; + + ImmutableMap.Builder<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypeBuilder; + + ImmutableMap.Builder<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypeBuilder; + + ImmutableMap.Builder<Class<? extends ReferentialDto>, BinderSupport> referentialBinderBuilder; + + ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypeTypes; + + ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDToTypes; + + ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes; + + ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; + + ImmutableMap<Class<? extends DataDto>, BinderSupport> dataBinders; + + ImmutableMap<Class<? extends ReferentialDto>, BinderSupport> referentialBinders; + + @Override + public void start() { + + dataDtoToEntityTypeBuilder = ImmutableMap.builder(); + referentialDtoToEntityTypeBuilder = ImmutableMap.builder(); + + dataEntityToDToTypeBuilder = ImmutableMap.builder(); + referentialEntityToDtoTypeBuilder = ImmutableMap.builder(); + + dataBinderBuilder = ImmutableMap.builder(); + referentialBinderBuilder = ImmutableMap.builder(); + + } + + @Override + public void end() { + dataDtoToEntityTypeTypes = dataDtoToEntityTypeBuilder.build(); + referentialDtoToEntityTypes = referentialDtoToEntityTypeBuilder.build(); + + dataBinders = dataBinderBuilder.build(); + referentialBinders = referentialBinderBuilder.build(); + + for (Map.Entry<Class<? extends DataDto>, Class<? extends TopiaEntity>> entry : dataDtoToEntityTypeTypes.entrySet()) { + + Class<? extends DataDto> dtoType = entry.getKey(); + Class<? extends TopiaEntity> entityType = entry.getValue(); + + if ((entityType.getSimpleName() + "Dto").equals(dtoType.getSimpleName())) { + ObserveEntityEnum observeEntityEnum = ObserveEntityEnum.valueOf(entityType); + dataEntityToDToTypeBuilder.put(entityType, dtoType); + dataEntityToDToTypeBuilder.put(observeEntityEnum.getImplementation(), dtoType); + } + } + + for (Map.Entry<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> entry : referentialDtoToEntityTypes.entrySet()) { + + Class<? extends ReferentialDto> dtoType = entry.getKey(); + Class<? extends ReferenceEntity> entityType = entry.getValue(); + + if ((entityType.getSimpleName() + "Dto").equals(dtoType.getSimpleName())) { + ObserveEntityEnum observeEntityEnum = ObserveEntityEnum.valueOf(entityType); + referentialEntityToDtoTypeBuilder.put(entityType, dtoType); + referentialEntityToDtoTypeBuilder.put((Class<? extends ReferenceEntity>) observeEntityEnum.getImplementation(), dtoType); + } + } + dataEntityToDToTypes = dataEntityToDToTypeBuilder.build(); + referentialEntityToDtoTypes = referentialEntityToDtoTypeBuilder.build(); + } + + @Override + public void initCommentableDto() { + + } + + @Override + public void initDataDto() { + + } + + @Override + public void initIdDto() { + + } + + @Override + public void initObserveDbUserDto() { + + } + + @Override + public void initOpenableDto() { + + } + + @Override + public void initTripMapDto() { + + } + + @Override + public void initTripMapPointDto() { + + } + + @Override + public void initReferentialDto() { + + } + + @Override + public void initI18nReferentialDto() { + + } + + @Override + public void initSaveResultDto() { + + } + + @Override + public void initTripChildSaveResultDto() { + + } + + @Override + public void initActivityLonglineDto() { + dataDtoToEntityTypeBuilder.put(ActivityLonglineDto.class, ActivityLongline.class); + dataBinderBuilder.put(ActivityLonglineDto.class, new ActivityLonglineBinder()); + } + + @Override + public void initActivityLonglineEncouterDto() { + dataDtoToEntityTypeBuilder.put(ActivityLonglineEncouterDto.class, ActivityLongline.class); + dataBinderBuilder.put(ActivityLonglineEncouterDto.class, new ActivityLonglineEncouterDtoBinder()); + } + + @Override + public void initActivityLonglineSensorUsedDto() { + dataDtoToEntityTypeBuilder.put(ActivityLonglineSensorUsedDto.class, ActivityLongline.class); + dataBinderBuilder.put(ActivityLonglineSensorUsedDto.class, new ActivityLonglineSensorUsedDtoBinder()); + } + + @Override + public void initActivityLonglineStubDto() { + dataDtoToEntityTypeBuilder.put(ActivityLonglineStubDto.class, ActivityLongline.class); + dataBinderBuilder.put(ActivityLonglineStubDto.class, new ActivityLonglineStubDtoBinder()); + } + + @Override + public void initBaitsCompositionDto() { + dataDtoToEntityTypeBuilder.put(BaitsCompositionDto.class, BaitsComposition.class); + dataBinderBuilder.put(BaitsCompositionDto.class, new BaitsCompositionBinder()); + } + + @Override + public void initBasketDto() { + dataDtoToEntityTypeBuilder.put(BasketDto.class, Basket.class); + dataBinderBuilder.put(BasketDto.class, new BasketBinder()); + } + + @Override + public void initBranchlineDto() { + dataDtoToEntityTypeBuilder.put(BranchlineDto.class, Branchline.class); + dataBinderBuilder.put(BranchlineDto.class, new BranchlineBinder()); + } + + @Override + public void initBranchlinesCompositionDto() { + dataDtoToEntityTypeBuilder.put(BranchlinesCompositionDto.class, BranchlinesComposition.class); + dataBinderBuilder.put(BranchlinesCompositionDto.class, new BranchlinesCompositionBinder()); + } + + @Override + public void initCatchLonglineDto() { + dataDtoToEntityTypeBuilder.put(CatchLonglineDto.class, CatchLongline.class); + dataBinderBuilder.put(CatchLonglineDto.class, new CatchLonglineBinder()); + } + + @Override + public void initEncounterDto() { + dataDtoToEntityTypeBuilder.put(EncounterDto.class, Encounter.class); + dataBinderBuilder.put(EncounterDto.class, new EncounterBinder()); + } + + @Override + public void initFloatlinesCompositionDto() { + dataDtoToEntityTypeBuilder.put(FloatlinesCompositionDto.class, FloatlinesComposition.class); + dataBinderBuilder.put(FloatlinesCompositionDto.class, new FloatlinesCompositionBinder()); + } + + @Override + public void initGearUseFeaturesLonglineDto() { + dataDtoToEntityTypeBuilder.put(GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class); + dataBinderBuilder.put(GearUseFeaturesLonglineDto.class, new GearUseFeaturesLonglineBinder()); + } + + @Override + public void initGearUseFeaturesMeasurementLonglineDto() { + dataDtoToEntityTypeBuilder.put(GearUseFeaturesMeasurementLonglineDto.class, GearUseFeaturesMeasurementLongline.class); + dataBinderBuilder.put(GearUseFeaturesMeasurementLonglineDto.class, new GearUseFeaturesMeasurementLonglineBinder()); + } + + @Override + public void initHooksCompositionDto() { + dataDtoToEntityTypeBuilder.put(HooksCompositionDto.class, HooksComposition.class); + dataBinderBuilder.put(HooksCompositionDto.class, new HooksCompositionBinder()); + } + + @Override + public void initSectionDto() { + dataDtoToEntityTypeBuilder.put(SectionDto.class, Section.class); + dataBinderBuilder.put(SectionDto.class, new SectionBinder()); + } + + @Override + public void initSensorUsedDto() { + dataDtoToEntityTypeBuilder.put(SensorUsedDto.class, SensorUsed.class); + dataBinderBuilder.put(SensorUsedDto.class, new SensorUsedBinder()); + } + + @Override + public void initSetLonglineDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineDto.class, new SetLonglineBinder()); + } + + @Override + public void initSetLonglineCatchDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineCatchDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineCatchDto.class, new SetLonglineCatchDtoBinder()); + } + + @Override + public void initSetLonglineDetailCompositionDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineDetailCompositionDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineDetailCompositionDto.class, new SetLonglineDetailCompositionDtoBinder()); + } + + @Override + public void initSetLonglineGlobalCompositionDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineGlobalCompositionDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineGlobalCompositionDto.class, new SetLonglineGlobalCompositionDtoBinder()); + } + + @Override + public void initSetLonglineStubDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineStubDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineStubDto.class, new SetLonglineStubDtoBinder()); + } + + @Override + public void initSetLonglineTdrDto() { + dataDtoToEntityTypeBuilder.put(SetLonglineTdrDto.class, SetLongline.class); + dataBinderBuilder.put(SetLonglineTdrDto.class, new SetLonglineTdrDtoBinder()); + } + + @Override + public void initSizeMeasureDto() { + dataDtoToEntityTypeBuilder.put(SizeMeasureDto.class, SizeMeasure.class); + dataBinderBuilder.put(SizeMeasureDto.class, new SizeMeasureBinder()); + } + + @Override + public void initTdrDto() { + dataDtoToEntityTypeBuilder.put(TdrDto.class, Tdr.class); + dataBinderBuilder.put(TdrDto.class, new TdrBinder()); + } + + @Override + public void initTripLonglineDto() { + dataDtoToEntityTypeBuilder.put(TripLonglineDto.class, TripLongline.class); + dataBinderBuilder.put(TripLonglineDto.class, new TripLonglineBinder()); + } + + @Override + public void initTripLonglineActivityDto() { + dataDtoToEntityTypeBuilder.put(TripLonglineActivityDto.class, ActivityLongline.class); + dataBinderBuilder.put(TripLonglineActivityDto.class, new TripLonglineActivityDtoBinder()); + } + + @Override + public void initTripLonglineGearUseDto() { + dataDtoToEntityTypeBuilder.put(TripLonglineGearUseDto.class, TripLongline.class); + dataBinderBuilder.put(TripLonglineGearUseDto.class, new TripLonglineGearUseDtoBinder()); + } + + @Override + public void initWeightMeasureDto() { + dataDtoToEntityTypeBuilder.put(WeightMeasureDto.class, WeightMeasure.class); + dataBinderBuilder.put(WeightMeasureDto.class, new WeightMeasureBinder()); + } + + @Override + public void initActivitySeineDto() { + dataDtoToEntityTypeBuilder.put(ActivitySeineDto.class, ActivitySeine.class); + dataBinderBuilder.put(ActivitySeineDto.class, new ActivitySeineBinder()); + } + + @Override + public void initActivitySeineObservedSystemDto() { + dataDtoToEntityTypeBuilder.put(ActivitySeineObservedSystemDto.class, ActivitySeine.class); + dataBinderBuilder.put(ActivitySeineObservedSystemDto.class, new ActivitySeineObservedSystemDtoBinder()); + } + + @Override + public void initActivitySeineStubDto() { + dataDtoToEntityTypeBuilder.put(ActivitySeineStubDto.class, ActivitySeine.class); + dataBinderBuilder.put(ActivitySeineStubDto.class, new ActivitySeineStubDtoBinder()); + } + + @Override + public void initFloatingObjectDto() { + dataDtoToEntityTypeBuilder.put(FloatingObjectDto.class, FloatingObject.class); + dataBinderBuilder.put(FloatingObjectDto.class, new FloatingObjectBinder()); + } + + @Override + public void initFloatingObjectObservedSpeciesDto() { + dataDtoToEntityTypeBuilder.put(FloatingObjectObservedSpeciesDto.class, FloatingObject.class); + dataBinderBuilder.put(FloatingObjectObservedSpeciesDto.class, new FloatingObjectObservedSpeciesDtoBinder()); + } + + @Override + public void initFloatingObjectSchoolEstimateDto() { + dataDtoToEntityTypeBuilder.put(FloatingObjectSchoolEstimateDto.class, FloatingObject.class); + dataBinderBuilder.put(FloatingObjectSchoolEstimateDto.class, new FloatingObjectSchoolEstimateDtoBinder()); + } + + @Override + public void initFloatingObjectTransmittingBuoyDto() { + dataDtoToEntityTypeBuilder.put(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class); + dataBinderBuilder.put(FloatingObjectTransmittingBuoyDto.class, new FloatingObjectTransmittingBuoyDtoBinder()); + } + + @Override + public void initGearUseFeaturesMeasurementSeineDto() { + dataDtoToEntityTypeBuilder.put(GearUseFeaturesMeasurementSeineDto.class, GearUseFeaturesMeasurementSeine.class); + dataBinderBuilder.put(GearUseFeaturesMeasurementSeineDto.class, new GearUseFeaturesMeasurementSeineBinder()); + } + + @Override + public void initGearUseFeaturesSeineDto() { + dataDtoToEntityTypeBuilder.put(GearUseFeaturesSeineDto.class, GearUseFeaturesSeine.class); + dataBinderBuilder.put(GearUseFeaturesSeineDto.class, new GearUseFeaturesSeineBinder()); + } + + @Override + public void initNonTargetCatchDto() { + dataDtoToEntityTypeBuilder.put(NonTargetCatchDto.class, NonTargetCatch.class); + dataBinderBuilder.put(NonTargetCatchDto.class, new NonTargetCatchBinder()); + } + + @Override + public void initNonTargetLengthDto() { + dataDtoToEntityTypeBuilder.put(NonTargetLengthDto.class, NonTargetLength.class); + dataBinderBuilder.put(NonTargetLengthDto.class, new NonTargetLengthBinder()); + } + + @Override + public void initNonTargetSampleDto() { + dataDtoToEntityTypeBuilder.put(NonTargetSampleDto.class, NonTargetSample.class); + dataBinderBuilder.put(NonTargetSampleDto.class, new NonTargetSampleBinder()); + } + + @Override + public void initObjectObservedSpeciesDto() { + dataDtoToEntityTypeBuilder.put(ObjectObservedSpeciesDto.class, ObjectObservedSpecies.class); + dataBinderBuilder.put(ObjectObservedSpeciesDto.class, new ObjectObservedSpeciesBinder()); + } + + @Override + public void initObjectSchoolEstimateDto() { + dataDtoToEntityTypeBuilder.put(ObjectSchoolEstimateDto.class, ObjectSchoolEstimate.class); + dataBinderBuilder.put(ObjectSchoolEstimateDto.class, new ObjectSchoolEstimateBinder()); + } + + @Override + public void initRouteDto() { + dataDtoToEntityTypeBuilder.put(RouteDto.class, Route.class); + dataBinderBuilder.put(RouteDto.class, new RouteBinder()); + } + + @Override + public void initRouteStubDto() { + dataDtoToEntityTypeBuilder.put(RouteStubDto.class, Route.class); + dataBinderBuilder.put(RouteStubDto.class, new RouteStubDtoBinder()); + } + + @Override + public void initSchoolEstimateDto() { + dataDtoToEntityTypeBuilder.put(SchoolEstimateDto.class, SchoolEstimate.class); + dataBinderBuilder.put(SchoolEstimateDto.class, new SchoolEstimateBinder()); + } + + @Override + public void initSetSeineDto() { + dataDtoToEntityTypeBuilder.put(SetSeineDto.class, SetSeine.class); + dataBinderBuilder.put(SetSeineDto.class, new SetSeineBinder()); + } + + @Override + public void initSetSeineNonTargetCatchDto() { + dataDtoToEntityTypeBuilder.put(SetSeineNonTargetCatchDto.class, SetSeine.class); + dataBinderBuilder.put(SetSeineNonTargetCatchDto.class, new SetSeineNonTargetCatchDtoBinder()); + } + + @Override + public void initSetSeineSchoolEstimateDto() { + dataDtoToEntityTypeBuilder.put(SetSeineSchoolEstimateDto.class, SetSeine.class); + dataBinderBuilder.put(SetSeineSchoolEstimateDto.class, new SetSeineSchoolEstimateDtoBinder()); + } + + @Override + public void initSetSeineTargetCatchDto() { + dataDtoToEntityTypeBuilder.put(SetSeineTargetCatchDto.class, SetSeine.class); + dataBinderBuilder.put(SetSeineTargetCatchDto.class, new SetSeineTargetCatchDtoBinder()); + } + + @Override + public void initTargetCatchDto() { + dataDtoToEntityTypeBuilder.put(TargetCatchDto.class, TargetCatch.class); + dataBinderBuilder.put(TargetCatchDto.class, new TargetCatchBinder()); + } + + @Override + public void initTargetLengthDto() { + dataDtoToEntityTypeBuilder.put(TargetLengthDto.class, TargetLength.class); + dataBinderBuilder.put(TargetLengthDto.class, new TargetLengthBinder()); + } + + @Override + public void initTargetSampleDto() { + dataDtoToEntityTypeBuilder.put(TargetSampleDto.class, TargetSample.class); + dataBinderBuilder.put(TargetSampleDto.class, new TargetSampleBinder()); + } + + @Override + public void initTransmittingBuoyDto() { + dataDtoToEntityTypeBuilder.put(TransmittingBuoyDto.class, TransmittingBuoy.class); + dataBinderBuilder.put(TransmittingBuoyDto.class, new TransmittingBuoyBinder()); + } + + @Override + public void initTripSeineDto() { + dataDtoToEntityTypeBuilder.put(TripSeineDto.class, TripSeine.class); + dataBinderBuilder.put(TripSeineDto.class, new TripSeineBinder()); + } + + @Override + public void initTripSeineGearUseDto() { + dataDtoToEntityTypeBuilder.put(TripSeineGearUseDto.class, TripSeine.class); + dataBinderBuilder.put(TripSeineGearUseDto.class, new TripSeineGearUseDtoBinder()); + } + + @Override + public void initCountryDto() { + referentialDtoToEntityTypeBuilder.put(CountryDto.class, Country.class); + referentialBinderBuilder.put(CountryDto.class, new CountryBinder()); + } + + @Override + public void initFpaZoneDto() { + referentialDtoToEntityTypeBuilder.put(FpaZoneDto.class, FpaZone.class); + referentialBinderBuilder.put(FpaZoneDto.class, new FpaZoneBinder()); + } + + @Override + public void initGearDto() { + referentialDtoToEntityTypeBuilder.put(GearDto.class, Gear.class); + referentialBinderBuilder.put(GearDto.class, new GearBinder()); + } + + @Override + public void initGearCaracteristicDto() { + referentialDtoToEntityTypeBuilder.put(GearCaracteristicDto.class, GearCaracteristic.class); + referentialBinderBuilder.put(GearCaracteristicDto.class, new GearCaracteristicBinder()); + } + + @Override + public void initGearCaracteristicTypeDto() { + referentialDtoToEntityTypeBuilder.put(GearCaracteristicTypeDto.class, GearCaracteristicType.class); + referentialBinderBuilder.put(GearCaracteristicTypeDto.class, new GearCaracteristicTypeBinder()); + } + + @Override + public void initHarbourDto() { + referentialDtoToEntityTypeBuilder.put(HarbourDto.class, Harbour.class); + referentialBinderBuilder.put(HarbourDto.class, new HarbourBinder()); + } + + @Override + public void initLengthWeightParameterDto() { + referentialDtoToEntityTypeBuilder.put(LengthWeightParameterDto.class, LengthWeightParameter.class); + referentialBinderBuilder.put(LengthWeightParameterDto.class, new LengthWeightParameterBinder()); + } + + @Override + public void initOceanDto() { + referentialDtoToEntityTypeBuilder.put(OceanDto.class, Ocean.class); + referentialBinderBuilder.put(OceanDto.class, new OceanBinder()); + } + + @Override + public void initOrganismDto() { + referentialDtoToEntityTypeBuilder.put(OrganismDto.class, Organism.class); + referentialBinderBuilder.put(OrganismDto.class, new OrganismBinder()); + } + + @Override + public void initPersonDto() { + referentialDtoToEntityTypeBuilder.put(PersonDto.class, Person.class); + referentialBinderBuilder.put(PersonDto.class, new PersonBinder()); + } + + @Override + public void initProgramDto() { + referentialDtoToEntityTypeBuilder.put(ProgramDto.class, Program.class); + referentialBinderBuilder.put(ProgramDto.class, new ProgramBinder()); + } + + @Override + public void initSexDto() { + referentialDtoToEntityTypeBuilder.put(SexDto.class, Sex.class); + referentialBinderBuilder.put(SexDto.class, new SexBinder()); + } + + @Override + public void initSpeciesDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesDto.class, Species.class); + referentialBinderBuilder.put(SpeciesDto.class, new SpeciesBinder()); + } + + @Override + public void initSpeciesGroupDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesGroupDto.class, SpeciesGroup.class); + referentialBinderBuilder.put(SpeciesGroupDto.class, new SpeciesGroupBinder()); + } + + @Override + public void initSpeciesListDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesListDto.class, SpeciesList.class); + referentialBinderBuilder.put(SpeciesListDto.class, new SpeciesListBinder()); + } + + @Override + public void initVesselDto() { + referentialDtoToEntityTypeBuilder.put(VesselDto.class, Vessel.class); + referentialBinderBuilder.put(VesselDto.class, new VesselBinder()); + } + + @Override + public void initVesselSizeCategoryDto() { + referentialDtoToEntityTypeBuilder.put(VesselSizeCategoryDto.class, VesselSizeCategory.class); + referentialBinderBuilder.put(VesselSizeCategoryDto.class, new VesselSizeCategoryBinder()); + } + + @Override + public void initVesselTypeDto() { + referentialDtoToEntityTypeBuilder.put(VesselTypeDto.class, VesselType.class); + referentialBinderBuilder.put(VesselTypeDto.class, new VesselTypeBinder()); + } + + @Override + public void initBaitHaulingStatusDto() { + referentialDtoToEntityTypeBuilder.put(BaitHaulingStatusDto.class, BaitHaulingStatus.class); + referentialBinderBuilder.put(BaitHaulingStatusDto.class, new BaitHaulingStatusBinder()); + } + + @Override + public void initBaitSettingStatusDto() { + referentialDtoToEntityTypeBuilder.put(BaitSettingStatusDto.class, BaitSettingStatus.class); + referentialBinderBuilder.put(BaitSettingStatusDto.class, new BaitSettingStatusBinder()); + } + + @Override + public void initBaitTypeDto() { + referentialDtoToEntityTypeBuilder.put(BaitTypeDto.class, BaitType.class); + referentialBinderBuilder.put(BaitTypeDto.class, new BaitTypeBinder()); + } + + @Override + public void initCatchFateLonglineDto() { + referentialDtoToEntityTypeBuilder.put(CatchFateLonglineDto.class, CatchFateLongline.class); + referentialBinderBuilder.put(CatchFateLonglineDto.class, new CatchFateLonglineBinder()); + } + + @Override + public void initEncounterTypeDto() { + referentialDtoToEntityTypeBuilder.put(EncounterTypeDto.class, EncounterType.class); + referentialBinderBuilder.put(EncounterTypeDto.class, new EncounterTypeBinder()); + } + + @Override + public void initHealthnessDto() { + referentialDtoToEntityTypeBuilder.put(HealthnessDto.class, Healthness.class); + referentialBinderBuilder.put(HealthnessDto.class, new HealthnessBinder()); + } + + @Override + public void initHookPositionDto() { + referentialDtoToEntityTypeBuilder.put(HookPositionDto.class, HookPosition.class); + referentialBinderBuilder.put(HookPositionDto.class, new HookPositionBinder()); + } + + @Override + public void initHookSizeDto() { + referentialDtoToEntityTypeBuilder.put(HookSizeDto.class, HookSize.class); + referentialBinderBuilder.put(HookSizeDto.class, new HookSizeBinder()); + } + + @Override + public void initHookTypeDto() { + referentialDtoToEntityTypeBuilder.put(HookTypeDto.class, HookType.class); + referentialBinderBuilder.put(HookTypeDto.class, new HookTypeBinder()); + } + + @Override + public void initItemHorizontalPositionDto() { + referentialDtoToEntityTypeBuilder.put(ItemHorizontalPositionDto.class, ItemHorizontalPosition.class); + referentialBinderBuilder.put(ItemHorizontalPositionDto.class, new ItemHorizontalPositionBinder()); + } + + @Override + public void initItemVerticalPositionDto() { + referentialDtoToEntityTypeBuilder.put(ItemVerticalPositionDto.class, ItemVerticalPosition.class); + referentialBinderBuilder.put(ItemVerticalPositionDto.class, new ItemVerticalPositionBinder()); + } + + @Override + public void initLightsticksColorDto() { + referentialDtoToEntityTypeBuilder.put(LightsticksColorDto.class, LightsticksColor.class); + referentialBinderBuilder.put(LightsticksColorDto.class, new LightsticksColorBinder()); + } + + @Override + public void initLightsticksTypeDto() { + referentialDtoToEntityTypeBuilder.put(LightsticksTypeDto.class, LightsticksType.class); + referentialBinderBuilder.put(LightsticksTypeDto.class, new LightsticksTypeBinder()); + } + + @Override + public void initLineTypeDto() { + referentialDtoToEntityTypeBuilder.put(LineTypeDto.class, LineType.class); + referentialBinderBuilder.put(LineTypeDto.class, new LineTypeBinder()); + } + + @Override + public void initMaturityStatusDto() { + referentialDtoToEntityTypeBuilder.put(MaturityStatusDto.class, MaturityStatus.class); + referentialBinderBuilder.put(MaturityStatusDto.class, new MaturityStatusBinder()); + } + + @Override + public void initMitigationTypeDto() { + referentialDtoToEntityTypeBuilder.put(MitigationTypeDto.class, MitigationType.class); + referentialBinderBuilder.put(MitigationTypeDto.class, new MitigationTypeBinder()); + } + + @Override + public void initSensorBrandDto() { + referentialDtoToEntityTypeBuilder.put(SensorBrandDto.class, SensorBrand.class); + referentialBinderBuilder.put(SensorBrandDto.class, new SensorBrandBinder()); + } + + @Override + public void initSensorDataFormatDto() { + referentialDtoToEntityTypeBuilder.put(SensorDataFormatDto.class, SensorDataFormat.class); + referentialBinderBuilder.put(SensorDataFormatDto.class, new SensorDataFormatBinder()); + } + + @Override + public void initSensorTypeDto() { + referentialDtoToEntityTypeBuilder.put(SensorTypeDto.class, SensorType.class); + referentialBinderBuilder.put(SensorTypeDto.class, new SensorTypeBinder()); + } + + @Override + public void initSettingShapeDto() { + referentialDtoToEntityTypeBuilder.put(SettingShapeDto.class, SettingShape.class); + referentialBinderBuilder.put(SettingShapeDto.class, new SettingShapeBinder()); + } + + @Override + public void initSizeMeasureTypeDto() { + referentialDtoToEntityTypeBuilder.put(SizeMeasureTypeDto.class, SizeMeasureType.class); + referentialBinderBuilder.put(SizeMeasureTypeDto.class, new SizeMeasureTypeBinder()); + } + + @Override + public void initStomacFullnessDto() { + referentialDtoToEntityTypeBuilder.put(StomacFullnessDto.class, StomacFullness.class); + referentialBinderBuilder.put(StomacFullnessDto.class, new StomacFullnessBinder()); + } + + @Override + public void initTripTypeDto() { + referentialDtoToEntityTypeBuilder.put(TripTypeDto.class, TripType.class); + referentialBinderBuilder.put(TripTypeDto.class, new TripTypeBinder()); + } + + @Override + public void initVesselActivityLonglineDto() { + referentialDtoToEntityTypeBuilder.put(VesselActivityLonglineDto.class, VesselActivityLongline.class); + referentialBinderBuilder.put(VesselActivityLonglineDto.class, new VesselActivityLonglineBinder()); + } + + @Override + public void initWeightMeasureTypeDto() { + referentialDtoToEntityTypeBuilder.put(WeightMeasureTypeDto.class, WeightMeasureType.class); + referentialBinderBuilder.put(WeightMeasureTypeDto.class, new WeightMeasureTypeBinder()); + } + + @Override + public void initDetectionModeDto() { + referentialDtoToEntityTypeBuilder.put(DetectionModeDto.class, DetectionMode.class); + referentialBinderBuilder.put(DetectionModeDto.class, new DetectionModeBinder()); + } + + @Override + public void initObjectFateDto() { + referentialDtoToEntityTypeBuilder.put(ObjectFateDto.class, ObjectFate.class); + referentialBinderBuilder.put(ObjectFateDto.class, new ObjectFateBinder()); + } + + @Override + public void initObjectOperationDto() { + referentialDtoToEntityTypeBuilder.put(ObjectOperationDto.class, ObjectOperation.class); + referentialBinderBuilder.put(ObjectOperationDto.class, new ObjectOperationBinder()); + } + + @Override + public void initObjectTypeDto() { + referentialDtoToEntityTypeBuilder.put(ObjectTypeDto.class, ObjectType.class); + referentialBinderBuilder.put(ObjectTypeDto.class, new ObjectTypeBinder()); + } + + @Override + public void initObservedSystemDto() { + referentialDtoToEntityTypeBuilder.put(ObservedSystemDto.class, ObservedSystem.class); + referentialBinderBuilder.put(ObservedSystemDto.class, new ObservedSystemBinder()); + } + + @Override + public void initReasonForDiscardDto() { + referentialDtoToEntityTypeBuilder.put(ReasonForDiscardDto.class, ReasonForDiscard.class); + referentialBinderBuilder.put(ReasonForDiscardDto.class, new ReasonForDiscardBinder()); + } + + @Override + public void initReasonForNoFishingDto() { + referentialDtoToEntityTypeBuilder.put(ReasonForNoFishingDto.class, ReasonForNoFishing.class); + referentialBinderBuilder.put(ReasonForNoFishingDto.class, new ReasonForNoFishingBinder()); + } + + @Override + public void initReasonForNullSetDto() { + referentialDtoToEntityTypeBuilder.put(ReasonForNullSetDto.class, ReasonForNullSet.class); + referentialBinderBuilder.put(ReasonForNullSetDto.class, new ReasonForNullSetBinder()); + } + + @Override + public void initSpeciesFateDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesFateDto.class, SpeciesFate.class); + referentialBinderBuilder.put(SpeciesFateDto.class, new SpeciesFateBinder()); + } + + @Override + public void initSpeciesStatusDto() { + referentialDtoToEntityTypeBuilder.put(SpeciesStatusDto.class, SpeciesStatus.class); + referentialBinderBuilder.put(SpeciesStatusDto.class, new SpeciesStatusBinder()); + } + + @Override + public void initSurroundingActivityDto() { + referentialDtoToEntityTypeBuilder.put(SurroundingActivityDto.class, SurroundingActivity.class); + referentialBinderBuilder.put(SurroundingActivityDto.class, new SurroundingActivityBinder()); + } + + @Override + public void initTransmittingBuoyOperationDto() { + referentialDtoToEntityTypeBuilder.put(TransmittingBuoyOperationDto.class, TransmittingBuoyOperation.class); + referentialBinderBuilder.put(TransmittingBuoyOperationDto.class, new TransmittingBuoyOperationBinder()); + } + + @Override + public void initTransmittingBuoyTypeDto() { + referentialDtoToEntityTypeBuilder.put(TransmittingBuoyTypeDto.class, TransmittingBuoyType.class); + referentialBinderBuilder.put(TransmittingBuoyTypeDto.class, new TransmittingBuoyTypeBinder()); + } + + @Override + public void initVesselActivitySeineDto() { + referentialDtoToEntityTypeBuilder.put(VesselActivitySeineDto.class, VesselActivitySeine.class); + referentialBinderBuilder.put(VesselActivitySeineDto.class, new VesselActivitySeineBinder()); + } + + @Override + public void initWeightCategoryDto() { + referentialDtoToEntityTypeBuilder.put(WeightCategoryDto.class, WeightCategory.class); + referentialBinderBuilder.put(WeightCategoryDto.class, new WeightCategoryBinder()); + } + + @Override + public void initWindDto() { + referentialDtoToEntityTypeBuilder.put(WindDto.class, Wind.class); + referentialBinderBuilder.put(WindDto.class, new WindBinder()); + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java new file mode 100644 index 0000000..b31812e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java @@ -0,0 +1,272 @@ +package fr.ird.observe.services.binder; + +import com.google.common.base.Function; +import com.google.common.collect.Iterables; +import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.entities.constants.ReferenceStatus; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; +import fr.ird.observe.entities.referentiel.I18nReferenceEntity; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.constants.GearType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource; +import fr.ird.observe.services.dto.constants.seine.Ownership; +import fr.ird.observe.services.dto.constants.seine.SchoolType; +import fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation; +import fr.ird.observe.services.dto.referential.I18nReferentialDto; +import fr.ird.observe.services.dto.referential.I18nReferentialDtos; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import org.apache.commons.collections4.CollectionUtils; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.List; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { + + protected static final Function<GearType, fr.ird.observe.entities.constants.GearType> GEAR_TYPE_TO_ENTITY = new Function<GearType, fr.ird.observe.entities.constants.GearType>() { + + @Override + public fr.ird.observe.entities.constants.GearType apply(GearType input) { + return fr.ird.observe.entities.constants.GearType.valueOf(input.name()); + } + }; + + protected static final Function<fr.ird.observe.services.dto.constants.ReferenceStatus, ReferenceStatus> REFERENCE_STATUS_TO_ENTITY = new Function<fr.ird.observe.services.dto.constants.ReferenceStatus, ReferenceStatus>() { + + @Override + public ReferenceStatus apply(fr.ird.observe.services.dto.constants.ReferenceStatus input) { + return ReferenceStatus.valueOf(input.name()); + } + }; + + protected static final Function<Ownership, fr.ird.observe.entities.constants.seine.Ownership> OWNERSHIP_TO_ENTITY = new Function<Ownership, fr.ird.observe.entities.constants.seine.Ownership>() { + + @Override + public fr.ird.observe.entities.constants.seine.Ownership apply(Ownership input) { + return input == null ? null : fr.ird.observe.entities.constants.seine.Ownership.valueOf(input.name()); + } + }; + + protected static final Function<SchoolType, fr.ird.observe.entities.constants.seine.SchoolType> SCHOOL_TYPE_TO_ENTITY = new Function<SchoolType, fr.ird.observe.entities.constants.seine.SchoolType>() { + + @Override + public fr.ird.observe.entities.constants.seine.SchoolType apply(SchoolType input) { + return input == null ? null : fr.ird.observe.entities.constants.seine.SchoolType.valueOf(input.name()); + } + }; + + protected static final Function<TypeTransmittingBuoyOperation, fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation> TYPE_TRANSMITTING_BUOY_OPERATION_TO_ENTITY = new Function<TypeTransmittingBuoyOperation, fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation>() { + + @Override + public fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation apply(TypeTransmittingBuoyOperation input) { + return input == null ? null : fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation.valueOf(input.name()); + } + }; + + protected static final Function<NonTargetCatchComputedValueSource, fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource> NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY = new Function<NonTargetCatchComputedValueSource, fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource>() { + + @Override + public fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource apply(NonTargetCatchComputedValueSource input) { + return input == null ? null : fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource.valueOf(input.name()); + } + }; + + protected static final Function<fr.ird.observe.entities.constants.GearType, fr.ird.observe.services.dto.constants.GearType> GEAR_TYPE_TO_DTO = new Function<fr.ird.observe.entities.constants.GearType, fr.ird.observe.services.dto.constants.GearType>() { + + @Override + public fr.ird.observe.services.dto.constants.GearType apply(fr.ird.observe.entities.constants.GearType input) { + return input == null ? null : fr.ird.observe.services.dto.constants.GearType.valueOf(input.name()); + } + }; + + protected static final Function<ReferenceStatus, fr.ird.observe.services.dto.constants.ReferenceStatus> REFERENCE_STATUS_TO_DTO = new Function<ReferenceStatus, fr.ird.observe.services.dto.constants.ReferenceStatus>() { + + @Override + public fr.ird.observe.services.dto.constants.ReferenceStatus apply(ReferenceStatus input) { + return input == null ? null : fr.ird.observe.services.dto.constants.ReferenceStatus.valueOf(input.name()); + } + }; + + protected static final Function<fr.ird.observe.entities.constants.seine.Ownership, fr.ird.observe.services.dto.constants.seine.Ownership> OWNERSHIP_TO_DTO = new Function<fr.ird.observe.entities.constants.seine.Ownership, fr.ird.observe.services.dto.constants.seine.Ownership>() { + + @Override + public fr.ird.observe.services.dto.constants.seine.Ownership apply(fr.ird.observe.entities.constants.seine.Ownership input) { + return input == null ? null : fr.ird.observe.services.dto.constants.seine.Ownership.valueOf(input.name()); + } + }; + + protected static final Function<fr.ird.observe.entities.constants.seine.SchoolType, fr.ird.observe.services.dto.constants.seine.SchoolType> SCHOOL_TYPE_TO_DTO = new Function<fr.ird.observe.entities.constants.seine.SchoolType, fr.ird.observe.services.dto.constants.seine.SchoolType>() { + + @Override + public fr.ird.observe.services.dto.constants.seine.SchoolType apply(fr.ird.observe.entities.constants.seine.SchoolType input) { + return input == null ? null : fr.ird.observe.services.dto.constants.seine.SchoolType.valueOf(input.name()); + } + }; + +// protected static final Function<fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation, fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation> TRANSMITTING_BUOY_OPERATION_TO_DTO = new Function<fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation, fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation>() { +// +// @Override +// public fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation apply(fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation input) { +// return input == null ? null : fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation.valueOf(input.name()); +// } +// }; + + protected static final Function<fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource, fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource> NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO = new Function<fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource, fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource>() { + + @Override + public fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource apply(fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource input) { + return input == null ? null : fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource.valueOf(input.name()); + } + }; + + protected final Class<E> entityType; + + protected final Class<D> dtoType; + + protected BinderSupport(Class<E> entityType, Class<D> dtoType) { + this.entityType = entityType; + this.dtoType = dtoType; + } + + public abstract void copyToEntity(ReferentialLocale referentialLocale, D dto, E entity); + + public abstract void copyToDto(ReferentialLocale referentialLocale, E entity, D dto); + + // -------------------------------------------------------------------------------------------------------------- // + // -- REFERENTIAL → ENTITY -------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected <DD extends ReferentialDto, EE extends ReferenceEntity> EE toEntity(ReferentialReference<DD> reference, Class<EE> entityType) { + + EE entity = null; + + if (reference != null) { + + ReferentialBinderSupport<EE, DD> binder = BinderEngine.get().getReferentialBinder(reference.getType()); + + entity = binder.toEntity(reference); + +// entity = newEntity(entityType); +// entity.setTopiaId(reference.getId()); +// entity.setStatus(reference.isEnabled() ? ReferenceStatus.enabled : ReferenceStatus.disabled); +// entity.setNeedComment(reference.isNeedComment()); +// entity.setLastUpdate(reference.getLastUpdate()); + + } + + return entity; + + } + + protected <DD extends ReferentialDto, EE extends ReferenceEntity> LinkedHashSet<EE> toEntitySet(Collection<ReferentialReference<DD>> references, Class<EE> entityType) { + + LinkedHashSet<EE> entityList = null; + if (CollectionUtils.isNotEmpty(references)) { + + entityList = new LinkedHashSet<>(references.size()); + + ReferentialReference<DD> firstReference = Iterables.get(references, 0, null); + Class<DD> type = firstReference.getType(); + ReferentialBinderSupport<EE, DD> binder = BinderEngine.get().getReferentialBinder(type); + + for (ReferentialReference<DD> reference : references) { + + EE entity = binder.toEntity(reference); + entityList.add(entity); + + } + + } + return entityList; + + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- ENTITY → REFERENTIAL -------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected <EE extends ReferenceEntity, DD extends ReferentialDto> ReferentialReference<DD> toReferentialReference(ReferentialLocale referentialLocale, EE entity, Class<DD> dtoType) { + + ReferentialReference<DD> reference = null; + if (entity != null) { + + ReferentialBinderSupport<EE, DD> binder = BinderEngine.get().getReferentialBinder(dtoType); + reference = binder.toReferentialReference(referentialLocale, entity); + + } + return reference; + + } + + protected <EE extends ReferenceEntity, DD extends ReferentialDto> List<ReferentialReference<DD>> toReferentialReferenceList(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { + + List<ReferentialReference<DD>> references = null; + if (CollectionUtils.isNotEmpty(entities)) { + + references = new ArrayList<>(entities.size()); + + ReferentialBinderSupport<EE, DD> binder = BinderEngine.get().getReferentialBinder(dtoType); + + for (EE entity : entities) { + + ReferentialReference<DD> reference = binder.toReferentialReference(referentialLocale, entity); + references.add(reference); + + } + + } + return references; + + } + + + // -------------------------------------------------------------------------------------------------------------- // + // -- LABELS ---------------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected String getLabel(ReferentialLocale locale, I18nReferenceEntity entity) { + return I18nReferenceEntities.getLabel(locale.ordinal(), entity); + } + + protected String getLabel(ReferentialLocale locale, I18nReferentialDto dto) { + return I18nReferentialDtos.decorate(locale.ordinal(), dto); + } + + protected String getLabel(ReferentialLocale locale, ReferentialReference dto) { + return (String) dto.getPropertyValue(ReferentialReference.PROPERTY_LABEL); + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- CREER DES ENTITY OU DTO ----------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected E newEntity() { + try { + E entity = (E) ObserveEntityEnum.valueOf(entityType).getImplementation().newInstance(); + return entity; + } catch (InstantiationException | IllegalAccessException e) { + throw new RuntimeException("What ever"); + } + } + + protected D newDto() { + try { + D dto = dtoType.newInstance(); + return dto; + } catch (InstantiationException | IllegalAccessException e) { + throw new RuntimeException("What ever"); + } + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java new file mode 100644 index 0000000..2743023 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java @@ -0,0 +1,71 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.referentiel.FpaZone; +import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivityLonglineBinder extends DataBinderSupport<ActivityLongline, ActivityLonglineDto> { + + public ActivityLonglineBinder() { + super(ActivityLongline.class, ActivityLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setTimeStamp(dto.getTimeStamp()); + entity.setLatitude(dto.getLatitude()); + entity.setLongitude(dto.getLongitude()); + entity.setSeaSurfaceTemperature(dto.getSeaSurfaceTemperature()); + entity.setVesselActivityLongline(toEntity(dto.getVesselActivityLongline(), VesselActivityLongline.class)); + entity.setFpaZone(toEntity(dto.getFpaZone(), FpaZone.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setTimeStamp(entity.getTimeStamp()); + dto.setLatitude(entity.getLatitude()); + dto.setLongitude(entity.getLongitude()); + dto.setSeaSurfaceTemperature(entity.getSeaSurfaceTemperature()); + dto.setVesselActivityLongline(toReferentialReference(referentialLocale, entity.getVesselActivityLongline(), VesselActivityLonglineDto.class)); + dto.setFpaZone(toReferentialReference(referentialLocale, entity.getFpaZone(), FpaZoneDto.class)); + + } + + @Override + public DataReference<ActivityLonglineDto> toDataReference(ReferentialLocale referentialLocale, ActivityLongline entity) { + + return toDataReference(entity, + entity.getTimeStamp(), + getLabel(referentialLocale, entity.getVesselActivityLongline())); + + } + + @Override + public DataReference<ActivityLonglineDto> toDataReference(ReferentialLocale referentialLocale, ActivityLonglineDto dto) { + + return toDataReference(dto, + dto.getTimeStamp(), + getLabel(referentialLocale, dto.getVesselActivityLongline())); + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java new file mode 100644 index 0000000..b8e3eb8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java @@ -0,0 +1,56 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.Encounter; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.longline.EncounterDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivityLonglineEncouterDtoBinder extends DataBinderSupport<ActivityLongline, ActivityLonglineEncouterDto> { + + public ActivityLonglineEncouterDtoBinder() { + super(ActivityLongline.class, ActivityLonglineEncouterDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineEncouterDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setEncounter(toEntitySet(referentialLocale, dto.getEncounter(), Encounter.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineEncouterDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setEncounter(toLinkedHashSetData(referentialLocale, entity.getEncounter(), EncounterDto.class)); + + } + + @Override + public DataReference<ActivityLonglineEncouterDto> toDataReference(ReferentialLocale referentialLocale, ActivityLongline entity) { + + return toDataReference(entity); + + } + + @Override + public DataReference<ActivityLonglineEncouterDto> toDataReference(ReferentialLocale referentialLocale, ActivityLonglineEncouterDto dto) { + + return toDataReference(dto); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java new file mode 100644 index 0000000..b2093c2 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java @@ -0,0 +1,42 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.SensorUsed; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; +import fr.ird.observe.services.dto.longline.SensorUsedDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivityLonglineSensorUsedDtoBinder extends DataBinderSupport<ActivityLongline, ActivityLonglineSensorUsedDto> { + + public ActivityLonglineSensorUsedDtoBinder() { + super(ActivityLongline.class, ActivityLonglineSensorUsedDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineSensorUsedDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setSensorUsed(toEntitySet(referentialLocale, dto.getSensorUsed(), SensorUsed.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineSensorUsedDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setSensorUsed(toLinkedHashSetData(referentialLocale, entity.getSensorUsed(), SensorUsedDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineStubDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineStubDtoBinder.java new file mode 100644 index 0000000..30c2f1a --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineStubDtoBinder.java @@ -0,0 +1,37 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivityLonglineStubDtoBinder extends DataBinderSupport<ActivityLongline, ActivityLonglineStubDto> { + + public ActivityLonglineStubDtoBinder() { + super(ActivityLongline.class, ActivityLonglineStubDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineStubDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineStubDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setVesselActivityLonglineLabel(getLabel(referentialLocale, entity.getVesselActivityLongline())); + dto.setHasSetLongline(entity.getSetLongline() != null); + dto.setTimeStamp(entity.getTimeStamp()); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java new file mode 100644 index 0000000..5b3cfef --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java @@ -0,0 +1,99 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.FpaZone; +import fr.ird.observe.entities.referentiel.seine.DetectionMode; +import fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing; +import fr.ird.observe.entities.referentiel.seine.SurroundingActivity; +import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; +import fr.ird.observe.entities.referentiel.seine.Wind; +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; +import fr.ird.observe.services.dto.referential.seine.WindDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, ActivitySeineDto> { + + public ActivitySeineBinder() { + super(ActivitySeine.class, ActivitySeineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineDto dto, ActivitySeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setTime(dto.getTime()); + entity.setLatitude(dto.getLatitude()); + entity.setLongitude(dto.getLongitude()); + entity.setVesselSpeed(dto.getVesselSpeed()); + entity.setSeaSurfaceTemperature(dto.getSeaSurfaceTemperature()); + entity.setObservedSystemDistance(dto.getObservedSystemDistance()); + entity.setErsId(dto.getErsId()); + entity.setVesselActivitySeine(toEntity(dto.getVesselActivitySeine(), VesselActivitySeine.class)); + entity.setSurroundingActivity(toEntity(dto.getSurroundingActivity(), SurroundingActivity.class)); + entity.setWind(toEntity(dto.getWind(), Wind.class)); + entity.setDetectionMode(toEntity(dto.getDetectionMode(), DetectionMode.class)); + entity.setReasonForNoFishing(toEntity(dto.getReasonForNoFishing(), ReasonForNoFishing.class)); + entity.setCurrentFpaZone(toEntity(dto.getCurrentFpaZone(), FpaZone.class)); + entity.setPreviousFpaZone(toEntity(dto.getPreviousFpaZone(), FpaZone.class)); + entity.setNextFpaZone(toEntity(dto.getNextFpaZone(), FpaZone.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setTime(dto.getTime()); + dto.setLatitude(dto.getLatitude()); + dto.setLongitude(dto.getLongitude()); + dto.setVesselSpeed(dto.getVesselSpeed()); + dto.setSeaSurfaceTemperature(dto.getSeaSurfaceTemperature()); + dto.setObservedSystemDistance(dto.getObservedSystemDistance()); + dto.setErsId(dto.getErsId()); + dto.setVesselActivitySeine(toReferentialReference(referentialLocale, entity.getVesselActivitySeine(), VesselActivitySeineDto.class)); + dto.setSurroundingActivity(toReferentialReference(referentialLocale, entity.getSurroundingActivity(), SurroundingActivityDto.class)); + dto.setWind(toReferentialReference(referentialLocale, entity.getWind(), WindDto.class)); + dto.setDetectionMode(toReferentialReference(referentialLocale, entity.getDetectionMode(), DetectionModeDto.class)); + dto.setReasonForNoFishing(toReferentialReference(referentialLocale, entity.getReasonForNoFishing(), ReasonForNoFishingDto.class)); + dto.setCurrentFpaZone(toReferentialReference(referentialLocale, entity.getCurrentFpaZone(), FpaZoneDto.class)); + dto.setPreviousFpaZone(toReferentialReference(referentialLocale, entity.getPreviousFpaZone(), FpaZoneDto.class)); + dto.setNextFpaZone(toReferentialReference(referentialLocale, entity.getNextFpaZone(), FpaZoneDto.class)); + + } + + @Override + public DataReference<ActivitySeineDto> toDataReference(ReferentialLocale referentialLocale, ActivitySeine entity) { + + return toDataReference(entity, + entity.getTime(), + getLabel(referentialLocale, entity.getVesselActivitySeine())); + + } + + @Override + public DataReference<ActivitySeineDto> toDataReference(ReferentialLocale referentialLocale, ActivitySeineDto dto) { + + return toDataReference(dto, + dto.getTime(), + getLabel(referentialLocale, dto.getVesselActivitySeine())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineObservedSystemDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineObservedSystemDtoBinder.java new file mode 100644 index 0000000..352d0f0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineObservedSystemDtoBinder.java @@ -0,0 +1,42 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.seine.ObservedSystem; +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivitySeineObservedSystemDtoBinder extends DataBinderSupport<ActivitySeine, ActivitySeineObservedSystemDto> { + + public ActivitySeineObservedSystemDtoBinder() { + super(ActivitySeine.class, ActivitySeineObservedSystemDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineObservedSystemDto dto, ActivitySeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setObservedSystem(toEntitySet(dto.getObservedSystem(), ObservedSystem.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineObservedSystemDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setObservedSystem(toReferentialReferenceList(referentialLocale, entity.getObservedSystem(), ObservedSystemDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineStubDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineStubDtoBinder.java new file mode 100644 index 0000000..e9b98f4 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineStubDtoBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.entities.seine.ActivitySeineImpl; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ActivitySeineStubDtoBinder extends DataBinderSupport<ActivitySeine, ActivitySeineStubDto> { + + public ActivitySeineStubDtoBinder() { + super(ActivitySeine.class, ActivitySeineStubDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineStubDto dto, ActivitySeine entity) { + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineStubDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setTime(entity.getTime()); + dto.setTime(entity.getLastUpdate()); + dto.setLatitude(entity.getLatitude()); + dto.setLongitude(entity.getLongitude()); + + boolean isFindeVeille = entity.getVesselActivitySeine() != null + && ActivitySeineImpl.ACTIVITY_FIN_DE_VEILLE.equals(entity.getVesselActivitySeine().getCode()); + + dto.setActivityFinDeVeille(isFindeVeille); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BaitsCompositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BaitsCompositionBinder.java new file mode 100644 index 0000000..087b809 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BaitsCompositionBinder.java @@ -0,0 +1,48 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.BaitsComposition; +import fr.ird.observe.entities.referentiel.longline.BaitSettingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BaitsCompositionBinder extends DataBinderSupport<BaitsComposition, BaitsCompositionDto> { + + public BaitsCompositionBinder() { + super(BaitsComposition.class, BaitsCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BaitsCompositionDto dto, BaitsComposition entity) { + + entity.setTopiaId(dto.getId()); + + entity.setProportion(dto.getProportion()); + entity.setIndividualSize(dto.getIndividualSize()); + entity.setIndividualWeight(dto.getIndividualWeight()); + entity.setBaitSettingStatus(toEntity(dto.getBaitSettingStatus(), BaitSettingStatus.class)); + entity.setBaitType(toEntity(dto.getBaitType(), BaitType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BaitsComposition entity, BaitsCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setProportion(entity.getProportion()); + dto.setIndividualSize(entity.getIndividualSize()); + dto.setIndividualWeight(entity.getIndividualWeight()); + dto.setBaitSettingStatus(toReferentialReference(referentialLocale, entity.getBaitSettingStatus(), BaitSettingStatusDto.class)); + dto.setBaitType(toReferentialReference(referentialLocale, entity.getBaitType(), BaitTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java new file mode 100644 index 0000000..240ba73 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BasketBinder extends DataBinderSupport<Basket, BasketDto> { + + public BasketBinder() { + super(Basket.class, BasketDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BasketDto dto, Basket entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSettingIdentifier(dto.getSettingIdentifier()); + entity.setHaulingIdentifier(dto.getHaulingIdentifier()); + entity.setFloatline1Length(dto.getFloatline1Length()); + entity.setFloatline2Length(dto.getFloatline2Length()); + entity.setBranchline(toEntitySet(referentialLocale, dto.getBranchline(), Branchline.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Basket entity, BasketDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setSettingIdentifier(entity.getSettingIdentifier()); + dto.setHaulingIdentifier(entity.getHaulingIdentifier()); + dto.setFloatline1Length(entity.getFloatline1Length()); + dto.setFloatline2Length(entity.getFloatline2Length()); + dto.setBranchline(toLinkedHashSetData(referentialLocale, entity.getBranchline(), BranchlineDto.class)); + + } + + @Override + public DataReference<BasketDto> toDataReference(ReferentialLocale referentialLocale, Basket entity) { + + return toDataReference(entity, entity.getHaulingIdentifier(), entity.getSettingIdentifier()); + + } + + @Override + public DataReference<BasketDto> toDataReference(ReferentialLocale referentialLocale, BasketDto dto) { + + return toDataReference(dto, dto.getHaulingIdentifier(), dto.getSettingIdentifier()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlineBinder.java new file mode 100644 index 0000000..03dec1a --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlineBinder.java @@ -0,0 +1,108 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitSettingStatus; +import fr.ird.observe.entities.referentiel.longline.BaitType; +import fr.ird.observe.entities.referentiel.longline.HookSize; +import fr.ird.observe.entities.referentiel.longline.HookType; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BranchlineBinder extends DataBinderSupport<Branchline, BranchlineDto> { + + public BranchlineBinder() { + super(Branchline.class, BranchlineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BranchlineDto dto, Branchline entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setSettingIdentifier(dto.getSettingIdentifier()); + entity.setHaulingIdentifier(dto.getHaulingIdentifier()); + + entity.setDepthRecorder(dto.getDepthRecorder()); + entity.setTimer(dto.getTimer()); + entity.setTimeSinceContact(dto.getTimeSinceContact()); + entity.setHookOffset(dto.getHookOffset()); + entity.setBranchlineLength(dto.getBranchlineLength()); + entity.setWeightedSwivel(dto.getWeightedSwivel()); + entity.setTimerTimeOnBoard(dto.getTimerTimeOnBoard()); + entity.setWeightedSnap(dto.getWeightedSnap()); + entity.setSwivelWeight(dto.getSwivelWeight()); + entity.setSnapWeight(dto.getSnapWeight()); + entity.setTracelineLength(dto.getTracelineLength()); + entity.setHookLost(dto.getHookLost()); + entity.setTraceCutOff(dto.getTraceCutOff()); + entity.setHookType(toEntity(dto.getHookType(), HookType.class)); + entity.setBaitType(toEntity(dto.getBaitType(), BaitType.class)); + entity.setTopType(toEntity(dto.getTopType(), LineType.class)); + entity.setTracelineType(toEntity(dto.getTracelineType(), LineType.class)); + entity.setBaitSettingStatus(toEntity(dto.getBaitSettingStatus(), BaitSettingStatus.class)); + entity.setBaitHaulingStatus(toEntity(dto.getBaitHaulingStatus(), BaitHaulingStatus.class)); + entity.setHookSize(toEntity(dto.getHookSize(), HookSize.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Branchline entity, BranchlineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setSettingIdentifier(entity.getSettingIdentifier()); + dto.setHaulingIdentifier(entity.getHaulingIdentifier()); + + dto.setDepthRecorder(entity.getDepthRecorder()); + dto.setTimer(entity.getTimer()); + dto.setTimeSinceContact(entity.getTimeSinceContact()); + dto.setHookOffset(entity.getHookOffset()); + dto.setBranchlineLength(entity.getBranchlineLength()); + dto.setWeightedSwivel(entity.getWeightedSwivel()); + dto.setTimerTimeOnBoard(entity.getTimerTimeOnBoard()); + dto.setWeightedSnap(entity.getWeightedSnap()); + dto.setSwivelWeight(entity.getSwivelWeight()); + dto.setSnapWeight(entity.getSnapWeight()); + dto.setTracelineLength(entity.getTracelineLength()); + dto.setHookLost(entity.getHookLost()); + dto.setTraceCutOff(entity.getTraceCutOff()); + dto.setHookType(toReferentialReference(referentialLocale, entity.getHookType(), HookTypeDto.class)); + dto.setBaitType(toReferentialReference(referentialLocale, entity.getBaitType(), BaitTypeDto.class)); + dto.setTopType(toReferentialReference(referentialLocale, entity.getTopType(), LineTypeDto.class)); + dto.setTracelineType(toReferentialReference(referentialLocale, entity.getTracelineType(), LineTypeDto.class)); + dto.setBaitSettingStatus(toReferentialReference(referentialLocale, entity.getBaitSettingStatus(), BaitSettingStatusDto.class)); + dto.setBaitHaulingStatus(toReferentialReference(referentialLocale, entity.getBaitHaulingStatus(), BaitHaulingStatusDto.class)); + dto.setHookSize(toReferentialReference(referentialLocale, entity.getHookSize(), HookSizeDto.class)); + + } + + @Override + public DataReference<BranchlineDto> toDataReference(ReferentialLocale referentialLocale, Branchline entity) { + + return toDataReference(entity, entity.getHaulingIdentifier(), entity.getSettingIdentifier()); + + } + + @Override + public DataReference<BranchlineDto> toDataReference(ReferentialLocale referentialLocale, BranchlineDto dto) { + + return toDataReference(dto, dto.getHaulingIdentifier(), dto.getSettingIdentifier()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlinesCompositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlinesCompositionBinder.java new file mode 100644 index 0000000..1452288 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BranchlinesCompositionBinder.java @@ -0,0 +1,44 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.BranchlinesComposition; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BranchlinesCompositionBinder extends DataBinderSupport<BranchlinesComposition, BranchlinesCompositionDto> { + + public BranchlinesCompositionBinder() { + super(BranchlinesComposition.class, BranchlinesCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BranchlinesCompositionDto dto, BranchlinesComposition entity) { + + entity.setTopiaId(dto.getId()); + + entity.setLength(dto.getLength()); + entity.setProportion(dto.getProportion()); + entity.setTopType(toEntity(dto.getTopType(), LineType.class)); + entity.setTracelineType(toEntity(dto.getTracelineType(), LineType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BranchlinesComposition entity, BranchlinesCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setLength(entity.getLength()); + dto.setProportion(entity.getProportion()); + dto.setTopType(toReferentialReference(referentialLocale, entity.getTopType(), LineTypeDto.class)); + dto.setTracelineType(toReferentialReference(referentialLocale, entity.getTracelineType(), LineTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java new file mode 100644 index 0000000..e081003 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java @@ -0,0 +1,123 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.CatchLongline; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.SizeMeasure; +import fr.ird.observe.entities.longline.WeightMeasure; +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.longline.CatchFateLongline; +import fr.ird.observe.entities.referentiel.longline.Healthness; +import fr.ird.observe.entities.referentiel.longline.HookPosition; +import fr.ird.observe.entities.referentiel.longline.MaturityStatus; +import fr.ird.observe.entities.referentiel.longline.StomacFullness; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class CatchLonglineBinder extends DataBinderSupport<CatchLongline, CatchLonglineDto> { + + public CatchLonglineBinder() { + super(CatchLongline.class, CatchLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, CatchLonglineDto dto, CatchLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setHomeId(dto.getHomeId()); + entity.setCount(dto.getCount()); + entity.setTotalWeight(dto.getTotalWeight()); + entity.setHookWhenDiscarded(dto.getHookWhenDiscarded()); + entity.setDepredated(dto.getDepredated()); + entity.setBeatDiameter(dto.getBeatDiameter()); + entity.setGonadeWeight(dto.getGonadeWeight()); + entity.setPhotoReferences(dto.getPhotoReferences()); + entity.setNumber(dto.getNumber()); + entity.setAcquisitionMode(dto.getAcquisitionMode()); + entity.setBasket(toEntity(dto.getBasket(), Basket.class)); + entity.setBranchline(toEntity(dto.getBranchline(), Branchline.class)); + entity.setSection(toEntity(dto.getSection(), Section.class)); + entity.setCatchFateLongline(toEntity(dto.getCatchFateLongline(), CatchFateLongline.class)); + entity.setDiscardHealthness(toEntity(dto.getDiscardHealthness(), Healthness.class)); + entity.setSpeciesCatch(toEntity(dto.getSpeciesCatch(), Species.class)); + entity.setMaturityStatus(toEntity(dto.getMaturityStatus(), MaturityStatus.class)); + entity.setStomacFullness(toEntity(dto.getStomacFullness(), StomacFullness.class)); + entity.setHookPosition(toEntity(dto.getHookPosition(), HookPosition.class)); + entity.setCatchHealthness(toEntity(dto.getCatchHealthness(), Healthness.class)); + entity.setSex(toEntity(dto.getSex(), Sex.class)); + entity.setSizeMeasure(toEntitySet(referentialLocale, dto.getSizeMeasure(), SizeMeasure.class)); + entity.setPredator(toEntitySet(dto.getPredator(), Species.class)); + entity.setWeightMeasure(toEntitySet(referentialLocale, dto.getWeightMeasure(), WeightMeasure.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, CatchLongline entity, CatchLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setHomeId(entity.getHomeId()); + dto.setCount(entity.getCount()); + dto.setTotalWeight(entity.getTotalWeight()); + dto.setHookWhenDiscarded(entity.getHookWhenDiscarded()); + dto.setDepredated(entity.getDepredated()); + dto.setBeatDiameter(entity.getBeatDiameter()); + dto.setGonadeWeight(entity.getGonadeWeight()); + dto.setPhotoReferences(entity.getPhotoReferences()); + dto.setNumber(entity.getNumber()); + dto.setAcquisitionMode(entity.getAcquisitionMode()); + dto.setBasket(toDataReference(referentialLocale, entity.getBasket(), BasketDto.class)); + dto.setBranchline(toDataReference(referentialLocale, entity.getBranchline(), BranchlineDto.class)); + dto.setSection(toDataReference(referentialLocale, entity.getSection(), SectionDto.class)); + dto.setCatchFateLongline(toReferentialReference(referentialLocale, entity.getCatchFateLongline(), CatchFateLonglineDto.class)); + dto.setDiscardHealthness(toReferentialReference(referentialLocale, entity.getDiscardHealthness(), HealthnessDto.class)); + dto.setSpeciesCatch(toReferentialReference(referentialLocale, entity.getSpeciesCatch(), SpeciesDto.class)); + dto.setMaturityStatus(toReferentialReference(referentialLocale, entity.getMaturityStatus(), MaturityStatusDto.class)); + dto.setStomacFullness(toReferentialReference(referentialLocale, entity.getStomacFullness(), StomacFullnessDto.class)); + dto.setHookPosition(toReferentialReference(referentialLocale, entity.getHookPosition(), HookPositionDto.class)); + dto.setCatchHealthness(toReferentialReference(referentialLocale, entity.getCatchHealthness(), HealthnessDto.class)); + dto.setSex(toReferentialReference(referentialLocale, entity.getSex(), SexDto.class)); + dto.setPredator(toReferentialReferenceList(referentialLocale, entity.getPredator(), SpeciesDto.class)); + dto.setSizeMeasure(toLinkedHashSetData(referentialLocale, entity.getSizeMeasure(), SizeMeasureDto.class)); + dto.setWeightMeasure(toLinkedHashSetData(referentialLocale, entity.getWeightMeasure(), WeightMeasureDto.class)); + + } + + @Override + public DataReference<CatchLonglineDto> toDataReference(ReferentialLocale referentialLocale, CatchLongline entity) { + + return toDataReference(entity, entity.getHomeId()); + + } + + @Override + public DataReference<CatchLonglineDto> toDataReference(ReferentialLocale referentialLocale, CatchLonglineDto dto) { + + return toDataReference(dto, dto.getHomeId()); + + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java new file mode 100644 index 0000000..9451502 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java @@ -0,0 +1,181 @@ +package fr.ird.observe.services.binder.data; + +import com.google.common.collect.Iterables; +import fr.ird.observe.services.binder.BinderEngine; +import fr.ird.observe.services.binder.BinderSupport; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.DataReferenceSetDefinitions; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import org.apache.commons.collections4.CollectionUtils; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.io.Serializable; +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto> extends BinderSupport<E, D> { + + protected final ReferenceSetDefinition<D> definition; + + protected DataBinderSupport(Class<E> entityType, Class<D> dtoType) { + super(entityType, dtoType); + ReferenceSetDefinition<D> def = null; + try { + def = DataReferenceSetDefinitions.getDefinition(dtoType); + } catch (Exception e) { + System.out.println(getClass().getName()); + } + this.definition + = def; + } + + protected DataBinderSupport(Class<E> entityType, Class<D> dtoType, boolean useDefinition) { + super(entityType, dtoType); + this.definition = useDefinition ? DataReferenceSetDefinitions.getDefinition(dtoType) : null; + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- ENTITY → DATA REFERENCE ----------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public DataReference<D> toDataReference(ReferentialLocale referentialLocale, E entity) { + throw new IllegalStateException("Not implemented"); + } + + public DataReference<D> toDataReference(ReferentialLocale referentialLocale, D dto) { + throw new IllegalStateException("Not implemented"); + } + + public D toData(ReferentialLocale referentialLocale, E entity) { + + D dto = newDto(); + copyToDto(referentialLocale, entity, dto); + return dto; + + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- DATA → DATA REFERENCE ------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public E toEntity(ReferentialLocale referentialLocale, D data) { + E entity = newEntity(); + copyToEntity(referentialLocale, data, entity); + return null; + } + + public E toEntity(DataReference<D> reference) { + E entity = newEntity(); + entity.setTopiaId(reference.getId()); + return entity; + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- ENTITY → DATA --------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected DataReference<D> toDataReference(E entity, Serializable... values) { + + DataReference<D> reference = new DataReference<>(); + + reference.setId(entity.getTopiaId()); + reference.setCreateDate(entity.getTopiaCreateDate()); + reference.setVersion(entity.getTopiaVersion()); + + reference.init(definition.getType(), definition.getPropertyNames(), values); + + return reference; + } + + protected <EE extends TopiaEntity, DD extends DataDto> DataReference<DD> toDataReference(ReferentialLocale referentialLocale, EE entity, Class<DD> dtoType) { + + DataReference<DD> reference = null; + if (entity != null) { + + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(dtoType); + reference = binder.toDataReference(referentialLocale, entity); + + } + return reference; + + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- DATA → ENTITY --------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected DataReference<D> toDataReference(D dto, Serializable... values) { + + DataReference<D> reference = new DataReference<>(); + + reference.setId(dto.getId()); +// reference.setCreateDate(dto.getCreateDate()); +// reference.setVersion(dto.getVersion()); + + reference.init(definition.getType(), definition.getPropertyNames(), values); + + return reference; + } + + protected <EE extends TopiaEntity, DD extends DataDto> LinkedHashSet<DD> toLinkedHashSetData(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { + + LinkedHashSet<DD> dtos = null; + if (CollectionUtils.isEmpty(entities)) { + + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(dtoType); + + dtos = new LinkedHashSet<>(entities.size()); + for (EE entity : entities) { + + DD dto = binder.toData(referentialLocale, entity); + dtos.add(dto); + + } + + } + return dtos; + + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- DATA REFERENCE → ENTITY ----------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + protected <DD extends DataDto, EE extends TopiaEntity> Set<EE> toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType) { + + Set<EE> entityList = new LinkedHashSet<>(dtos.size()); + + if (CollectionUtils.isNotEmpty(dtos)) { + + DD firstDto = Iterables.get(dtos, 0, null); + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(firstDto); + + for (DD dto : dtos) { + EE entity = binder.toEntity(referentialLocale, dto); + entityList.add(entity); + } + + } + + return entityList; + + } + + protected <DD extends DataDto, EE extends TopiaEntity> EE toEntity(DataReference<DD> reference, Class<EE> entityType) { + + Class<DD> type = reference.getType(); + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(type); + EE entity = binder.toEntity(reference); + entity.setTopiaId(reference.getId()); + return entity; + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/EncounterBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/EncounterBinder.java new file mode 100644 index 0000000..83d5418 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/EncounterBinder.java @@ -0,0 +1,64 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Encounter; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.longline.EncounterType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class EncounterBinder extends DataBinderSupport<Encounter, EncounterDto> { + + public EncounterBinder() { + super(Encounter.class, EncounterDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, EncounterDto dto, Encounter entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setEncounterType(toEntity(dto.getEncounterType(), EncounterType.class)); + entity.setDistance(dto.getDistance()); + entity.setCount(dto.getCount()); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Encounter entity, EncounterDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setEncounterType(toReferentialReference(referentialLocale, entity.getEncounterType(), EncounterTypeDto.class)); + dto.setDistance(entity.getDistance()); + dto.setCount(entity.getCount()); + + } + + @Override + public DataReference<EncounterDto> toDataReference(ReferentialLocale referentialLocale, Encounter entity) { + + return toDataReference(entity, + getLabel(referentialLocale, entity.getSpecies()), + getLabel(referentialLocale, entity.getEncounterType())); + + } + + @Override + public DataReference<EncounterDto> toDataReference(ReferentialLocale referentialLocale, EncounterDto dto) { + + return toDataReference(dto, + getLabel(referentialLocale, dto.getSpecies()), + getLabel(referentialLocale, dto.getEncounterType())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectBinder.java new file mode 100644 index 0000000..a9e8fb0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectBinder.java @@ -0,0 +1,67 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.seine.ObjectFate; +import fr.ird.observe.entities.referentiel.seine.ObjectOperation; +import fr.ird.observe.entities.referentiel.seine.ObjectType; +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatingObjectBinder extends DataBinderSupport<FloatingObject, FloatingObjectDto> { + + public FloatingObjectBinder() { + super(FloatingObject.class, FloatingObjectDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectDto dto, FloatingObject entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setDaysAtSeaCount(dto.getDaysAtSeaCount()); + entity.setSupportVesselName(dto.getSupportVesselName()); + entity.setObjectFate(toEntity(dto.getObjectFate(), ObjectFate.class)); + entity.setObjectOperation(toEntity(dto.getObjectOperation(), ObjectOperation.class)); + entity.setObjectType(toEntity(dto.getObjectType(), ObjectType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setDaysAtSeaCount(entity.getDaysAtSeaCount()); + dto.setSupportVesselName(entity.getSupportVesselName()); + dto.setObjectFate(toReferentialReference(referentialLocale, entity.getObjectFate(), ObjectFateDto.class)); + dto.setObjectOperation(toReferentialReference(referentialLocale, entity.getObjectOperation(), ObjectOperationDto.class)); + dto.setObjectType(toReferentialReference(referentialLocale, entity.getObjectType(), ObjectTypeDto.class)); + + } + + + @Override + public DataReference<FloatingObjectDto> toDataReference(ReferentialLocale referentialLocale, FloatingObject entity) { + + return toDataReference(entity, getLabel(referentialLocale, entity.getObjectType())); + + } + + @Override + public DataReference<FloatingObjectDto> toDataReference(ReferentialLocale referentialLocale, FloatingObjectDto dto) { + + return toDataReference(dto, getLabel(referentialLocale, dto.getObjectType())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java new file mode 100644 index 0000000..d21abf7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.ObjectObservedSpecies; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatingObjectObservedSpeciesDtoBinder extends DataBinderSupport<FloatingObject, FloatingObjectObservedSpeciesDto> { + + public FloatingObjectObservedSpeciesDtoBinder() { + super(FloatingObject.class, FloatingObjectObservedSpeciesDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectObservedSpeciesDto dto, FloatingObject entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setObjectObservedSpecies(toEntitySet(referentialLocale, dto.getObjectObservedSpecies(), ObjectObservedSpecies.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectObservedSpeciesDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setObjectObservedSpecies(toLinkedHashSetData(referentialLocale, entity.getObjectObservedSpecies(), ObjectObservedSpeciesDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java new file mode 100644 index 0000000..c019ff4 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.ObjectSchoolEstimate; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatingObjectSchoolEstimateDtoBinder extends DataBinderSupport<FloatingObject, FloatingObjectSchoolEstimateDto> { + + public FloatingObjectSchoolEstimateDtoBinder() { + super(FloatingObject.class, FloatingObjectSchoolEstimateDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectSchoolEstimateDto dto, FloatingObject entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setObjectSchoolEstimate(toEntitySet(referentialLocale, dto.getObjectSchoolEstimate(), ObjectSchoolEstimate.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectSchoolEstimateDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setObjectSchoolEstimate(toLinkedHashSetData(referentialLocale, entity.getObjectSchoolEstimate(), ObjectSchoolEstimateDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java new file mode 100644 index 0000000..a27dbf3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.FloatingObject; +import fr.ird.observe.entities.seine.TransmittingBuoy; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatingObjectTransmittingBuoyDtoBinder extends DataBinderSupport<FloatingObject, FloatingObjectTransmittingBuoyDto> { + + public FloatingObjectTransmittingBuoyDtoBinder() { + super(FloatingObject.class, FloatingObjectTransmittingBuoyDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectTransmittingBuoyDto dto, FloatingObject entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setTransmittingBuoy(toEntitySet(referentialLocale, dto.getTransmittingBuoy(), TransmittingBuoy.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectTransmittingBuoyDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setTransmittingBuoy(toLinkedHashSetData(referentialLocale, entity.getTransmittingBuoy(), TransmittingBuoyDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatlinesCompositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatlinesCompositionBinder.java new file mode 100644 index 0000000..09fe24e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatlinesCompositionBinder.java @@ -0,0 +1,42 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.FloatlinesComposition; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FloatlinesCompositionBinder extends DataBinderSupport<FloatlinesComposition, FloatlinesCompositionDto> { + + public FloatlinesCompositionBinder() { + super(FloatlinesComposition.class, FloatlinesCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FloatlinesCompositionDto dto, FloatlinesComposition entity) { + + entity.setTopiaId(dto.getId()); + + entity.setLength(dto.getLength()); + entity.setProportion(dto.getProportion()); + entity.setLineType(toEntity(dto.getLineType(), LineType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FloatlinesComposition entity, FloatlinesCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setLength(entity.getLength()); + dto.setProportion(entity.getProportion()); + dto.setLineType(toReferentialReference(referentialLocale, entity.getLineType(), LineTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java new file mode 100644 index 0000000..4f78dd0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java @@ -0,0 +1,38 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.GearUseFeaturesLongline; +import fr.ird.observe.entities.longline.GearUseFeaturesMeasurementLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearUseFeaturesLonglineBinder extends DataBinderSupport<GearUseFeaturesLongline, GearUseFeaturesLonglineDto> { + + public GearUseFeaturesLonglineBinder() { + super(GearUseFeaturesLongline.class, GearUseFeaturesLonglineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesLonglineDto dto, GearUseFeaturesLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setGearUseFeaturesMeasurement(toEntitySet(referentialLocale, dto.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementLongline.class)); + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesLongline entity, GearUseFeaturesLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setGearUseFeaturesMeasurement(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementLonglineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementLonglineBinder.java new file mode 100644 index 0000000..5ac6435 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementLonglineBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.GearUseFeaturesMeasurementLongline; +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearUseFeaturesMeasurementLonglineBinder extends DataBinderSupport<GearUseFeaturesMeasurementLongline, GearUseFeaturesMeasurementLonglineDto> { + + public GearUseFeaturesMeasurementLonglineBinder() { + super(GearUseFeaturesMeasurementLongline.class, GearUseFeaturesMeasurementLonglineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementLonglineDto dto, GearUseFeaturesMeasurementLongline entity) { + + entity.setTopiaId(dto.getId()); + + entity.setMeasurementValue(dto.getMeasurementValue()); + entity.setGearCaracteristic(toEntity(dto.getGearCaracteristic(), GearCaracteristic.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementLongline entity, GearUseFeaturesMeasurementLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setMeasurementValue(entity.getMeasurementValue()); + dto.setGearCaracteristic(toReferentialReference(referentialLocale, entity.getGearCaracteristic(), GearCaracteristicDto.class)); + + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementSeineBinder.java new file mode 100644 index 0000000..98ff84d --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementSeineBinder.java @@ -0,0 +1,41 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearUseFeaturesMeasurementSeineBinder extends DataBinderSupport<GearUseFeaturesMeasurementSeine, GearUseFeaturesMeasurementSeineDto> { + + public GearUseFeaturesMeasurementSeineBinder() { + super(GearUseFeaturesMeasurementSeine.class, GearUseFeaturesMeasurementSeineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementSeineDto dto, GearUseFeaturesMeasurementSeine entity) { + + entity.setTopiaId(dto.getId()); + + entity.setMeasurementValue(dto.getMeasurementValue()); + entity.setGearCaracteristic(toEntity(dto.getGearCaracteristic(), GearCaracteristic.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementSeine entity, GearUseFeaturesMeasurementSeineDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setMeasurementValue(entity.getMeasurementValue()); + dto.setGearCaracteristic(toReferentialReference(referentialLocale, entity.getGearCaracteristic(), GearCaracteristicDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java new file mode 100644 index 0000000..5877b9b --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; +import fr.ird.observe.entities.seine.GearUseFeaturesSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearUseFeaturesSeineBinder extends DataBinderSupport<GearUseFeaturesSeine, GearUseFeaturesSeineDto> { + + public GearUseFeaturesSeineBinder() { + super(GearUseFeaturesSeine.class, GearUseFeaturesSeineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesSeineDto dto, GearUseFeaturesSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setGearUseFeaturesMeasurement(toEntitySet(referentialLocale, dto.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementSeine.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesSeine entity, GearUseFeaturesSeineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setGearUseFeaturesMeasurement(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementSeineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/HooksCompositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/HooksCompositionBinder.java new file mode 100644 index 0000000..061d94d --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/HooksCompositionBinder.java @@ -0,0 +1,46 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.HooksComposition; +import fr.ird.observe.entities.referentiel.longline.HookSize; +import fr.ird.observe.entities.referentiel.longline.HookType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HooksCompositionBinder extends DataBinderSupport<HooksComposition, HooksCompositionDto> { + + public HooksCompositionBinder() { + super(HooksComposition.class, HooksCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HooksCompositionDto dto, HooksComposition entity) { + + entity.setTopiaId(dto.getId()); + + entity.setProportion(dto.getProportion()); + entity.setHookOffset(dto.getHookOffset()); + entity.setHookSize(toEntity(dto.getHookSize(), HookSize.class)); + entity.setHookType(toEntity(dto.getHookType(), HookType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, HooksComposition entity, HooksCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setProportion(entity.getProportion()); + dto.setHookOffset(entity.getHookOffset()); + dto.setHookSize(toReferentialReference(referentialLocale, entity.getHookSize(), HookSizeDto.class)); + dto.setHookType(toReferentialReference(referentialLocale, entity.getHookType(), HookTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetCatchBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetCatchBinder.java new file mode 100644 index 0000000..1c08288 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetCatchBinder.java @@ -0,0 +1,84 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; +import fr.ird.observe.entities.referentiel.seine.SpeciesFate; +import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class NonTargetCatchBinder extends DataBinderSupport<NonTargetCatch, NonTargetCatchDto> { + + public NonTargetCatchBinder() { + super(NonTargetCatch.class, NonTargetCatchDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, NonTargetCatchDto dto, NonTargetCatch entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setCatchWeight(dto.getCatchWeight()); + entity.setMeanWeight(dto.getMeanWeight()); + entity.setMeanLength(dto.getMeanLength()); + entity.setTotalCount(dto.getTotalCount()); + entity.setCatchWeightComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY.apply(dto.getCatchWeightComputedSource())); + entity.setMeanWeightComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY.apply(dto.getMeanWeightComputedSource())); + entity.setMeanLengthComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY.apply(dto.getMeanLengthComputedSource())); + entity.setTotalCountComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_ENTITY.apply(dto.getTotalCountComputedSource())); + entity.setSpeciesFate(toEntity(dto.getSpeciesFate(), SpeciesFate.class)); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setReasonForDiscard(toEntity(dto.getReasonForDiscard(), ReasonForDiscard.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, NonTargetCatch entity, NonTargetCatchDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setCatchWeight(entity.getCatchWeight()); + dto.setMeanWeight(entity.getMeanWeight()); + dto.setMeanLength(entity.getMeanLength()); + dto.setTotalCount(entity.getTotalCount()); + dto.setCatchWeightComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO.apply(entity.getCatchWeightComputedSource())); + dto.setMeanWeightComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO.apply(entity.getMeanWeightComputedSource())); + dto.setMeanLengthComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO.apply(entity.getMeanLengthComputedSource())); + dto.setTotalCountComputedSource(NON_TARGET_CATCH_COMPUTED_VALUE_SOURCE_TO_DTO.apply(entity.getTotalCountComputedSource())); + + dto.setSpeciesFate(toReferentialReference(referentialLocale, entity.getSpeciesFate(), SpeciesFateDto.class)); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setReasonForDiscard(toReferentialReference(referentialLocale, entity.getReasonForDiscard(), ReasonForDiscardDto.class)); + + } + + @Override + public DataReference<NonTargetCatchDto> toDataReference(ReferentialLocale referentialLocale, NonTargetCatch entity) { + + return toDataReference(entity, + getLabel(referentialLocale, entity.getSpecies()), + getLabel(referentialLocale, entity.getSpeciesFate())); + + } + + @Override + public DataReference<NonTargetCatchDto> toDataReference(ReferentialLocale referentialLocale, NonTargetCatchDto dto) { + + return toDataReference(dto, + getLabel(referentialLocale, dto.getSpecies()), + getLabel(referentialLocale, dto.getSpeciesFate())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetLengthBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetLengthBinder.java new file mode 100644 index 0000000..05f8e35 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetLengthBinder.java @@ -0,0 +1,57 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.NonTargetLength; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class NonTargetLengthBinder extends DataBinderSupport<NonTargetLength, NonTargetLengthDto> { + + public NonTargetLengthBinder() { + super(NonTargetLength.class, NonTargetLengthDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, NonTargetLengthDto dto, NonTargetLength entity) { + + entity.setTopiaId(dto.getId()); + + entity.setLength(dto.getLength()); + entity.setWeight(dto.getWeight()); + entity.setLengthSource(dto.isLengthSource()); + entity.setWeightSource(dto.isWeightSource()); + entity.setCount(dto.getCount()); + entity.setAcquisitionMode(dto.getAcquisitionMode()); + entity.setPicturesReferences(dto.getPicturesReferences()); + entity.setLength(dto.getLength()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setSex(toEntity(dto.getSex(), Sex.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, NonTargetLength entity, NonTargetLengthDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setLength(entity.getLength()); + dto.setWeight(entity.getWeight()); + dto.setLengthSource(entity.isLengthSource()); + dto.setWeightSource(entity.isWeightSource()); + dto.setCount(entity.getCount()); + dto.setAcquisitionMode(entity.getAcquisitionMode()); + dto.setPicturesReferences(entity.getPicturesReferences()); + dto.setLength(entity.getLength()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setSex(toReferentialReference(referentialLocale, entity.getSex(), SexDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java new file mode 100644 index 0000000..f38096f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.NonTargetLength; +import fr.ird.observe.entities.seine.NonTargetSample; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; +import fr.ird.observe.services.dto.seine.NonTargetSampleDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class NonTargetSampleBinder extends DataBinderSupport<NonTargetSample, NonTargetSampleDto> { + + public NonTargetSampleBinder() { + super(NonTargetSample.class, NonTargetSampleDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, NonTargetSampleDto dto, NonTargetSample entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setNonTargetLength(toEntitySet(referentialLocale, dto.getNonTargetLength(), NonTargetLength.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, NonTargetSample entity, NonTargetSampleDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setNonTargetLength(toLinkedHashSetData(referentialLocale, entity.getNonTargetLength(), NonTargetLengthDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java new file mode 100644 index 0000000..76d559f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectObservedSpeciesBinder.java @@ -0,0 +1,47 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.seine.SpeciesStatus; +import fr.ird.observe.entities.seine.ObjectObservedSpecies; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectObservedSpeciesBinder extends DataBinderSupport<ObjectObservedSpecies, ObjectObservedSpeciesDto> { + + public ObjectObservedSpeciesBinder() { + super(ObjectObservedSpecies.class, ObjectObservedSpeciesDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectObservedSpeciesDto dto, ObjectObservedSpecies entity) { + + entity.setTopiaId(dto.getId()); + + + entity.setCount(entity.getCount()); + entity.setStatut(entity.getStatut()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setSpeciesStatus(toEntity(dto.getSpeciesStatus(), SpeciesStatus.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectObservedSpecies entity, ObjectObservedSpeciesDto dto) { + + dto.setId(entity.getTopiaId()); + + + dto.setCount(entity.getCount()); + dto.setStatut(entity.getStatut()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setSpeciesStatus(toReferentialReference(referentialLocale, entity.getSpeciesStatus(), SpeciesStatusDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectSchoolEstimateBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectSchoolEstimateBinder.java new file mode 100644 index 0000000..bb429b3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ObjectSchoolEstimateBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.ObjectSchoolEstimate; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectSchoolEstimateBinder extends DataBinderSupport<ObjectSchoolEstimate, ObjectSchoolEstimateDto> { + + public ObjectSchoolEstimateBinder() { + super(ObjectSchoolEstimate.class, ObjectSchoolEstimateDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectSchoolEstimateDto dto, ObjectSchoolEstimate entity) { + + entity.setTopiaId(dto.getId()); + + entity.setTotalWeight(dto.getTotalWeight()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectSchoolEstimate entity, ObjectSchoolEstimateDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setTotalWeight(entity.getTotalWeight()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteBinder.java new file mode 100644 index 0000000..37124db --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteBinder.java @@ -0,0 +1,64 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; +import fr.ird.observe.services.dto.seine.RouteDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RouteBinder extends DataBinderSupport<Route, RouteDto> { + + public RouteBinder() { + super(Route.class, RouteDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, RouteDto dto, Route entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setComment(dto.getComment()); + entity.setDate(dto.getDate()); + entity.setStartLogValue(dto.getStartLogValue()); + entity.setEndLogValue(dto.getEndLogValue()); + entity.setCheckLevel(dto.getCheckLevel()); + entity.setLastUpdate(dto.getLastUpdate()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Route entity, RouteDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setComment(entity.getComment()); + dto.setDate(entity.getDate()); + dto.setStartLogValue(entity.getStartLogValue()); + dto.setEndLogValue(entity.getEndLogValue()); + dto.setCheckLevel(entity.getCheckLevel()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setActivitySeine(toLinkedHashSetData(referentialLocale, entity.getActivitySeine(), ActivitySeineStubDto.class)); + + } + + @Override + public DataReference<RouteDto> toDataReference(ReferentialLocale referentialLocale, Route entity) { + + return toDataReference(entity, entity.getDate(), entity.getComment()); + + } + + @Override + public DataReference<RouteDto> toDataReference(ReferentialLocale referentialLocale, RouteDto dto) { + + return toDataReference(dto, dto.getDate(), dto.getComment()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteStubDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteStubDtoBinder.java new file mode 100644 index 0000000..6f5c765 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/RouteStubDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.RouteStubDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class RouteStubDtoBinder extends DataBinderSupport<Route, RouteStubDto> { + + public RouteStubDtoBinder() { + super(Route.class, RouteStubDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, RouteStubDto dto, Route entity) { + + entity.setTopiaId(dto.getId()); + + entity.setDate(dto.getDate()); + entity.setStartLogValue(dto.getStartLogValue()); + entity.setEndLogValue(dto.getEndLogValue()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Route entity, RouteStubDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setDate(entity.getDate()); + dto.setStartLogValue(entity.getStartLogValue()); + dto.setEndLogValue(entity.getEndLogValue()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SchoolEstimateBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SchoolEstimateBinder.java new file mode 100644 index 0000000..d5c908c --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SchoolEstimateBinder.java @@ -0,0 +1,62 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.SchoolEstimate; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SchoolEstimateBinder extends DataBinderSupport<SchoolEstimate, SchoolEstimateDto> { + + public SchoolEstimateBinder() { + super(SchoolEstimate.class, SchoolEstimateDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SchoolEstimateDto dto, SchoolEstimate entity) { + + entity.setTopiaId(dto.getId()); + + entity.setTotalWeight(dto.getTotalWeight()); + entity.setMeanWeight(dto.getMeanWeight()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SchoolEstimate entity, SchoolEstimateDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setTotalWeight(entity.getTotalWeight()); + dto.setMeanWeight(entity.getMeanWeight()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } + + @Override + public DataReference<SchoolEstimateDto> toDataReference(ReferentialLocale referentialLocale, SchoolEstimate entity) { + + return toDataReference(entity, + getLabel(referentialLocale, entity.getSpecies()), + entity.getMeanWeight(), + entity.getTotalWeight()); + + } + + @Override + public DataReference<SchoolEstimateDto> toDataReference(ReferentialLocale referentialLocale, SchoolEstimateDto dto) { + + return toDataReference(dto, + getLabel(referentialLocale, dto.getSpecies()), + dto.getMeanWeight(), + dto.getTotalWeight()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java new file mode 100644 index 0000000..cf5bf36 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java @@ -0,0 +1,56 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.SectionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SectionBinder extends DataBinderSupport<Section, SectionDto> { + + public SectionBinder() { + super(Section.class, SectionDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SectionDto dto, Section entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSettingIdentifier(dto.getSettingIdentifier()); + entity.setHaulingIdentifier(dto.getHaulingIdentifier()); + entity.setBasket(toEntitySet(referentialLocale, dto.getBasket(), Basket.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Section entity, SectionDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setSettingIdentifier(entity.getSettingIdentifier()); + dto.setHaulingIdentifier(entity.getHaulingIdentifier()); + dto.setBasket(toLinkedHashSetData(referentialLocale, entity.getBasket(), BasketDto.class)); + + } + + @Override + public DataReference<SectionDto> toDataReference(ReferentialLocale referentialLocale, Section entity) { + + return toDataReference(entity, entity.getHaulingIdentifier(), entity.getSettingIdentifier()); + + } + + @Override + public DataReference<SectionDto> toDataReference(ReferentialLocale referentialLocale, SectionDto dto) { + + return toDataReference(dto, dto.getHaulingIdentifier(), dto.getSettingIdentifier()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SensorUsedBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SensorUsedBinder.java new file mode 100644 index 0000000..5df54cf --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SensorUsedBinder.java @@ -0,0 +1,53 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SensorUsed; +import fr.ird.observe.entities.referentiel.longline.SensorBrand; +import fr.ird.observe.entities.referentiel.longline.SensorDataFormat; +import fr.ird.observe.entities.referentiel.longline.SensorType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SensorUsedDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SensorUsedBinder extends DataBinderSupport<SensorUsed, SensorUsedDto> { + + public SensorUsedBinder() { + super(SensorUsed.class, SensorUsedDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SensorUsedDto dto, SensorUsed entity) { + + entity.setTopiaId(dto.getId()); + + entity.setData(dto.getData()); + entity.setDataFilename(dto.getDataFilename()); + entity.setDataLocation(dto.getDataLocation()); + entity.setSensorSerialNo(dto.getSensorSerialNo()); + entity.setSensorType(toEntity(dto.getSensorType(), SensorType.class)); + entity.setSensorBrand(toEntity(dto.getSensorBrand(), SensorBrand.class)); + entity.setSensorDataFormat(toEntity(dto.getSensorDataFormat(), SensorDataFormat.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SensorUsed entity, SensorUsedDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setData(entity.getData()); + dto.setDataFilename(entity.getDataFilename()); + dto.setDataLocation(entity.getDataLocation()); + dto.setSensorSerialNo(entity.getSensorSerialNo()); + dto.setSensorType(toReferentialReference(referentialLocale, entity.getSensorType(), SensorTypeDto.class)); + dto.setSensorBrand(toReferentialReference(referentialLocale, entity.getSensorBrand(), SensorBrandDto.class)); + dto.setSensorDataFormat(toReferentialReference(referentialLocale, entity.getSensorDataFormat(), SensorDataFormatDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java new file mode 100644 index 0000000..93b5300 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java @@ -0,0 +1,119 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.entities.referentiel.longline.LightsticksColor; +import fr.ird.observe.entities.referentiel.longline.LightsticksType; +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.entities.referentiel.longline.SettingShape; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglineDto> { + + public SetLonglineBinder() { + super(SetLongline.class, SetLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setHomeId(dto.getHomeId()); + entity.setNumber(dto.getNumber()); + entity.setBasketsPerSectionCount(dto.getBasketsPerSectionCount()); + entity.setBranchlinesPerBasketCount(dto.getBranchlinesPerBasketCount()); + entity.setTotalSectionsCount(dto.getTotalSectionsCount()); + entity.setTotalBasketsCount(dto.getTotalBasketsCount()); + entity.setTotalHooksCount(dto.getTotalHooksCount()); + entity.setWeightedSnap(dto.getWeightedSnap()); + entity.setSnapWeight(dto.getSnapWeight()); + entity.setWeightedSwivel(dto.getWeightedSwivel()); + entity.setSwivelWeight(dto.getSwivelWeight()); + entity.setLightsticksPerBasketCount(dto.getLightsticksPerBasketCount()); + entity.setTimeBetweenHooks(dto.getTimeBetweenHooks()); + entity.setShooterUsed(dto.getShooterUsed()); + entity.setShooterSpeed(dto.getShooterSpeed()); + entity.setMaxDepthTargeted(dto.getMaxDepthTargeted()); + entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); + entity.setSettingStartLatitude(dto.getSettingStartLatitude()); + entity.setSettingStartLongitude(dto.getSettingStartLongitude()); + entity.setSettingEndTimeStamp(dto.getSettingEndTimeStamp()); + entity.setSettingEndLatitude(dto.getSettingEndLatitude()); + entity.setSettingEndLongitude(dto.getSettingEndLongitude()); + entity.setSettingVesselSpeed(dto.getSettingVesselSpeed()); + entity.setHaulingDirectionSameAsSetting(dto.getHaulingDirectionSameAsSetting()); + entity.setHaulingStartTimeStamp(dto.getHaulingStartTimeStamp()); + entity.setHaulingStartLatitude(dto.getHaulingStartLatitude()); + entity.setHaulingStartLongitude(dto.getHaulingStartLongitude()); + entity.setHaulingEndTimeStamp(dto.getHaulingEndTimeStamp()); + entity.setHaulingEndLatitude(dto.getHaulingEndLatitude()); + entity.setHaulingEndLongitude(dto.getHaulingEndLongitude()); + entity.setHaulingBreaks(dto.getHaulingBreaks()); + entity.setMonitored(dto.getMonitored()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setSettingShape(toEntity(dto.getSettingShape(), SettingShape.class)); + entity.setLineType(toEntity(dto.getLineType(), LineType.class)); + entity.setLightsticksType(toEntity(dto.getLightsticksType(), LightsticksType.class)); + entity.setLightsticksColor(toEntity(dto.getLightsticksColor(), LightsticksColor.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setHomeId(entity.getHomeId()); + dto.setNumber(entity.getNumber()); + dto.setBasketsPerSectionCount(entity.getBasketsPerSectionCount()); + dto.setBranchlinesPerBasketCount(entity.getBranchlinesPerBasketCount()); + dto.setTotalSectionsCount(entity.getTotalSectionsCount()); + dto.setTotalBasketsCount(entity.getTotalBasketsCount()); + dto.setTotalHooksCount(entity.getTotalHooksCount()); + dto.setWeightedSnap(entity.getWeightedSnap()); + dto.setSnapWeight(entity.getSnapWeight()); + dto.setWeightedSwivel(entity.getWeightedSwivel()); + dto.setSwivelWeight(entity.getSwivelWeight()); + dto.setLightsticksPerBasketCount(entity.getLightsticksPerBasketCount()); + dto.setTimeBetweenHooks(entity.getTimeBetweenHooks()); + dto.setShooterUsed(entity.getShooterUsed()); + dto.setShooterSpeed(entity.getShooterSpeed()); + dto.setMaxDepthTargeted(entity.getMaxDepthTargeted()); + dto.setSettingStartTimeStamp(entity.getSettingStartTimeStamp()); + dto.setSettingStartLatitude(entity.getSettingStartLatitude()); + dto.setSettingStartLongitude(entity.getSettingStartLongitude()); + dto.setSettingEndTimeStamp(entity.getSettingEndTimeStamp()); + dto.setSettingEndLatitude(entity.getSettingEndLatitude()); + dto.setSettingEndLongitude(entity.getSettingEndLongitude()); + dto.setSettingVesselSpeed(entity.getSettingVesselSpeed()); + dto.setHaulingDirectionSameAsSetting(entity.getHaulingDirectionSameAsSetting()); + dto.setHaulingStartTimeStamp(entity.getHaulingStartTimeStamp()); + dto.setHaulingStartLatitude(entity.getHaulingStartLatitude()); + dto.setHaulingStartLongitude(entity.getHaulingStartLongitude()); + dto.setHaulingEndTimeStamp(entity.getHaulingEndTimeStamp()); + dto.setHaulingEndLatitude(entity.getHaulingEndLatitude()); + dto.setHaulingEndLongitude(entity.getHaulingEndLongitude()); + dto.setHaulingBreaks(entity.getHaulingBreaks()); + dto.setMonitored(entity.getMonitored()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setSettingShape(toReferentialReference(referentialLocale, entity.getSettingShape(), SettingShapeDto.class)); + dto.setLineType(toReferentialReference(referentialLocale, entity.getLineType(), LineTypeDto.class)); + dto.setLightsticksType(toReferentialReference(referentialLocale, entity.getLightsticksType(), LightsticksTypeDto.class)); + dto.setLightsticksColor(toReferentialReference(referentialLocale, entity.getLightsticksColor(), LightsticksColorDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java new file mode 100644 index 0000000..220010e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.CatchLongline; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, SetLonglineCatchDto> { + + public SetLonglineCatchDtoBinder() { + super(SetLongline.class, SetLonglineCatchDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineCatchDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setCatchLongline(toEntitySet(referentialLocale, dto.getCatchLongline(), CatchLongline.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineCatchDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setCatchLongline(toLinkedHashSetData(referentialLocale, entity.getCatchLongline(), CatchLonglineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java new file mode 100644 index 0000000..43b1810 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineDetailCompositionDtoBinder extends DataBinderSupport<SetLongline, SetLonglineDetailCompositionDto> { + + public SetLonglineDetailCompositionDtoBinder() { + super(SetLongline.class, SetLonglineDetailCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDetailCompositionDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setSection(toEntitySet(referentialLocale, dto.getSection(), Section.class)); + entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); + entity.setMonitored(dto.getMonitored()); + entity.setTotalSectionsCount(dto.getTotalSectionsCount()); + entity.setBasketsPerSectionCount(dto.getBasketsPerSectionCount()); + entity.setBranchlinesPerBasketCount(dto.getBranchlinesPerBasketCount()); + entity.setHaulingDirectionSameAsSetting(dto.getHaulingDirectionSameAsSetting()); + entity.setHaulingBreaks(dto.getHaulingBreaks()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDetailCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setSection(toLinkedHashSetData(referentialLocale, entity.getSection(), SectionDto.class)); + dto.setSettingStartTimeStamp(entity.getSettingStartTimeStamp()); + dto.setMonitored(entity.getMonitored()); + dto.setTotalSectionsCount(entity.getTotalSectionsCount()); + dto.setBasketsPerSectionCount(entity.getBasketsPerSectionCount()); + dto.setBranchlinesPerBasketCount(entity.getBranchlinesPerBasketCount()); + dto.setHaulingDirectionSameAsSetting(entity.getHaulingDirectionSameAsSetting()); + dto.setHaulingBreaks(entity.getHaulingBreaks()); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java new file mode 100644 index 0000000..b39e243 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java @@ -0,0 +1,58 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.BaitsComposition; +import fr.ird.observe.entities.longline.BranchlinesComposition; +import fr.ird.observe.entities.longline.FloatlinesComposition; +import fr.ird.observe.entities.longline.HooksComposition; +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.entities.referentiel.longline.MitigationType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineGlobalCompositionDtoBinder extends DataBinderSupport<SetLongline, SetLonglineGlobalCompositionDto> { + + public SetLonglineGlobalCompositionDtoBinder() { + super(SetLongline.class, SetLonglineGlobalCompositionDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineGlobalCompositionDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setFloatlinesComposition(toEntitySet(referentialLocale, dto.getFloatlinesComposition(), FloatlinesComposition.class)); + entity.setBranchlinesComposition(toEntitySet(referentialLocale, dto.getBranchlinesComposition(), BranchlinesComposition.class)); + entity.setHooksComposition(toEntitySet(referentialLocale, dto.getHooksComposition(), HooksComposition.class)); + entity.setBaitsComposition(toEntitySet(referentialLocale, dto.getBaitsComposition(), BaitsComposition.class)); + entity.setMitigationType(toEntitySet(dto.getMitigationType(), MitigationType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineGlobalCompositionDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setFloatlinesComposition(toLinkedHashSetData(referentialLocale, entity.getFloatlinesComposition(), FloatlinesCompositionDto.class)); + dto.setBranchlinesComposition(toLinkedHashSetData(referentialLocale, entity.getBranchlinesComposition(), BranchlinesCompositionDto.class)); + dto.setHooksComposition(toLinkedHashSetData(referentialLocale, entity.getHooksComposition(), HooksCompositionDto.class)); + dto.setBaitsComposition(toLinkedHashSetData(referentialLocale, entity.getBaitsComposition(), BaitsCompositionDto.class)); + dto.setMitigationType(toReferentialReferenceList(referentialLocale, entity.getMitigationType(), MitigationTypeDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineStubDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineStubDtoBinder.java new file mode 100644 index 0000000..9fe3c24 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineStubDtoBinder.java @@ -0,0 +1,34 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineStubDtoBinder extends DataBinderSupport<SetLongline, SetLonglineStubDto> { + + public SetLonglineStubDtoBinder() { + super(SetLongline.class, SetLonglineStubDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineStubDto dto, SetLongline entity) { + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineStubDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setHomeId(entity.getHomeId()); + dto.setNumber(entity.getNumber()); + dto.setActivityLongline(toDataReference(referentialLocale, null,ActivityLonglineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineTdrDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineTdrDtoBinder.java new file mode 100644 index 0000000..19e0bdb --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineTdrDtoBinder.java @@ -0,0 +1,37 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetLonglineTdrDtoBinder extends DataBinderSupport<SetLongline, SetLonglineTdrDto> { + + public SetLonglineTdrDtoBinder() { + super(SetLongline.class, SetLonglineTdrDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineTdrDto dto, SetLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineTdrDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setSettingStartTimeStamp(entity.getSettingStartTimeStamp()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java new file mode 100644 index 0000000..8a057a8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java @@ -0,0 +1,74 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.seine.ReasonForNullSet; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { + + public SetSeineBinder() { + super(SetSeine.class, SetSeineDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetSeineDto dto, SetSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setStartTime(dto.getStartTime()); + entity.setEndPursingTimeStamp(dto.getEndPursingTimeStamp()); + entity.setEndSetTimeStamp(dto.getEndSetTimeStamp()); + entity.setMaxGearDepth(dto.getMaxGearDepth()); + entity.setCurrentSpeed(dto.getCurrentSpeed()); + entity.setCurrentDirection(dto.getCurrentDirection()); + entity.setSchoolTopDepth(dto.getSchoolTopDepth()); + entity.setSchoolMeanDepth(dto.getSchoolMeanDepth()); + entity.setSchoolThickness(dto.getSchoolThickness()); + entity.setSonarUsed(dto.isSonarUsed()); + entity.setSupportVesselName(dto.getSupportVesselName()); + entity.setTargetDiscarded(dto.getTargetDiscarded()); + entity.setNonTargetDiscarded(dto.getNonTargetDiscarded()); + entity.setCurrentMeasureDepth(dto.getCurrentMeasureDepth()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setSchoolType(SCHOOL_TYPE_TO_ENTITY.apply(dto.getSchoolType())); + entity.setReasonForNullSet(toEntity(dto.getReasonForNullSet(), ReasonForNullSet.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setStartTime(entity.getStartTime()); + dto.setEndPursingTimeStamp(entity.getEndPursingTimeStamp()); + dto.setEndSetTimeStamp(entity.getEndSetTimeStamp()); + dto.setMaxGearDepth(entity.getMaxGearDepth()); + dto.setCurrentSpeed(entity.getCurrentSpeed()); + dto.setCurrentDirection(entity.getCurrentDirection()); + dto.setSchoolTopDepth(entity.getSchoolTopDepth()); + dto.setSchoolMeanDepth(entity.getSchoolMeanDepth()); + dto.setSchoolThickness(entity.getSchoolThickness()); + dto.setSonarUsed(entity.isSonarUsed()); + dto.setSupportVesselName(entity.getSupportVesselName()); + dto.setTargetDiscarded(entity.getTargetDiscarded()); + dto.setNonTargetDiscarded(entity.getNonTargetDiscarded()); + dto.setCurrentMeasureDepth(entity.getCurrentMeasureDepth()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setSchoolType(SCHOOL_TYPE_TO_DTO.apply(entity.getSchoolType())); + dto.setReasonForNullSet(toReferentialReference(referentialLocale, entity.getReasonForNullSet(), ReasonForNullSetDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java new file mode 100644 index 0000000..3f63789 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java @@ -0,0 +1,36 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.NonTargetCatch; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetSeineNonTargetCatchDtoBinder extends DataBinderSupport<SetSeine, SetSeineNonTargetCatchDto> { + + public SetSeineNonTargetCatchDtoBinder() { + super(SetSeine.class, SetSeineNonTargetCatchDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetSeineNonTargetCatchDto dto, SetSeine entity) { + + entity.setTopiaId(dto.getId()); + + entity.setNonTargetCatch(toEntitySet(referentialLocale, dto.getNonTargetCatch(), NonTargetCatch.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineNonTargetCatchDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setNonTargetCatch(toLinkedHashSetData(referentialLocale, entity.getNonTargetCatch(), NonTargetCatchDto.class)); + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java new file mode 100644 index 0000000..6c6b5a1 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.SchoolEstimate; +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetSeineSchoolEstimateDtoBinder extends DataBinderSupport<SetSeine, SetSeineSchoolEstimateDto> { + + public SetSeineSchoolEstimateDtoBinder() { + super(SetSeine.class, SetSeineSchoolEstimateDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetSeineSchoolEstimateDto dto, SetSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setSchoolEstimate(toEntitySet(referentialLocale, dto.getSchoolEstimate(), SchoolEstimate.class)); + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineSchoolEstimateDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setSchoolEstimate(toLinkedHashSetData(referentialLocale, entity.getSchoolEstimate(), SchoolEstimateDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java new file mode 100644 index 0000000..06335c7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.entities.seine.TargetCatch; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SetSeineTargetCatchDtoBinder extends DataBinderSupport<SetSeine, SetSeineTargetCatchDto> { + + public SetSeineTargetCatchDtoBinder() { + super(SetSeine.class, SetSeineTargetCatchDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SetSeineTargetCatchDto dto, SetSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setTargetCatch(toEntitySet(referentialLocale, dto.getTargetCatch(), TargetCatch.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineTargetCatchDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setTargetCatch(toLinkedHashSetData(referentialLocale, entity.getTargetCatch(), TargetCatchDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SizeMeasureBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SizeMeasureBinder.java new file mode 100644 index 0000000..35c3bf0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SizeMeasureBinder.java @@ -0,0 +1,40 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.SizeMeasure; +import fr.ird.observe.entities.referentiel.longline.SizeMeasureType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SizeMeasureBinder extends DataBinderSupport<SizeMeasure, SizeMeasureDto> { + + public SizeMeasureBinder() { + super(SizeMeasure.class, SizeMeasureDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SizeMeasureDto dto, SizeMeasure entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSize(dto.getSize()); + entity.setSizeMeasureType(toEntity(dto.getSizeMeasureType(), SizeMeasureType.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SizeMeasure entity, SizeMeasureDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setSize(entity.getSize()); + dto.setSizeMeasureType(toReferentialReference(referentialLocale, entity.getSizeMeasureType(), SizeMeasureTypeDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetCatchBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetCatchBinder.java new file mode 100644 index 0000000..33724dd --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetCatchBinder.java @@ -0,0 +1,55 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; +import fr.ird.observe.entities.referentiel.seine.WeightCategory; +import fr.ird.observe.entities.seine.TargetCatch; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TargetCatchBinder extends DataBinderSupport<TargetCatch, TargetCatchDto> { + + public TargetCatchBinder() { + super(TargetCatch.class, TargetCatchDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TargetCatchDto dto, TargetCatch entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setCatchWeight(dto.getCatchWeight()); + entity.setWell(dto.getWell()); + entity.setBroughtOnDeck(dto.getBroughtOnDeck()); + entity.setDiscarded(dto.isDiscarded()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setReasonForDiscard(toEntity(dto.getReasonForDiscard(), ReasonForDiscard.class)); + entity.setWeightCategory(toEntity(dto.getWeightCategory(), WeightCategory.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TargetCatch entity, TargetCatchDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setCatchWeight(entity.getCatchWeight()); + dto.setWell(entity.getWell()); + dto.setBroughtOnDeck(entity.getBroughtOnDeck()); + dto.setDiscarded(entity.isDiscarded()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setReasonForDiscard(toReferentialReference(referentialLocale, entity.getReasonForDiscard(), ReasonForDiscardDto.class)); + dto.setWeightCategory(toReferentialReference(referentialLocale, entity.getWeightCategory(), WeightCategoryDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetLengthBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetLengthBinder.java new file mode 100644 index 0000000..79338c6 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetLengthBinder.java @@ -0,0 +1,76 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TargetLengthBinder extends DataBinderSupport<TargetLength, TargetLengthDto> { + + public TargetLengthBinder() { + super(TargetLength.class, TargetLengthDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TargetLengthDto dto, TargetLength entity) { + + entity.setTopiaId(dto.getId()); + + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setMeasureType(dto.getMeasureType()); + entity.setLength(dto.getLength()); + //FIXME +// entity.setLengthSource(dto.getLengthSource()); + entity.setCount(dto.getCount()); + entity.setWeight(dto.getWeight()); + //FIXME +// entity.setWeightSource(dto.getWeightSource()); + entity.setAcquisitionMode(dto.getAcquisitionMode()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TargetLength entity, TargetLengthDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setMeasureType(entity.getMeasureType()); + dto.setLength(entity.getLength()); + //FIXME +// entity.setLengthSource(dto.getLengthSource()); + dto.setCount(entity.getCount()); + dto.setWeight(entity.getWeight()); + //FIXME +// dto.setWeightSource(entity.getWeightSource()); + dto.setAcquisitionMode(entity.getAcquisitionMode()); + + } + + @Override + public DataReference<TargetLengthDto> toDataReference(ReferentialLocale referentialLocale, TargetLength entity) { + + return toDataReference(entity, + getLabel(referentialLocale, entity.getSpecies()), + entity.getLength(), + entity.getCount()); + + } + + @Override + public DataReference<TargetLengthDto> toDataReference(ReferentialLocale referentialLocale, TargetLengthDto dto) { + + return toDataReference(dto, + getLabel(referentialLocale, dto.getSpecies()), + dto.getLength(), + dto.getCount()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java new file mode 100644 index 0000000..7871a2a --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java @@ -0,0 +1,44 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.entities.seine.TargetSample; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TargetSampleBinder extends DataBinderSupport<TargetSample, TargetSampleDto> { + + public TargetSampleBinder() { + super(TargetSample.class, TargetSampleDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TargetSampleDto dto, TargetSample entity) { + + entity.setTopiaId(dto.getId()); + entity.setComment(dto.getComment()); + + entity.setNature(dto.getNature()); + entity.setDiscarded(dto.getDiscarded()); + entity.setTargetLength(toEntitySet(referentialLocale, dto.getTargetLength(), TargetLength.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TargetSample entity, TargetSampleDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setComment(entity.getComment()); + + dto.setNature(entity.getNature()); + dto.setDiscarded(entity.getDiscarded()); + dto.setTargetLength(toLinkedHashSetData(referentialLocale, entity.getTargetLength(), TargetLengthDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TdrBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TdrBinder.java new file mode 100644 index 0000000..66ed5a4 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TdrBinder.java @@ -0,0 +1,100 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.Basket; +import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.Section; +import fr.ird.observe.entities.longline.Tdr; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition; +import fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition; +import fr.ird.observe.entities.referentiel.longline.SensorBrand; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.TdrDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TdrBinder extends DataBinderSupport<Tdr, TdrDto> { + + public TdrBinder() { + super(Tdr.class, TdrDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TdrDto dto, Tdr entity) { + + entity.setTopiaId(dto.getId()); + + entity.setHomeId(dto.getHomeId()); + entity.setFloatline1Length(dto.getFloatline1Length()); + entity.setFloatline2Length(dto.getFloatline2Length()); + entity.setSerialNo(dto.getSerialNo()); + entity.setData(dto.getData()); + entity.setDataFilename(dto.getDataFilename()); + entity.setDataLocation(dto.getDataLocation()); + entity.setDeployementStart(dto.getDeployementStart()); + entity.setDeployementEnd(dto.getDeployementEnd()); + entity.setFishingStart(dto.getFishingStart()); + entity.setFishingEnd(dto.getFishingEnd()); + entity.setFishingStartDepth(dto.getFishingStartDepth()); + entity.setFishingEndDepth(dto.getFishingEndDepth()); + entity.setMeanDeployementDepth(dto.getMeanDeployementDepth()); + entity.setMedianDeployementDepth(dto.getMedianDeployementDepth()); + entity.setMinFishingDepth(dto.getMinFishingDepth()); + entity.setMaxFishingDepth(dto.getMaxFishingDepth()); + entity.setMeanFishingDepth(dto.getMeanFishingDepth()); + entity.setMedianFishingDepth(dto.getMedianFishingDepth()); + entity.setSensorBrand(toEntity(dto.getSensorBrand(), SensorBrand.class)); + entity.setItemHorizontalPosition(toEntity(dto.getItemHorizontalPosition(), ItemHorizontalPosition.class)); + entity.setItemVerticalPosition(toEntity(dto.getItemVerticalPosition(), ItemVerticalPosition.class)); + entity.setSpecies(toEntitySet(dto.getSpecies(), Species.class)); + entity.setBranchline(toEntity(dto.getBranchline(), Branchline.class)); + entity.setSection(toEntity(dto.getSection(), Section.class)); + entity.setBasket(toEntity(dto.getBasket(), Basket.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Tdr entity, TdrDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setHomeId(entity.getHomeId()); + dto.setFloatline1Length(entity.getFloatline1Length()); + dto.setFloatline2Length(entity.getFloatline2Length()); + dto.setSerialNo(entity.getSerialNo()); + dto.setData(entity.getData()); + dto.setDataFilename(entity.getDataFilename()); + dto.setDataLocation(entity.getDataLocation()); + dto.setDeployementStart(entity.getDeployementStart()); + dto.setDeployementEnd(entity.getDeployementEnd()); + dto.setFishingStart(entity.getFishingStart()); + dto.setFishingEnd(entity.getFishingEnd()); + dto.setFishingStartDepth(entity.getFishingStartDepth()); + dto.setFishingEndDepth(entity.getFishingEndDepth()); + dto.setMeanDeployementDepth(entity.getMeanDeployementDepth()); + dto.setMedianDeployementDepth(entity.getMedianDeployementDepth()); + dto.setMinFishingDepth(entity.getMinFishingDepth()); + dto.setMaxFishingDepth(entity.getMaxFishingDepth()); + dto.setMeanFishingDepth(entity.getMeanFishingDepth()); + dto.setMedianFishingDepth(entity.getMedianFishingDepth()); + dto.setSensorBrand(toReferentialReference(referentialLocale, entity.getSensorBrand(), SensorBrandDto.class)); + dto.setItemHorizontalPosition(toReferentialReference(referentialLocale, entity.getItemHorizontalPosition(), ItemHorizontalPositionDto.class)); + dto.setItemVerticalPosition(toReferentialReference(referentialLocale, entity.getItemVerticalPosition(), ItemVerticalPositionDto.class)); + dto.setSpecies(toReferentialReferenceList(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setBranchline(toDataReference(referentialLocale, entity.getBranchline(), BranchlineDto.class)); + dto.setSection(toDataReference(referentialLocale, entity.getSection(), SectionDto.class)); + dto.setBasket(toDataReference(referentialLocale, entity.getBasket(), BasketDto.class)); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java new file mode 100644 index 0000000..c21f08e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java @@ -0,0 +1,51 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; +import fr.ird.observe.entities.seine.TransmittingBuoy; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TransmittingBuoyBinder extends DataBinderSupport<TransmittingBuoy, TransmittingBuoyDto> { + + public TransmittingBuoyBinder() { + super(TransmittingBuoy.class, TransmittingBuoyDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TransmittingBuoyDto dto, TransmittingBuoy entity) { + + entity.setTopiaId(dto.getId()); + + entity.setCode(dto.getCode()); + entity.setBrand(dto.getBrand()); + entity.setOwnership(OWNERSHIP_TO_ENTITY.apply(dto.getOwnership())); + entity.setTransmittingBuoyOperation(toEntity(dto.getTransmittingBuoyOperation(), TransmittingBuoyOperation.class)); + entity.setTransmittingBuoyType(toEntity(dto.getTransmittingBuoyType(), TransmittingBuoyType.class)); + entity.setCountry(toEntity(dto.getCountry(), Country.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TransmittingBuoy entity, TransmittingBuoyDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setCode(entity.getCode()); + dto.setBrand(entity.getBrand()); + dto.setOwnership(OWNERSHIP_TO_DTO.apply(entity.getOwnership())); + dto.setTransmittingBuoyOperation(toReferentialReference(referentialLocale, entity.getTransmittingBuoyOperation(), TransmittingBuoyOperationDto.class)); + dto.setTransmittingBuoyType(toReferentialReference(referentialLocale, entity.getTransmittingBuoyType(), TransmittingBuoyTypeDto.class)); + dto.setCountry(toReferentialReference(referentialLocale, entity.getCountry(), CountryDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineActivityDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineActivityDtoBinder.java new file mode 100644 index 0000000..5c39510 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineActivityDtoBinder.java @@ -0,0 +1,35 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripLonglineActivityDtoBinder extends DataBinderSupport<ActivityLongline, TripLonglineActivityDto> { + + public TripLonglineActivityDtoBinder() { + super(ActivityLongline.class, TripLonglineActivityDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineActivityDto dto, ActivityLongline entity) { + + entity.setTopiaId(dto.getId()); + + entity.setTimeStamp(dto.getTimeStamp()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, TripLonglineActivityDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setTimeStamp(entity.getTimeStamp()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java new file mode 100644 index 0000000..6225b82 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java @@ -0,0 +1,102 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Person; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.entities.referentiel.Vessel; +import fr.ird.observe.entities.referentiel.longline.TripType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLonglineDto> { + + public TripLonglineBinder() { + super(TripLongline.class, TripLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineDto dto, TripLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); + + entity.setStartDate(dto.getStartDate()); + entity.setEndDate(dto.getEndDate()); + entity.setTotalFishingOperationsNumber(dto.getTotalFishingOperationsNumber()); + entity.setHomeId(dto.getHomeId()); + entity.setTripType(toEntity(dto.getTripType(), TripType.class)); + entity.setOcean(toEntity(dto.getOcean(), Ocean.class)); + entity.setVessel(toEntity(dto.getVessel(), Vessel.class)); + entity.setProgram(toEntity(dto.getProgram(), Program.class)); + entity.setObserver(toEntity(dto.getObserver(), Person.class)); + entity.setCaptain(toEntity(dto.getCaptain(), Person.class)); + entity.setDataEntryOperator(toEntity(dto.getDataEntryOperator(), Person.class)); + entity.setDepartureHarbour(toEntity(dto.getDepartureHarbour(), Harbour.class)); + entity.setLandingHarbour(toEntity(dto.getLandingHarbour(), Harbour.class)); + entity.setActivityLongline(toEntitySet(referentialLocale, dto.getActivityLongline(), ActivityLongline.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); + + dto.setStartDate(entity.getStartDate()); + dto.setEndDate(entity.getEndDate()); + dto.setTotalFishingOperationsNumber(entity.getTotalFishingOperationsNumber()); + dto.setHomeId(entity.getHomeId()); + dto.setTripType(toReferentialReference(referentialLocale, entity.getTripType(), TripTypeDto.class)); + dto.setOcean(toReferentialReference(referentialLocale, entity.getOcean(), OceanDto.class)); + dto.setVessel(toReferentialReference(referentialLocale, entity.getVessel(), VesselDto.class)); + dto.setProgram(toReferentialReference(referentialLocale, entity.getProgram(), ProgramDto.class)); + dto.setObserver(toReferentialReference(referentialLocale, entity.getObserver(), PersonDto.class)); + dto.setCaptain(toReferentialReference(referentialLocale, entity.getCaptain(), PersonDto.class)); + dto.setDataEntryOperator(toReferentialReference(referentialLocale, entity.getDataEntryOperator(), PersonDto.class)); + dto.setDepartureHarbour(toReferentialReference(referentialLocale, entity.getDepartureHarbour(), HarbourDto.class)); + dto.setLandingHarbour(toReferentialReference(referentialLocale, entity.getLandingHarbour(), HarbourDto.class)); + dto.setActivityLongline(toLinkedHashSetData(referentialLocale, entity.getActivityLongline(), TripLonglineActivityDto.class)); + + } + + @Override + public DataReference<TripLonglineDto> toDataReference(ReferentialLocale referentialLocale, TripLongline entity) { + + return toDataReference(entity, + entity.getStartDate(), + entity.getEndDate(), + getLabel(referentialLocale, entity.getVessel()), + entity.getObserverLabel()); + + } + + @Override + public DataReference<TripLonglineDto> toDataReference(ReferentialLocale referentialLocale, TripLonglineDto dto) { + + return toDataReference(dto, + dto.getStartDate(), + dto.getEndDate(), + getLabel(referentialLocale, dto.getVessel()), + getLabel(referentialLocale, dto.getObserver())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java new file mode 100644 index 0000000..a2f7f60 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.GearUseFeaturesLongline; +import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripLonglineGearUseDtoBinder extends DataBinderSupport<TripLongline, TripLonglineGearUseDto> { + + public TripLonglineGearUseDtoBinder() { + super(TripLongline.class, TripLonglineGearUseDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineGearUseDto dto, TripLongline entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setGearUseFeaturesLongline(toEntitySet(referentialLocale, dto.getGearUseFeaturesLongline(), GearUseFeaturesLongline.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineGearUseDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setGearUseFeaturesLongline(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesLongline(), GearUseFeaturesLonglineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java new file mode 100644 index 0000000..6f8c265 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java @@ -0,0 +1,101 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Person; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.entities.referentiel.Vessel; +import fr.ird.observe.entities.seine.Route; +import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.seine.RouteStubDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> { + + public TripSeineBinder() { + super(TripSeine.class, TripSeineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripSeineDto dto, TripSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setStartDate(dto.getStartDate()); + entity.setEndDate(dto.getEndDate()); + entity.setCheckLevel(dto.getCheckLevel()); + entity.setFormsUrl(dto.getFormsUrl()); + entity.setReportsUrl(dto.getReportsUrl()); + entity.setErsId(dto.getErsId()); + + entity.setOcean(toEntity(dto.getOcean(), Ocean.class)); + entity.setVessel(toEntity(dto.getVessel(), Vessel.class)); + entity.setProgram(toEntity(dto.getProgram(), Program.class)); + entity.setObserver(toEntity(dto.getObserver(), Person.class)); + entity.setCaptain(toEntity(dto.getCaptain(), Person.class)); + entity.setDataEntryOperator(toEntity(dto.getDataEntryOperator(), Person.class)); + entity.setDepartureHarbour(toEntity(dto.getDepartureHarbour(), Harbour.class)); + entity.setLandingHarbour(toEntity(dto.getLandingHarbour(), Harbour.class)); + entity.setRoute(toEntitySet(referentialLocale, dto.getRoute(), Route.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setStartDate(entity.getStartDate()); + dto.setEndDate(entity.getEndDate()); + dto.setCheckLevel(entity.getCheckLevel()); + dto.setFormsUrl(entity.getFormsUrl()); + dto.setReportsUrl(entity.getReportsUrl()); + dto.setErsId(entity.getErsId()); + dto.setOcean(toReferentialReference(referentialLocale, entity.getOcean(), OceanDto.class)); + dto.setVessel(toReferentialReference(referentialLocale, entity.getVessel(), VesselDto.class)); + dto.setProgram(toReferentialReference(referentialLocale, entity.getProgram(), ProgramDto.class)); + dto.setObserver(toReferentialReference(referentialLocale, entity.getObserver(), PersonDto.class)); + dto.setCaptain(toReferentialReference(referentialLocale, entity.getCaptain(), PersonDto.class)); + dto.setDataEntryOperator(toReferentialReference(referentialLocale, entity.getDataEntryOperator(), PersonDto.class)); + dto.setDepartureHarbour(toReferentialReference(referentialLocale, entity.getDepartureHarbour(), HarbourDto.class)); + dto.setLandingHarbour(toReferentialReference(referentialLocale, entity.getLandingHarbour(), HarbourDto.class)); + dto.setRoute(toLinkedHashSetData(referentialLocale, entity.getRoute(), RouteStubDto.class)); + + } + + @Override + public DataReference<TripSeineDto> toDataReference(ReferentialLocale referentialLocale, TripSeine entity) { + + return toDataReference(entity, + entity.getStartDate(), + entity.getEndDate(), + getLabel(referentialLocale, entity.getVessel()), + entity.getObserverLabel()); + + } + + @Override + public DataReference<TripSeineDto> toDataReference(ReferentialLocale referentialLocale, TripSeineDto dto) { + + return toDataReference(dto, + dto.getStartDate(), + dto.getEndDate(), + getLabel(referentialLocale, dto.getVessel()), + getLabel(referentialLocale, dto.getObserver())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java new file mode 100644 index 0000000..106d9f8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.seine.GearUseFeaturesSeine; +import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripSeineGearUseDtoBinder extends DataBinderSupport<TripSeine, TripSeineGearUseDto> { + + public TripSeineGearUseDtoBinder() { + super(TripSeine.class, TripSeineGearUseDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripSeineGearUseDto dto, TripSeine entity) { + + entity.setTopiaId(dto.getId()); + entity.setLastUpdate(dto.getLastUpdate()); + + entity.setGearUseFeaturesSeine(toEntitySet(referentialLocale, dto.getGearUseFeaturesSeine(), GearUseFeaturesSeine.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineGearUseDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setLastUpdate(entity.getLastUpdate()); + + dto.setGearUseFeaturesSeine(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesSeine(), GearUseFeaturesSeineDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/WeightMeasureBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/WeightMeasureBinder.java new file mode 100644 index 0000000..4173926 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/WeightMeasureBinder.java @@ -0,0 +1,39 @@ +package fr.ird.observe.services.binder.data; + +import fr.ird.observe.entities.longline.WeightMeasure; +import fr.ird.observe.entities.referentiel.longline.WeightMeasureType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WeightMeasureBinder extends DataBinderSupport<WeightMeasure, WeightMeasureDto> { + + public WeightMeasureBinder() { + super(WeightMeasure.class, WeightMeasureDto.class, false); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, WeightMeasureDto dto, WeightMeasure entity) { + + entity.setTopiaId(dto.getId()); + + entity.setWeight(dto.getWeight()); + entity.setWeightMeasureType(toEntity(dto.getWeightMeasureType(), WeightMeasureType.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, WeightMeasure entity, WeightMeasureDto dto) { + + dto.setId(entity.getTopiaId()); + + dto.setWeight(entity.getWeight()); + dto.setWeightMeasureType(toReferentialReference(referentialLocale, entity.getWeightMeasureType(), WeightMeasureTypeDto.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitHaulingStatusBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitHaulingStatusBinder.java new file mode 100644 index 0000000..bcb51a1 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitHaulingStatusBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BaitHaulingStatusBinder extends ReferentialBinderSupport<BaitHaulingStatus, BaitHaulingStatusDto> { + + public BaitHaulingStatusBinder() { + super(BaitHaulingStatus.class, BaitHaulingStatusDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BaitHaulingStatusDto dto, BaitHaulingStatus entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BaitHaulingStatus entity, BaitHaulingStatusDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<BaitHaulingStatusDto> toReferentialReference(ReferentialLocale referentialLocale, BaitHaulingStatus entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<BaitHaulingStatusDto> toReferentialReference(ReferentialLocale referentialLocale, BaitHaulingStatusDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitSettingStatusBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitSettingStatusBinder.java new file mode 100644 index 0000000..cbb4a27 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitSettingStatusBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.BaitSettingStatus; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BaitSettingStatusBinder extends ReferentialBinderSupport<BaitSettingStatus, BaitSettingStatusDto> { + + public BaitSettingStatusBinder() { + super(BaitSettingStatus.class, BaitSettingStatusDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BaitSettingStatusDto dto, BaitSettingStatus entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BaitSettingStatus entity, BaitSettingStatusDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<BaitSettingStatusDto> toReferentialReference(ReferentialLocale referentialLocale, BaitSettingStatus entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<BaitSettingStatusDto> toReferentialReference(ReferentialLocale referentialLocale, BaitSettingStatusDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitTypeBinder.java new file mode 100644 index 0000000..4fe411d --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/BaitTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.BaitType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BaitTypeBinder extends ReferentialBinderSupport<BaitType, BaitTypeDto> { + + public BaitTypeBinder() { + super(BaitType.class, BaitTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, BaitTypeDto dto, BaitType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, BaitType entity, BaitTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<BaitTypeDto> toReferentialReference(ReferentialLocale referentialLocale, BaitType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<BaitTypeDto> toReferentialReference(ReferentialLocale referentialLocale, BaitTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CatchFateLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CatchFateLonglineBinder.java new file mode 100644 index 0000000..0cb86e9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CatchFateLonglineBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.CatchFateLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class CatchFateLonglineBinder extends ReferentialBinderSupport<CatchFateLongline, CatchFateLonglineDto> { + + public CatchFateLonglineBinder() { + super(CatchFateLongline.class, CatchFateLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, CatchFateLonglineDto dto, CatchFateLongline entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, CatchFateLongline entity, CatchFateLonglineDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<CatchFateLonglineDto> toReferentialReference(ReferentialLocale referentialLocale, CatchFateLongline entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<CatchFateLonglineDto> toReferentialReference(ReferentialLocale referentialLocale, CatchFateLonglineDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CountryBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CountryBinder.java new file mode 100644 index 0000000..b959497 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/CountryBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class CountryBinder extends ReferentialBinderSupport<Country, CountryDto> { + + public CountryBinder() { + super(Country.class, CountryDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, CountryDto dto, Country entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setIso2Code(dto.getIso2Code()); + entity.setIso3Code(dto.getIso3Code()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Country entity, CountryDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setIso2Code(entity.getIso2Code()); + dto.setIso3Code(entity.getIso3Code()); + + } + + @Override + public ReferentialReference<CountryDto> toReferentialReference(ReferentialLocale referentialLocale, Country entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<CountryDto> toReferentialReference(ReferentialLocale referentialLocale, CountryDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/DetectionModeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/DetectionModeBinder.java new file mode 100644 index 0000000..74bcedf --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/DetectionModeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.DetectionMode; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DetectionModeBinder extends ReferentialBinderSupport<DetectionMode, DetectionModeDto> { + + public DetectionModeBinder() { + super(DetectionMode.class, DetectionModeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, DetectionModeDto dto, DetectionMode entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, DetectionMode entity, DetectionModeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<DetectionModeDto> toReferentialReference(ReferentialLocale referentialLocale, DetectionMode entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<DetectionModeDto> toReferentialReference(ReferentialLocale referentialLocale, DetectionModeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/EncounterTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/EncounterTypeBinder.java new file mode 100644 index 0000000..121f1f3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/EncounterTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.EncounterType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class EncounterTypeBinder extends ReferentialBinderSupport<EncounterType, EncounterTypeDto> { + + public EncounterTypeBinder() { + super(EncounterType.class, EncounterTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, EncounterTypeDto dto, EncounterType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, EncounterType entity, EncounterTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<EncounterTypeDto> toReferentialReference(ReferentialLocale referentialLocale, EncounterType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<EncounterTypeDto> toReferentialReference(ReferentialLocale referentialLocale, EncounterTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/FpaZoneBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/FpaZoneBinder.java new file mode 100644 index 0000000..d06ed2c --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/FpaZoneBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.FpaZone; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class FpaZoneBinder extends ReferentialBinderSupport<FpaZone, FpaZoneDto> { + + public FpaZoneBinder() { + super(FpaZone.class, FpaZoneDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, FpaZoneDto dto, FpaZone entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setStartDate(dto.getStartDate()); + entity.setEndDate(dto.getEndDate()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, FpaZone entity, FpaZoneDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setStartDate(entity.getStartDate()); + dto.setEndDate(entity.getEndDate()); + + } + + @Override + public ReferentialReference<FpaZoneDto> toReferentialReference(ReferentialLocale referentialLocale, FpaZone entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<FpaZoneDto> toReferentialReference(ReferentialLocale referentialLocale, FpaZoneDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearBinder.java new file mode 100644 index 0000000..4ae4992 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearBinder.java @@ -0,0 +1,53 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Gear; +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearBinder extends ReferentialBinderSupport<Gear, GearDto> { + + public GearBinder() { + super(Gear.class, GearDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearDto dto, Gear entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setGearCaracteristic(toEntitySet(dto.getGearCaracteristic(), GearCaracteristic.class)); + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Gear entity, GearDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setGearCaracteristic(toReferentialReferenceList(referentialLocale, entity.getGearCaracteristic(), GearCaracteristicDto.class)); + + } + + @Override + public ReferentialReference<GearDto> toReferentialReference(ReferentialLocale referentialLocale, Gear entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<GearDto> toReferentialReference(ReferentialLocale referentialLocale, GearDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicBinder.java new file mode 100644 index 0000000..7e85469 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.GearCaracteristic; +import fr.ird.observe.entities.referentiel.GearCaracteristicType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearCaracteristicBinder extends ReferentialBinderSupport<GearCaracteristic, GearCaracteristicDto> { + + public GearCaracteristicBinder() { + super(GearCaracteristic.class, GearCaracteristicDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearCaracteristicDto dto, GearCaracteristic entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setGearCaracteristicType(toEntity(dto.getGearCaracteristicType(), GearCaracteristicType.class)); + entity.setUnit(dto.getUnit()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearCaracteristic entity, GearCaracteristicDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setGearCaracteristicType(toReferentialReference(referentialLocale, entity.getGearCaracteristicType(), GearCaracteristicTypeDto.class)); + dto.setUnit(entity.getUnit()); + + } + + @Override + public ReferentialReference<GearCaracteristicDto> toReferentialReference(ReferentialLocale referentialLocale, GearCaracteristic entity) { + + return toReferentialReference(entity, + entity.getCode(), + getLabel(referentialLocale, entity), + getLabel(referentialLocale, entity.getGearCaracteristicType())); + + } + + @Override + public ReferentialReference<GearCaracteristicDto> toReferentialReference(ReferentialLocale referentialLocale, GearCaracteristicDto dto) { + + return toReferentialReference(dto, + dto.getCode(), + getLabel(referentialLocale, dto), + getLabel(referentialLocale, dto.getGearCaracteristicType())); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicTypeBinder.java new file mode 100644 index 0000000..76b8fa3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/GearCaracteristicTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.GearCaracteristicType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class GearCaracteristicTypeBinder extends ReferentialBinderSupport<GearCaracteristicType, GearCaracteristicTypeDto> { + + public GearCaracteristicTypeBinder() { + super(GearCaracteristicType.class, GearCaracteristicTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, GearCaracteristicTypeDto dto, GearCaracteristicType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, GearCaracteristicType entity, GearCaracteristicTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<GearCaracteristicTypeDto> toReferentialReference(ReferentialLocale referentialLocale, GearCaracteristicType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<GearCaracteristicTypeDto> toReferentialReference(ReferentialLocale referentialLocale, GearCaracteristicTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HarbourBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HarbourBinder.java new file mode 100644 index 0000000..91eb706 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HarbourBinder.java @@ -0,0 +1,62 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HarbourBinder extends ReferentialBinderSupport<Harbour, HarbourDto> { + + public HarbourBinder() { + super(Harbour.class, HarbourDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HarbourDto dto, Harbour entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setName(dto.getName()); + entity.setLocode(dto.getLocode()); + entity.setLatitude(dto.getLatitude()); + entity.setLongitude(dto.getLongitude()); + entity.setQuadrant(dto.getQuadrant()); + entity.setCountry(toEntity(dto.getCountry(), Country.class)); + + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Harbour entity, HarbourDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setName(entity.getName()); + dto.setLocode(entity.getLocode()); + dto.setLatitude(entity.getLatitude()); + dto.setLongitude(entity.getLongitude()); + dto.setQuadrant(entity.getQuadrant()); + dto.setCountry(toReferentialReference(referentialLocale, entity.getCountry(), CountryDto.class)); + + } + + @Override + public ReferentialReference<HarbourDto> toReferentialReference(ReferentialLocale referentialLocale, Harbour entity) { + + return toReferentialReference(entity, + entity.getCode(), entity.getName(), entity.getLocode()); + + } + + @Override + public ReferentialReference<HarbourDto> toReferentialReference(ReferentialLocale referentialLocale, HarbourDto dto) { + + return toReferentialReference(dto, + dto.getCode(), dto.getName(), dto.getLocode()); + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HealthnessBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HealthnessBinder.java new file mode 100644 index 0000000..58bd6d8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HealthnessBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.Healthness; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HealthnessBinder extends ReferentialBinderSupport<Healthness, HealthnessDto> { + + public HealthnessBinder() { + super(Healthness.class, HealthnessDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HealthnessDto dto, Healthness entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Healthness entity, HealthnessDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<HealthnessDto> toReferentialReference(ReferentialLocale referentialLocale, Healthness entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<HealthnessDto> toReferentialReference(ReferentialLocale referentialLocale, HealthnessDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookPositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookPositionBinder.java new file mode 100644 index 0000000..556369f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookPositionBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.HookPosition; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HookPositionBinder extends ReferentialBinderSupport<HookPosition, HookPositionDto> { + + public HookPositionBinder() { + super(HookPosition.class, HookPositionDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HookPositionDto dto, HookPosition entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, HookPosition entity, HookPositionDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<HookPositionDto> toReferentialReference(ReferentialLocale referentialLocale, HookPosition entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<HookPositionDto> toReferentialReference(ReferentialLocale referentialLocale, HookPositionDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookSizeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookSizeBinder.java new file mode 100644 index 0000000..9a0b335 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookSizeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.HookSize; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HookSizeBinder extends ReferentialBinderSupport<HookSize, HookSizeDto> { + + public HookSizeBinder() { + super(HookSize.class, HookSizeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HookSizeDto dto, HookSize entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, HookSize entity, HookSizeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<HookSizeDto> toReferentialReference(ReferentialLocale referentialLocale, HookSize entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<HookSizeDto> toReferentialReference(ReferentialLocale referentialLocale, HookSizeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookTypeBinder.java new file mode 100644 index 0000000..b566df5 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/HookTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.HookType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class HookTypeBinder extends ReferentialBinderSupport<HookType, HookTypeDto> { + + public HookTypeBinder() { + super(HookType.class, HookTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, HookTypeDto dto, HookType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, HookType entity, HookTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<HookTypeDto> toReferentialReference(ReferentialLocale referentialLocale, HookType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<HookTypeDto> toReferentialReference(ReferentialLocale referentialLocale, HookTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemHorizontalPositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemHorizontalPositionBinder.java new file mode 100644 index 0000000..7b985b9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemHorizontalPositionBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ItemHorizontalPositionBinder extends ReferentialBinderSupport<ItemHorizontalPosition, ItemHorizontalPositionDto> { + + public ItemHorizontalPositionBinder() { + super(ItemHorizontalPosition.class, ItemHorizontalPositionDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ItemHorizontalPositionDto dto, ItemHorizontalPosition entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ItemHorizontalPosition entity, ItemHorizontalPositionDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ItemHorizontalPositionDto> toReferentialReference(ReferentialLocale referentialLocale, ItemHorizontalPosition entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ItemHorizontalPositionDto> toReferentialReference(ReferentialLocale referentialLocale, ItemHorizontalPositionDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemVerticalPositionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemVerticalPositionBinder.java new file mode 100644 index 0000000..51743c7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ItemVerticalPositionBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ItemVerticalPositionBinder extends ReferentialBinderSupport<ItemVerticalPosition, ItemVerticalPositionDto> { + + public ItemVerticalPositionBinder() { + super(ItemVerticalPosition.class, ItemVerticalPositionDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ItemVerticalPositionDto dto, ItemVerticalPosition entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ItemVerticalPosition entity, ItemVerticalPositionDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ItemVerticalPositionDto> toReferentialReference(ReferentialLocale referentialLocale, ItemVerticalPosition entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ItemVerticalPositionDto> toReferentialReference(ReferentialLocale referentialLocale, ItemVerticalPositionDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java new file mode 100644 index 0000000..eb6593e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java @@ -0,0 +1,71 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.LengthWeightParameter; +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LengthWeightParameterBinder extends ReferentialBinderSupport<LengthWeightParameter, LengthWeightParameterDto> { + + public LengthWeightParameterBinder() { + super(LengthWeightParameter.class, LengthWeightParameterDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, LengthWeightParameterDto dto, LengthWeightParameter entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setLengthWeightFormula(dto.getLengthWeightFormula()); + entity.setWeightLengthFormula(dto.getWeightLengthFormula()); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + entity.setOcean(toEntity(dto.getOcean(), Ocean.class)); + entity.setSex(toEntity(dto.getSex(), Sex.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, LengthWeightParameter entity, LengthWeightParameterDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setLengthWeightFormula(entity.getLengthWeightFormula()); + dto.setWeightLengthFormula(entity.getWeightLengthFormula()); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + dto.setOcean(toReferentialReference(referentialLocale, entity.getOcean(), OceanDto.class)); + dto.setSex(toReferentialReference(referentialLocale, entity.getSex(), SexDto.class)); + + } + + @Override + public ReferentialReference<LengthWeightParameterDto> toReferentialReference(ReferentialLocale referentialLocale, LengthWeightParameter entity) { + + return toReferentialReference(entity, + getLabel(referentialLocale, entity.getSex()), + getLabel(referentialLocale, entity.getOcean()), + getLabel(referentialLocale, entity.getSpecies()), + entity.getStartDate() + ); + + } + + @Override + public ReferentialReference<LengthWeightParameterDto> toReferentialReference(ReferentialLocale referentialLocale, LengthWeightParameterDto dto) { + + return toReferentialReference(dto, + getLabel(referentialLocale, dto.getSex()), + getLabel(referentialLocale, dto.getOcean()), + getLabel(referentialLocale, dto.getSpecies()), + dto.getStartDate()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksColorBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksColorBinder.java new file mode 100644 index 0000000..cf4dbc0 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksColorBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.LightsticksColor; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LightsticksColorBinder extends ReferentialBinderSupport<LightsticksColor, LightsticksColorDto> { + + public LightsticksColorBinder() { + super(LightsticksColor.class, LightsticksColorDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, LightsticksColorDto dto, LightsticksColor entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, LightsticksColor entity, LightsticksColorDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<LightsticksColorDto> toReferentialReference(ReferentialLocale referentialLocale, LightsticksColor entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<LightsticksColorDto> toReferentialReference(ReferentialLocale referentialLocale, LightsticksColorDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksTypeBinder.java new file mode 100644 index 0000000..866994a --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LightsticksTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.LightsticksType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LightsticksTypeBinder extends ReferentialBinderSupport<LightsticksType, LightsticksTypeDto> { + + public LightsticksTypeBinder() { + super(LightsticksType.class, LightsticksTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, LightsticksTypeDto dto, LightsticksType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, LightsticksType entity, LightsticksTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<LightsticksTypeDto> toReferentialReference(ReferentialLocale referentialLocale, LightsticksType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<LightsticksTypeDto> toReferentialReference(ReferentialLocale referentialLocale, LightsticksTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LineTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LineTypeBinder.java new file mode 100644 index 0000000..bff283f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LineTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.LineType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LineTypeBinder extends ReferentialBinderSupport<LineType, LineTypeDto> { + + public LineTypeBinder() { + super(LineType.class, LineTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, LineTypeDto dto, LineType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, LineType entity, LineTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<LineTypeDto> toReferentialReference(ReferentialLocale referentialLocale, LineType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<LineTypeDto> toReferentialReference(ReferentialLocale referentialLocale, LineTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MaturityStatusBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MaturityStatusBinder.java new file mode 100644 index 0000000..136015e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MaturityStatusBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.MaturityStatus; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class MaturityStatusBinder extends ReferentialBinderSupport<MaturityStatus, MaturityStatusDto> { + + public MaturityStatusBinder() { + super(MaturityStatus.class, MaturityStatusDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, MaturityStatusDto dto, MaturityStatus entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setLowerValue(dto.getLowerValue()); + entity.setUpperValue(dto.getUpperValue()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, MaturityStatus entity, MaturityStatusDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setLowerValue(entity.getLowerValue()); + dto.setUpperValue(entity.getUpperValue()); + + } + + @Override + public ReferentialReference<MaturityStatusDto> toReferentialReference(ReferentialLocale referentialLocale, MaturityStatus entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<MaturityStatusDto> toReferentialReference(ReferentialLocale referentialLocale, MaturityStatusDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MitigationTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MitigationTypeBinder.java new file mode 100644 index 0000000..14c9a01 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/MitigationTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.MitigationType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class MitigationTypeBinder extends ReferentialBinderSupport<MitigationType, MitigationTypeDto> { + + public MitigationTypeBinder() { + super(MitigationType.class, MitigationTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, MitigationTypeDto dto, MitigationType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, MitigationType entity, MitigationTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<MitigationTypeDto> toReferentialReference(ReferentialLocale referentialLocale, MitigationType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<MitigationTypeDto> toReferentialReference(ReferentialLocale referentialLocale, MitigationTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectFateBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectFateBinder.java new file mode 100644 index 0000000..fdc784e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectFateBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ObjectFate; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectFateBinder extends ReferentialBinderSupport<ObjectFate, ObjectFateDto> { + + public ObjectFateBinder() { + super(ObjectFate.class, ObjectFateDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectFateDto dto, ObjectFate entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectFate entity, ObjectFateDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ObjectFateDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectFate entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ObjectFateDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectFateDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectOperationBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectOperationBinder.java new file mode 100644 index 0000000..852e97e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectOperationBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ObjectOperation; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectOperationBinder extends ReferentialBinderSupport<ObjectOperation, ObjectOperationDto> { + + public ObjectOperationBinder() { + super(ObjectOperation.class, ObjectOperationDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectOperationDto dto, ObjectOperation entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectOperation entity, ObjectOperationDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ObjectOperationDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectOperation entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ObjectOperationDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectOperationDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectTypeBinder.java new file mode 100644 index 0000000..2c5f828 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObjectTypeBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ObjectType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObjectTypeBinder extends ReferentialBinderSupport<ObjectType, ObjectTypeDto> { + + public ObjectTypeBinder() { + super(ObjectType.class, ObjectTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObjectTypeDto dto, ObjectType entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObjectType entity, ObjectTypeDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ObjectTypeDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ObjectTypeDto> toReferentialReference(ReferentialLocale referentialLocale, ObjectTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObservedSystemBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObservedSystemBinder.java new file mode 100644 index 0000000..a1d4120 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ObservedSystemBinder.java @@ -0,0 +1,56 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ObservedSystem; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObservedSystemBinder extends ReferentialBinderSupport<ObservedSystem, ObservedSystemDto> { + + public ObservedSystemBinder() { + super(ObservedSystem.class, ObservedSystemDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ObservedSystemDto dto, ObservedSystem entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setSchoolType(SCHOOL_TYPE_TO_ENTITY.apply(dto.getSchoolType())); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ObservedSystem entity, ObservedSystemDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setSchoolType(SCHOOL_TYPE_TO_DTO.apply(entity.getSchoolType())); + + } + + @Override + public ReferentialReference<ObservedSystemDto> toReferentialReference(ReferentialLocale referentialLocale, ObservedSystem entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ObservedSystemDto> toReferentialReference(ReferentialLocale referentialLocale, ObservedSystemDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OceanBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OceanBinder.java new file mode 100644 index 0000000..400a3fb --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OceanBinder.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class OceanBinder extends ReferentialBinderSupport<Ocean, OceanDto> { + + public OceanBinder() { + super(Ocean.class, OceanDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, OceanDto dto, Ocean entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Ocean entity, OceanDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<OceanDto> toReferentialReference(ReferentialLocale referentialLocale, Ocean entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<OceanDto> toReferentialReference(ReferentialLocale referentialLocale, OceanDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OrganismBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OrganismBinder.java new file mode 100644 index 0000000..99feab8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/OrganismBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.Organism; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class OrganismBinder extends ReferentialBinderSupport<Organism, OrganismDto> { + + public OrganismBinder() { + super(Organism.class, OrganismDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, OrganismDto dto, Organism entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setCountry(toEntity(dto.getCountry(), Country.class)); + entity.setDescription(dto.getDescription()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Organism entity, OrganismDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setCountry(toReferentialReference(referentialLocale, entity.getCountry(), CountryDto.class)); + dto.setDescription(entity.getDescription()); + + } + + @Override + public ReferentialReference<OrganismDto> toReferentialReference(ReferentialLocale referentialLocale, Organism entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<OrganismDto> toReferentialReference(ReferentialLocale referentialLocale, OrganismDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/PersonBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/PersonBinder.java new file mode 100644 index 0000000..3b646cc --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/PersonBinder.java @@ -0,0 +1,72 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.Person; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class PersonBinder extends ReferentialBinderSupport<Person, PersonDto> { + + public PersonBinder() { + super(Person.class, PersonDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, PersonDto dto, Person entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setCode(dto.getCode()); + entity.setLastName(dto.getLastName()); + entity.setFirstName(dto.getFirstName()); + entity.setCaptain(dto.isCaptain()); + entity.setObserver(dto.isObserver()); + entity.setDataEntryOperator(dto.isDataEntryOperator()); + entity.setCountry(toEntity(dto.getCountry(), Country.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Person entity, PersonDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setCode(entity.getCode()); + dto.setLastName(entity.getLastName()); + dto.setFirstName(entity.getFirstName()); + dto.setCaptain(entity.isCaptain()); + dto.setObserver(entity.isObserver()); + dto.setDataEntryOperator(entity.isDataEntryOperator()); + dto.setCountry(toReferentialReference(referentialLocale, entity.getCountry(), CountryDto.class)); + + } + + @Override + public ReferentialReference<PersonDto> toReferentialReference(ReferentialLocale referentialLocale, Person entity) { + + return toReferentialReference(entity, + entity.getFirstName(), + entity.getLastName(), + entity.isCaptain(), + entity.isObserver(), + entity.isDataEntryOperator()); + + } + + @Override + public ReferentialReference<PersonDto> toReferentialReference(ReferentialLocale referentialLocale, PersonDto dto) { + + return toReferentialReference(dto, + dto.getFirstName(), + dto.getLastName(), + dto.isCaptain(), + dto.isObserver(), + dto.isDataEntryOperator()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java new file mode 100644 index 0000000..9181996 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java @@ -0,0 +1,86 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Organism; +import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ProgramBinder extends ReferentialBinderSupport<Program, ProgramDto> { + + public ProgramBinder() { + super(Program.class, ProgramDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ProgramDto dto, Program entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + entity.setOrganism(toEntity(dto.getOrganism(), Organism.class)); + + entity.setEndDate(dto.getEndDate()); + entity.setGearType(GEAR_TYPE_TO_ENTITY.apply(dto.getGearType())); + entity.setNonTargetObservation(dto.getNonTargetObservation()); + entity.setTargetDiscardsObservation(dto.getTargetDiscardsObservation()); + entity.setSamplesObservation(dto.getSamplesObservation()); + entity.setObjectsObservation(dto.getObjectsObservation()); + entity.setDetailledActivitiesObservation(dto.getDetailledActivitiesObservation()); + entity.setMammalsObservation(dto.getMammalsObservation()); + entity.setBirdsObservation(dto.getBirdsObservation()); + entity.setBaitObservation(dto.getBaitObservation()); + entity.setStartDate(dto.getStartDate()); + entity.setEndDate(dto.getEndDate()); + entity.setComment(dto.getComment()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Program entity, ProgramDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + dto.setOrganism(toReferentialReference(referentialLocale, entity.getOrganism(), OrganismDto.class)); + + dto.setGearType(GEAR_TYPE_TO_DTO.apply(entity.getGearType())); + dto.setGearTypePrefix(entity.getGearTypePrefix()); + dto.setNonTargetObservation(entity.getNonTargetObservation()); + dto.setTargetDiscardsObservation(entity.getTargetDiscardsObservation()); + dto.setSamplesObservation(entity.getSamplesObservation()); + dto.setObjectsObservation(entity.getObjectsObservation()); + dto.setDetailledActivitiesObservation(entity.getDetailledActivitiesObservation()); + dto.setMammalsObservation(entity.getMammalsObservation()); + dto.setBirdsObservation(entity.getBirdsObservation()); + dto.setBaitObservation(entity.getBaitObservation()); + dto.setStartDate(entity.getStartDate()); + dto.setEndDate(entity.getEndDate()); + dto.setComment(entity.getComment()); + + } + + @Override + public ReferentialReference<ProgramDto> toReferentialReference(ReferentialLocale referentialLocale, Program entity) { + + return toReferentialReference(entity, + GEAR_TYPE_TO_DTO.apply(entity.getGearType()), entity.getGearTypePrefix()); + + } + + @Override + public ReferentialReference<ProgramDto> toReferentialReference(ReferentialLocale referentialLocale, ProgramDto dto) { + + return toReferentialReference(dto, + dto.getGearType(), dto.getGearTypePrefix()); + + } + + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForDiscardBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForDiscardBinder.java new file mode 100644 index 0000000..188e16e --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForDiscardBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReasonForDiscardBinder extends ReferentialBinderSupport<ReasonForDiscard, ReasonForDiscardDto> { + + public ReasonForDiscardBinder() { + super(ReasonForDiscard.class, ReasonForDiscardDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ReasonForDiscardDto dto, ReasonForDiscard entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ReasonForDiscard entity, ReasonForDiscardDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ReasonForDiscardDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForDiscard entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ReasonForDiscardDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForDiscardDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNoFishingBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNoFishingBinder.java new file mode 100644 index 0000000..4c1841f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNoFishingBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReasonForNoFishingBinder extends ReferentialBinderSupport<ReasonForNoFishing, ReasonForNoFishingDto> { + + public ReasonForNoFishingBinder() { + super(ReasonForNoFishing.class, ReasonForNoFishingDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ReasonForNoFishingDto dto, ReasonForNoFishing entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ReasonForNoFishing entity, ReasonForNoFishingDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ReasonForNoFishingDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForNoFishing entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ReasonForNoFishingDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForNoFishingDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNullSetBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNullSetBinder.java new file mode 100644 index 0000000..0f283c9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReasonForNullSetBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.ReasonForNullSet; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReasonForNullSetBinder extends ReferentialBinderSupport<ReasonForNullSet, ReasonForNullSetDto> { + + public ReasonForNullSetBinder() { + super(ReasonForNullSet.class, ReasonForNullSetDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, ReasonForNullSetDto dto, ReasonForNullSet entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, ReasonForNullSet entity, ReasonForNullSetDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<ReasonForNullSetDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForNullSet entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<ReasonForNullSetDto> toReferentialReference(ReferentialLocale referentialLocale, ReasonForNullSetDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java new file mode 100644 index 0000000..e7ff72b --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java @@ -0,0 +1,138 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.I18nReferenceEntity; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.BinderSupport; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions; +import fr.ird.observe.services.dto.referential.I18nReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import java.io.Serializable; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D extends ReferentialDto> extends BinderSupport<E, D> { + + protected final ReferenceSetDefinition<D> definition; + + protected ReferentialBinderSupport(Class<E> entityType, Class<D> dtoType) { + super(entityType, dtoType); + this.definition = ReferentialReferenceSetDefinitions.getDefinition(this.dtoType); + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- ENTITY → REFERENCE ---------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public abstract ReferentialReference<D> toReferentialReference(ReferentialLocale locale, E entity); + + protected ReferentialReference<D> toReferentialReference(E entity, Serializable... values) { + + ReferentialReference<D> reference = new ReferentialReference<>(); + + reference.setId(entity.getTopiaId()); + reference.setCreateDate(entity.getTopiaCreateDate()); + reference.setVersion(entity.getTopiaVersion()); + + reference.setLastUpdate(entity.getLastUpdate()); + reference.setEnabled(entity.isEnabled()); + reference.setNeedComment(entity.isNeedComment()); + + reference.init(definition.getType(), definition.getPropertyNames(), values); + + return reference; + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- DTO → REFERENCE ------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public abstract ReferentialReference<D> toReferentialReference(ReferentialLocale locale, D dto); + + protected ReferentialReference<D> toReferentialReference(D dto, Serializable... values) { + + ReferentialReference<D> reference = new ReferentialReference<>(); + + reference.setId(dto.getId()); + reference.setCreateDate(dto.getCreateDate()); + reference.setVersion(dto.getVersion()); + + reference.setLastUpdate(dto.getLastUpdate()); + reference.setEnabled(dto.isEnabled()); + reference.setNeedComment(dto.isNeedComment()); + + reference.init(definition.getType(), definition.getPropertyNames(), values); + + return reference; + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- REFERENCE → ENTITY ---------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public E toEntity(ReferentialReference<D> reference) { + E entity = newEntity(); + entity.setTopiaId(reference.getId()); + return entity; + } + + protected void copyDtoI18nFieldsToEntity(I18nReferentialDto dto, I18nReferenceEntity entity) { + + entity.setLabel1(dto.getLabel1()); + entity.setLabel2(dto.getLabel2()); + entity.setLabel3(dto.getLabel3()); + entity.setLabel4(dto.getLabel4()); + entity.setLabel5(dto.getLabel5()); + entity.setLabel6(dto.getLabel6()); + entity.setLabel7(dto.getLabel7()); + entity.setLabel8(dto.getLabel8()); + + } + + protected void copyDtoReferentialFieldsToEntity(ReferentialDto dto, ReferenceEntity entity) { + + entity.setTopiaId(dto.getId()); + entity.setStatus(REFERENCE_STATUS_TO_ENTITY.apply(dto.getStatus())); + entity.setNeedComment(dto.isNeedComment()); + entity.setLastUpdate(dto.getLastUpdate()); + entity.setTopiaVersion(dto.getVersion()); + entity.setTopiaCreateDate(dto.getCreateDate()); + entity.setCode(dto.getCode()); + entity.setUri(dto.getUri()); + + } + + protected void copyEntityReferentialFieldsToDto(ReferenceEntity entity, ReferentialDto dto) { + + dto.setId(entity.getTopiaId()); + dto.setStatus(REFERENCE_STATUS_TO_DTO.apply(entity.getStatus())); + dto.setEnabled(entity.isEnabled()); + dto.setNeedComment(entity.isNeedComment()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setVersion(entity.getTopiaVersion()); + dto.setCreateDate(entity.getTopiaCreateDate()); + dto.setCode(entity.getCode()); + dto.setUri(entity.getUri()); + + } + + protected void copyEntityI18nFieldsToDto(I18nReferenceEntity entity, I18nReferentialDto dto) { + + dto.setLabel2(entity.getLabel2()); + dto.setLabel3(entity.getLabel3()); + dto.setLabel4(entity.getLabel4()); + dto.setLabel1(entity.getLabel1()); + dto.setLabel5(entity.getLabel5()); + dto.setLabel6(entity.getLabel6()); + dto.setLabel7(entity.getLabel7()); + dto.setLabel8(entity.getLabel8()); + + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorBrandBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorBrandBinder.java new file mode 100644 index 0000000..061dd10 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorBrandBinder.java @@ -0,0 +1,56 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SensorBrand; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SensorBrandBinder extends ReferentialBinderSupport<SensorBrand, SensorBrandDto> { + + public SensorBrandBinder() { + super(SensorBrand.class, SensorBrandDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SensorBrandDto dto, SensorBrand entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setBrandName(dto.getBrandName()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SensorBrand entity, SensorBrandDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setBrandName(entity.getBrandName()); + + } + + @Override + public ReferentialReference<SensorBrandDto> toReferentialReference(ReferentialLocale referentialLocale, SensorBrand entity) { + + return toReferentialReference(entity, + entity.getCode(), + entity.getBrandName()); + + } + + @Override + public ReferentialReference<SensorBrandDto> toReferentialReference(ReferentialLocale referentialLocale, SensorBrandDto dto) { + + return toReferentialReference(dto, + dto.getCode(), + dto.getBrandName()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorDataFormatBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorDataFormatBinder.java new file mode 100644 index 0000000..37e3417 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorDataFormatBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SensorDataFormat; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SensorDataFormatBinder extends ReferentialBinderSupport<SensorDataFormat, SensorDataFormatDto> { + + public SensorDataFormatBinder() { + super(SensorDataFormat.class, SensorDataFormatDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SensorDataFormatDto dto, SensorDataFormat entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SensorDataFormat entity, SensorDataFormatDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SensorDataFormatDto> toReferentialReference(ReferentialLocale referentialLocale, SensorDataFormat entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SensorDataFormatDto> toReferentialReference(ReferentialLocale referentialLocale, SensorDataFormatDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorTypeBinder.java new file mode 100644 index 0000000..3f109c9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SensorTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SensorType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SensorTypeBinder extends ReferentialBinderSupport<SensorType, SensorTypeDto> { + + public SensorTypeBinder() { + super(SensorType.class, SensorTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SensorTypeDto dto, SensorType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SensorType entity, SensorTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SensorTypeDto> toReferentialReference(ReferentialLocale referentialLocale, SensorType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SensorTypeDto> toReferentialReference(ReferentialLocale referentialLocale, SensorTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SettingShapeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SettingShapeBinder.java new file mode 100644 index 0000000..7e47dd8 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SettingShapeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SettingShape; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SettingShapeBinder extends ReferentialBinderSupport<SettingShape, SettingShapeDto> { + + public SettingShapeBinder() { + super(SettingShape.class, SettingShapeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SettingShapeDto dto, SettingShape entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SettingShape entity, SettingShapeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SettingShapeDto> toReferentialReference(ReferentialLocale referentialLocale, SettingShape entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SettingShapeDto> toReferentialReference(ReferentialLocale referentialLocale, SettingShapeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SexBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SexBinder.java new file mode 100644 index 0000000..39b591f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SexBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Sex; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SexDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SexBinder extends ReferentialBinderSupport<Sex, SexDto> { + + public SexBinder() { + super(Sex.class, SexDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SexDto dto, Sex entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Sex entity, SexDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SexDto> toReferentialReference(ReferentialLocale referentialLocale, Sex entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SexDto> toReferentialReference(ReferentialLocale referentialLocale, SexDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SizeMeasureTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SizeMeasureTypeBinder.java new file mode 100644 index 0000000..4373849 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SizeMeasureTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.SizeMeasureType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SizeMeasureTypeBinder extends ReferentialBinderSupport<SizeMeasureType, SizeMeasureTypeDto> { + + public SizeMeasureTypeBinder() { + super(SizeMeasureType.class, SizeMeasureTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SizeMeasureTypeDto dto, SizeMeasureType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SizeMeasureType entity, SizeMeasureTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SizeMeasureTypeDto> toReferentialReference(ReferentialLocale referentialLocale, SizeMeasureType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SizeMeasureTypeDto> toReferentialReference(ReferentialLocale referentialLocale, SizeMeasureTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesBinder.java new file mode 100644 index 0000000..aee8b02 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesBinder.java @@ -0,0 +1,86 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Ocean; +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.SpeciesGroup; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesBinder extends ReferentialBinderSupport<Species, SpeciesDto> { + + public SpeciesBinder() { + super(Species.class, SpeciesDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesDto dto, Species entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + entity.setSpeciesGroup(toEntity(dto.getSpeciesGroup(), SpeciesGroup.class)); + entity.setFaoCode(dto.getFaoCode()); + entity.setScientificLabel(dto.getScientificLabel()); + entity.setHomeId(dto.getHomeId()); + entity.setWormsId(dto.getWormsId()); + entity.setLengthMeasureType(dto.getLengthMeasureType()); + entity.setMinLength(dto.getMinLength()); + entity.setMaxLength(dto.getMaxLength()); + entity.setMinWeight(dto.getMinWeight()); + entity.setMaxWeight(dto.getMaxWeight()); + entity.setOcean(toEntitySet(dto.getOcean(), Ocean.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Species entity, SpeciesDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + dto.setSpeciesGroup(toReferentialReference(referentialLocale, entity.getSpeciesGroup(), SpeciesGroupDto.class)); + dto.setFaoCode(entity.getFaoCode()); + dto.setScientificLabel(entity.getScientificLabel()); + dto.setHomeId(entity.getHomeId()); + dto.setWormsId(entity.getWormsId()); + dto.setLengthMeasureType(entity.getLengthMeasureType()); + dto.setMinLength(entity.getMinLength()); + dto.setMaxLength(entity.getMaxLength()); + dto.setMinWeight(entity.getMinWeight()); + dto.setMaxWeight(entity.getMaxWeight()); + dto.setOcean(toReferentialReferenceList(referentialLocale, entity.getOcean(), OceanDto.class)); + + } + + @Override + public ReferentialReference<SpeciesDto> toReferentialReference(ReferentialLocale referentialLocale, Species entity) { + + return toReferentialReference(entity, + getLabel(referentialLocale, entity), + entity.getFaoCode(), + entity.getScientificLabel(), + entity.getHomeId(), + entity.getLengthMeasureType()); + + } + + @Override + public ReferentialReference<SpeciesDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesDto dto) { + + return toReferentialReference(dto, + getLabel(referentialLocale, dto), + dto.getFaoCode(), + dto.getScientificLabel(), + dto.getHomeId(), + dto.getLengthMeasureType()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesFateBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesFateBinder.java new file mode 100644 index 0000000..e90a9a7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesFateBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.SpeciesFate; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesFateBinder extends ReferentialBinderSupport<SpeciesFate, SpeciesFateDto> { + + public SpeciesFateBinder() { + super(SpeciesFate.class, SpeciesFateDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesFateDto dto, SpeciesFate entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SpeciesFate entity, SpeciesFateDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SpeciesFateDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesFate entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SpeciesFateDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesFateDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesGroupBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesGroupBinder.java new file mode 100644 index 0000000..6c8a6d7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesGroupBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.SpeciesGroup; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesGroupBinder extends ReferentialBinderSupport<SpeciesGroup, SpeciesGroupDto> { + + public SpeciesGroupBinder() { + super(SpeciesGroup.class, SpeciesGroupDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesGroupDto dto, SpeciesGroup entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SpeciesGroup entity, SpeciesGroupDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SpeciesGroupDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesGroup entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SpeciesGroupDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesGroupDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesListBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesListBinder.java new file mode 100644 index 0000000..f0ad6b9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesListBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.SpeciesList; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesListBinder extends ReferentialBinderSupport<SpeciesList, SpeciesListDto> { + + public SpeciesListBinder() { + super(SpeciesList.class, SpeciesListDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesListDto dto, SpeciesList entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setSpecies(toEntitySet(dto.getSpecies(), Species.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SpeciesList entity, SpeciesListDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setSpecies(toReferentialReferenceList(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } + + @Override + public ReferentialReference<SpeciesListDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesList entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SpeciesListDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesListDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesStatusBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesStatusBinder.java new file mode 100644 index 0000000..b2b2624 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SpeciesStatusBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.SpeciesStatus; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SpeciesStatusBinder extends ReferentialBinderSupport<SpeciesStatus, SpeciesStatusDto> { + + public SpeciesStatusBinder() { + super(SpeciesStatus.class, SpeciesStatusDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SpeciesStatusDto dto, SpeciesStatus entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SpeciesStatus entity, SpeciesStatusDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SpeciesStatusDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesStatus entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SpeciesStatusDto> toReferentialReference(ReferentialLocale referentialLocale, SpeciesStatusDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/StomacFullnessBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/StomacFullnessBinder.java new file mode 100644 index 0000000..0eb7842 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/StomacFullnessBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.StomacFullness; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class StomacFullnessBinder extends ReferentialBinderSupport<StomacFullness, StomacFullnessDto> { + + public StomacFullnessBinder() { + super(StomacFullness.class, StomacFullnessDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, StomacFullnessDto dto, StomacFullness entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, StomacFullness entity, StomacFullnessDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<StomacFullnessDto> toReferentialReference(ReferentialLocale referentialLocale, StomacFullness entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<StomacFullnessDto> toReferentialReference(ReferentialLocale referentialLocale, StomacFullnessDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SurroundingActivityBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SurroundingActivityBinder.java new file mode 100644 index 0000000..e2ef9b7 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/SurroundingActivityBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.SurroundingActivity; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SurroundingActivityBinder extends ReferentialBinderSupport<SurroundingActivity, SurroundingActivityDto> { + + public SurroundingActivityBinder() { + super(SurroundingActivity.class, SurroundingActivityDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, SurroundingActivityDto dto, SurroundingActivity entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, SurroundingActivity entity, SurroundingActivityDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<SurroundingActivityDto> toReferentialReference(ReferentialLocale referentialLocale, SurroundingActivity entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<SurroundingActivityDto> toReferentialReference(ReferentialLocale referentialLocale, SurroundingActivityDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyOperationBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyOperationBinder.java new file mode 100644 index 0000000..16023ab --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyOperationBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TransmittingBuoyOperationBinder extends ReferentialBinderSupport<TransmittingBuoyOperation, TransmittingBuoyOperationDto> { + + public TransmittingBuoyOperationBinder() { + super(TransmittingBuoyOperation.class, TransmittingBuoyOperationDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TransmittingBuoyOperationDto dto, TransmittingBuoyOperation entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TransmittingBuoyOperation entity, TransmittingBuoyOperationDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<TransmittingBuoyOperationDto> toReferentialReference(ReferentialLocale referentialLocale, TransmittingBuoyOperation entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<TransmittingBuoyOperationDto> toReferentialReference(ReferentialLocale referentialLocale, TransmittingBuoyOperationDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyTypeBinder.java new file mode 100644 index 0000000..0046115 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TransmittingBuoyTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TransmittingBuoyTypeBinder extends ReferentialBinderSupport<TransmittingBuoyType, TransmittingBuoyTypeDto> { + + public TransmittingBuoyTypeBinder() { + super(TransmittingBuoyType.class, TransmittingBuoyTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TransmittingBuoyTypeDto dto, TransmittingBuoyType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TransmittingBuoyType entity, TransmittingBuoyTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<TransmittingBuoyTypeDto> toReferentialReference(ReferentialLocale referentialLocale, TransmittingBuoyType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<TransmittingBuoyTypeDto> toReferentialReference(ReferentialLocale referentialLocale, TransmittingBuoyTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TripTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TripTypeBinder.java new file mode 100644 index 0000000..0d303e3 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/TripTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.TripType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripTypeBinder extends ReferentialBinderSupport<TripType, TripTypeDto> { + + public TripTypeBinder() { + super(TripType.class, TripTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, TripTypeDto dto, TripType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, TripType entity, TripTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<TripTypeDto> toReferentialReference(ReferentialLocale referentialLocale, TripType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<TripTypeDto> toReferentialReference(ReferentialLocale referentialLocale, TripTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivityLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivityLonglineBinder.java new file mode 100644 index 0000000..bdac460 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivityLonglineBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselActivityLonglineBinder extends ReferentialBinderSupport<VesselActivityLongline, VesselActivityLonglineDto> { + + public VesselActivityLonglineBinder() { + super(VesselActivityLongline.class, VesselActivityLonglineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselActivityLonglineDto dto, VesselActivityLongline entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, VesselActivityLongline entity, VesselActivityLonglineDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<VesselActivityLonglineDto> toReferentialReference(ReferentialLocale referentialLocale, VesselActivityLongline entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<VesselActivityLonglineDto> toReferentialReference(ReferentialLocale referentialLocale, VesselActivityLonglineDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivitySeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivitySeineBinder.java new file mode 100644 index 0000000..df98152 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselActivitySeineBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselActivitySeineBinder extends ReferentialBinderSupport<VesselActivitySeine, VesselActivitySeineDto> { + + public VesselActivitySeineBinder() { + super(VesselActivitySeine.class, VesselActivitySeineDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselActivitySeineDto dto, VesselActivitySeine entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, VesselActivitySeine entity, VesselActivitySeineDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<VesselActivitySeineDto> toReferentialReference(ReferentialLocale referentialLocale, VesselActivitySeine entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<VesselActivitySeineDto> toReferentialReference(ReferentialLocale referentialLocale, VesselActivitySeineDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselBinder.java new file mode 100644 index 0000000..8142d8c --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselBinder.java @@ -0,0 +1,84 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Country; +import fr.ird.observe.entities.referentiel.Vessel; +import fr.ird.observe.entities.referentiel.VesselSizeCategory; +import fr.ird.observe.entities.referentiel.VesselType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.referential.VesselTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselBinder extends ReferentialBinderSupport<Vessel, VesselDto> { + + public VesselBinder() { + super(Vessel.class, VesselDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselDto dto, Vessel entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setVesselSizeCategory(toEntity(dto.getVesselSizeCategory(), VesselSizeCategory.class)); + entity.setVesselType(toEntity(dto.getVesselType(), VesselType.class)); + entity.setFlagCountry(toEntity(dto.getFlagCountry(), Country.class)); + entity.setFleetCountry(dto.getFleetCountry()); + entity.setKeelCode(dto.getKeelCode()); + entity.setChangeDate(dto.getChangeDate()); + entity.setYearService(dto.getYearService()); + entity.setLength(dto.getLength()); + entity.setCapacity(dto.getCapacity()); + entity.setPower(dto.getPower()); + entity.setSearchMaximum(dto.getSearchMaximum()); + entity.setComment(dto.getComment()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Vessel entity, VesselDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setVesselSizeCategory(toReferentialReference(referentialLocale, entity.getVesselSizeCategory(), VesselSizeCategoryDto.class)); + dto.setVesselType(toReferentialReference(referentialLocale, entity.getVesselType(), VesselTypeDto.class)); + dto.setFlagCountry(toReferentialReference(referentialLocale, entity.getFlagCountry(), CountryDto.class)); + dto.setFleetCountry(entity.getFleetCountry()); + dto.setKeelCode(entity.getKeelCode()); + dto.setChangeDate(entity.getChangeDate()); + dto.setYearService(entity.getYearService()); + dto.setLength(entity.getLength()); + dto.setCapacity(entity.getCapacity()); + dto.setPower(entity.getPower()); + dto.setSearchMaximum(entity.getSearchMaximum()); + dto.setComment(entity.getComment()); + + } + + @Override + public ReferentialReference<VesselDto> toReferentialReference(ReferentialLocale referentialLocale, Vessel entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<VesselDto> toReferentialReference(ReferentialLocale referentialLocale, VesselDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselSizeCategoryBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselSizeCategoryBinder.java new file mode 100644 index 0000000..42deded --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselSizeCategoryBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.VesselSizeCategory; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselSizeCategoryBinder extends ReferentialBinderSupport<VesselSizeCategory, VesselSizeCategoryDto> { + + public VesselSizeCategoryBinder() { + super(VesselSizeCategory.class, VesselSizeCategoryDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselSizeCategoryDto dto, VesselSizeCategory entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + entity.setGaugeLabel(dto.getGaugeLabel()); + entity.setCapacityLabel(dto.getCapacityLabel()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, VesselSizeCategory entity, VesselSizeCategoryDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + dto.setGaugeLabel(entity.getGaugeLabel()); + dto.setCapacityLabel(entity.getCapacityLabel()); + + } + + @Override + public ReferentialReference<VesselSizeCategoryDto> toReferentialReference(ReferentialLocale referentialLocale, VesselSizeCategory entity) { + + return toReferentialReference(entity, + entity.getCode(), + entity.getGaugeLabel(), + entity.getCapacityLabel()); + + } + + @Override + public ReferentialReference<VesselSizeCategoryDto> toReferentialReference(ReferentialLocale referentialLocale, VesselSizeCategoryDto dto) { + + return toReferentialReference(dto, + dto.getCode(), + dto.getGaugeLabel(), + dto.getCapacityLabel()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselTypeBinder.java new file mode 100644 index 0000000..d9d2154 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/VesselTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.VesselType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.VesselTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class VesselTypeBinder extends ReferentialBinderSupport<VesselType, VesselTypeDto> { + + public VesselTypeBinder() { + super(VesselType.class, VesselTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, VesselTypeDto dto, VesselType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, VesselType entity, VesselTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<VesselTypeDto> toReferentialReference(ReferentialLocale referentialLocale, VesselType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<VesselTypeDto> toReferentialReference(ReferentialLocale referentialLocale, VesselTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightCategoryBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightCategoryBinder.java new file mode 100644 index 0000000..61d3760 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightCategoryBinder.java @@ -0,0 +1,60 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.Species; +import fr.ird.observe.entities.referentiel.seine.WeightCategory; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WeightCategoryBinder extends ReferentialBinderSupport<WeightCategory, WeightCategoryDto> { + + public WeightCategoryBinder() { + super(WeightCategory.class, WeightCategoryDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, WeightCategoryDto dto, WeightCategory entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, WeightCategory entity, WeightCategoryDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } + + @Override + public ReferentialReference<WeightCategoryDto> toReferentialReference(ReferentialLocale referentialLocale, WeightCategory entity) { + + return toReferentialReference(entity, + getLabel(referentialLocale, entity), + toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); + + } + + @Override + public ReferentialReference<WeightCategoryDto> toReferentialReference(ReferentialLocale referentialLocale, WeightCategoryDto dto) { + + return toReferentialReference(dto, + getLabel(referentialLocale, dto), + toEntity(dto.getSpecies(), Species.class)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightMeasureTypeBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightMeasureTypeBinder.java new file mode 100644 index 0000000..6f108e9 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WeightMeasureTypeBinder.java @@ -0,0 +1,54 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.longline.WeightMeasureType; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WeightMeasureTypeBinder extends ReferentialBinderSupport<WeightMeasureType, WeightMeasureTypeDto> { + + public WeightMeasureTypeBinder() { + super(WeightMeasureType.class, WeightMeasureTypeDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, WeightMeasureTypeDto dto, WeightMeasureType entity) { + + + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, WeightMeasureType entity, WeightMeasureTypeDto dto) { + + + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + } + + @Override + public ReferentialReference<WeightMeasureTypeDto> toReferentialReference(ReferentialLocale referentialLocale, WeightMeasureType entity) { + + return toReferentialReference(entity, + entity.getCode(), getLabel(referentialLocale, entity)); + + } + + @Override + public ReferentialReference<WeightMeasureTypeDto> toReferentialReference(ReferentialLocale referentialLocale, WeightMeasureTypeDto dto) { + + return toReferentialReference(dto, + dto.getCode(), getLabel(referentialLocale, dto)); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WindBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WindBinder.java new file mode 100644 index 0000000..3d39011 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/WindBinder.java @@ -0,0 +1,57 @@ +package fr.ird.observe.services.binder.referential; + +import fr.ird.observe.entities.referentiel.seine.Wind; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.seine.WindDto; + +/** + * Created on 24/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WindBinder extends ReferentialBinderSupport<Wind, WindDto> { + + public WindBinder() { + super(Wind.class, WindDto.class); + } + + @Override + public void copyToEntity(ReferentialLocale referentialLocale, WindDto dto, Wind entity) { + + copyDtoReferentialFieldsToEntity(dto, entity); + copyDtoI18nFieldsToEntity(dto, entity); + + entity.setSpeedRange(dto.getSpeedRange()); + entity.setWaveHeight(dto.getWaveHeight()); + + } + + @Override + public void copyToDto(ReferentialLocale referentialLocale, Wind entity, WindDto dto) { + + copyEntityReferentialFieldsToDto(entity, dto); + copyEntityI18nFieldsToDto(entity, dto); + + dto.setSpeedRange(entity.getSpeedRange()); + dto.setWaveHeight(entity.getWaveHeight()); + + } + + @Override + public ReferentialReference<WindDto> toReferentialReference(ReferentialLocale referentialLocale, Wind entity) { + + return toReferentialReference(entity, + getLabel(referentialLocale, entity), + entity.getSpeedRange()); + + } + + @Override + public ReferentialReference<WindDto> toReferentialReference(ReferentialLocale referentialLocale, WindDto dto) { + + return toReferentialReference(dto, + getLabel(referentialLocale, dto), + dto.getSpeedRange()); + } +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineMetadataTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineMetadataTest.java new file mode 100644 index 0000000..2c51a58 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineMetadataTest.java @@ -0,0 +1,167 @@ +package fr.ird.observe.services.binder; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Sets; +import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.entities.LastUpdateType; +import fr.ird.observe.entities.longline.TdrRecord; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.data.DataBinderSupport; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.lang.reflect.Modifier; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * Created on 26/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BinderEngineMetadataTest { + + private BinderEngine binderEngine; + + @Before + public void setUp() throws Exception { + + binderEngine = BinderEngine.get(); + + } + + @Test + public void testGetBinder() throws Exception { + + binderEngine = BinderEngine.get(); + for (Class<? extends ReferentialDto> dtoType : binderEngine.getReferentialDtoToEntityTypes().keySet()) { + + ReferentialBinderSupport<ReferenceEntity, ? extends ReferentialDto> referentialBinder = binderEngine.getReferentialBinder(dtoType); + Assert.assertNotNull(referentialBinder); + + } + + for (Class<? extends DataDto> dtoType : binderEngine.getDataDtoToEntityTypes().keySet()) { + + DataBinderSupport<TopiaEntity, ? extends DataDto> referentialBinder = binderEngine.getDataBinder(dtoType); + Assert.assertNotNull("No binder for " + dtoType, referentialBinder); + + } + + } + + @Test + public void testGetReferentialEntityType() throws Exception { + + ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes = binderEngine.getReferentialDtoToEntityTypes(); + + Assert.assertNotNull(referentialDtoToEntityTypes); + Assert.assertEquals(59, referentialDtoToEntityTypes.size()); + + Set<Class<? extends ReferenceEntity>> entityTypesFromEngine = Sets.newHashSet(referentialDtoToEntityTypes.values()); + Set<Class<? extends ReferenceEntity>> referentialEntityTypesFromTopia = getReferentialEntityTypes(); + Assert.assertEquals(referentialEntityTypesFromTopia.size(), entityTypesFromEngine.size()); + + for (Class<? extends ReferentialDto> dtoType : referentialDtoToEntityTypes.keySet()) { + + Class<? extends ReferenceEntity> entityType = binderEngine.getReferentialEntityType(dtoType); + Assert.assertNotNull(entityType); + + } + + } + + @Test + public void testGetDataEntityType() throws Exception { + + ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypes = binderEngine.getDataDtoToEntityTypes(); + Assert.assertNotNull(dataDtoToEntityTypes); + Assert.assertEquals(55, dataDtoToEntityTypes.size()); + + Set<Class<? extends TopiaEntity>> entityTypesFromEngine = Sets.newConcurrentHashSet(dataDtoToEntityTypes.values()); + Set<Class<? extends TopiaEntity>> dataEntityTypesFromTopia = getDataEntityTypesFromTopia(); + Assert.assertEquals(dataEntityTypesFromTopia.size(), entityTypesFromEngine.size()); + + for (Class<? extends DataDto> dtoType : dataDtoToEntityTypes.keySet()) { + + Class<TopiaEntity> entityType = binderEngine.getDataEntityType(dtoType); + Assert.assertNotNull(entityType); + + } + + } + + @Test + public void testGetReferentialDtoType() throws Exception { + + ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialDtoToEntityTypes = binderEngine.getReferentialEntityToDtoTypes(); + + Assert.assertNotNull(referentialDtoToEntityTypes); + Assert.assertEquals(2 * 59, referentialDtoToEntityTypes.size()); + + for (Class<? extends ReferenceEntity> entityType : referentialDtoToEntityTypes.keySet()) { + + Class<? extends ReferentialDto> dtoType = binderEngine.getReferentialDtoType(entityType); + Assert.assertNotNull(dtoType); + + } + + } + + @Test + public void testGetDataDtoType() throws Exception { + + ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> referentialDtoToEntityTypes = binderEngine.getDataEntityToDtoTypes(); + + Assert.assertNotNull(referentialDtoToEntityTypes); + Assert.assertEquals(2 * 35, referentialDtoToEntityTypes.size()); + + for (Class<? extends TopiaEntity> entityType : referentialDtoToEntityTypes.keySet()) { + + Class<? extends DataDto> dtoType = binderEngine.getDataDtoType(entityType); + Assert.assertNotNull(dtoType); + + } + + } + + protected Set<Class<? extends ReferenceEntity>> getReferentialEntityTypes() { + + Set<Class<? extends ReferenceEntity>> result = new LinkedHashSet<>(); + + for (ObserveEntityEnum observeEntityEnum : ObserveEntityEnum.values()) { + + Class<? extends TopiaEntity> contract = observeEntityEnum.getContract(); + if (ReferenceEntity.class.isAssignableFrom(contract) && !Modifier.isAbstract(observeEntityEnum.getImplementation().getModifiers())) { + + result.add((Class<? extends ReferenceEntity>) contract); + } + } + return result; + + } + + protected Set<Class<? extends TopiaEntity>> getDataEntityTypesFromTopia() { + + Set<Class<? extends TopiaEntity>> result = new LinkedHashSet<>(); + + for (ObserveEntityEnum observeEntityEnum : ObserveEntityEnum.values()) { + + if (!ReferenceEntity.class.isAssignableFrom(observeEntityEnum.getContract()) && !Modifier.isAbstract(observeEntityEnum.getImplementation().getModifiers())) { + result.add(observeEntityEnum.getContract()); + } + } + + result.remove(LastUpdateType.class); + result.remove(TdrRecord.class); + + return result; + + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java new file mode 100644 index 0000000..7a4cec6 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java @@ -0,0 +1,373 @@ +package fr.ird.observe.services.binder; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineStubDto; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SensorUsedDto; +import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.longline.SetLonglineStubDto; +import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.longline.TdrDto; +import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.FpaZoneDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OceanDto; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.SexDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.referential.VesselTypeDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.referential.seine.WindDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; +import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; +import fr.ird.observe.services.dto.seine.NonTargetSampleDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.dto.seine.RouteStubDto; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; +import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TargetSampleDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.services.service.BabModelVersionException; +import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; +import fr.ird.observe.services.service.DatabaseNotFoundException; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.topia.persistence.TopiaDao; +import org.nuiton.topia.persistence.TopiaEntity; + +import java.util.List; +import java.util.Set; + +/** + * Created on 26/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class BinderEngineTest extends AbstractServiceTopiaTest { + + /** Logger. */ + private static final Log log = LogFactory.getLog(BinderEngineTest.class); + + private BinderEngine binderEngine; + + @Override + @Before + public void setUp() throws Exception { + + super.setUp(); + binderEngine = BinderEngine.get(); + + } + + @Test + public void testTransformEntityToReferentialDto() throws Exception { + + transformReferentialEntityToDto(CountryDto.class); + transformReferentialEntityToDto(FpaZoneDto.class); + transformReferentialEntityToDto(GearDto.class); + transformReferentialEntityToDto(GearCaracteristicDto.class); + transformReferentialEntityToDto(GearCaracteristicTypeDto.class); + transformReferentialEntityToDto(HarbourDto.class); + transformReferentialEntityToDto(LengthWeightParameterDto.class); + transformReferentialEntityToDto(OceanDto.class); + transformReferentialEntityToDto(OrganismDto.class); + transformReferentialEntityToDto(PersonDto.class); + transformReferentialEntityToDto(ProgramDto.class); + transformReferentialEntityToDto(SexDto.class); + transformReferentialEntityToDto(SpeciesDto.class); + transformReferentialEntityToDto(SpeciesGroupDto.class); + transformReferentialEntityToDto(SpeciesListDto.class); + transformReferentialEntityToDto(VesselDto.class); + transformReferentialEntityToDto(VesselSizeCategoryDto.class); + transformReferentialEntityToDto(VesselTypeDto.class); + transformReferentialEntityToDto(BaitHaulingStatusDto.class); + transformReferentialEntityToDto(BaitSettingStatusDto.class); + transformReferentialEntityToDto(BaitTypeDto.class); + transformReferentialEntityToDto(CatchFateLonglineDto.class); + transformReferentialEntityToDto(EncounterTypeDto.class); + transformReferentialEntityToDto(HealthnessDto.class); + transformReferentialEntityToDto(HookPositionDto.class); + transformReferentialEntityToDto(HookSizeDto.class); + transformReferentialEntityToDto(HookTypeDto.class); + transformReferentialEntityToDto(ItemHorizontalPositionDto.class); + transformReferentialEntityToDto(ItemVerticalPositionDto.class); + transformReferentialEntityToDto(LightsticksColorDto.class); + transformReferentialEntityToDto(LightsticksTypeDto.class); + transformReferentialEntityToDto(LineTypeDto.class); + transformReferentialEntityToDto(MaturityStatusDto.class); + transformReferentialEntityToDto(MitigationTypeDto.class); + transformReferentialEntityToDto(SensorBrandDto.class); + transformReferentialEntityToDto(SensorDataFormatDto.class); + transformReferentialEntityToDto(SensorTypeDto.class); + transformReferentialEntityToDto(SettingShapeDto.class); + transformReferentialEntityToDto(SizeMeasureTypeDto.class); + transformReferentialEntityToDto(StomacFullnessDto.class); + transformReferentialEntityToDto(TripTypeDto.class); + transformReferentialEntityToDto(VesselActivityLonglineDto.class); + transformReferentialEntityToDto(WeightMeasureTypeDto.class); + transformReferentialEntityToDto(DetectionModeDto.class); + transformReferentialEntityToDto(ObjectFateDto.class); + transformReferentialEntityToDto(ObjectOperationDto.class); + transformReferentialEntityToDto(ObjectTypeDto.class); + transformReferentialEntityToDto(ObservedSystemDto.class); + transformReferentialEntityToDto(ReasonForDiscardDto.class); + transformReferentialEntityToDto(ReasonForNoFishingDto.class); + transformReferentialEntityToDto(ReasonForNullSetDto.class); + transformReferentialEntityToDto(SpeciesFateDto.class); + transformReferentialEntityToDto(SpeciesStatusDto.class); + transformReferentialEntityToDto(SurroundingActivityDto.class); + transformReferentialEntityToDto(TransmittingBuoyOperationDto.class); + transformReferentialEntityToDto(TransmittingBuoyTypeDto.class); + transformReferentialEntityToDto(VesselActivitySeineDto.class); + transformReferentialEntityToDto(WeightCategoryDto.class); + transformReferentialEntityToDto(WindDto.class); + + } + + @Test + public void testTransformEntityToDataDto() throws Exception { + + transformDataEntityToDto(ActivityLonglineDto.class); + transformDataEntityToDto(ActivityLonglineEncouterDto.class); + transformDataEntityToDto(ActivityLonglineSensorUsedDto.class); + transformDataEntityToDto(ActivityLonglineStubDto.class); + transformDataEntityToDto(BaitsCompositionDto.class); + transformDataEntityToDto(BasketDto.class); + transformDataEntityToDto(BranchlineDto.class); + transformDataEntityToDto(BranchlinesCompositionDto.class); + transformDataEntityToDto(CatchLonglineDto.class); + transformDataEntityToDto(EncounterDto.class); + transformDataEntityToDto(FloatlinesCompositionDto.class); + transformDataEntityToDto(GearUseFeaturesLonglineDto.class); + transformDataEntityToDto(GearUseFeaturesMeasurementLonglineDto.class); + transformDataEntityToDto(HooksCompositionDto.class); + transformDataEntityToDto(SectionDto.class); + transformDataEntityToDto(SensorUsedDto.class); + transformDataEntityToDto(SetLonglineDto.class); + transformDataEntityToDto(SetLonglineCatchDto.class); + transformDataEntityToDto(SetLonglineDetailCompositionDto.class); + transformDataEntityToDto(SetLonglineGlobalCompositionDto.class); + transformDataEntityToDto(SetLonglineStubDto.class); + transformDataEntityToDto(SetLonglineTdrDto.class); + transformDataEntityToDto(SizeMeasureDto.class); + transformDataEntityToDto(TdrDto.class); + transformDataEntityToDto(TripLonglineDto.class); + transformDataEntityToDto(TripLonglineActivityDto.class); + transformDataEntityToDto(TripLonglineGearUseDto.class); + transformDataEntityToDto(WeightMeasureDto.class); + transformDataEntityToDto(ActivitySeineDto.class); + transformDataEntityToDto(ActivitySeineObservedSystemDto.class); + transformDataEntityToDto(ActivitySeineStubDto.class); + transformDataEntityToDto(FloatingObjectDto.class); + transformDataEntityToDto(FloatingObjectObservedSpeciesDto.class); + transformDataEntityToDto(FloatingObjectSchoolEstimateDto.class); + transformDataEntityToDto(FloatingObjectTransmittingBuoyDto.class); + transformDataEntityToDto(GearUseFeaturesMeasurementSeineDto.class); + transformDataEntityToDto(GearUseFeaturesSeineDto.class); + transformDataEntityToDto(NonTargetCatchDto.class); + transformDataEntityToDto(NonTargetLengthDto.class); + transformDataEntityToDto(NonTargetSampleDto.class); + transformDataEntityToDto(ObjectObservedSpeciesDto.class); + transformDataEntityToDto(ObjectSchoolEstimateDto.class); + transformDataEntityToDto(RouteDto.class); + transformDataEntityToDto(RouteStubDto.class); + transformDataEntityToDto(SchoolEstimateDto.class); + transformDataEntityToDto(SetSeineDto.class); + transformDataEntityToDto(SetSeineNonTargetCatchDto.class); + transformDataEntityToDto(SetSeineSchoolEstimateDto.class); + transformDataEntityToDto(SetSeineTargetCatchDto.class); + transformDataEntityToDto(TargetCatchDto.class); + transformDataEntityToDto(TargetLengthDto.class); + transformDataEntityToDto(TargetSampleDto.class); + transformDataEntityToDto(TransmittingBuoyDto.class); + transformDataEntityToDto(TripSeineDto.class); + transformDataEntityToDto(TripSeineGearUseDto.class); + + + } + + @Override + public Set<String> getTestNamesChangeDataBase() { + return ImmutableSet.of(); + } + + @Override + public String getScriptName() { + return "dataForTestSeine"; + } + + protected <D extends DataDto, E extends TopiaEntity> void transformDataEntityToDto(Class<D> dtoType) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { + + Class<E> entityType = binderEngine.getDataEntityType(dtoType); + + try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.getTopiaApplicationContext().newPersistenceContext()) { + + TopiaDao<E> dao = persistenceContext.getDao(entityType); + List<E> entities = dao.findAll(); + + if (!entities.isEmpty()) { + E entity = entities.get(0); + + if (log.isInfoEnabled()) { + log.info("transform " + entity.getTopiaId() + " to " + dtoType.getName()); + } + D dto = binderEngine.transformEntityToDataDto(ReferentialLocale.FR, entity); + + Assert.assertNotNull(dto); + Assert.assertEquals(entity.getTopiaId(), dto.getId()); +// Assert.assertEquals(entity.getTopiaCreateDate(), dto.getCreateDate()); +// Assert.assertEquals(entity.getTopiaVersion(), dto.getVersion()); + + E entity2 = binderEngine.transformDataDtoToEntity(ReferentialLocale.FR, dto); + + Assert.assertNotNull(entity2); + Assert.assertEquals(entity.getTopiaId(), entity.getTopiaId()); +// Assert.assertEquals(entity.getTopiaCreateDate(), entity.getTopiaCreateDate()); +// Assert.assertEquals(entity.getTopiaVersion(), entity.getTopiaVersion()); + + } + + } + + } + + protected <D extends ReferentialDto, E extends ReferenceEntity> void transformReferentialEntityToDto(Class<D> dtoType) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { + + Class<E> entityType = binderEngine.getReferentialEntityType(dtoType); + + try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.getTopiaApplicationContext().newPersistenceContext()) { + + TopiaDao<E> dao = persistenceContext.getDao(entityType); + List<E> entities = dao.findAll(); + + E entity = entities.get(0); + + if (log.isInfoEnabled()) { + log.info("transform " + entity.getTopiaId() + " to " + dtoType.getName()); + } + D dto = binderEngine.transformEntityToReferentialDto(ReferentialLocale.FR, entity); + + Assert.assertNotNull(dto); + Assert.assertEquals(entity.getTopiaId(), dto.getId()); + Assert.assertEquals(entity.getTopiaCreateDate(), dto.getCreateDate()); + Assert.assertEquals(entity.getTopiaVersion(), dto.getVersion()); + Assert.assertEquals(entity.getLastUpdate(), dto.getLastUpdate()); + Assert.assertEquals(entity.isNeedComment(), dto.isNeedComment()); + Assert.assertEquals(entity.isEnabled(), dto.isEnabled()); + Assert.assertEquals(entity.getUri(), dto.getUri()); + Assert.assertEquals(entity.getCode(), dto.getCode()); + + E entity2 = binderEngine.transformReferentialDtoToEntity(ReferentialLocale.FR, dto); + + Assert.assertNotNull(entity2); + Assert.assertEquals(entity.getTopiaId(), entity.getTopiaId()); + Assert.assertEquals(entity.getTopiaCreateDate(), entity.getTopiaCreateDate()); + Assert.assertEquals(entity.getTopiaVersion(), entity.getTopiaVersion()); + Assert.assertEquals(entity.getLastUpdate(), entity.getLastUpdate()); + Assert.assertEquals(entity.isNeedComment(), entity.isNeedComment()); + Assert.assertEquals(entity.isEnabled(), entity.isEnabled()); + Assert.assertEquals(entity.getUri(), entity.getUri()); + Assert.assertEquals(entity.getCode(), entity.getCode()); + + } + + } + +} \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 0440b707b09af6d2678fcff16d46e5a50ed595f3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 28 09:01:43 2015 +0100 Utilisation d'Eugene en snapshot (pour avoir les generics sur les champs du modèle --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 817c7c3..5aaaa95 100644 --- a/pom.xml +++ b/pom.xml @@ -119,7 +119,7 @@ <projectId>observe</projectId> - <eugenePluginVersion>3.0-alpha-3</eugenePluginVersion> + <eugenePluginVersion>3.0-SNAPSHOT</eugenePluginVersion> <topiaVersion>3.1-SNAPSHOT</topiaVersion> <jaxxVersion>2.27</jaxxVersion> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit bb2dd28dd8fa60bf1c9af051e0924b7c665c4e16 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 28 09:41:59 2015 +0100 Mise en place du ReferenceBinderEngine --- .../dto/reference/ReferenceBinderEngine.java | 22 +++++++ .../reference/ReferenceBinderEngineSupplier.java | 41 ++++++++++++ .../ird/observe/services/binder/BinderEngine.java | 72 +++++++++++++++++++--- .../services/binder/BinderEngineInitializer.java | 18 +++--- .../binder/ReferenceBinderEngineSupplierTopia.java | 18 ++++++ .../services/binder/data/SetLonglineBinder.java | 16 +++++ ...ces.dto.reference.ReferenceBinderEngineSupplier | 1 + .../services/binder/ReferenceBinderEngineTest.java | 25 ++++++++ 8 files changed, 197 insertions(+), 16 deletions(-) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferenceBinderEngine.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferenceBinderEngine.java new file mode 100644 index 0000000..624b7b6 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferenceBinderEngine.java @@ -0,0 +1,22 @@ +package fr.ird.observe.services.dto.reference; + +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +/** + * Pour transformer des dto en références. + * + * Created on 28/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public interface ReferenceBinderEngine { + + <D extends ReferentialDto> ReferentialReference<D> transformReferentialDtoToReference(ReferentialLocale referentialLocale, D dto); + + <D extends DataDto> DataReference<D> transformDataDtoToReference(ReferentialLocale referentialLocale, D dto); + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferenceBinderEngineSupplier.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferenceBinderEngineSupplier.java new file mode 100644 index 0000000..f80a4e6 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferenceBinderEngineSupplier.java @@ -0,0 +1,41 @@ +package fr.ird.observe.services.dto.reference; + +import com.google.common.base.Supplier; + +import java.util.Iterator; +import java.util.ServiceLoader; + +/** + * Pour récupérer une instance d'un {@link ReferenceBinderEngine}. + * + * On utilise un {@link ServiceLoader} pour récupérer une instance car l'implantation n'est pas définie au niveau de + * l'API mais dans le service ToPIA, au même niveau que le BinderEngine (et ceci pour ne pas avoir plusieurs endroits + * de définition des binders. + * + * Created on 28/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceBinderEngineSupplier implements Supplier<ReferenceBinderEngine> { + + public static final ReferenceBinderEngine INSTANCE = loadReferenceBinderEngine(); + + private static ReferenceBinderEngine loadReferenceBinderEngine() { + + ServiceLoader<ReferenceBinderEngineSupplier> serviceLoader = ServiceLoader.load(ReferenceBinderEngineSupplier.class); + + Iterator<ReferenceBinderEngineSupplier> iterator = serviceLoader.iterator(); + if (!iterator.hasNext()) { + throw new IllegalStateException("No referenceBinderEngine defined in class-path"); + } + ReferenceBinderEngine result = iterator.next().get(); + return result; + + } + + @Override + public ReferenceBinderEngine get() { + return INSTANCE; + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java index cf22134..2af708b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java @@ -1,21 +1,27 @@ package fr.ird.observe.services.binder; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import fr.ird.observe.entities.referentiel.ReferenceEntity; import fr.ird.observe.services.binder.data.DataBinderSupport; import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.ObserveModelInitializerRunner; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ReferenceBinderEngine; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import org.nuiton.topia.persistence.TopiaEntity; +import java.util.Map; + /** * Created on 24/11/15. * * @author Tony Chemit - chemit@codelutin.com */ -public class BinderEngine { +public class BinderEngine implements ReferenceBinderEngine { private static final BinderEngine INSTANCE = new BinderEngine(); @@ -29,7 +35,7 @@ public class BinderEngine { protected ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; - protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToTtoTypes; + protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDtoTypes; public static BinderEngine get() { return INSTANCE; @@ -43,11 +49,11 @@ public class BinderEngine { dataBinders = initializer.dataBinders; referentialBinders = initializer.referentialBinders; - dataDtoToEntityTypes = initializer.dataDtoToEntityTypeTypes; + dataDtoToEntityTypes = initializer.dataDtoToEntityTypes; referentialDtoToEntityTypes = initializer.referentialDtoToEntityTypes; referentialEntityToDtoTypes = initializer.referentialEntityToDtoTypes; - dataEntityToTtoTypes = initializer.dataEntityToDToTypes; + dataEntityToDtoTypes = initializer.dataEntityToDtoTypes; } @@ -68,11 +74,37 @@ public class BinderEngine { } public <D extends DataDto, E extends TopiaEntity> Class<D> getDataDtoType(Class<E> entityType) { - return (Class<D>) dataEntityToTtoTypes.get(entityType); + Class<D> result = (Class<D>) dataEntityToDtoTypes.get(entityType); + + if (result == null) { + // Pour gérer le cas des proxy hibernate qui ne sont pas égale à la classe proxifiée + //FIXME Trouver une meilleure solution + String name = entityType.getName(); + for (Map.Entry<Class<? extends TopiaEntity>, Class<? extends DataDto>> entry : dataEntityToDtoTypes.entrySet()) { + if (name.startsWith(entry.getKey().getName())) { + result = (Class<D>) entry.getValue(); + break; + } + } + } + return result; + } public <D extends ReferentialDto, E extends ReferenceEntity> Class<D> getReferentialDtoType(Class<E> entityType) { - return (Class<D>) referentialEntityToDtoTypes.get(entityType); + Class<D> result = (Class<D>) referentialEntityToDtoTypes.get(entityType); + if (result == null) { + // Pour gérer le cas des proxy hibernate qui ne sont pas égale à la classe proxifiée + //FIXME Trouver une meilleure solution + String name = entityType.getName(); + for (Map.Entry<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> entry : referentialEntityToDtoTypes.entrySet()) { + if (name.startsWith(entry.getKey().getName())) { + result = (Class<D>) entry.getValue(); + break; + } + } + } + return result; } public <D extends ReferentialDto, E extends ReferenceEntity> Class<E> getReferentialEntityType(Class<D> dtoType) { @@ -103,6 +135,28 @@ public class BinderEngine { } + @Override + public <D extends ReferentialDto> ReferentialReference<D> transformReferentialDtoToReference(ReferentialLocale referentialLocale, D dto) { + + Class<D> dtoType = (Class<D>) dto.getClass(); + ReferentialBinderSupport<?, D> binder = getReferentialBinder(dtoType); + + ReferentialReference<D> reference = binder.toReferentialReference(referentialLocale, dto); + return reference; + + } + + @Override + public <D extends DataDto> DataReference<D> transformDataDtoToReference(ReferentialLocale referentialLocale, D dto) { + + Class<D> dtoType = (Class<D>) dto.getClass(); + DataBinderSupport<?, D> binder = getDataBinder(dtoType); + + DataReference<D> reference = binder.toDataReference(referentialLocale, dto); + return reference; + + } + public <D extends DataDto, E extends TopiaEntity> D transformEntityToDataDto(ReferentialLocale referentialLocale, E entity) { Class<D> dtoType = getDataDtoType(entity.getClass()); @@ -127,12 +181,16 @@ public class BinderEngine { } + public ImmutableSet<Class<? extends ReferentialDto>> getReferentialDtoTypes() { + return ImmutableSet.copyOf(getReferentialDtoToEntityTypes().keySet()); + } + protected ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> getReferentialEntityToDtoTypes() { return referentialEntityToDtoTypes; } protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> getDataEntityToDtoTypes() { - return dataEntityToTtoTypes; + return dataEntityToDtoTypes; } protected ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> getDataDtoToEntityTypes() { diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java index bd3dfdb..64d0f22 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngineInitializer.java @@ -336,7 +336,7 @@ class BinderEngineInitializer implements ObserveModelInitializer { ImmutableMap.Builder<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypeBuilder; - ImmutableMap.Builder<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDToTypeBuilder; + ImmutableMap.Builder<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDtoTypeBuilder; ImmutableMap.Builder<Class<? extends DataDto>, BinderSupport> dataBinderBuilder; @@ -346,9 +346,9 @@ class BinderEngineInitializer implements ObserveModelInitializer { ImmutableMap.Builder<Class<? extends ReferentialDto>, BinderSupport> referentialBinderBuilder; - ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypeTypes; + ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypes; - ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDToTypes; + ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDtoTypes; ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes; @@ -364,7 +364,7 @@ class BinderEngineInitializer implements ObserveModelInitializer { dataDtoToEntityTypeBuilder = ImmutableMap.builder(); referentialDtoToEntityTypeBuilder = ImmutableMap.builder(); - dataEntityToDToTypeBuilder = ImmutableMap.builder(); + dataEntityToDtoTypeBuilder = ImmutableMap.builder(); referentialEntityToDtoTypeBuilder = ImmutableMap.builder(); dataBinderBuilder = ImmutableMap.builder(); @@ -374,21 +374,21 @@ class BinderEngineInitializer implements ObserveModelInitializer { @Override public void end() { - dataDtoToEntityTypeTypes = dataDtoToEntityTypeBuilder.build(); + dataDtoToEntityTypes = dataDtoToEntityTypeBuilder.build(); referentialDtoToEntityTypes = referentialDtoToEntityTypeBuilder.build(); dataBinders = dataBinderBuilder.build(); referentialBinders = referentialBinderBuilder.build(); - for (Map.Entry<Class<? extends DataDto>, Class<? extends TopiaEntity>> entry : dataDtoToEntityTypeTypes.entrySet()) { + for (Map.Entry<Class<? extends DataDto>, Class<? extends TopiaEntity>> entry : dataDtoToEntityTypes.entrySet()) { Class<? extends DataDto> dtoType = entry.getKey(); Class<? extends TopiaEntity> entityType = entry.getValue(); if ((entityType.getSimpleName() + "Dto").equals(dtoType.getSimpleName())) { ObserveEntityEnum observeEntityEnum = ObserveEntityEnum.valueOf(entityType); - dataEntityToDToTypeBuilder.put(entityType, dtoType); - dataEntityToDToTypeBuilder.put(observeEntityEnum.getImplementation(), dtoType); + dataEntityToDtoTypeBuilder.put(entityType, dtoType); + dataEntityToDtoTypeBuilder.put(observeEntityEnum.getImplementation(), dtoType); } } @@ -403,7 +403,7 @@ class BinderEngineInitializer implements ObserveModelInitializer { referentialEntityToDtoTypeBuilder.put((Class<? extends ReferenceEntity>) observeEntityEnum.getImplementation(), dtoType); } } - dataEntityToDToTypes = dataEntityToDToTypeBuilder.build(); + dataEntityToDtoTypes = dataEntityToDtoTypeBuilder.build(); referentialEntityToDtoTypes = referentialEntityToDtoTypeBuilder.build(); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/ReferenceBinderEngineSupplierTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/ReferenceBinderEngineSupplierTopia.java new file mode 100644 index 0000000..9e98291 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/ReferenceBinderEngineSupplierTopia.java @@ -0,0 +1,18 @@ +package fr.ird.observe.services.binder; + +import fr.ird.observe.services.dto.reference.ReferenceBinderEngine; +import fr.ird.observe.services.dto.reference.ReferenceBinderEngineSupplier; + +/** + * Created on 28/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceBinderEngineSupplierTopia extends ReferenceBinderEngineSupplier { + + @Override + public ReferenceBinderEngine get() { + return BinderEngine.get(); + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java index 93b5300..2d85efd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineBinder.java @@ -5,6 +5,7 @@ import fr.ird.observe.entities.referentiel.longline.LightsticksColor; import fr.ird.observe.entities.referentiel.longline.LightsticksType; import fr.ird.observe.entities.referentiel.longline.LineType; import fr.ird.observe.entities.referentiel.longline.SettingShape; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; @@ -116,4 +117,19 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin dto.setLightsticksColor(toReferentialReference(referentialLocale, entity.getLightsticksColor(), LightsticksColorDto.class)); } + + @Override + public DataReference<SetLonglineDto> toDataReference(ReferentialLocale referentialLocale, SetLongline entity) { + + return toDataReference(entity, entity.getHomeId()); + + } + + @Override + public DataReference<SetLonglineDto> toDataReference(ReferentialLocale referentialLocale, SetLonglineDto dto) { + + return toDataReference(dto, dto.getHomeId()); + + } + } diff --git a/observe-services-topia/src/main/resources/META-INF/services/fr.ird.observe.services.dto.reference.ReferenceBinderEngineSupplier b/observe-services-topia/src/main/resources/META-INF/services/fr.ird.observe.services.dto.reference.ReferenceBinderEngineSupplier new file mode 100644 index 0000000..05eb7af --- /dev/null +++ b/observe-services-topia/src/main/resources/META-INF/services/fr.ird.observe.services.dto.reference.ReferenceBinderEngineSupplier @@ -0,0 +1 @@ +fr.ird.observe.services.binder.ReferenceBinderEngineSupplierTopia \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/ReferenceBinderEngineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/ReferenceBinderEngineTest.java new file mode 100644 index 0000000..7578ed1 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/ReferenceBinderEngineTest.java @@ -0,0 +1,25 @@ +package fr.ird.observe.services.binder; + +import fr.ird.observe.services.dto.reference.ReferenceBinderEngine; +import fr.ird.observe.services.dto.reference.ReferenceBinderEngineSupplier; +import org.junit.Assert; +import org.junit.Test; + +/** + * Created on 28/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceBinderEngineTest { + + @Test + public void testGetReferencebinderEngine() { + + ReferenceBinderEngineSupplier supplier = new ReferenceBinderEngineSupplier(); + + ReferenceBinderEngine referenceBinderEngine = supplier.get(); + Assert.assertNotNull(referenceBinderEngine); + + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit dcc13a997a0089a6d9b4e1ce57dcef608e52d926 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 14:24:05 2015 +0100 FloatingObject est aussi une entité qui a une date de dernière mise à jour + tous les DataDto ont une date de dernière mise à jour --- .../migration/AbstractDataSourceMigration.java | 4 +- .../DataSourceMigrationForVersion_5_0_1.java | 72 +++++++++++++++++++++ .../db/5.0.1/add_lastUpdate_field_2-H2.sql | 2 + .../db/5.0.1/add_lastUpdate_field_2-PG.sql | 2 + observe-entities/src/main/xmi/observe-seine.zargo | Bin 84457 -> 85015 bytes .../xmi/observe-services-dto-common.properties | 17 +---- .../src/main/xmi/observe-services-dto-common.zargo | Bin 42680 -> 43178 bytes .../main/xmi/observe-services-dto-longline.zargo | Bin 65747 -> 64456 bytes .../src/main/xmi/observe-services-dto-seine.zargo | Bin 61382 -> 59797 bytes pom.xml | 2 +- 10 files changed, 81 insertions(+), 18 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java index 9bbd769..2e66560 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java @@ -85,10 +85,12 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version V_5_0 = Versions.valueOf("5.0"); + public static final Version V_5_0_1 = Versions.valueOf("5.0.1"); + /** Les versions de mise à jour disponibles. */ public static final Version[] availableVersions = new Version[]{ V_3_1, V_3_5, V_3_7, V_3_8, V_3_9, V_3_10, V_3_11, V_3_12, V_3_14, V_3_15, V_3_16, V_4_0_RC2, - V_4_0_RC3, V_4_0_RC4, V_4_0_RC6, V_4_0_RC7, V_4_0, V_4_0_1, V_4_0_2, V_5_0 + V_4_0_RC3, V_4_0_RC4, V_4_0_RC6, V_4_0_RC7, V_4_0, V_4_0_1, V_4_0_2, V_5_0, V_5_0_1 }; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_1.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_1.java new file mode 100644 index 0000000..96c9f5d --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_1.java @@ -0,0 +1,72 @@ +package fr.ird.observe.entities.migration.versions; + +/* + * #%L + * ObServe :: Entities + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.PGDataSourceMigration; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; + +import java.util.List; + +/** + * Created on 25/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataSourceMigrationForVersion_5_0_1 extends AbstractObserveMigrationCallBack { + + public DataSourceMigrationForVersion_5_0_1(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(AbstractDataSourceMigration.V_5_0_1, callBack, scriptSuffix); + } + + @Override + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, + List<String> queries, + boolean showSql, + boolean showProgression) { + + // Ajout des champs lastUpdate + // See https://forge.codelutin.com/issues/7470 + addScript("add_lastUpdate_field_2", queries); + + } + + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_1 { + + public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, H2DataSourceMigration.TYPE); + } + + } + + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_1 { + + public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, PGDataSourceMigration.TYPE); + } + + } + +} diff --git a/observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-H2.sql b/observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-H2.sql new file mode 100644 index 0000000..94e0622 --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-H2.sql @@ -0,0 +1,2 @@ +ALTER TABLE OBSERVE_SEINE.FLOATINGOBJECT ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.FloatingObject', CURRENT_TIMESTAMP); \ No newline at end of file diff --git a/observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-PG.sql b/observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-PG.sql new file mode 100644 index 0000000..6564a44 --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-PG.sql @@ -0,0 +1,2 @@ +ALTER TABLE OBSERVE_SEINE.FLOATINGOBJECT ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.FloatingObject', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/xmi/observe-seine.zargo b/observe-entities/src/main/xmi/observe-seine.zargo index 32c9bc2..227cb93 100644 Binary files a/observe-entities/src/main/xmi/observe-seine.zargo and b/observe-entities/src/main/xmi/observe-seine.zargo differ diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.properties b/observe-services-model/src/main/xmi/observe-services-dto-common.properties index 87eec39..1473813 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-common.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-common.properties @@ -28,7 +28,7 @@ model.tagvalue.simpleBeanWithNoInterfaceClassNameSuffix=Dto package.fr.ird.observe.services.dto.stereotype=bean fr.ird.observe.services.dto.referential.Gear.attribute.gearCaracteristic.stereotype=ordered -fr.ird.observe.services.dto.referential.GearCaracteristic.attribute.gearCaracteristicType.stereotype=unique,ordered +#fr.ird.observe.services.dto.referential.GearCaracteristic.attribute.gearCaracteristicType.stereotype=unique,ordered fr.ird.observe.services.dto.referential.Species.attribute.ocean.stereotype=ordered fr.ird.observe.services.dto.referential.SpeciesList.attribute.species.stereotype=ordered fr.ird.observe.services.dto.TripMap.attribute.points.stereotype=unique,ordered @@ -49,18 +49,3 @@ fr.ird.observe.services.dto.referential.Harbour.attribute.country.tagValue.simpl fr.ird.observe.services.dto.referential.Gear.attribute.gearCaracteristic.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristic fr.ird.observe.services.dto.referential.GearCaracteristic.attribute.gearCaracteristicType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristicType -#TODO Add also generic on class -#fr.ird.observe.services.dto.Form.class.tagValue.simpleBeanWithNoInterfaceClassGeneric=D extends fr.ird.observe.services.dto.IdDto -#fr.ird.observe.services.dto.Form.attribute.type.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=D -#fr.ird.observe.services.dto.Form.attribute.labels.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=D - -#fr.ird.observe.services.dto.Reference.class.tagValue.simpleBeanWithNoInterfaceClassGeneric=D extends fr.ird.observe.services.dto.IdDto -#fr.ird.observe.services.dto.Reference.attribute.type.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=D - -#fr.ird.observe.services.dto.ReferentialReference.class.tagValue.simpleBeanWithNoInterfaceClassGeneric=D extends fr.ird.observe.services.dto.IdDto -#fr.ird.observe.services.dto.ReferentialReference.attribute.type.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=D - -#fr.ird.observe.services.dto.ReferenceSet.class.tagValue.simpleBeanWithNoInterfaceClassGeneric=D extends fr.ird.observe.services.dto.IdDto -#fr.ird.observe.services.dto.ReferenceSet.attribute.referenctype.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=D -#fr.ird.observe.services.dto.ReferenceSet.attribute.reference.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=D - diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo index 3ab7a39..41fc634 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo differ diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo index 546c74e..4a9cac5 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo differ diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo index f278524..c88f417 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo differ diff --git a/pom.xml b/pom.xml index 5aaaa95..c27ea3a 100644 --- a/pom.xml +++ b/pom.xml @@ -153,7 +153,7 @@ <devMode>true</devMode> <!--Modèle version--> - <observe.model.version>5.0</observe.model.version> + <observe.model.version>5.0.1</observe.model.version> </properties> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 361b442027ecb76bc743fb68896c25eeb2ed5b1a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:12:44 2015 +0100 Suppression de l'enumeration ReferenceLocale (on ne garde que celle côté service API --- .../entities/constants/ReferenceLocale.java | 134 --------------------- .../longline/ActivityLonglineTopiaDao.java | 20 +-- .../entities/longline/TripLonglineTopiaDao.java | 22 ++-- .../referentiel/I18nReferenceEntities.java | 54 +++++++-- .../entities/referentiel/ProgramTopiaDao.java | 23 ++-- .../entities/referentiel/ReferenceEntities.java | 67 ++--------- .../entities/seine/ActivitySeineTopiaDao.java | 20 +-- .../ird/observe/entities/seine/ActivitySeines.java | 6 +- .../entities/seine/FloatingObjectTopiaDao.java | 24 ++-- .../observe/entities/seine/TripSeineTopiaDao.java | 51 ++++---- .../fr/ird/observe/entities/seine/TripSeines.java | 6 +- 11 files changed, 143 insertions(+), 284 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java b/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java deleted file mode 100644 index ebb4ebd..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/constants/ReferenceLocale.java +++ /dev/null @@ -1,134 +0,0 @@ -/* - * #%L - * ObServe :: Entities - * %% - * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -package fr.ird.observe.entities.constants; - -import fr.ird.observe.entities.referentiel.I18nReferenceEntities; -import fr.ird.observe.entities.referentiel.I18nReferenceEntity; - -import java.util.Locale; - -/** - * Pour définir les différentes langues du référentiel. - * <p/> - * La position de chaque constante définit l'index du champs libelleXXX à - * utiliser. - * <p/> - * En base on a actuellement 8 langues possibles, pour gérer une nouvelle - * langue, il faut définir une nouvelle constante ici. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 1.2 - */ -public enum ReferenceLocale { - /** - * correspond a la propriete {@code label1} d'un {@link - * I18nReferenceEntity}. - * - * @see I18nReferenceEntity#getLabel1() - */ - UK(Locale.UK), - /** - * correspond a la propriete {@code label2} d'un {@link - * I18nReferenceEntity}. - * - * @see I18nReferenceEntity#getLabel2() - */ - FR(Locale.FRANCE), - /** - * correspond a la propriete {@code label3} d'un {@link - * I18nReferenceEntity}. - * - * @see I18nReferenceEntity#getLabel3() - */ - ES(new Locale("es", "ES")); - - private Locale locale; - - ReferenceLocale(Locale locale) { - this.locale = locale; - } - - public Locale getLocale() { - return locale; - } - - public String getLibelle() { - return "label" + (ordinal() + 1); - } - - public static ReferenceLocale valueOf(Locale locale) { - for (ReferenceLocale anEnum : values()) { - if (locale.equals(anEnum.getLocale())) { - return anEnum; - } - } - throw new IllegalArgumentException( - "could not find referentiel locale from locale " + locale); - } - - public String getColumnName() { - return "label"+(ordinal() + 1); - } - - @Override - public String toString() { - return "<Locale: " + locale + ", index: " + name() + ">"; - } - - public <E extends I18nReferenceEntity> void setLabel(String label, E i18nEntity) { - - switch (ordinal()+1) { - case 1: - i18nEntity.setLabel1(label); - break; - case 2: - i18nEntity.setLabel2(label); - break; - case 3: - i18nEntity.setLabel3(label); - break; - case 4: - i18nEntity.setLabel4(label); - break; - case 5: - i18nEntity.setLabel5(label); - break; - case 6: - i18nEntity.setLabel6(label); - break; - case 7: - i18nEntity.setLabel7(label); - break; - case 8: - i18nEntity.setLabel8(label); - break; - } - - } - - public <E extends I18nReferenceEntity> String getLabel(E i18nEntity) { - - String result = I18nReferenceEntities.decorate(ordinal(), i18nEntity); - return result; - - } -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java index 2ba6ff2..9df92e8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java @@ -22,7 +22,7 @@ package fr.ird.observe.entities.longline; * #L% */ -import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; import fr.ird.observe.entities.referentiel.longline.VesselActivityLonglineImpl; import org.nuiton.topia.persistence.support.TopiaSqlQuery; @@ -36,14 +36,14 @@ import java.util.List; public class ActivityLonglineTopiaDao extends AbstractActivityLonglineTopiaDao<ActivityLongline> { - public List<ActivityLongline> findAllStubByTripId(String tripId, ReferenceLocale referenceLocale) { + public List<ActivityLongline> findAllStubByTripId(String tripId, int referenceLocale) { List<ActivityLongline> result = StubSqlQuery.findAll(topiaSqlSupport, tripId, referenceLocale); return result; } - public ActivityLongline findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) { + public ActivityLongline findStubByTopiaId(String activityId, int referenceLocale) { ActivityLongline result = StubSqlQuery.find(topiaSqlSupport, activityId, referenceLocale); return result; @@ -56,16 +56,16 @@ public class ActivityLonglineTopiaDao extends AbstractActivityLonglineTopiaDao<A private final String id; - private final ReferenceLocale referenceLocale; + private final int referenceLocale; - public static List<ActivityLongline> findAll(TopiaSqlSupport context, String tripId, ReferenceLocale referenceLocale) { + public static List<ActivityLongline> findAll(TopiaSqlSupport context, String tripId, int referenceLocale) { String sql = "SELECT" + " a.topiaId," + " a.timestamp," + // " a.open," + " a.set," + - " va." + referenceLocale.getColumnName() + + " va." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_longline.activity a, observe_longline.vesselactivity va" + " WHERE " + " a.trip = ?" + @@ -77,14 +77,14 @@ public class ActivityLonglineTopiaDao extends AbstractActivityLonglineTopiaDao<A } - public static ActivityLongline find(TopiaSqlSupport context, String activityId, ReferenceLocale referenceLocale) { + public static ActivityLongline find(TopiaSqlSupport context, String activityId, int referenceLocale) { String sql = "SELECT" + " a.topiaId," + " a.timestamp," + // " a.open," + " a.set," + - " va." + referenceLocale.getColumnName() + + " va." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_longline.activity a, observe_longline.vesselactivity va" + " WHERE " + " a.topiaId = ?" + @@ -96,7 +96,7 @@ public class ActivityLonglineTopiaDao extends AbstractActivityLonglineTopiaDao<A } - StubSqlQuery(String sql, String id, ReferenceLocale referenceLocale) { + StubSqlQuery(String sql, String id, int referenceLocale) { this.sql = sql; this.id = id; this.referenceLocale = referenceLocale; @@ -127,7 +127,7 @@ public class ActivityLonglineTopiaDao extends AbstractActivityLonglineTopiaDao<A } VesselActivityLongline vesselActivity = new VesselActivityLonglineImpl(); String label = set.getString(4); - referenceLocale.setLabel(label, vesselActivity); + I18nReferenceEntities.setLabel(referenceLocale,vesselActivity, label); activity.setVesselActivityLongline(vesselActivity); return activity; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java index 430b555..b7f25b6 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java @@ -23,8 +23,8 @@ package fr.ird.observe.entities.longline; */ import com.google.common.collect.Lists; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; import fr.ird.observe.entities.referentiel.Person; import fr.ird.observe.entities.referentiel.PersonImpl; import fr.ird.observe.entities.referentiel.Vessel; @@ -52,7 +52,7 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl public int findPositionByProgramId(String programId, String tripId) { int result = 0; - List<TripLongline> list = findAllStubByProgramId(programId, ReferenceLocale.FR); + List<TripLongline> list = findAllStubByProgramId(programId, 1); for (TripLongline e : list) { if (tripId.equals(e.getTopiaId())) { return result; @@ -64,14 +64,14 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl return -1; } - public List<TripLongline> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) { + public List<TripLongline> findAllStubByProgramId(String programId, int referenceLocale) { List<TripLongline> result = StubSqlQuery.findAll(topiaSqlSupport, programId, referenceLocale); return result; } - public TripLongline findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) { + public TripLongline findStubByTopiaId(String tripId, int referenceLocale) { TripLongline result = StubSqlQuery.find(topiaSqlSupport, tripId, referenceLocale); return result; @@ -236,15 +236,15 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl private final String id; - private final ReferenceLocale referenceLocale; + private final int referenceLocale; - StubSqlQuery(String sql, String id, ReferenceLocale referenceLocale) { + StubSqlQuery(String sql, String id, int referenceLocale) { this.sql = sql; this.id = id; this.referenceLocale = referenceLocale; } - public static List<TripLongline> findAll(TopiaSqlSupport context, String programId, ReferenceLocale referenceLocale) { + public static List<TripLongline> findAll(TopiaSqlSupport context, String programId, int referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -253,7 +253,7 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl " p.lastName," + " p.firstName," + " v.topiaId," + - " v." + referenceLocale.getColumnName() + + " v." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_longline.trip t, observe_common.person p, observe_common.vessel v" + " WHERE " + " t.program = ?" + @@ -266,7 +266,7 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl } - public static TripLongline find(TopiaSqlSupport context, String tripId, ReferenceLocale referenceLocale) { + public static TripLongline find(TopiaSqlSupport context, String tripId, int referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -275,7 +275,7 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl " p.lastName," + " p.firstName," + " v.topiaId," + - " v." + referenceLocale.getColumnName() + + " v." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_longline.trip t, observe_common.person p, observe_common.vessel v" + " WHERE " + " t.topiaId = ?" + @@ -314,7 +314,7 @@ public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongl String vesselId = set.getString(6); vessel.setTopiaId(vesselId); String label = set.getString(7); - referenceLocale.setLabel(label, vessel); + I18nReferenceEntities.setLabel(referenceLocale, vessel, label); trip.setVessel(vessel); return trip; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/I18nReferenceEntities.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/I18nReferenceEntities.java index 8dcd892..67a2f91 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/I18nReferenceEntities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/I18nReferenceEntities.java @@ -22,7 +22,7 @@ package fr.ird.observe.entities.referentiel; * #L% */ -import fr.ird.observe.entities.constants.ReferenceLocale; +import java.util.Locale; /** * Created on 29/08/15. @@ -31,18 +31,23 @@ import fr.ird.observe.entities.constants.ReferenceLocale; */ public class I18nReferenceEntities { - public static <E extends I18nReferenceEntity> String decorate(ReferenceLocale referenceLocale, E i18nReferenceEntitiy) { + public static final Locale ES_LOCALE = new Locale("es", "ES"); - StringBuilder builder = new StringBuilder(); - - builder.append(i18nReferenceEntitiy.getCode()); - builder.append(" - ").append(referenceLocale.getLabel(i18nReferenceEntitiy)); - - return builder.toString(); + public static Locale getLocale(int referenceLocaleOrdinal) { + Locale locale = Locale.FRANCE; + if (referenceLocaleOrdinal == 0) { + locale = Locale.UK; + } else if (referenceLocaleOrdinal == 2) { + locale = ES_LOCALE; + } + return locale; + } + public static String getPropertyName(int referenceLocaleOrdinal) { + return "label" + (referenceLocaleOrdinal + 1); } - public static <E extends I18nReferenceEntity> String decorate(int referenceLocaleOrdinal, E i18nEntity) { + public static <E extends I18nReferenceEntity> String getLabel(int referenceLocaleOrdinal, E i18nEntity) { String result = null; @@ -77,4 +82,35 @@ public class I18nReferenceEntities { } + public static <E extends I18nReferenceEntity> void setLabel(int referenceLocaleOrdinal, E i18nEntity, String label) { + + switch (referenceLocaleOrdinal + 1) { + case 1: + i18nEntity.setLabel1(label); + break; + case 2: + i18nEntity.setLabel2(label); + break; + case 3: + i18nEntity.setLabel3(label); + break; + case 4: + i18nEntity.setLabel4(label); + break; + case 5: + i18nEntity.setLabel5(label); + break; + case 6: + i18nEntity.setLabel6(label); + break; + case 7: + i18nEntity.setLabel7(label); + break; + case 8: + i18nEntity.setLabel8(label); + break; + } + + } + } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramTopiaDao.java index e053ee8..a5dae79 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramTopiaDao.java @@ -23,7 +23,6 @@ package fr.ird.observe.entities.referentiel; */ import fr.ird.observe.entities.constants.GearType; -import fr.ird.observe.entities.constants.ReferenceLocale; import org.nuiton.topia.persistence.support.TopiaSqlQuery; import org.nuiton.topia.persistence.support.TopiaSqlSupport; @@ -36,13 +35,13 @@ import java.util.List; public class ProgramTopiaDao extends AbstractProgramTopiaDao<Program> { - public List<Program> findAllStub(ReferenceLocale referenceLocale) { + public List<Program> findAllStub(int referenceLocale) { List<Program> result = StubSqlQuery.findAll(topiaSqlSupport, referenceLocale); return result; } - public Program findStubByTopiaId(String programId, ReferenceLocale referentielLocale) { + public Program findStubByTopiaId(String programId, int referentielLocale) { return StubSqlQuery.find(topiaSqlSupport, programId, referentielLocale); } @@ -53,39 +52,39 @@ public class ProgramTopiaDao extends AbstractProgramTopiaDao<Program> { private final String id; - private final ReferenceLocale referenceLocale; + private final int referenceLocale; - static List<Program> findAll(TopiaSqlSupport topiaSqlSupport, ReferenceLocale referenceLocale) { + static List<Program> findAll(TopiaSqlSupport topiaSqlSupport, int referenceLocale) { String sql = "SELECT" + " p.topiaId," + " p.gearType," + - " p." + referenceLocale.getColumnName() + + " p." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_common.program p" + - " ORDER BY p." + referenceLocale.getColumnName(); + " ORDER BY p." + I18nReferenceEntities.getPropertyName(referenceLocale); StubSqlQuery request = new StubSqlQuery(sql, null, referenceLocale); return topiaSqlSupport.findMultipleResult(request); } - static Program find(TopiaSqlSupport topiaSqlSupport, String tripId, ReferenceLocale referenceLocale) { + static Program find(TopiaSqlSupport topiaSqlSupport, String tripId, int referenceLocale) { String sql = "SELECT" + " p.topiaId," + " p.gearType," + - " p." + referenceLocale.getColumnName() + + " p." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_common.program p" + " WHERE " + " p.topiaId = ?" + - " ORDER BY p." + referenceLocale.getColumnName(); + " ORDER BY p." + I18nReferenceEntities.getPropertyName(referenceLocale); StubSqlQuery request = new StubSqlQuery(sql, tripId, referenceLocale); return topiaSqlSupport.findSingleResult(request); } - StubSqlQuery(String sql, String id, ReferenceLocale referenceLocale) { + StubSqlQuery(String sql, String id, int referenceLocale) { this.sql = sql; this.id = id; this.referenceLocale = referenceLocale; @@ -111,7 +110,7 @@ public class ProgramTopiaDao extends AbstractProgramTopiaDao<Program> { program.setGearType(gearType); String label = set.getString(3); - referenceLocale.setLabel(label, program); + I18nReferenceEntities.setLabel(referenceLocale, program, label); return program; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntities.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntities.java index 69f84aa..13bf6b8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntities.java @@ -23,7 +23,6 @@ package fr.ird.observe.entities.referentiel; */ import com.google.common.base.Predicate; -import com.google.common.collect.ImmutableMap; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.constants.ReferenceStatus; @@ -33,7 +32,6 @@ import org.nuiton.topia.persistence.TopiaEntity; import java.util.Iterator; import java.util.List; -import java.util.Map; /** * Helper class around {@link ReferenceEntity}. @@ -43,13 +41,17 @@ import java.util.Map; */ public class ReferenceEntities { + public static final Predicate<? extends ReferenceEntity> IS_ACTIF_PREDICATE = new Predicate<ReferenceEntity>() { + + @Override + public boolean apply(ReferenceEntity input) { + return ReferenceStatus.disabled != input.getStatus(); + } + }; + /** Logger. */ private static final Log log = LogFactory.getLog(ReferenceEntities.class); - protected ReferenceEntities() { - // avoid instance - } - /** * Filter une liste d'entités d'un référentiel en supprimmant toutes les * entités qui ne sont pas actives {@link ReferenceEntity#getStatus()} @@ -90,14 +92,6 @@ public class ReferenceEntities { } } - public static final Predicate<? extends ReferenceEntity> IS_ACTIF_PREDICATE = new Predicate<ReferenceEntity>() { - - @Override - public boolean apply(ReferenceEntity input) { - return ReferenceStatus.disabled != input.getStatus(); - } - }; - public static <R extends ReferenceEntity> Predicate<R> newEnablePredicate() { return (Predicate<R>) IS_ACTIF_PREDICATE; } @@ -121,50 +115,13 @@ public class ReferenceEntities { } } - public interface ReferentielWalker { - - <E extends TopiaEntity> void walk(Class<E> beanClass) throws Exception; - } - - public static <E extends ReferenceEntity> String toString(int referenceLocaleOrdinal, E entity) { - - String result = null; - if (entity != null) { - for (Map.Entry<Class<?>, ReferenceEntityToString> entry : TO_STRING_CACHE.entrySet()) { - - if (entry.getKey().isAssignableFrom(entity.getClass())) { - - ReferenceEntityToString<E> value = entry.getValue(); - result = value.toString(referenceLocaleOrdinal, entity); - break; - } - } - if (result == null && entity instanceof I18nReferenceEntity) { - - - result = I18nReferenceEntities.decorate(referenceLocaleOrdinal, (I18nReferenceEntity) entity); - } - } - - return result; - + protected ReferenceEntities() { + // avoid instance } - private static final ImmutableMap<Class<?>, ReferenceEntityToString> TO_STRING_CACHE = ImmutableMap - .<Class<?>, ReferenceEntityToString>builder() - .put(Species.class, new ReferenceEntityToString<Species>() { - - @Override - public String toString(int referenceLocaleOrdinal, Species entity) { - return entity.getScientificLabel(); - } - }) - .build(); - - - interface ReferenceEntityToString<E extends ReferenceEntity> { + public interface ReferentielWalker { - String toString(int referenceLocaleOrdinal, E entity); + <E extends TopiaEntity> void walk(Class<E> beanClass) throws Exception; } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java index 2b85146..48d0893 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java @@ -22,7 +22,7 @@ package fr.ird.observe.entities.seine; * #L% */ -import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; import fr.ird.observe.entities.referentiel.seine.VesselActivitySeineImpl; import org.nuiton.topia.persistence.support.TopiaSqlQuery; @@ -36,14 +36,14 @@ import java.util.List; public class ActivitySeineTopiaDao extends AbstractActivitySeineTopiaDao<ActivitySeine> { - public List<ActivitySeine> findAllStubByRouteId(String routeId, ReferenceLocale referenceLocale) { + public List<ActivitySeine> findAllStubByRouteId(String routeId, int referenceLocale) { List<ActivitySeine> result = StubSqlQuery.findAll(topiaSqlSupport, routeId, referenceLocale); return result; } - public ActivitySeine findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) { + public ActivitySeine findStubByTopiaId(String activityId, int referenceLocale) { ActivitySeine result = StubSqlQuery.find(topiaSqlSupport, activityId, referenceLocale); return result; @@ -56,15 +56,15 @@ public class ActivitySeineTopiaDao extends AbstractActivitySeineTopiaDao<Activit private final String id; - private final ReferenceLocale referenceLocale; + private final int referenceLocale; - static List<ActivitySeine> findAll(TopiaSqlSupport context, String routeId, ReferenceLocale referenceLocale) { + static List<ActivitySeine> findAll(TopiaSqlSupport context, String routeId, int referenceLocale) { String sql = "SELECT" + " a.topiaId," + " a.time," + " a.set," + - " va." + referenceLocale.getColumnName() + + " va." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_seine.activity a, observe_seine.vesselactivity va" + " WHERE " + " a.route = ?" + @@ -76,13 +76,13 @@ public class ActivitySeineTopiaDao extends AbstractActivitySeineTopiaDao<Activit } - static ActivitySeine find(TopiaSqlSupport context, String activityId, ReferenceLocale referenceLocale) { + static ActivitySeine find(TopiaSqlSupport context, String activityId, int referenceLocale) { String sql = "SELECT" + " a.topiaId," + " a.time," + " a.set," + - " va." + referenceLocale.getColumnName() + + " va." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_seine.activity a, observe_seine.vesselactivity va" + " WHERE " + " a.topiaId = ?" + @@ -94,7 +94,7 @@ public class ActivitySeineTopiaDao extends AbstractActivitySeineTopiaDao<Activit } - StubSqlQuery(String sql, String id, ReferenceLocale referenceLocale) { + StubSqlQuery(String sql, String id, int referenceLocale) { this.sql = sql; this.id = id; this.referenceLocale = referenceLocale; @@ -125,7 +125,7 @@ public class ActivitySeineTopiaDao extends AbstractActivitySeineTopiaDao<Activit VesselActivitySeine vesselActivity = new VesselActivitySeineImpl(); String label = set.getString(4); - referenceLocale.setLabel(label, vesselActivity); + I18nReferenceEntities.setLabel(referenceLocale, vesselActivity, label); activity.setVesselActivitySeine(vesselActivity); return activity; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeines.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeines.java index bf22c23..7ceb58c 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeines.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeines.java @@ -24,8 +24,8 @@ package fr.ird.observe.entities.seine; import com.google.common.base.Predicate; import com.google.common.collect.Lists; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.constants.seine.SchoolType; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; import fr.ird.observe.entities.referentiel.seine.ObservedSystem; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -62,11 +62,11 @@ public class ActivitySeines { /** Logger. */ private static final Log log = LogFactory.getLog(ActivitySeines.class); - public static String decorate(ReferenceLocale referenceLocale, ActivitySeine activitySeine) { + public static String decorate(int referenceLocale, ActivitySeine activitySeine) { return String.format("%1$tH:%1$tM", activitySeine.getTime()) + " - " + - referenceLocale.getLabel(activitySeine.getVesselActivitySeine()); + I18nReferenceEntities.getLabel(referenceLocale,activitySeine.getVesselActivitySeine()); } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectTopiaDao.java index 5e0f3f3..54f7259 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectTopiaDao.java @@ -22,7 +22,7 @@ package fr.ird.observe.entities.seine; * #L% */ -import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; import fr.ird.observe.entities.referentiel.seine.ObjectType; import fr.ird.observe.entities.referentiel.seine.ObjectTypeImpl; import org.nuiton.topia.persistence.support.TopiaSqlQuery; @@ -36,14 +36,14 @@ import java.util.List; public class FloatingObjectTopiaDao extends AbstractFloatingObjectTopiaDao<FloatingObject> { - public List<FloatingObject> findAllStubByActivityId(String activityId, ReferenceLocale referenceLocale) { + public List<FloatingObject> findAllStubByActivityId(String activityId, int referenceLocale) { List<FloatingObject> result = StubSqlQuery.findAll(topiaSqlSupport, activityId, referenceLocale); return result; } - public FloatingObject findStubByTopiaId(String floatingObjectId, ReferenceLocale referenceLocale) { + public FloatingObject findStubByTopiaId(String floatingObjectId, int referenceLocale) { FloatingObject result = StubSqlQuery.find(topiaSqlSupport, floatingObjectId, referenceLocale); return result; @@ -56,41 +56,41 @@ public class FloatingObjectTopiaDao extends AbstractFloatingObjectTopiaDao<Float private final String id; - private final ReferenceLocale referenceLocale; + private final int referenceLocale; - static List<FloatingObject> findAll(TopiaSqlSupport context, String activityId, ReferenceLocale referenceLocale) { + static List<FloatingObject> findAll(TopiaSqlSupport context, String activityId, int referenceLocale) { String sql = "SELECT" + " fo.topiaId," + - " ot." + referenceLocale.getColumnName() + + " ot." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_seine.floatingobject fo, observe_seine.objecttype ot" + " WHERE " + " fo.activity = ?" + " AND fo.objecttype = ot.topiaid" + - " ORDER BY ot." + referenceLocale.getColumnName(); + " ORDER BY ot." + I18nReferenceEntities.getPropertyName(referenceLocale); StubSqlQuery request = new StubSqlQuery(sql, activityId, referenceLocale); return context.findMultipleResult(request); } - static FloatingObject find(TopiaSqlSupport context, String floatingObjectId, ReferenceLocale referenceLocale) { + static FloatingObject find(TopiaSqlSupport context, String floatingObjectId, int referenceLocale) { String sql = "SELECT" + " fo.topiaId," + - " ot." + referenceLocale.getColumnName() + + " ot." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_seine.floatingobject fo, observe_seine.objecttype ot" + " WHERE " + " fo.topiaId = ?" + " AND fo.objecttype = ot.topiaid" + - " ORDER BY ot." + referenceLocale.getColumnName(); + " ORDER BY ot." + I18nReferenceEntities.getPropertyName(referenceLocale); StubSqlQuery request = new StubSqlQuery(sql, floatingObjectId, referenceLocale); return context.findSingleResult(request); } - StubSqlQuery(String sql, String id, ReferenceLocale referenceLocale) { + StubSqlQuery(String sql, String id, int referenceLocale) { this.sql = sql; this.id = id; this.referenceLocale = referenceLocale; @@ -111,7 +111,7 @@ public class FloatingObjectTopiaDao extends AbstractFloatingObjectTopiaDao<Float String objectTypeLabel = set.getString(2); ObjectType objectType = new ObjectTypeImpl(); - referenceLocale.setLabel(objectTypeLabel, objectType); + I18nReferenceEntities.setLabel(referenceLocale, objectType, objectTypeLabel); floatingObject.setObjectType(objectType); return floatingObject; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java index a68cacd..10033af 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java @@ -21,9 +21,9 @@ */ package fr.ird.observe.entities.seine; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.constants.seine.SchoolType; import fr.ird.observe.entities.referentiel.Harbour; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; import fr.ird.observe.entities.referentiel.Person; import fr.ird.observe.entities.referentiel.PersonImpl; import fr.ird.observe.entities.referentiel.Vessel; @@ -52,9 +52,10 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { public static final String ACTIVITY_HARBOUR_ID = "fr.ird.observe.entities.referentiel.seine.VesselActivitySeine#1239832675349#0.363119635949572"; + //FIXME Si on veut juste récupérer les positions, on fait une requete spécifique :( public int findPositionByProgramId(String programId, String tripId) { int result = 0; - List<TripSeine> list = findAllStubByProgramId(programId, ReferenceLocale.FR); + List<TripSeine> list = findAllStubByProgramId(programId, 1); for (TripSeine e : list) { if (tripId.equals(e.getTopiaId())) { return result; @@ -66,14 +67,14 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { return -1; } - public List<TripSeine> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) { + public List<TripSeine> findAllStubByProgramId(String programId, int referenceLocale) { List<TripSeine> result = StubSqlQuery.findAll(topiaSqlSupport, programId, referenceLocale); return result; } - public TripSeine findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) { + public TripSeine findStubByTopiaId(String tripId, int referenceLocale) { TripSeine result = StubSqlQuery.find(topiaSqlSupport, tripId, referenceLocale); return result; @@ -118,19 +119,19 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { private static class TripMapActivityPointQuery extends TopiaSqlQuery<TripMapPointDto> { private static String SQL = "SELECT" + - " r.date, " + - " a.time, " + - " a.latitude," + - " a.longitude," + - " a.vesselactivity, " + - " s.schoolType" + - " FROM observe_seine.route r" + - " INNER JOIN observe_seine.activity a" + - " ON a.route = r.topiaId" + - " LEFT OUTER JOIN observe_seine.set s" + - " ON s.topiaId = a.set" + - " WHERE r.trip = ?" + - " ORDER BY r.date, a.time"; + " r.date, " + + " a.time, " + + " a.latitude," + + " a.longitude," + + " a.vesselactivity, " + + " s.schoolType" + + " FROM observe_seine.route r" + + " INNER JOIN observe_seine.activity a" + + " ON a.route = r.topiaId" + + " LEFT OUTER JOIN observe_seine.set s" + + " ON s.topiaId = a.set" + + " WHERE r.trip = ?" + + " ORDER BY r.date, a.time"; protected String tripId; @@ -183,9 +184,9 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { private final String id; - private final ReferenceLocale referenceLocale; + private final int referenceLocale; - static <E extends TripSeine> List<TripSeine> findAll(TopiaSqlSupport context, String programId, ReferenceLocale referenceLocale) { + static <E extends TripSeine> List<TripSeine> findAll(TopiaSqlSupport context, String programId, int referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -194,7 +195,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { " p.lastName," + " p.firstName," + " v.topiaId, " + - " v." + referenceLocale.getColumnName() + + " v." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_seine.trip t, observe_common.person p, observe_common.vessel v" + " WHERE " + " t.program = ?" + @@ -207,7 +208,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { } - static TripSeine find(TopiaSqlSupport context, String tripId, ReferenceLocale referenceLocale) { + static TripSeine find(TopiaSqlSupport context, String tripId, int referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -216,7 +217,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { " p.lastName," + " p.firstName," + " v.topiaId," + - " v." + referenceLocale.getColumnName() + + " v." + I18nReferenceEntities.getPropertyName(referenceLocale) + " FROM observe_seine.trip t, observe_common.person p, observe_common.vessel v" + " WHERE " + " t.topiaId = ?" + @@ -229,7 +230,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { } - StubSqlQuery(String sql, String id, ReferenceLocale referenceLocale) { + StubSqlQuery(String sql, String id, int referenceLocale) { this.sql = sql; this.id = id; this.referenceLocale = referenceLocale; @@ -262,7 +263,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { String vesselId = set.getString(6); vessel.setTopiaId(vesselId); String label = set.getString(7); - referenceLocale.setLabel(label, vessel); + I18nReferenceEntities.setLabel(referenceLocale, vessel, label); trip.setVessel(vessel); return trip; @@ -335,7 +336,7 @@ public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { " FROM observe_seine.route r" + " WHERE r.trip = ?"; - TheoricalEndOfDateSqlQuery request = new TheoricalEndOfDateSqlQuery(sql, tripId); + TheoricalEndOfDateSqlQuery request = new TheoricalEndOfDateSqlQuery(sql, tripId); return context.findSingleResult(request); } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeines.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeines.java index d40b2db..fb952b6 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeines.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeines.java @@ -22,7 +22,7 @@ package fr.ird.observe.entities.seine; * #L% */ -import fr.ird.observe.entities.constants.ReferenceLocale; +import fr.ird.observe.entities.referentiel.I18nReferenceEntities; import fr.ird.observe.entities.referentiel.Person; /** @@ -32,13 +32,13 @@ import fr.ird.observe.entities.referentiel.Person; */ public class TripSeines { - public static String decorate(ReferenceLocale referenceLocale, TripSeine tripSeine) { + public static String decorate(int referenceLocale, TripSeine tripSeine) { StringBuilder builder = new StringBuilder(); builder.append(String.format("%1$td/%1$tm/%1$tY", tripSeine.getStartDate())); builder.append(" - ").append(String.format("%1$td/%1$tm/%1$tY", tripSeine.getEndDate())); - builder.append(" - ").append(referenceLocale.getLabel(tripSeine.getVessel())); + builder.append(" - ").append(I18nReferenceEntities.getLabel(referenceLocale, tripSeine.getVessel())); Person observer = tripSeine.getObserver(); builder.append(" - ").append(observer == null ? "" : observer.getLastName() + " " + observer.getFirstName()); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 67fe01b9b450f83c56db13e218a39b83b3dfa2ce Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:15:12 2015 +0100 Suppression des dto Reference, ReferenceSet et Form --- .../services/service/ObserveReferentialCache.java | 151 +++----- .../services/service/ReferenceSetService.java | 28 -- .../services/service/ReferenceSetsRequest.java | 37 ++ .../services/service/ReferentialService.java | 25 +- .../actions/validate/ValidateResultForDto.java | 8 +- .../actions/validate/ValidateResultForDtoType.java | 4 +- .../longline/ActivityLongLineEncouterService.java | 4 +- .../ActivityLongLineSensorUsedService.java | 4 +- .../service/longline/ActivityLonglineService.java | 14 +- .../service/longline/BranchlineService.java | 4 +- .../service/longline/SetLonglineCatchService.java | 4 +- .../SetLonglineDetailCompositionService.java | 4 +- .../SetLonglineGlobalCompositionService.java | 4 +- .../service/longline/SetLonglineService.java | 10 +- .../services/service/longline/TdrService.java | 4 +- .../longline/TripLonglineGearUseService.java | 4 +- .../service/longline/TripLonglineService.java | 16 +- .../seine/ActivitySeineObservedSystemService.java | 4 +- .../service/seine/ActivitySeineService.java | 14 +- .../service/seine/FloatingObjectService.java | 14 +- .../service/seine/NonTargetCatchService.java | 4 +- .../service/seine/NonTargetSampleService.java | 4 +- .../seine/ObjectObservedSpeciesService.java | 4 +- .../service/seine/ObjectSchoolEstimateService.java | 4 +- .../services/service/seine/RouteService.java | 14 +- .../service/seine/SchoolEstimateService.java | 4 +- .../services/service/seine/SetSeineService.java | 10 +- .../services/service/seine/TargetCatchService.java | 4 +- .../service/seine/TargetSampleService.java | 4 +- .../seine/TransmittingBuoyOperationService.java | 4 +- .../service/seine/TripSeineGearUseService.java | 4 +- .../services/service/seine/TripSeineService.java | 16 +- .../observe/services/dto/AbstractReference.java | 163 +++++++++ .../observe/services/dto/AbstractReferenceSet.java | 68 ++++ .../fr/ird/observe/services/dto/DataReference.java | 71 ++++ ...otFoundException.java => DataReferenceSet.java} | 41 +-- .../java/fr/ird/observe/services/dto/Form.java | 95 +++++ .../java/fr/ird/observe/services/dto/FormDto.java | 171 --------- .../java/fr/ird/observe/services/dto/FormDtos.java | 44 --- .../java/fr/ird/observe/services/dto/IdDtos.java | 28 +- .../fr/ird/observe/services/dto/ReferenceDto.java | 181 ---------- .../fr/ird/observe/services/dto/ReferenceDtos.java | 128 ------- .../ird/observe/services/dto/ReferenceSetDto.java | 126 ------- .../ird/observe/services/dto/ReferenceSetDtos.java | 86 ----- .../services/dto/constants/ReferentialLocale.java | 26 +- .../observe/services/dto/gson/FormDtoAdapter.java | 34 -- .../services/dto/gson/ObserveDtoGsonSupplier.java | 29 +- .../dto/gson/ObserveReferenceSetAdapter.java | 122 ------- .../services/dto/gson/ReferenceDtoAdapter.java | 133 ------- .../dto/gson/ReferentialReferenceDtoAdapter.java | 57 --- .../services/dto/gson/ReportVariableAdapter.java | 13 +- .../gson/reference/AbstractReferenceAdapter.java | 131 +++++++ .../reference/AbstractReferenceSetAdapter.java | 83 +++++ .../dto/gson/reference/DataReferenceAdapter.java | 49 +++ .../gson/reference/DataReferenceSetAdapter.java | 37 ++ .../reference/ReferentialReferenceAdapter.java | 100 ++++++ .../reference/ReferentialReferenceSetAdapter.java | 50 +++ .../dto/longline/ActivityLonglineDtos.java | 24 -- .../dto/longline/LonglinePositionAwareDto.java | 14 +- .../services/dto/longline/TripLonglineDtos.java | 27 -- .../dto/reference/DataReferenceSetDefinitions.java | 163 +++++++++ .../services/dto/reference/ObserveReference.java | 61 ---- .../dto/reference/ObserveReferenceSet.java | 125 ------- .../dto/reference/ObserveReferenceSetRequest.java | 43 --- .../dto/reference/ObserveReferenceSetResult.java | 72 ---- .../dto/reference/ObserveReferentialReference.java | 89 ----- ...Definition.java => ReferenceSetDefinition.java} | 14 +- ...ava => ReferentialReferenceSetDefinitions.java} | 82 +++-- .../builder/AbstractToReferenceBuilder.java | 110 ++++++ .../reference/builder/DataToReferenceBuilder.java | 47 +++ .../builder/ReferentialToReferenceBuilder.java | 97 +++++ .../ObserveReferenceSetRequestDefinition.java | 53 --- .../ObserveReferenceSetRequestDefinitions.java | 391 --------------------- .../request/ReferenceSetRequestDefinition.java | 87 +++++ .../request/ReferenceSetRequestDefinitions.java | 371 +++++++++++++++++++ .../ReferenceSetRequestKeyDefinition.java} | 30 +- .../dto/referential/I18nReferentialDtos.java | 42 +++ .../services/dto/referential/PersonDtos.java | 31 +- .../services/dto/referential/ProgramDtos.java | 32 +- .../services/dto/referential/ReferentialDtos.java | 16 +- .../dto/referential/ReferentialReference.java | 93 +++++ .../dto/referential/ReferentialReferenceDto.java | 120 ------- .../dto/referential/ReferentialReferenceDtos.java | 48 --- .../dto/referential/ReferentialReferenceSet.java | 68 ++++ .../services/dto/result/SaveResultDtos.java | 2 +- .../services/dto/seine/ActivitySeineDtos.java | 22 -- .../services/dto/seine/FloatingObjectDtos.java | 26 -- .../seine/FloatingObjectTransmittingBuoyDto.java | 4 +- .../ird/observe/services/dto/seine/RouteDtos.java | 21 -- .../observe/services/dto/seine/TripSeineDtos.java | 28 -- 90 files changed, 2300 insertions(+), 2652 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ObserveReferentialCache.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ObserveReferentialCache.java index e6facfd..6f89b3f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ObserveReferentialCache.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ObserveReferentialCache.java @@ -1,16 +1,12 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableMap; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.reference.ObserveReference; -import fr.ird.observe.services.dto.reference.ObserveReferenceSet; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; -import fr.ird.observe.services.dto.reference.ObserveReferentialReference; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinition; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -18,10 +14,11 @@ import java.io.Closeable; import java.io.Serializable; import java.util.Date; import java.util.LinkedHashMap; -import java.util.LinkedHashSet; import java.util.Map; /** + * Un cache de référentiels. + * * Created on 10/11/15. * * @author Tony Chemit - chemit@codelutin.com @@ -33,61 +30,68 @@ public class ObserveReferentialCache implements Closeable, Serializable { /** Logger. */ private static final Log log = LogFactory.getLog(ObserveReferentialCache.class); - private final Map<ObserveReferenceSetRequestKeyDefinition<?>, ReferenceSetDto<?>> cache; + private final Map<Class<? extends ReferentialDto>, ReferentialReferenceSet<?>> cache; public ObserveReferentialCache() { this.cache = new LinkedHashMap<>(); } - public void loadReferenceSets(ReferenceSetService referenceSetService, FormDto<?> formDto) { + public <D extends ReferentialDto> ReferentialReferenceSet<D> getReferentialReferenceSet(ReferentialService referentialService, Class<D> type) { + + ReferentialReferenceSet<D> referenceSetDto = (ReferentialReferenceSet<D>) cache.get(type); + + Date lastUpdate = null; + if (referenceSetDto != null) { + lastUpdate = referenceSetDto.getLastUpdate(); + } + + ReferentialReferenceSet<D> lastReferenceSetDto = referentialService.getReferenceSet(type, lastUpdate); + if (lastReferenceSetDto != null) { + + cache.put(type, lastReferenceSetDto); + referenceSetDto = lastReferenceSetDto; + + } + + return referenceSetDto; + + } + + public ImmutableMap<Class<?>, ReferentialReferenceSet<?>> loadReferenceSets(ReferentialService referentialService, String referentialRequestName) { - LinkedHashSet<ReferenceSetDto> values = new LinkedHashSet<>(); + ImmutableMap.Builder<Class<?>, ReferentialReferenceSet<?>> result = ImmutableMap.builder(); - String referentialRequestName = formDto.getReferentialReferenceSetRequestName(); if (referentialRequestName != null) { if (log.isInfoEnabled()) { log.info("Loading referantialReferenceSetRequest: " + referentialRequestName); } - ImmutableMap<String, Date> lastUpdateDates = getLastUpdateDates(referentialRequestName); + ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(referentialRequestName); - ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); + ImmutableMap<Class<?>, Date> lastUpdateDates = getLastUpdateDates(referentialRequestName); + + ReferenceSetsRequest request = new ReferenceSetsRequest(); request.setRequestName(referentialRequestName); request.setLastUpdateDates(lastUpdateDates); - ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = referenceSetService.loadReferentialReferenceSets(request); + ImmutableSet<ReferentialReferenceSet<?>> referenceSetResult = referentialService.getReferentialReferenceSets(request); - ImmutableMap<String, ReferenceSetDto<?>> referenceSets = loadReferenceSets(referenceSetResult); - values.addAll(referenceSets.values()); - } + for (ReferentialReferenceSet<?> referentialReferenceSet : referenceSetResult) { - String dataRequestName = formDto.getDataReferenceSetRequestName(); - if (dataRequestName != null) { + cache.put(referentialReferenceSet.getType(), referentialReferenceSet); - if (log.isInfoEnabled()) { - log.info("Loading dataReferenceSetRequest: " + dataRequestName); } - ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); - request.setRequestName(dataRequestName); - request.setLastUpdateDates(ImmutableMap.<String, Date>of()); - ObserveReferenceSetResult<ObserveReference> referenceSetResult = referenceSetService.loadDataReferenceSets(request); - ImmutableMap<String, ObserveReferenceSet<?, ObserveReference>> referenceSets = referenceSetResult.getReferenceSets(); + for (ReferenceSetDefinition<? extends ReferentialDto> referentialReferenceSetDefinition : requestDefinition.getReferentialReferenceSetDefinitions()) { - ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(dataRequestName); - for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { - - String requestKeyDefinitionName = requestKeyDefinition.getName(); - ObserveReferenceSet<?, ObserveReference> referenceSet = referenceSets.get(requestKeyDefinitionName); - - ReferenceSetDto<?> referenceSetDto = referenceSet.toReferenceSetDto(requestKeyDefinitionName); - values.add(referenceSetDto); + Class<? extends ReferentialDto> type = referentialReferenceSetDefinition.getType(); + ReferentialReferenceSet<?> referentialReferenceSet = cache.get(type); + result.put(type, referentialReferenceSet); } - } - formDto.setLabels(values); + return result.build(); } @@ -97,18 +101,19 @@ public class ObserveReferentialCache implements Closeable, Serializable { * @param requestName le nom de la requète * @return le dictionnaire des dates de dernières mises à jour pour chaque ensemble de référentiels */ - public ImmutableMap<String, Date> getLastUpdateDates(String requestName) { + public ImmutableMap<Class<?>, Date> getLastUpdateDates(String requestName) { - ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(requestName); + ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); - ImmutableMap.Builder<String, Date> builder = ImmutableMap.builder(); + ImmutableMap.Builder<Class<?>, Date> builder = ImmutableMap.builder(); - for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { + for (ReferenceSetDefinition<? extends ReferentialDto> referentialSetDefinition : requestDefinition.getReferentialReferenceSetDefinitions()) { - ReferenceSetDto<?> referenceSetDto = cache.get(requestKeyDefinition); + Class<? extends ReferentialDto> type = referentialSetDefinition.getType(); + ReferentialReferenceSet<?> referenceSetDto = cache.get(type); if (referenceSetDto != null) { Date lastUpdate = referenceSetDto.getLastUpdate(); - builder.put(requestKeyDefinition.getName(), lastUpdate); + builder.put(type, lastUpdate); } } @@ -117,61 +122,9 @@ public class ObserveReferentialCache implements Closeable, Serializable { } - /** - * Pour récupérer les ensembles de référentiels à partir du résultat d'une requète. - * - * Le cache sera mis à jour si nécessaire avec les données entrantes. - * - * @param referenceSetResult le résultat de la requète de demande d'ensemble de référentiels - * @return le dictionnaire des ensembles de référentiels complêt - */ - public ImmutableMap<String, ReferenceSetDto<?>> loadReferenceSets(ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult) { - - ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(referenceSetResult.getRequestName()); - - ImmutableMap.Builder<String, ReferenceSetDto<?>> builder = ImmutableMap.builder(); - - // Les référentiels mis à jour via la requète - ImmutableMap<String, ObserveReferenceSet<?, ObserveReferentialReference>> referenceSets = referenceSetResult.getReferenceSets(); - - for (ObserveReferenceSetRequestKeyDefinition requestKeyDefinition : requestDefinition.getKeys()) { - - ReferenceSetDto<?> referenceSetDto; - - String requestKeyDefinitionName = requestKeyDefinition.getName(); - ObserveReferenceSet<?, ObserveReferentialReference> referenceSet = referenceSets.get(requestKeyDefinitionName); - - if (referenceSet != null) { - - // on met à jour le cache avec les données entrantes - referenceSetDto = referenceSet.toReferenceSetDto(requestKeyDefinitionName); - cache.put(requestKeyDefinition, referenceSetDto); - - if (log.isInfoEnabled()) { - log.info("Update cache entry for " + requestKeyDefinition); - } - - } else { - - // on récupère du cache, rien n'a changé pour cette entrée - referenceSetDto = cache.get(requestKeyDefinition); - - if (log.isInfoEnabled()) { - log.info("Get cache entry for " + requestKeyDefinition); - } - - } - - builder.put(requestKeyDefinitionName, referenceSetDto); - - } - - return builder.build(); - - } - @Override public void close() { cache.clear(); } + } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java deleted file mode 100644 index 2ce25b3..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetService.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.ird.observe.services.service; - -import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.reference.ObserveReference; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; -import fr.ird.observe.services.dto.reference.ObserveReferentialReference; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; -import fr.ird.observe.services.spi.ReadDataPermission; -import fr.ird.observe.services.spi.ReadReferentialPermission; - -/** - * Pour gérer les {@link ReferenceSetDto}. - * - * Created on 11/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public interface ReferenceSetService extends ObserveService { - - @ReadDataPermission - ObserveReferenceSetResult<ObserveReference> loadDataReferenceSets(ObserveReferenceSetRequest request); - - @ReadReferentialPermission - ObserveReferenceSetResult<ObserveReferentialReference> loadReferentialReferenceSets(ObserveReferenceSetRequest request); - - -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetsRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetsRequest.java new file mode 100644 index 0000000..1551b41 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferenceSetsRequest.java @@ -0,0 +1,37 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableMap; + +import java.util.Date; + +/** + * Pour demander plusieurs ensembles de références dans un même appel. + * + * Created on 10/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @see ReferentialService#getReferentialReferenceSets(ReferenceSetsRequest) + */ +public class ReferenceSetsRequest { + + private String requestName; + + private ImmutableMap<Class<?>, Date> lastUpdateDates; + + public String getRequestName() { + return requestName; + } + + public void setRequestName(String requestName) { + this.requestName = requestName; + } + + public ImmutableMap<Class<?>, Date> getLastUpdateDates() { + return lastUpdateDates; + } + + public void setLastUpdateDates(ImmutableMap<Class<?>, Date> lastUpdateDates) { + this.lastUpdateDates = lastUpdateDates; + } + +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java index dc35e0e..d5c4bf6 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java @@ -22,12 +22,13 @@ package fr.ird.observe.services.service; * #L% */ +import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.DtoMap; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; @@ -47,28 +48,23 @@ import java.util.Date; public interface ReferentialService extends ObserveService { @ReadReferentialPermission - <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSetWithTechnicalInformations(Class<R> type); + <R extends ReferentialDto> ReferentialReferenceSet<R> getReferenceSet(Class<R> type, Date lastUpdateDate); @ReadReferentialPermission - <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSet(Class<R> type); - - @ReadReferentialPermission - <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSetIfModify(Class<R> type, Date updateAfter); + ImmutableSet<ReferentialReferenceSet<?>> getReferentialReferenceSets(ReferenceSetsRequest request); + //FIXME charger cela dans le cache côté applicatif @ReadReferentialPermission SpeciesDto loadSpecies(String id); @ReadReferentialPermission - <R extends ReferentialDto> FormDto<R> loadToRead(Class<R> type, String id) throws DataNotFoundException; + <R extends ReferentialDto> Form<R> loadForm(Class<R> type, String id) throws DataNotFoundException; @ReadReferentialPermission - <R extends ReferentialDto> ReferenceDto<R> loadReferenceToRead(Class<R> programDtoClass, String id) throws DataNotFoundException; - - @WriteReferentialPermission - <R extends ReferentialDto> FormDto<R> loadToEdit(Class<R> type, String id) throws DataNotFoundException; + <R extends ReferentialDto> ReferentialReference<R> loadReference(Class<R> type, String id) throws DataNotFoundException; @WriteReferentialPermission - <R extends ReferentialDto> FormDto<R> preCreate(Class<R> type); + <R extends ReferentialDto> Form<R> preCreate(Class<R> type); @WriteReferentialPermission @Write @@ -85,6 +81,7 @@ public interface ReferentialService extends ObserveService { @DeleteRequest <R extends ReferentialDto> void delete(Class<R> type, Collection<String> ids) throws DataNotFoundException; + //FIXME Pfff, on ne veut pas récuperer des dto, mais des références @ReadReferentialPermission @ReadDataPermission <R extends ReferentialDto> DtoMap findAllUsages(R bean) throws DataNotFoundException; diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateResultForDto.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateResultForDto.java index b11a126..ed4e4d0 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateResultForDto.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateResultForDto.java @@ -23,9 +23,9 @@ package fr.ird.observe.services.service.actions.validate; */ import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ObserveDto; -import fr.ird.observe.services.dto.ReferenceDto; /** * Les résultats de la validation d'un dto. @@ -37,16 +37,16 @@ import fr.ird.observe.services.dto.ReferenceDto; */ public class ValidateResultForDto<D extends IdDto> implements ObserveDto { - protected final ReferenceDto<D> dto; + protected final AbstractReference<D> dto; protected final ImmutableSet<ValidationMessage> messages; - public ValidateResultForDto(ReferenceDto<D> dto, ImmutableSet<ValidationMessage> messages) { + public ValidateResultForDto(AbstractReference<D> dto, ImmutableSet<ValidationMessage> messages) { this.dto = dto; this.messages = messages; } - public ReferenceDto<D> getDto() { + public AbstractReference<D> getDto() { return dto; } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateResultForDtoType.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateResultForDtoType.java index ce86dd3..21b8d49 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateResultForDtoType.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateResultForDtoType.java @@ -26,9 +26,9 @@ import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; +import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ObserveDto; -import fr.ird.observe.services.dto.ReferenceDto; /** * Le résultat d'une validation d'un type de dto donné. @@ -52,7 +52,7 @@ public class ValidateResultForDtoType<D extends IdDto> implements ObserveDto { return validateResultForDto; } - public ValidateResultForDto<D> getValidateResult(final ReferenceDto<D> referenceDto) { + public ValidateResultForDto<D> getValidateResult(final AbstractReference<D> referenceDto) { Optional<ValidateResultForDto<D>> resultForDtoOptional = Iterables.tryFind(validateResultForDto, new Predicate<ValidateResultForDto<D>>() { @Override public boolean apply(ValidateResultForDto<D> input) { diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java index 1fb7ecb..5fe4fe9 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ActivityLongLineEncouterService extends ObserveService { @ReadDataPermission - FormDto<ActivityLonglineEncouterDto> loadForm(String activityLonglineId); + Form<ActivityLonglineEncouterDto> loadForm(String activityLonglineId); @WriteDataPermission @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java index 223e3b8..08e08a2 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ActivityLongLineSensorUsedService extends ObserveService { @ReadDataPermission - FormDto<ActivityLonglineSensorUsedDto> loadForm(String activityLonglineId); + Form<ActivityLonglineSensorUsedDto> loadForm(String activityLonglineId); @WriteDataPermission @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java index c8d5776..82eb34b 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineService.java @@ -23,9 +23,9 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.spi.DeleteRequest; @@ -42,25 +42,25 @@ import java.util.List; public interface ActivityLonglineService extends ObserveService { @ReadDataPermission - ReferenceSetDto<ActivityLonglineDto> getActivityLonglineByTripLongline(String tripLonglineId); + DataReferenceSet<ActivityLonglineDto> getActivityLonglineByTripLongline(String tripLonglineId); @ReadDataPermission int getActivityLonglinePositionInTripLongline(String tripLonglineId, String activityLonglineId); @ReadDataPermission - FormDto<ActivityLonglineDto> loadForm(String activityLonglineId); + Form<ActivityLonglineDto> loadForm(String activityLonglineId); @ReadDataPermission ActivityLonglineDto loadDto(String activityLonglineId); @ReadDataPermission - ReferenceDto<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId); + DataReference<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId); @ReadDataPermission boolean exists(String activityLonglineId); @WriteDataPermission - FormDto<ActivityLonglineDto> preCreate(String tripLonglineId); + Form<ActivityLonglineDto> preCreate(String tripLonglineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java index f3e5f1b..f6583d7 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java @@ -1,7 +1,7 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -14,7 +14,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface BranchlineService extends ObserveService { @ReadDataPermission - FormDto<BranchlineDto> loadForm(String branchlineId); + Form<BranchlineDto> loadForm(String branchlineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchService.java index 5558aa6..ff30a20 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetLonglineCatchService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineCatchDto> loadForm(String setLonglineId); + Form<SetLonglineCatchDto> loadForm(String setLonglineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java index 40d41e8..996ec6b 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetLonglineDetailCompositionService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineDetailCompositionDto> loadForm(String setLonglineId); + Form<SetLonglineDetailCompositionDto> loadForm(String setLonglineId); @WriteDataPermission boolean canDeleteSection(String sectionId); diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionService.java index 29d5536..bbeaa4e 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetLonglineGlobalCompositionService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineGlobalCompositionDto> loadForm(String setLonglineId); + Form<SetLonglineGlobalCompositionDto> loadForm(String setLonglineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java index 3e8ada7..b94c047 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/SetLonglineService.java @@ -23,8 +23,8 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.DeleteRequest; @@ -39,19 +39,19 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetLonglineService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineDto> loadForm(String setLonglineId); + Form<SetLonglineDto> loadForm(String setLonglineId); @ReadDataPermission SetLonglineDto loadDto(String setLonglineId); @ReadDataPermission - ReferenceDto<SetLonglineDto> loadReferenceToRead(String setLonglineId); + DataReference<SetLonglineDto> loadReferenceToRead(String setLonglineId); @ReadDataPermission boolean exists(String setLonglineId); @WriteDataPermission - FormDto<SetLonglineDto> preCreate(String activityLonglineId); + Form<SetLonglineDto> preCreate(String activityLonglineId); @WriteDataPermission @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TdrService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TdrService.java index 1004972..edc36a2 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TdrService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TdrService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TdrService extends ObserveService { @ReadDataPermission - FormDto<SetLonglineTdrDto> loadForm(String setLonglineId); + Form<SetLonglineTdrDto> loadForm(String setLonglineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseService.java index 8f5f633..839f56c 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TripLonglineGearUseService extends ObserveService { @ReadDataPermission - FormDto<TripLonglineGearUseDto> loadForm(String tripLonglineId); + Form<TripLonglineGearUseDto> loadForm(String tripLonglineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java index 2bd6ab6..9e39a0a 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/TripLonglineService.java @@ -23,9 +23,9 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.result.SaveResultDto; @@ -43,10 +43,10 @@ import java.util.List; public interface TripLonglineService extends ObserveService { @ReadDataPermission - ReferenceSetDto<TripLonglineDto> getAllTripLongline(); + DataReferenceSet<TripLonglineDto> getAllTripLongline(); @ReadDataPermission - ReferenceSetDto<TripLonglineDto> getTripLonglineByProgram(String programId); + DataReferenceSet<TripLonglineDto> getTripLonglineByProgram(String programId); @ReadDataPermission int getTripLonglinePositionInProgram(String programId, String tripLonglineId); @@ -55,19 +55,19 @@ public interface TripLonglineService extends ObserveService { TripMapDto getTripLonglineMap(String tripLonglineId); @ReadDataPermission - FormDto<TripLonglineDto> loadForm(String tripLonglineId); + Form<TripLonglineDto> loadForm(String tripLonglineId); @ReadDataPermission TripLonglineDto loadDto(String tripLonglineId); @ReadDataPermission - ReferenceDto<TripLonglineDto> loadReferenceToRead(String tripLonglineId); + DataReference<TripLonglineDto> loadReferenceToRead(String tripLonglineId); @ReadDataPermission boolean exists(String tripLonglineId); @WriteDataPermission - FormDto<TripLonglineDto> preCreate(String programId); + Form<TripLonglineDto> preCreate(String programId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java index b053d46..4104b85 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ActivitySeineObservedSystemService extends ObserveService { @ReadDataPermission - FormDto<ActivitySeineObservedSystemDto> loadForm(String activitySeineId); + Form<ActivitySeineObservedSystemDto> loadForm(String activitySeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java index c6414b2..cbe696f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineService.java @@ -23,9 +23,9 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.spi.DeleteRequest; @@ -42,25 +42,25 @@ import java.util.List; public interface ActivitySeineService extends ObserveService { @ReadDataPermission - ReferenceSetDto<ActivitySeineDto> getActivitySeineByRoute(String routeId); + DataReferenceSet<ActivitySeineDto> getActivitySeineByRoute(String routeId); @ReadDataPermission int getActivitySeinePositionInRoute(String routeId, String activitySeineId); @ReadDataPermission - FormDto<ActivitySeineDto> loadForm(String activitySeineId); + Form<ActivitySeineDto> loadForm(String activitySeineId); @ReadDataPermission ActivitySeineDto loadDto(String activitySeineId); @ReadDataPermission - ReferenceDto<ActivitySeineDto> loadReferenceToRead(String activitySeineId); + DataReference<ActivitySeineDto> loadReferenceToRead(String activitySeineId); @ReadDataPermission boolean exists(String activitySeineId); @WriteDataPermission - FormDto<ActivitySeineDto> preCreate(String routeId); + Form<ActivitySeineDto> preCreate(String routeId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java index 4b105b6..cdb6479 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java @@ -23,9 +23,9 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; @@ -39,22 +39,22 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface FloatingObjectService extends ObserveService { @ReadDataPermission - ReferenceSetDto<FloatingObjectDto> getFloatingObjectByActivitySeine(String activitySeineId); + DataReferenceSet<FloatingObjectDto> getFloatingObjectByActivitySeine(String activitySeineId); @ReadDataPermission - FormDto<FloatingObjectDto> loadForm(String floatingObjectId); + Form<FloatingObjectDto> loadForm(String floatingObjectId); @ReadDataPermission FloatingObjectDto loadDto(String floatingObjectId); @ReadDataPermission - ReferenceDto<FloatingObjectDto> loadReferenceToRead(String floatingObjectId); + DataReference<FloatingObjectDto> loadReferenceToRead(String floatingObjectId); @ReadDataPermission boolean exists(String floatingObjectId); @WriteDataPermission - FormDto<FloatingObjectDto> preCreate(String activitySeineId); + Form<FloatingObjectDto> preCreate(String activitySeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchService.java index 54fd2e7..df1b67b 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface NonTargetCatchService extends ObserveService { @ReadDataPermission - FormDto<SetSeineNonTargetCatchDto> loadForm(String setSeineId, String tripSeineId); + Form<SetSeineNonTargetCatchDto> loadForm(String setSeineId, String tripSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java index 906e25b..754d06f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -39,7 +39,7 @@ public interface NonTargetSampleService extends ObserveService { boolean canUseNonTargetSample(String setSeineId); @ReadDataPermission - FormDto<NonTargetSampleDto> loadForm(String setSeineId); + Form<NonTargetSampleDto> loadForm(String setSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java index 6ecd5ad..3196fb6 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -36,7 +36,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ObjectObservedSpeciesService extends ObserveService { @ReadDataPermission - FormDto<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId); + Form<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java index dcc0d1c..b887381 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -36,7 +36,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface ObjectSchoolEstimateService extends ObserveService { @ReadDataPermission - FormDto<FloatingObjectSchoolEstimateDto> loadForm(String floatingObjectId); + Form<FloatingObjectSchoolEstimateDto> loadForm(String floatingObjectId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java index 107dc9f..a8ee0c6 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/RouteService.java @@ -23,9 +23,9 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.spi.DeleteRequest; @@ -42,25 +42,25 @@ import java.util.List; public interface RouteService extends ObserveService { @ReadDataPermission - ReferenceSetDto<RouteDto> getRouteByTripSeine(String tripSeineId); + DataReferenceSet<RouteDto> getRouteByTripSeine(String tripSeineId); @ReadDataPermission int getRoutePositionInTripSeine(String tripSeineId, String routeId); @ReadDataPermission - FormDto<RouteDto> loadForm(String routeId); + Form<RouteDto> loadForm(String routeId); @ReadDataPermission RouteDto loadDto(String routeId); @ReadDataPermission - ReferenceDto<RouteDto> loadReferenceToRead(String routeId); + DataReference<RouteDto> loadReferenceToRead(String routeId); @ReadDataPermission boolean exists(String routeId); @WriteDataPermission - FormDto<RouteDto> preCreate(String tripSeineId); + Form<RouteDto> preCreate(String tripSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java index f403330..41e5c50 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -36,7 +36,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SchoolEstimateService extends ObserveService { @ReadDataPermission - FormDto<SetSeineSchoolEstimateDto> loadForm(String setSeineId, String tripSeineId); + Form<SetSeineSchoolEstimateDto> loadForm(String setSeineId, String tripSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java index a4b2a74..d8439aa 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java @@ -23,8 +23,8 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; @@ -38,19 +38,19 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface SetSeineService extends ObserveService { @ReadDataPermission - FormDto<SetSeineDto> loadForm(String setSeineId); + Form<SetSeineDto> loadForm(String setSeineId); @ReadDataPermission SetSeineDto loadDto(String setSeineId); @ReadDataPermission - ReferenceDto<SetSeineDto> loadReferenceToRead(String setSeineId); + DataReference<SetSeineDto> loadReferenceToRead(String setSeineId); @ReadDataPermission boolean exists(String setSeineId); @WriteDataPermission - FormDto<SetSeineDto> preCreate(String routeId, String activitySeineId); + Form<SetSeineDto> preCreate(String routeId, String activitySeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetCatchService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetCatchService.java index e67d627..be5bdb1 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetCatchService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetCatchService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TargetCatchService extends ObserveService { @ReadDataPermission - FormDto<SetSeineTargetCatchDto> loadForm(String setSeineId, boolean discarded, String tripSeineId); + Form<SetSeineTargetCatchDto> loadForm(String setSeineId, boolean discarded, String tripSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java index 6a2a237..ed7a031 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TargetSampleService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.spi.PostRequest; @@ -40,7 +40,7 @@ public interface TargetSampleService extends ObserveService { boolean canUseTargetSample(String setSeineId, boolean discarded); @ReadDataPermission - FormDto<TargetSampleDto> loadForm(String setSeineId, boolean discarded); + Form<TargetSampleDto> loadForm(String setSeineId, boolean discarded); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java index b74cefd..a394c82 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -36,7 +36,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TransmittingBuoyOperationService extends ObserveService { @ReadDataPermission - FormDto<FloatingObjectTransmittingBuoyDto> loadForm(String floatingObjectId); + Form<FloatingObjectTransmittingBuoyDto> loadForm(String floatingObjectId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseService.java index 3f6a426..a9618cd 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseService.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; import fr.ird.observe.services.spi.PostRequest; @@ -37,7 +37,7 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface TripSeineGearUseService extends ObserveService { @ReadDataPermission - FormDto<TripSeineGearUseDto> loadForm(String tripSeineId); + Form<TripSeineGearUseDto> loadForm(String tripSeineId); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java index c03dc60..54f899c 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TripSeineService.java @@ -23,9 +23,9 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -43,10 +43,10 @@ import java.util.List; public interface TripSeineService extends ObserveService { @ReadDataPermission - ReferenceSetDto<TripSeineDto> getAllTripSeine(); + DataReferenceSet<TripSeineDto> getAllTripSeine(); @ReadDataPermission - ReferenceSetDto<TripSeineDto> getTripSeineByProgram(String programId); + DataReferenceSet<TripSeineDto> getTripSeineByProgram(String programId); @ReadDataPermission int getTripSeinePositionInProgram(String programId, String tripSeineId); @@ -55,19 +55,19 @@ public interface TripSeineService extends ObserveService { TripMapDto getTripSeineMap(String tripSeineId); @ReadDataPermission - FormDto<TripSeineDto> loadForm(String tripSeineId); + Form<TripSeineDto> loadForm(String tripSeineId); @ReadDataPermission TripSeineDto loadDto(String tripSeineId); @ReadDataPermission - ReferenceDto<TripSeineDto> loadReferenceToRead(String tripSeineId); + DataReference<TripSeineDto> loadReferenceToRead(String tripSeineId); @ReadDataPermission boolean exists(String tripSeineId); @WriteDataPermission - FormDto<TripSeineDto> preCreate(String programId); + Form<TripSeineDto> preCreate(String programId); @Write @WriteDataPermission diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReference.java new file mode 100644 index 0000000..7992da5 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReference.java @@ -0,0 +1,163 @@ +package fr.ird.observe.services.dto; + +import com.google.common.base.Function; +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** + * Created on 21/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class AbstractReference<D extends IdDto> implements ObserveDto, Serializable { + + public static final String PROPERTY_ID = "id"; + + public static final String PROPERTY_TYPE = "type"; + + public static final String PROPERTY_CREATE_DATE = "createDate"; + + public static final String PROPERTY_VERSION = "version"; + + public static final String PROPERTY_LABEL_PROPERTY_NAMES = "labelPropertyNames"; + + public static final String PROPERTY_LABEL_PROPERTY_VALUES = "labelPropertyValues"; + + protected static final Function<AbstractReference, String> ID_FUNCTION = newIdFunction(); + + private static final long serialVersionUID = 1L; + + /** Logger. */ + private static final Log log = LogFactory.getLog(AbstractReference.class); + + protected Class<D> type; + + protected String id; + + protected Date createDate; + + protected long version; + + protected List<String> labelPropertyNames; + + protected Serializable[] labelPropertyValues; + + public static <BeanType extends AbstractReference> Predicate<BeanType> newIdPredicate(String id) { + final String $tmp = id; + return new Predicate<BeanType>() { + + @Override + public boolean apply(BeanType input) { + return Objects.equals($tmp, input.getId()); + } + }; + + } + + public static <BeanType extends AbstractReference> Predicate<BeanType> newIdsPredicate(final Collection<String> ids) { + return new Predicate<BeanType>() { + + @Override + public boolean apply(BeanType input) { + return ids.contains(input.getId()); + } + }; + } + + public static Function<AbstractReference, String> getIdFunction() { + return ID_FUNCTION; + } + + public static <BeanType extends AbstractReference> Function<BeanType, String> newIdFunction() { + return new Function<BeanType, String>() { + + @Override + public String apply(BeanType input) { + return input.getId(); + } + }; + + } + + public static <BeanType extends AbstractReference> Map<String, BeanType> splitById(Collection<BeanType> dtos) { + return Maps.uniqueIndex(dtos, ID_FUNCTION); + } + + public static <BeanType extends AbstractReference> Iterable<BeanType> filterById(Iterable<BeanType> source, String id) { + return Iterables.filter(source, newIdPredicate(id)); + } + + public static <BeanType extends AbstractReference> BeanType find(Iterable<BeanType> source, String id) { + return Iterables.find(source, newIdPredicate(id)); + } + + public void init(Class<D> type, String[] labelPropertyNames, Serializable... labelPropertyValues) { + this.type = type; + this.labelPropertyNames = Arrays.asList(labelPropertyNames); + this.labelPropertyValues = labelPropertyValues; + } + + public Class<D> getType() { + return type; + } + + public void setType(Class<D> type) { + this.type = type; + } + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public Date getCreateDate() { + return createDate; + } + + public void setCreateDate(Date createDate) { + this.createDate = createDate; + } + + public long getVersion() { + return version; + } + + public void setVersion(long version) { + this.version = version; + } + + public Serializable getPropertyValue(String propertyName) { + int propertyIndex = getPropertyIndex(propertyName); + return labelPropertyValues[propertyIndex]; + } + + public Serializable[] getLabelPropertyValues() { + return labelPropertyValues; + } + + public List<String> getPropertyNames() { + return labelPropertyNames; + } + + protected int getPropertyIndex(String propertyName) { + int index = labelPropertyNames.indexOf(propertyName); + if (index == -1) { + throw new ReferenceValueNotFoundException(type, propertyName); + } + return index; + } +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java new file mode 100644 index 0000000..451626a --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/AbstractReferenceSet.java @@ -0,0 +1,68 @@ +package fr.ird.observe.services.dto; + +/* + * #%L + * ObServe :: Services model + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; + +import java.io.Serializable; + +public abstract class AbstractReferenceSet<D extends IdDto, R extends AbstractReference<D>> implements ObserveDto, Serializable { + + public static final String PROPERTY_TYPE = "type"; + + public static final String PROPERTY_REFERENCES = "references"; + + private static final long serialVersionUID = 1L; + + protected final Class<D> type; + + protected final ImmutableSet<R> references; + + protected AbstractReferenceSet(Class<D> type, ImmutableSet<R> references) { + this.type = type; + this.references = references; + } + + public Class<D> getType() { + return type; + } + + public R getReferenceById(String id) { + R referenceDto = Iterables.find(references, AbstractReference.newIdPredicate(id)); + return referenceDto; + } + + public R getReferenceByPosition(int index) { + return Iterables.get(references, index); + } + + public int sizeReference() { + return references.size(); + } + + public ImmutableSet<R> getReferences() { + return references; + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReference.java new file mode 100644 index 0000000..e4e7554 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReference.java @@ -0,0 +1,71 @@ +package fr.ird.observe.services.dto; + +import com.google.common.base.MoreObjects; +import com.google.common.base.Predicate; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.io.Serializable; +import java.util.Arrays; + +/** + * Created on 21/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataReference<D extends DataDto> extends AbstractReference<D> { + + private static final long serialVersionUID = 1L; + + /** Logger. */ + private static final Log log = LogFactory.getLog(DataReference.class); + + public static Predicate<? super DataReference> newLabelValuePredicate(final String propertyName, final Serializable propertyValue) { + return new Predicate<DataReference>() { + + @Override + public boolean apply(DataReference input) { + return input.getPropertyNames().contains(propertyName) + && propertyValue.equals(input.getPropertyValue(propertyName)); + } + }; + } + + public static Predicate<DataReference> newTripSeinePredicate() { + return new Predicate<DataReference>() { + + @Override + public boolean apply(DataReference input) { + return IdDtos.isTripSeineId(input.getId()); + } + }; + } + + public static <BeanType extends IdDto> Predicate<BeanType> newTripLonglinePredicate() { + return new Predicate<BeanType>() { + + @Override + public boolean apply(BeanType input) { + return IdDtos.isTripLonglineId(input.getId()); + } + }; + } + + @Override + public String toString() { + MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) + .add(PROPERTY_TYPE, type.getSimpleName()) + .add(PROPERTY_ID, id); + + if (log.isDebugEnabled()) { + toStringHelper + .add(PROPERTY_CREATE_DATE, createDate) + .add(PROPERTY_VERSION, version) + .add(PROPERTY_LABEL_PROPERTY_VALUES, labelPropertyNames); + } + return toStringHelper + .add(PROPERTY_LABEL_PROPERTY_VALUES, Arrays.toString(labelPropertyValues)) + .toString(); + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetNotFoundException.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java similarity index 54% rename from observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetNotFoundException.java rename to observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java index 328c614..96b7049 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetNotFoundException.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataReferenceSet.java @@ -22,41 +22,30 @@ package fr.ird.observe.services.dto; * #L% */ -/** - * Created on 26/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferenceSetNotFoundException extends RuntimeException { - - private static final long serialVersionUID = 1L; +import com.google.common.base.MoreObjects; +import com.google.common.collect.ImmutableSet; - protected final Class<?> dtoType; +public class DataReferenceSet<R extends DataDto> extends AbstractReferenceSet<R, DataReference<R>> { - protected final String name; + private static final long serialVersionUID = 1L; - protected final FormDto formDto; + public static <R extends DataDto> DataReferenceSet<R> of(Class<R> type, + ImmutableSet<DataReference<R>> references) { - public ReferenceSetNotFoundException(FormDto formDto, Class<?> dtoType, String name) { - this.dtoType = dtoType; - this.formDto = formDto; - this.name = name; - } + DataReferenceSet<R> referenceSet = new DataReferenceSet<>(type, references); + return referenceSet; - public Class<?> getDtoType() { - return dtoType; } - public FormDto getFormDto() { - return formDto; + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add(PROPERTY_TYPE, type.getSimpleName()) + .toString(); } - public String getName() { - return name; + protected DataReferenceSet(Class<R> type, ImmutableSet<DataReference<R>> references) { + super(type, references); } - @Override - public String getMessage() { - return String.format("Could not find referenceSet %s (type: %s)", name, dtoType.getSimpleName()); - } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/Form.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/Form.java new file mode 100644 index 0000000..0048d76 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/Form.java @@ -0,0 +1,95 @@ +package fr.ird.observe.services.dto; + +/* + * #%L + * ObServe :: Services model + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.MoreObjects; + +import java.io.Serializable; + +public class Form<R extends IdDto> implements ObserveDto, Serializable { + + public static final String PROPERTY_TYPE = "type"; + + public static final String PROPERTY_OBJECT = "object"; + + public static final String PROPERTY_REFERENTIAL_REFERENCE_SETS_REQUEST_NAME = "referentialReferenceSetsRequestName"; + + public static final String PROPERTY_DATA_REFERENCE_SETS_REQUEST_NAME = "dataReferenceSetsRequestName"; + + private static final long serialVersionUID = 1L; + + protected final Class<R> type; + + protected final R object; + + /** + * Le nom de la requète à utiliser pour récupérer les ensembles de référentiels utilisés par ce formulaire. + */ + protected final String referentialReferenceSetsRequestName; + + /** + * Le nom de la requète à utiliser pour récupérer les ensembles de données utilisés par ce formulaire. + */ + protected final String dataReferenceSetsRequestName; + + public static <R extends IdDto> Form<R> newFormDto(Class<R> type, + R object, + String referentialReferenceSetsRequestName, + String dataReferenceSetsRequestName) { + Form<R> result = new Form<>(type, object, referentialReferenceSetsRequestName, dataReferenceSetsRequestName); + return result; + } + + protected Form(Class<R> type, R object, String referentialReferenceSetsRequestName, String dataReferenceSetsRequestName) { + this.type = type; + this.object = object; + this.referentialReferenceSetsRequestName = referentialReferenceSetsRequestName; + this.dataReferenceSetsRequestName = dataReferenceSetsRequestName; + } + + public R getObject() { + return object; + } + + public Class<R> getType() { + return type; + } + + public String getReferentialReferenceSetsRequestName() { + return referentialReferenceSetsRequestName; + } + + public String getDataReferenceSetsRequestName() { + return dataReferenceSetsRequestName; + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add(PROPERTY_TYPE, type.getName()) + .add(PROPERTY_REFERENTIAL_REFERENCE_SETS_REQUEST_NAME, referentialReferenceSetsRequestName) + .add(PROPERTY_DATA_REFERENCE_SETS_REQUEST_NAME, dataReferenceSetsRequestName) + .toString(); + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java deleted file mode 100644 index 1bd49ae..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDto.java +++ /dev/null @@ -1,171 +0,0 @@ -package fr.ird.observe.services.dto; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.MoreObjects; -import com.google.common.base.Optional; -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; - -public class FormDto<R extends IdDto> extends AbstractFormDto { - - private static final long serialVersionUID = 1L; - - public static final String PROPERTY_TYPE = "type"; - - public static final String PROPERTY_FORM = "form"; - - public static final String PROPERTY_REFERENTIAL_REFERENCE_SET_REQUEST_NAME = "referentialReferenceSetRequestName"; - - public static final String PROPERTY_DATA_REFERENCE_SET_REQUEST_NAME = "dataReferenceSetRequestName"; - - protected final Class<R> type; - - protected R form; - - /** - * Le nom de la requète à utiliser pour récupérer les ensembles de référentiels utilisés par ce formulaire. - */ - protected String referentialReferenceSetRequestName; - - /** - * Le nom de la requète à utiliser pour récupérer les ensembles de données utilisés par ce formulaire. - */ - protected String dataReferenceSetRequestName; - - public FormDto(Class<R> type) { - this.type = type; - } - - public void setForm(R form) { - this.form = form; - } - - public R getForm() { - return form; - } - - public Class<R> getType() { - return type; - } - - public String getReferentialReferenceSetRequestName() { - return referentialReferenceSetRequestName; - } - - public void setReferentialReferenceSetRequestName(String referentialReferenceSetRequestName) { - this.referentialReferenceSetRequestName = referentialReferenceSetRequestName; - } - - public String getDataReferenceSetRequestName() { - return dataReferenceSetRequestName; - } - - public void setDataReferenceSetRequestName(String dataReferenceSetRequestName) { - this.dataReferenceSetRequestName = dataReferenceSetRequestName; - } - - //FIXME Supprimer cette méthode et toujours utiliser celle dessous car un ReferenceSetDto porte aussi sur le nom - //FIXME éviter d'avoir des API non déterministes - @Deprecated - public <D extends IdDto> ReferenceSetDto<D> getReferenceSetDto(Class<D> type) { - - return getReferenceSetDto(type, null); - - } - - public <D extends IdDto> ReferenceSetDto<D> getReferenceSetDto(Class<D> type, String name) { - - Optional<ReferenceSetDto<D>> referenceSetDto = tryToGetReferenceSetDto(type, name); - - if (!referenceSetDto.isPresent()) { - throw new ReferenceSetNotFoundException(this, type, name); - } - - return referenceSetDto.get(); - - } - - public <D extends IdDto> Optional<ReferenceSetDto<D>> tryToGetReferenceSetDto(Class<D> type, String name) { - - Predicate<ReferenceSetDto<D>> predicate = ReferenceSetDtos.newTypeNamePredicate(type, name); - Optional<ReferenceSetDto<D>> referenceSetDto = Iterables.tryFind(getLabels(), (Predicate) predicate); - - if (!referenceSetDto.isPresent()) { - //FIXME Supprimer cela, tout referenceSet doit être nommé - predicate = ReferenceSetDtos.newTypeNamePredicate(type, null); - referenceSetDto = Iterables.tryFind(getLabels(), (Predicate) predicate); - } - - return referenceSetDto; - - } - - //FIXME Supprimer cette méthode et toujours utiliser celle dessous car un ReferenceSetDto porte aussi sur le nom - //FIXME éviter d'avoir des API non déterministes - @Deprecated - public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String id) { - - ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type); - ReferenceDto<D> referenceDto = referenceSetDto.getById(id); - return referenceDto; - - } - - public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String name, String id) { - - ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type, name); - ReferenceDto<D> referenceDto = referenceSetDto.getById(id); - return referenceDto; - - } - - //FIXME Supprimer cette méthode et toujours utiliser celle dessous car un ReferenceSetDto porte aussi sur le nom - //FIXME éviter d'avoir des API non déterministes - @Deprecated - public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String id) { - - return getReferentialReferenceById(type, null, id); - - } - - public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String name, String id) { - - ReferenceSetDto<D> referenceSetDto = getReferenceSetDto(type, name); - ReferentialReferenceDto<D> referenceDto = (ReferentialReferenceDto<D>) referenceSetDto.getById(id); - return referenceDto; - - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("type", type.getName()) - .add("referentialReferenceSetRequestName", referentialReferenceSetRequestName) - .add("dataReferenceSetRequestName", dataReferenceSetRequestName) - .toString(); - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDtos.java deleted file mode 100644 index 8ac4ed4..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FormDtos.java +++ /dev/null @@ -1,44 +0,0 @@ -package fr.ird.observe.services.dto; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -/** - * Created on 17/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class FormDtos extends AbstractFormDtos { - - public static <R extends IdDto> FormDto<R> newFormDto(Class<R> source, - R form, - String referentialRequestDefinitionName, - String dataRequestDefinitionName) { - FormDto<R> result = new FormDto<>(source); - result.setForm(form); - result.setReferentialReferenceSetRequestName(referentialRequestDefinitionName); - result.setDataReferenceSetRequestName(dataRequestDefinitionName); - return result; - } - - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java index c53d3e4..6ae9d56 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDtos.java @@ -46,7 +46,7 @@ public class IdDtos extends AbstractIdDtos { @Override public boolean apply(BeanType input) { - return isTripSeine(input) ; + return isTripSeineId(input.getId()) ; } }; } @@ -56,7 +56,7 @@ public class IdDtos extends AbstractIdDtos { @Override public boolean apply(BeanType input) { - return isTripLongline(input) ; + return isTripLonglineId(input.getId()) ; } }; } @@ -74,32 +74,36 @@ public class IdDtos extends AbstractIdDtos { } public static boolean isTrip(IdDto dto) { - return isTripSeine(dto) || isTripLongline(dto); + return isTripSeineId(dto.getId()) || isTripLonglineId(dto.getId()); + } + + public static boolean isTrip(AbstractReference dto) { + return isTripSeineId(dto.getId()) || isTripLonglineId(dto.getId()); } public static boolean isTripClass(Class<?> dtoClass) { return TripSeineDto.class.equals(dtoClass) || TripLonglineDto.class.equals(dtoClass); } - public static boolean isTripLongline(IdDto dto) { - return isTripLonglineId(dto.getId()); - } +// public static boolean isTripLongline(IdDto dto) { +// return isTripLonglineId(dto.getId()); +// } public static boolean isTripLonglineId(String id) { return id.contains("TripLongline"); } - public static boolean isTripSeine(IdDto dto) { - return isTripSeineId(dto.getId()); - } +// public static boolean isTripSeine(IdDto dto) { +// return isTripSeineId(dto.getId()); +// } public static boolean isTripSeineId(String id) { return id.contains("TripSeine"); } - public static boolean isRoute(IdDto dto) { - return isRouteId(dto.getId()); - } +// public static boolean isRoute(IdDto dto) { +// return isRouteId(dto.getId()); +// } public static boolean isRouteId(String id) { return id.contains("Route"); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java deleted file mode 100644 index 06b9a3e..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDto.java +++ /dev/null @@ -1,181 +0,0 @@ -package fr.ird.observe.services.dto; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; -import com.google.common.collect.Lists; -import com.google.common.primitives.Primitives; -import fr.ird.observe.services.dto.longline.ActivityLonglineDto; -import fr.ird.observe.services.dto.longline.SetLonglineDto; -import fr.ird.observe.services.dto.referential.I18nReferentialDto; -import fr.ird.observe.services.dto.seine.ActivitySeineDto; -import fr.ird.observe.services.dto.seine.SetSeineDto; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.util.beans.Binder; -import org.nuiton.util.beans.BinderFactory; - -import java.io.Serializable; -import java.util.Arrays; -import java.util.List; - -public class ReferenceDto<D extends IdDto> extends AbstractReferenceDto { - - public static final String PROPERTY_TYPE = "type"; - - public static final String PROPERTY_LABEL_PROPERTY_NAMES = "labelPropertyNames"; - - public static final String PROPERTY_LABEL_PROPERTY_VALUES = "labelPropertyValues"; - - public static final String PROPERTY_LABEL_PROPERTY_TYPES = "labelPropertyTypes"; - - private static final long serialVersionUID = 1L; - - /** Logger. */ - private static final Log log = LogFactory.getLog(ReferenceDto.class); - - protected Class<D> type; - - protected List<String> labelPropertyNames; - - protected Serializable[] labelPropertyValues; - - protected Class[] labelPropertyTypes; - - public Class<D> getType() { - return type; - } - - public void init(Class<D> type, Iterable<String> labelPropertyNames) { - init(type, false, labelPropertyNames); - } - - public void init(Class<D> type, String[] labelPropertyNames, Class[] labelPropertyTypes, Serializable... labelPropertyValues) { - this.type = type; - this.labelPropertyNames = Arrays.asList(labelPropertyNames); - this.labelPropertyValues = labelPropertyValues; - this.labelPropertyTypes = labelPropertyTypes; - } - - public void init(Class<D> type, boolean convertToReference, Iterable<String> labelPropertyNames) { - this.type = type; - this.labelPropertyNames = Lists.newArrayList(labelPropertyNames); - this.labelPropertyValues = new Serializable[this.labelPropertyNames.size()]; - this.labelPropertyTypes = new Class[this.labelPropertyNames.size()]; - Binder<D, D> ddBinder = BinderFactory.newBinder(type); - int index = 0; - for (String labelPropertyName : labelPropertyNames) { - Class<?> sourcePropertyType; - if (I18nReferentialDto.PROPERTY_LABEL.equals(labelPropertyName)) { - sourcePropertyType = String.class; - } else if (ActivityLonglineDto.PROPERTY_SET_LONGLINE.equals(labelPropertyName) && type.equals(ActivityLonglineDto.class)) { - sourcePropertyType = SetLonglineDto.class; - if (convertToReference) { - sourcePropertyType = ReferenceDto.class; - } - } else if (ActivitySeineDto.PROPERTY_SET_SEINE.equals(labelPropertyName) && type.equals(ActivitySeineDto.class)) { - sourcePropertyType = SetSeineDto.class; - if (convertToReference) { - sourcePropertyType = ReferenceDto.class; - } - } else { - sourcePropertyType = ddBinder.getSourcePropertyType(labelPropertyName); - } - if (sourcePropertyType.isPrimitive()) { - this.labelPropertyTypes[index++] = Primitives.wrap(sourcePropertyType); - } else { - this.labelPropertyTypes[index++] = sourcePropertyType; - } - } - - } - - public Serializable getPropertyValue(String propertyName) { - int propertyIndex = getPropertyIndex(propertyName); - return labelPropertyValues[propertyIndex]; - } - - public List<String> getPropertyNames() { - return labelPropertyNames; - } - - public void setPropertyValue(String propertyName, Serializable propertyValue) { - Preconditions.checkNotNull(propertyName, "propertyName parameter can't be null"); - int propertyIndex = getPropertyIndex(propertyName); - labelPropertyValues[propertyIndex] = propertyValue; - } - - public void addPropertyValue(String propertyName, Serializable propertyValue) { - Preconditions.checkNotNull(propertyName, "propertyName parameter can't be null"); - int propertyIndex = labelPropertyNames.indexOf(propertyName); - if (propertyIndex == -1) { - labelPropertyNames.add(propertyName); - - List<Serializable> labelPropertyValuesList = Lists.newArrayList(labelPropertyValues); - List<Class> labelPropertyTypesList = Lists.newArrayList(labelPropertyTypes); - - labelPropertyValuesList.add(propertyValue); - labelPropertyTypesList.add(propertyValue.getClass()); - - labelPropertyValues = labelPropertyValuesList.toArray(labelPropertyValues); - labelPropertyTypes = labelPropertyTypesList.toArray(labelPropertyTypes); - - } else { - labelPropertyValues[propertyIndex] = propertyValue; - } - - } - - protected int getPropertyIndex(String propertyName) { - int index = labelPropertyNames.indexOf(propertyName); - if (index == -1) { - throw new ReferenceValueNotFoundException(type, propertyName); - } - return index; - } - - public Serializable[] getLabelPropertyValues() { - return labelPropertyValues; - } - - public Class[] getLabelPropertyTypes() { - return labelPropertyTypes; - } - - @Override - public String toString() { - MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) - .add("type", type.getSimpleName()) - .add("id", id); - - if (log.isDebugEnabled()) { - toStringHelper - .add("labelPropertyNames", labelPropertyNames) - .add("labelPropertyTypes", Arrays.toString(labelPropertyTypes)); - } - return toStringHelper - .add("labelPropertyValues", Arrays.toString(labelPropertyValues)) - .toString(); - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDtos.java deleted file mode 100644 index e43bd09..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceDtos.java +++ /dev/null @@ -1,128 +0,0 @@ -package fr.ird.observe.services.dto; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Function; -import com.google.common.base.Preconditions; -import com.google.common.base.Predicate; -import com.google.common.collect.Collections2; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.util.beans.BeanUtil; - -import java.beans.PropertyDescriptor; -import java.io.Serializable; -import java.lang.reflect.InvocationTargetException; -import java.util.Collection; -import java.util.Set; - -public class ReferenceDtos extends AbstractReferenceDtos { - - /** - * Logger. - */ - private static final Log log = LogFactory.getLog(ReferenceDtos.class); - - public static <R extends IdDto> ReferenceDto<R> newReferenceDto(Class<R> type, Iterable<String> propertyNames) { - return newReferenceDto(type, false, propertyNames); - } - - public static <R extends IdDto> ReferenceDto<R> newReferenceDto(Class<R> type, boolean convertToReference, Iterable<String> propertyNames) { - ReferenceDto<R> dto = new ReferenceDto<>(); - dto.init(type, convertToReference, propertyNames); - return dto; - } - - public static <R extends IdDto> ReferenceDto<R> newReferenceDto(R bean, final Collection<String> propertyNames) { - Preconditions.checkNotNull(bean); - - ReferenceDto<R> reference = (ReferenceDto<R>) newReferenceDto(bean.getClass(), propertyNames); - reference.setId(bean.getId()); - - Set<PropertyDescriptor> descriptors = BeanUtil.getDescriptors(bean.getClass(), - new Predicate<PropertyDescriptor>() { - @Override - public boolean apply(PropertyDescriptor input) { - return propertyNames.contains(input.getName()); - } - }); - - for (PropertyDescriptor descriptor : descriptors) { - - try { - Object o = descriptor.getReadMethod().invoke(bean); - if (o != null) { - reference.setPropertyValue(descriptor.getName(), (Serializable) o); - } - - } catch (IllegalAccessException | InvocationTargetException e) { - if (log.isErrorEnabled()) { - log.error("Error while retrieving the property value for " + descriptor.getName() + " of " + bean, e); - } - } - } - - return reference; - } - - public static Predicate<ReferenceDto> newContainsIdPredicate(final Collection<String> ids) { - return new Predicate<ReferenceDto>() { - - @Override - public boolean apply(ReferenceDto input) { - String id = (String) input.getPropertyValue(IdDto.PROPERTY_ID); - return ids.contains(id); - } - }; - } - - public static Function<ReferenceDto, String> newReferenceDtoIdFunction() { - return new Function<ReferenceDto, String>() { - @Override - public String apply(ReferenceDto input) { - String id = (String) input.getPropertyValue(IdDto.PROPERTY_ID); - return id; - } - }; - } - - public static <R extends ReferenceDto<D>, D extends IdDto> Collection<ReferenceDto<D>> - castToCollectionOfReferenceDto(Collection<R> coll) { - return Collections2.transform(coll, new Function<R, ReferenceDto<D>>() { - @Override - public ReferenceDto<D> apply(R input) { - return input; - } - }); - } - - public static Predicate<? super ReferenceDto> newLabelValuePredicate(final String propertyName, final Serializable propertyValue) { - return new Predicate<ReferenceDto>() { - @Override - public boolean apply(ReferenceDto input) { - return input.getPropertyNames().contains(propertyName) - && propertyValue.equals(input.getPropertyValue(propertyName)); - } - }; - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java deleted file mode 100644 index 7a03b5b..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDto.java +++ /dev/null @@ -1,126 +0,0 @@ -package fr.ird.observe.services.dto; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.MoreObjects; -import com.google.common.collect.Iterables; - -import java.util.Collection; -import java.util.LinkedHashSet; - -public class ReferenceSetDto<R extends IdDto> extends AbstractReferenceSetDto { - - private static final long serialVersionUID = 1L; - - public static final String PROPERTY_TYPE = "type"; - - public static final String PROPERTY_REFERENCE = "reference"; - - protected final Class<R> type; - - protected LinkedHashSet<ReferenceDto<R>> reference; - - public ReferenceSetDto(Class<R> type) { - this.type = type; - } - - public Class<R> getType() { - return type; - } - - public ReferenceDto<R> getById(String id) { - ReferenceDto<R> referenceDto = Iterables.find(getReference(), IdDtos.newIdPredicate(id)); - return referenceDto; - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("type", type.getName()) - .add("name", name) - .add("lastUpdate", lastUpdate) - .toString(); - } - - public ReferenceDto<R> getReference(int index) { - ReferenceDto<R> o = getChild(reference, index); - return o; - } - - public boolean isReferenceEmpty() { - return reference == null || reference.isEmpty(); - } - - public int sizeReference() { - return reference == null ? 0 : reference.size(); - } - - public void addReference(ReferenceDto<R> reference) { - getReference().add(reference); - firePropertyChange(PROPERTY_REFERENCE, null, reference); - } - - public void addAllReference(Collection<ReferenceDto<R>> reference) { - getReference().addAll(reference); - firePropertyChange(PROPERTY_REFERENCE, null, reference); - } - - public boolean removeReference(ReferenceDto<R> reference) { - boolean removed = getReference().remove(reference); - if (removed) { - firePropertyChange(PROPERTY_REFERENCE, reference, null); - } - return removed; - } - - public boolean removeAllReference(Collection<ReferenceDto<R>> reference) { - boolean removed = getReference().removeAll(reference); - if (removed) { - firePropertyChange(PROPERTY_REFERENCE, reference, null); - } - return removed; - } - - public boolean containsReference(ReferenceDto<R> reference) { - boolean contains = getReference().contains(reference); - return contains; - } - - public boolean containsAllReference(Collection<ReferenceDto<R>> reference) { - boolean contains = getReference().containsAll(reference); - return contains; - } - - public LinkedHashSet<ReferenceDto<R>> getReference() { - if (reference == null) { - reference = new LinkedHashSet<>(); - } - return reference; - } - - public void setReference(LinkedHashSet<ReferenceDto<R>> reference) { - LinkedHashSet<ReferenceDto<R>> oldValue = getReference(); - this.reference = reference; - firePropertyChange(PROPERTY_REFERENCE, oldValue, reference); - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java deleted file mode 100644 index 5667457..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java +++ /dev/null @@ -1,86 +0,0 @@ -package fr.ird.observe.services.dto; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Function; -import com.google.common.base.Predicate; -import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; - -import java.util.Date; -import java.util.LinkedHashSet; -import java.util.Objects; -import java.util.Set; - -public class ReferenceSetDtos extends AbstractReferenceSetDtos { - - public static <D extends IdDto> ReferenceSetDto<D> newEmptyReferenceSetDto(Class<D> type, String name) { - ReferenceSetDto<D> dto = new ReferenceSetDto<>(type); - dto.setName(name); - dto.setReference(new LinkedHashSet<ReferenceDto<D>>()); - return dto; - } - - public static <D extends IdDto> ReferenceSetDto<D> newReferenceSetDto(Class<D> type, - LinkedHashSet<ReferenceDto<D>> labels, - Date lastUpdate) { - return newReferenceSetDto(type, null, labels, lastUpdate); - } - - public static <D extends IdDto> ReferenceSetDto<D> newReferenceSetDto(Class<D> type, - String name, - LinkedHashSet<ReferenceDto<D>> labels, - Date lastUpdate) { - ReferenceSetDto<D> dto = new ReferenceSetDto<>(type); - dto.setName(name); - dto.setReference(labels); - dto.setLastUpdate(lastUpdate); - return dto; - } - - public static <D extends IdDto> Predicate<ReferenceSetDto<D>> newTypeNamePredicate(final Class<D> type, final String name) { - return new Predicate<ReferenceSetDto<D>>() { - - @Override - public boolean apply(ReferenceSetDto<D> input) { - return Objects.equals(type, input.getType()) && Objects.equals(name, input.getName()); - } - }; - - } - - public static Set<Class<?>> getTypes(Iterable<ReferenceSetDto> referenceSets) { - - Set<Class<?>> types = Sets.newLinkedHashSet(Iterables.transform(referenceSets, new Function<ReferenceSetDto, Class<?>>() { - - @Override - public Class<?> apply(ReferenceSetDto input) { - return input.getType(); - } - })); - return types; - - } - - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/constants/ReferentialLocale.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/constants/ReferentialLocale.java index 60d3a24..303a73b 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/constants/ReferentialLocale.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/constants/ReferentialLocale.java @@ -23,6 +23,7 @@ package fr.ird.observe.services.dto.constants; import fr.ird.observe.services.dto.referential.I18nReferentialDto; +import fr.ird.observe.services.dto.referential.I18nReferentialDtos; import fr.ird.observe.services.dto.referential.ReferentialDto; import java.util.Locale; @@ -91,34 +92,41 @@ public enum ReferentialLocale { return "<ReferentialLocale: " + locale + ", index: " + name() + ">"; } - public <E extends I18nReferentialDto> void setLabel(String label, E i18nEntity) { + public <E extends I18nReferentialDto> void setLabel(String label, E i18nDto) { switch (ordinal() + 1) { case 1: - i18nEntity.setLabel1(label); + i18nDto.setLabel1(label); break; case 2: - i18nEntity.setLabel2(label); + i18nDto.setLabel2(label); break; case 3: - i18nEntity.setLabel3(label); + i18nDto.setLabel3(label); break; case 4: - i18nEntity.setLabel4(label); + i18nDto.setLabel4(label); break; case 5: - i18nEntity.setLabel5(label); + i18nDto.setLabel5(label); break; case 6: - i18nEntity.setLabel6(label); + i18nDto.setLabel6(label); break; case 7: - i18nEntity.setLabel7(label); + i18nDto.setLabel7(label); break; case 8: - i18nEntity.setLabel8(label); + i18nDto.setLabel8(label); break; } } + + public <E extends I18nReferentialDto> String getLabel(E i18nEntity) { + + String result = I18nReferentialDtos.decorate(ordinal(), i18nEntity); + return result; + + } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormDtoAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormDtoAdapter.java deleted file mode 100644 index d7cacc9..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/FormDtoAdapter.java +++ /dev/null @@ -1,34 +0,0 @@ -package fr.ird.observe.services.dto.gson; - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonDeserializer; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.FormDtos; -import fr.ird.observe.services.dto.IdDto; - -import java.lang.reflect.Type; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public class FormDtoAdapter implements JsonDeserializer<FormDto<?>> { - - @Override - public FormDto<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - JsonObject jsonObject = json.getAsJsonObject(); - - Class dtoType = context.deserialize(jsonObject.get(FormDto.PROPERTY_TYPE), Class.class); - String referentialRequestDefinitionName = context.deserialize(jsonObject.get(FormDto.PROPERTY_REFERENTIAL_REFERENCE_SET_REQUEST_NAME), String.class); - String dataRequestDefinitionName = context.deserialize(jsonObject.get(FormDto.PROPERTY_DATA_REFERENCE_SET_REQUEST_NAME), String.class); - - JsonElement jsonFrom = jsonObject.get(FormDto.PROPERTY_FORM); - IdDto form = context.deserialize(jsonFrom, dtoType); - - FormDto<?> formDto = FormDtos.newFormDto(dtoType, form, referentialRequestDefinitionName, dataRequestDefinitionName); - - return formDto; - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java index 7552723..413475a 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveDtoGsonSupplier.java @@ -28,11 +28,15 @@ import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.gson.Gson; import com.google.gson.GsonBuilder; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.actions.report.ReportVariable; -import fr.ird.observe.services.dto.reference.ObserveReferenceSet; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.gson.reference.DataReferenceAdapter; +import fr.ird.observe.services.dto.gson.reference.DataReferenceSetAdapter; +import fr.ird.observe.services.dto.gson.reference.ReferentialReferenceAdapter; +import fr.ird.observe.services.dto.gson.reference.ReferentialReferenceSetAdapter; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import org.nuiton.util.version.Version; import java.sql.Timestamp; @@ -52,10 +56,10 @@ public class ObserveDtoGsonSupplier implements Supplier<Gson> { } }; - protected GsonBuilder gsonBuilder; - protected final boolean prettyPrint; + protected GsonBuilder gsonBuilder; + protected Gson gson; public ObserveDtoGsonSupplier() { @@ -90,14 +94,17 @@ public class ObserveDtoGsonSupplier implements Supplier<Gson> { gsonBuilder.registerTypeAdapter(Timestamp.class, new DateAdapter()); gsonBuilder.registerTypeAdapter(java.sql.Date.class, new DateAdapter()); gsonBuilder.registerTypeAdapter(Class.class, new ClassAdapter()); -// gsonBuilder.registerTypeAdapter(IdDto.class, new IdDtoAdapter()); + gsonBuilder.registerTypeAdapter(ImmutableList.class, new ImmutableListAdapter()); gsonBuilder.registerTypeAdapter(ImmutableSet.class, new ImmutableSetAdapter()); gsonBuilder.registerTypeAdapter(ImmutableMap.class, new ImmutableMapAdapter()); - gsonBuilder.registerTypeAdapter(ReferenceDto.class, new ReferenceDtoAdapter()); - gsonBuilder.registerTypeAdapter(ObserveReferenceSet.class, new ObserveReferenceSetAdapter()); - gsonBuilder.registerTypeAdapter(ReferentialReferenceDto.class, new ReferentialReferenceDtoAdapter()); - gsonBuilder.registerTypeAdapter(FormDto.class, new FormDtoAdapter()); + + gsonBuilder.registerTypeAdapter(DataReference.class, new DataReferenceAdapter()); + gsonBuilder.registerTypeAdapter(ReferentialReference.class, new ReferentialReferenceAdapter()); + gsonBuilder.registerTypeAdapter(DataReferenceSet.class, new DataReferenceSetAdapter()); + gsonBuilder.registerTypeAdapter(ReferentialReferenceSet.class, new ReferentialReferenceSetAdapter()); + +// gsonBuilder.registerTypeAdapter(FormDto.class, new FormDtoAdapter()); gsonBuilder.registerTypeAdapter(ReportVariable.class, new ReportVariableAdapter()); gsonBuilder.registerTypeAdapter(Version.class, new VersionAdapter()); gsonBuilder.enableComplexMapKeySerialization(); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java deleted file mode 100644 index c37b255..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ObserveReferenceSetAdapter.java +++ /dev/null @@ -1,122 +0,0 @@ -package fr.ird.observe.services.dto.gson; - -import com.google.gson.JsonArray; -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonDeserializer; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.reference.ObserveReference; -import fr.ird.observe.services.dto.reference.ObserveReferenceSet; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinition; -import fr.ird.observe.services.dto.reference.ObserveReferentialReference; -import fr.ird.observe.services.dto.referential.ReferentialDto; - -import java.io.Serializable; -import java.lang.reflect.Type; -import java.util.Collection; -import java.util.Date; -import java.util.LinkedHashSet; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReferenceSetAdapter implements JsonDeserializer<ObserveReferenceSet> { - - @Override - public ObserveReferenceSet deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - - JsonObject jsonObject = json.getAsJsonObject(); - - ObserveReferenceSetDefinition definition = context.deserialize(jsonObject.get("definition"), ObserveReferenceSetDefinition.class); - - Class type = definition.getType(); - - Date lastUpdate = context.deserialize(jsonObject.get("lastUpdate"), Date.class); - - JsonArray jsonValues = jsonObject.get("values").getAsJsonArray(); - - Class[] propertyTypes = definition.getPropertyTypes(); - - ObserveReferenceSet referenceDto = new ObserveReferenceSet(); - referenceDto.setDefinition(definition); - referenceDto.setLastUpdate(lastUpdate); - - if (ReferentialDto.class.isAssignableFrom(type)) { - - Collection<ObserveReferentialReference> values = new LinkedHashSet<>(); - - for (JsonElement jsonValue : jsonValues) { - - ObserveReferentialReference ref = deserializeReferentialReference(context, jsonValue.getAsJsonObject(), propertyTypes); - values.add(ref); - } - - referenceDto.setValues(values); - - } else { - - Collection<ObserveReference> values = new LinkedHashSet<>(); - - for (JsonElement jsonValue : jsonValues) { - - ObserveReference ref = deserializeReference(context, jsonValue.getAsJsonObject(), propertyTypes); - values.add(ref); - } - - referenceDto.setValues(values); - } - - - return referenceDto; - - } - - private ObserveReferentialReference deserializeReferentialReference(JsonDeserializationContext context, JsonObject jsonObject, Class[] propertyTypes) { - - ObserveReferentialReference result = new ObserveReferentialReference(); - - deserialize0(context, jsonObject, propertyTypes, result); - - result.setVersion((long) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_VERSION), long.class)); - result.setCreateDate((Date) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_CREATE_DATE), Date.class)); - result.setLastUpdateDate((Date) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_LAST_UPDATE), Date.class)); - result.setEnabled((Boolean) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_ENABLED), boolean.class)); - result.setNeedComment((Boolean) context.deserialize(jsonObject.get(ReferentialDto.PROPERTY_NEED_COMMENT), boolean.class)); - - return result; - } - - private ObserveReference deserializeReference(JsonDeserializationContext context, JsonObject jsonObject, Class[] propertyTypes) { - - ObserveReference result = new ObserveReference(); - - deserialize0(context, jsonObject, propertyTypes, result); - - return result; - } - - private void deserialize0(JsonDeserializationContext context, JsonObject jsonObject, Class[] propertyTypes, ObserveReference result) { - - JsonArray valuesElement = jsonObject.get("values").getAsJsonArray(); - - result.setId((String) context.deserialize(jsonObject.get(IdDto.PROPERTY_ID), String.class)); - - Serializable[] values = new Serializable[propertyTypes.length]; - result.setValues(values); - - for (int i = 0, max = propertyTypes.length; i < max; i++) { - Class type = propertyTypes[i]; - JsonElement jsonValue = valuesElement.get(i); - if (jsonValue != null) { - Serializable value = context.deserialize(jsonValue, type); - values[i] = value; - } - } - - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferenceDtoAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferenceDtoAdapter.java deleted file mode 100644 index 8b9cf1e..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferenceDtoAdapter.java +++ /dev/null @@ -1,133 +0,0 @@ -package fr.ird.observe.services.dto.gson; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.collect.Lists; -import com.google.common.collect.Maps; -import com.google.gson.JsonArray; -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonDeserializer; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParseException; -import com.google.gson.JsonSerializationContext; -import com.google.gson.JsonSerializer; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDtos; - -import java.io.Serializable; -import java.lang.reflect.Type; -import java.util.List; -import java.util.Map; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public class ReferenceDtoAdapter implements JsonDeserializer<ReferenceDto<?>>, JsonSerializer<ReferenceDto<?>> { - - @Override - public ReferenceDto<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - JsonObject jsonObject = json.getAsJsonObject(); - - Class dtoType = context.deserialize(jsonObject.get(ReferenceDto.PROPERTY_TYPE), Class.class); - String id = context.deserialize(jsonObject.get(ReferenceDto.PROPERTY_ID), String.class); - - JsonArray jsonLabelPropertyNames = jsonObject.get(ReferenceDto.PROPERTY_LABEL_PROPERTY_NAMES).getAsJsonArray(); - JsonArray jsonLabelPropertyValues = jsonObject.get(ReferenceDto.PROPERTY_LABEL_PROPERTY_VALUES).getAsJsonArray(); - JsonArray JsonLabelPropertyTypes = jsonObject.get(ReferenceDto.PROPERTY_LABEL_PROPERTY_TYPES).getAsJsonArray(); - - List<String> labelPropertyNames = Lists.newArrayList(); - Map<String, Serializable> valuesByName = Maps.newHashMap(); - - for (int i = 0; i < jsonLabelPropertyNames.size(); i++) { - String name = jsonLabelPropertyNames.get(i).getAsString(); - Class type = context.deserialize(JsonLabelPropertyTypes.get(i), Class.class); - JsonElement jsonValue = jsonLabelPropertyValues.get(i); - if (jsonValue != null && type != null) { - if (ReferentialReferenceDto.class.isAssignableFrom(type) && jsonValue.isJsonPrimitive()) { - type = String.class; - } - Serializable value = context.deserialize(jsonValue, type); - labelPropertyNames.add(name); - valuesByName.put(name, value); - } - } - - ReferenceDto<?> referenceDto; - - if (ReferentialDto.class.isAssignableFrom(dtoType)) { - ReferentialReferenceDto referentialReferenceDto = ReferentialReferenceDtos.newReferentialReferenceDto(dtoType, labelPropertyNames); - - { - JsonElement jsonElement = jsonObject.get(ReferentialReferenceDto.PROPERTY_NEED_COMMENT); - boolean needComment = jsonElement.getAsBoolean(); - referentialReferenceDto.setNeedComment(needComment); - } - { - JsonElement jsonElement = jsonObject.get(ReferentialReferenceDto.PROPERTY_ENABLED); - boolean enabled = jsonElement.getAsBoolean(); - referentialReferenceDto.setEnabled(enabled); - } - - referenceDto = referentialReferenceDto; - - } else { - referenceDto = ReferenceDtos.newReferenceDto(dtoType, labelPropertyNames); - } - - referenceDto.setId(id); - - for (Map.Entry<String, Serializable> entry : valuesByName.entrySet()) { - referenceDto.setPropertyValue(entry.getKey(), entry.getValue()); - } - - return referenceDto; - } - - protected ReferenceDto<?> newReferenceDto(Class type, Iterable<String> propertyNames) { - return ReferenceDtos.newReferenceDto(type, propertyNames); - } - - - @Override - public JsonElement serialize(ReferenceDto<?> src, Type typeOfSrc, JsonSerializationContext context) { - JsonObject jsonReference = new JsonObject(); - - jsonReference.add(ReferenceDto.PROPERTY_TYPE, context.serialize(src.getType())); - jsonReference.add(ReferenceDto.PROPERTY_ID, context.serialize(src.getId())); - jsonReference.add(ReferenceDto.PROPERTY_LABEL_PROPERTY_NAMES, context.serialize(src.getPropertyNames())); - jsonReference.add(ReferenceDto.PROPERTY_LABEL_PROPERTY_VALUES, context.serialize(src.getLabelPropertyValues())); - jsonReference.add(ReferenceDto.PROPERTY_LABEL_PROPERTY_TYPES, context.serialize(src.getLabelPropertyTypes())); - - if (src instanceof ReferentialReferenceDto) { - ReferentialReferenceDto referentialReferenceDto = (ReferentialReferenceDto) src; - jsonReference.add(ReferentialReferenceDto.PROPERTY_NEED_COMMENT, context.serialize(referentialReferenceDto.isNeedComment())); - jsonReference.add(ReferentialReferenceDto.PROPERTY_ENABLED, context.serialize(referentialReferenceDto.isEnabled())); - } - - return jsonReference; - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferentialReferenceDtoAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferentialReferenceDtoAdapter.java deleted file mode 100644 index 347288c..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReferentialReferenceDtoAdapter.java +++ /dev/null @@ -1,57 +0,0 @@ -package fr.ird.observe.services.dto.gson; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonDeserializer; -import com.google.gson.JsonElement; -import com.google.gson.JsonParseException; -import com.google.gson.JsonSerializationContext; -import com.google.gson.JsonSerializer; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; - -import java.lang.reflect.Type; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public class ReferentialReferenceDtoAdapter implements JsonDeserializer<ReferentialReferenceDto<?>>, JsonSerializer<ReferentialReferenceDto<?>> { - - ReferenceDtoAdapter referenceDtoAdapter = new ReferenceDtoAdapter(); - - @Override - public ReferentialReferenceDto<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { - - ReferentialReferenceDto<?> referentialReferenceDto = (ReferentialReferenceDto) referenceDtoAdapter.deserialize(json, typeOfT, context); - - return referentialReferenceDto; - - } - - @Override - public JsonElement serialize(ReferentialReferenceDto<?> src, Type typeOfSrc, JsonSerializationContext context) { - JsonElement jsonElement = referenceDtoAdapter.serialize(src, typeOfSrc, context); - - return jsonElement; - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReportVariableAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReportVariableAdapter.java index 39c039c..c0dec67 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReportVariableAdapter.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/ReportVariableAdapter.java @@ -28,9 +28,11 @@ import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.actions.report.ReportVariable; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import java.lang.reflect.Type; import java.util.Set; @@ -52,8 +54,11 @@ public class ReportVariableAdapter implements JsonDeserializer<ReportVariable> { Class valueType = type; - if (IdDto.class.isAssignableFrom(type)) { - valueType = ReferenceDto.class; + if (DataDto.class.isAssignableFrom(type)) { + valueType = DataReference.class; + } + if (ReferentialDto.class.isAssignableFrom(type)) { + valueType = ReferentialReference.class; } JsonElement valuesJson = reportVariableJson.get(ReportVariable.PROPERTY_VALUES); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceAdapter.java new file mode 100644 index 0000000..50f6484 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceAdapter.java @@ -0,0 +1,131 @@ +package fr.ird.observe.services.dto.gson.reference; + +/* + * #%L + * ObServe :: Services model + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; + +import java.io.Serializable; +import java.lang.reflect.Type; +import java.util.Date; + +/** + * Note: Pour une référence, on ne sérialize pas les méta-données (noms et types des propriétés), on les récupère à la + * désérialisation via {@link ReferenceSetDefinition}. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class AbstractReferenceAdapter<D extends IdDto, R extends AbstractReference<D>> implements JsonDeserializer<R>, JsonSerializer<R> { + + @Override + public final R deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + + JsonObject jsonObject = json.getAsJsonObject(); + + Class<D> dtoType = context.deserialize(jsonObject.get(AbstractReference.PROPERTY_TYPE), Class.class); + + ReferenceSetDefinition<D> definition = getDefinition(dtoType); + + String[] propertyNames = definition.getPropertyNames(); + Class<?>[] propertyTypes = definition.getPropertyTypes(); + + R reference = deserialize(jsonObject, context, dtoType, propertyNames, propertyTypes); + + return reference; + + } + + public R deserialize(JsonObject jsonObject, JsonDeserializationContext context, Class<D> dtoType, String[] propertyNames, Class<?>... propertyTypes) { + + JsonArray jsonPropertyValues = jsonObject.get(AbstractReference.PROPERTY_LABEL_PROPERTY_VALUES).getAsJsonArray(); + + int propertiesSize = propertyNames.length; + + Serializable[] propertyValues = new Serializable[propertiesSize]; + + for (int i = 0; i < propertiesSize; i++) { + + String name = propertyNames[i]; + Class type = propertyTypes[i]; + JsonElement jsonValue = jsonPropertyValues.get(i); + Serializable value = context.deserialize(jsonValue, type); + propertyValues[i] = value; + + } + + R reference = newReference(dtoType, propertyNames, propertyTypes, propertyValues); + + String id = context.deserialize(jsonObject.get(AbstractReference.PROPERTY_ID), String.class); + reference.setId(id); + + JsonElement versionElement = jsonObject.get(AbstractReference.PROPERTY_VERSION); + if (versionElement != null) { + long version = versionElement.getAsLong(); + reference.setVersion(version); + } + + JsonElement createDateElement = jsonObject.get(AbstractReference.PROPERTY_CREATE_DATE); + if (createDateElement != null) { + Date createDate = context.deserialize(createDateElement, Date.class); + reference.setCreateDate(createDate); + } + + return reference; + + } + + @Override + public JsonObject serialize(R src, Type typeOfSrc, JsonSerializationContext context) { + + JsonObject jsonReference = new JsonObject(); + + jsonReference.add(AbstractReference.PROPERTY_TYPE, context.serialize(src.getType())); + jsonReference.add(AbstractReference.PROPERTY_ID, context.serialize(src.getId())); + jsonReference.add(AbstractReference.PROPERTY_LABEL_PROPERTY_VALUES, context.serialize(src.getLabelPropertyValues())); + + if (src.getVersion() != 0) { + jsonReference.add(AbstractReference.PROPERTY_VERSION, context.serialize(src.getVersion())); + } + + if (src.getCreateDate() != null) { + jsonReference.add(AbstractReference.PROPERTY_CREATE_DATE, context.serialize(src.getCreateDate())); + } + + return jsonReference; + + } + + protected abstract ReferenceSetDefinition<D> getDefinition(Class<D> dtoType); + + protected abstract R newReference(Class<D> dtoType, String[] propertyNames, Class<?>[] propertyTypes, Serializable... propertyValues); + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceSetAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceSetAdapter.java new file mode 100644 index 0000000..8571046 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/AbstractReferenceSetAdapter.java @@ -0,0 +1,83 @@ +package fr.ird.observe.services.dto.gson.reference; + +/* + * #%L + * ObServe :: Services model + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.collect.ImmutableSet; +import com.google.gson.JsonArray; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.AbstractReferenceSet; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; + +import java.lang.reflect.Type; + +/** + * Note: Pour une référence, on ne sérialize pas les méta-données (noms et types des propriétés), on les récupère à la + * désérialisation via {@link ReferenceSetDefinition}. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class AbstractReferenceSetAdapter<D extends IdDto, R extends AbstractReference<D>, S extends AbstractReferenceSet<D, R>> implements JsonDeserializer<S> { + + @Override + public final S deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { + + JsonObject jsonObject = json.getAsJsonObject(); + + Class<D> dtoType = context.deserialize(jsonObject.get(AbstractReferenceSet.PROPERTY_TYPE), Class.class); + + ReferenceSetDefinition<D> definition = getDefintion(dtoType); + + String[] propertyNames = definition.getPropertyNames(); + Class<?>[] propertyTypes = definition.getPropertyTypes(); + + JsonArray jsonPropertyValues = jsonObject.get(AbstractReferenceSet.PROPERTY_REFERENCES).getAsJsonArray(); + + int referencesSize = jsonPropertyValues.size(); + + ImmutableSet.Builder<R> references = ImmutableSet.builder(); + + for (int i = 0; i < referencesSize; i++) { + + R reference = deserializeReference(jsonPropertyValues.get(i), context, dtoType, propertyNames, propertyTypes); + references.add(reference); + + } + + S referenceSet = newReferenceSet(dtoType, references.build(), jsonObject, context); + return referenceSet; + + } + + protected abstract ReferenceSetDefinition<D> getDefintion(Class<D> dtoType); + + protected abstract R deserializeReference(JsonElement referenceJsonElement, JsonDeserializationContext context, Class<D> dtoType, String[] propertyNames, Class<?>... propertyTypes); + + protected abstract S newReferenceSet(Class<D> dtoType, ImmutableSet<R> references, JsonObject jsonObject, JsonDeserializationContext context); + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceAdapter.java new file mode 100644 index 0000000..9f673b6 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceAdapter.java @@ -0,0 +1,49 @@ +package fr.ird.observe.services.dto.gson.reference; + +/* + * #%L + * ObServe :: Services model + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.reference.DataReferenceSetDefinitions; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; + +import java.io.Serializable; + +/** + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataReferenceAdapter<D extends DataDto> extends AbstractReferenceAdapter<D, DataReference<D>> { + + @Override + protected ReferenceSetDefinition<D> getDefinition(Class<D> dtoType) { + return DataReferenceSetDefinitions.getDefinition(dtoType); + } + + @Override + protected DataReference<D> newReference(Class<D> dtoType, String[] propertyNames, Class<?>[] propertyTypes, Serializable... propertyValues) { + DataReference<D> reference = new DataReference<>(); + reference.init(dtoType, propertyNames, propertyTypes, propertyValues); + return reference; + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java new file mode 100644 index 0000000..2193654 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/DataReferenceSetAdapter.java @@ -0,0 +1,37 @@ +package fr.ird.observe.services.dto.gson.reference; + +import com.google.common.collect.ImmutableSet; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; + +/** + * Created on 23/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataReferenceSetAdapter<D extends DataDto> extends AbstractReferenceSetAdapter<D, DataReference<D>, DataReferenceSet<D>> { + + protected final DataReferenceAdapter<D> referenceAdapter = new DataReferenceAdapter<>(); + + @Override + protected ReferenceSetDefinition<D> getDefintion(Class<D> dtoType) { + return referenceAdapter.getDefinition(dtoType); + } + + @Override + protected DataReferenceSet<D> newReferenceSet(Class<D> dtoType, ImmutableSet<DataReference<D>> references, JsonObject jsonObject, JsonDeserializationContext context) { + return DataReferenceSet.of(dtoType, references); + } + + @Override + protected DataReference<D> deserializeReference(JsonElement referenceJsonElement, JsonDeserializationContext context, Class<D> dtoType, String[] propertyNames, Class<?>... propertyTypes) { + DataReference<D> reference = referenceAdapter.deserialize(referenceJsonElement, dtoType, context); + return reference; + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceAdapter.java new file mode 100644 index 0000000..8636358 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceAdapter.java @@ -0,0 +1,100 @@ +package fr.ird.observe.services.dto.gson.reference; + +/* + * #%L + * ObServe :: Services model + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonSerializationContext; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import java.io.Serializable; +import java.lang.reflect.Type; +import java.util.Date; + +/** + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialReferenceAdapter<D extends ReferentialDto> extends AbstractReferenceAdapter<D, ReferentialReference<D>> { + + @Override + public ReferentialReference<D> deserialize(JsonObject jsonObject, JsonDeserializationContext context, Class<D> dtoType, String[] propertyNames, Class<?>... propertyTypes) { + ReferentialReference<D> reference = super.deserialize(jsonObject, context, dtoType, propertyNames, propertyTypes); + + + JsonElement neddCommentElement = jsonObject.get(ReferentialReference.PROPERTY_NEED_COMMENT); + if (neddCommentElement != null) { + boolean neddComment = neddCommentElement.getAsBoolean(); + reference.setNeedComment(neddComment); + } + + JsonElement enabledElement = jsonObject.get(ReferentialReference.PROPERTY_NEED_COMMENT); + if (enabledElement != null) { + boolean enabled = enabledElement.getAsBoolean(); + reference.setEnabled(enabled); + } + + JsonElement lastUpdateElement = jsonObject.get(ReferentialReference.PROPERTY_LAST_UPDATE); + if (lastUpdateElement != null) { + Date lastUpdate = context.deserialize(lastUpdateElement, Date.class); + reference.setLastUpdate(lastUpdate); + } + + return reference; + } + + @Override + public JsonObject serialize(ReferentialReference<D> src, Type typeOfSrc, JsonSerializationContext context) { + + JsonObject jsonReference = super.serialize(src, typeOfSrc, context); + + if (src.isNeedComment()) { + jsonReference.add(ReferentialReference.PROPERTY_NEED_COMMENT, context.serialize(src.isNeedComment())); + } + if (src.isEnabled()) { + jsonReference.add(ReferentialReference.PROPERTY_ENABLED, context.serialize(src.isEnabled())); + } + if (src.getLastUpdate() != null) { + jsonReference.add(ReferentialReference.PROPERTY_LAST_UPDATE, context.serialize(src.getLastUpdate())); + } + + return jsonReference; + + } + + @Override + protected ReferenceSetDefinition<D> getDefinition(Class<D> dtoType) { + return ReferentialReferenceSetDefinitions.getDefinition(dtoType); + } + + @Override + protected ReferentialReference<D> newReference(Class<D> dtoType, String[] propertyNames, Class<?>[] propertyTypes, Serializable... propertyValues) { + ReferentialReference<D> reference = new ReferentialReference<>(); + reference.init(dtoType, propertyNames, propertyTypes, propertyValues); + return reference; + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceSetAdapter.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceSetAdapter.java new file mode 100644 index 0000000..6e8d08c --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/gson/reference/ReferentialReferenceSetAdapter.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.dto.gson.reference; + +import com.google.common.collect.ImmutableSet; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; + +import java.util.Date; + +/** + * Created on 23/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialReferenceSetAdapter<D extends ReferentialDto> extends AbstractReferenceSetAdapter<D, ReferentialReference<D>, ReferentialReferenceSet<D>> { + + protected final ReferentialReferenceAdapter<D> referenceAdapter = new ReferentialReferenceAdapter<>(); + + @Override + protected ReferentialReferenceSet<D> newReferenceSet(Class<D> dtoType, ImmutableSet<ReferentialReference<D>> references, JsonObject jsonObject, JsonDeserializationContext context) { + + JsonElement lastUpdateElement = jsonObject.get(ReferentialReferenceSet.PROPERTY_LAST_UPDATE); + Date lastUpdate = null; + if (lastUpdateElement != null) { + lastUpdate = context.deserialize(lastUpdateElement, Date.class); + } + + ReferentialReferenceSet<D> referenceSet = ReferentialReferenceSet.of(dtoType, references, lastUpdate); + + return referenceSet; + } + + @Override + protected ReferentialReference<D> deserializeReference(JsonElement referenceJsonElement, JsonDeserializationContext context, Class<D> dtoType, String[] propertyNames, Class<?>... propertyTypes) { + + ReferentialReference<D> reference = referenceAdapter.deserialize(referenceJsonElement, dtoType, context); + return reference; + + } + + @Override + protected ReferenceSetDefinition<D> getDefintion(Class<D> dtoType) { + return referenceAdapter.getDefinition(dtoType); + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/ActivityLonglineDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/ActivityLonglineDtos.java deleted file mode 100644 index 64f3e37..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/ActivityLonglineDtos.java +++ /dev/null @@ -1,24 +0,0 @@ -package fr.ird.observe.services.dto.longline; - -import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; - -public class ActivityLonglineDtos extends AbstractActivityLonglineDtos { - - public static ReferenceDto<ActivityLonglineDto> newReferenceDto(ActivityLonglineDto activityLongline) { - - ReferenceDto<ActivityLonglineDto> referenceDto = ReferenceDtos.newReferenceDto( - ActivityLonglineDto.class, - Lists.newArrayList(ActivityLonglineDto.PROPERTY_TIME_STAMP, - ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE)); - - referenceDto.setId(activityLongline.getId()); - referenceDto.setPropertyValue(ActivityLonglineDto.PROPERTY_TIME_STAMP, activityLongline.getTimeStamp()); - referenceDto.setPropertyValue(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, activityLongline.getVesselActivityLongline().getPropertyValue(VesselActivityLonglineDto.PROPERTY_LABEL)); - - return referenceDto; - - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/LonglinePositionAwareDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/LonglinePositionAwareDto.java index 2d81e05..2b2dadf 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/LonglinePositionAwareDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/LonglinePositionAwareDto.java @@ -22,7 +22,7 @@ package fr.ird.observe.services.dto.longline; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import java.beans.PropertyChangeListener; @@ -34,17 +34,17 @@ import java.beans.PropertyChangeListener; */ public interface LonglinePositionAwareDto { - void setSection(ReferenceDto<SectionDto> section); + void setSection(DataReference<SectionDto> section); - ReferenceDto<SectionDto> getSection(); + DataReference<SectionDto> getSection(); - void setBasket(ReferenceDto<BasketDto> basket); + void setBasket(DataReference<BasketDto> basket); - ReferenceDto<BasketDto> getBasket(); + DataReference<BasketDto> getBasket(); - void setBranchline(ReferenceDto<BranchlineDto> branchline); + void setBranchline(DataReference<BranchlineDto> branchline); - ReferenceDto<BranchlineDto> getBranchline(); + DataReference<BranchlineDto> getBranchline(); void addPropertyChangeListener(PropertyChangeListener listener); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/TripLonglineDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/TripLonglineDtos.java deleted file mode 100644 index da4cb65..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/longline/TripLonglineDtos.java +++ /dev/null @@ -1,27 +0,0 @@ -package fr.ird.observe.services.dto.longline; - -import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.referential.PersonDtos; -import fr.ird.observe.services.dto.referential.VesselDto; - -public class TripLonglineDtos extends AbstractTripLonglineDtos { - - public static ReferenceDto<TripLonglineDto> newReferenceDto(TripLonglineDto tripLongline) { - - ReferenceDto<TripLonglineDto> referenceDto = ReferenceDtos.newReferenceDto(TripLonglineDto.class, - Lists.newArrayList(TripLonglineDto.PROPERTY_START_DATE, - TripLonglineDto.PROPERTY_END_DATE, - TripLonglineDto.PROPERTY_VESSEL, - TripLonglineDto.PROPERTY_OBSERVER)); - - referenceDto.setId(tripLongline.getId()); - referenceDto.setPropertyValue(TripLonglineDto.PROPERTY_START_DATE, tripLongline.getStartDate()); - referenceDto.setPropertyValue(TripLonglineDto.PROPERTY_END_DATE, tripLongline.getEndDate()); - referenceDto.setPropertyValue(TripLonglineDto.PROPERTY_VESSEL, tripLongline.getVessel().getPropertyValue(VesselDto.PROPERTY_LABEL)); - referenceDto.setPropertyValue(TripLonglineDto.PROPERTY_OBSERVER, PersonDtos.getNames(tripLongline.getObserver())); - - return referenceDto; - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java new file mode 100644 index 0000000..7d3c16e --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java @@ -0,0 +1,163 @@ +package fr.ird.observe.services.dto.reference; + +import com.google.common.base.Preconditions; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.BasketDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.longline.SectionDto; +import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.RouteDto; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; + +import java.util.Date; +import java.util.Map; +import java.util.TreeMap; + +/** + * Contient les définitions de tous les ensembles de références (de type donnée) reconnus dans l'application. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum DataReferenceSetDefinitions { + + // -------------------------------------------------------------------------------------------------------------- // + // -- SEINE ----------------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + TRIP_SEINE(newDefinitionBuilder(TripSeineDto.class) + .addProperty(Date.class, TripSeineDto.PROPERTY_START_DATE) + .addProperty(Date.class, TripSeineDto.PROPERTY_END_DATE) + .addProperty(String.class, TripSeineDto.PROPERTY_VESSEL) + .addProperty(String.class, TripSeineDto.PROPERTY_OBSERVER)), + + ROUTE(newDefinitionBuilder(RouteDto.class) + .addProperty(Date.class, RouteDto.PROPERTY_DATE) + .addProperty(String.class, RouteDto.PROPERTY_COMMENT)), + + FLOATING_OBJECT(newDefinitionBuilder(FloatingObjectDto.class) + .addProperty(String.class, FloatingObjectDto.PROPERTY_OBJECT_TYPE)), + + NON_TARGET_CATCH(newDefinitionBuilder(NonTargetCatchDto.class) + .addProperty(String.class, NonTargetCatchDto.PROPERTY_SPECIES) + .addProperty(String.class, NonTargetCatchDto.PROPERTY_SPECIES_FATE)), + + SCHOOL_ESTIMATE(newDefinitionBuilder(SchoolEstimateDto.class) + .addProperty(String.class, SchoolEstimateDto.PROPERTY_SPECIES) + .addProperty(String.class, SchoolEstimateDto.PROPERTY_MEAN_WEIGHT) + .addProperty(String.class, SchoolEstimateDto.PROPERTY_TOTAL_WEIGHT) + ), + + TARGET_LENGTH(newDefinitionBuilder(TargetLengthDto.class) + .addProperty(String.class, TargetLengthDto.PROPERTY_SPECIES) + .addProperty(String.class, TargetLengthDto.PROPERTY_LENGTH) + .addProperty(String.class, TargetLengthDto.PROPERTY_COUNT) + ), + + ACTIVITY_SEINE(newDefinitionBuilder(ActivitySeineDto.class) + .addProperty(String.class, ActivitySeineDto.PROPERTY_TIME) + .addProperty(String.class, ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE) +// .addProperty(String.class, ActivitySeineDto.PROPERTY_SET_SEINE) + ), + + SET_SEINE(newDefinitionBuilder(SetSeineDto.class) + .addProperty(String.class, SetSeineDto.PROPERTY_COMMENT)), + + ENCOUNTER(newDefinitionBuilder(EncounterDto.class) + .addProperty(String.class, EncounterDto.PROPERTY_ENCOUNTER_TYPE) + .addProperty(String.class, EncounterDto.PROPERTY_SPECIES) + ), + + TRANSMITTING_BUYO(newDefinitionBuilder(TransmittingBuoyDto.class) + .addProperty(String.class, TransmittingBuoyDto.PROPERTY_CODE) + .addProperty(String.class, TransmittingBuoyDto.PROPERTY_BRAND) + ), + + + // -------------------------------------------------------------------------------------------------------------- // + // -- LONGLINE -------------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + TRIP_LONGLINE(newDefinitionBuilder(TripLonglineDto.class) + .addProperty(Date.class, TripLonglineDto.PROPERTY_START_DATE) + .addProperty(Date.class, TripLonglineDto.PROPERTY_END_DATE) + .addProperty(String.class, TripLonglineDto.PROPERTY_VESSEL) + .addProperty(String.class, TripLonglineDto.PROPERTY_OBSERVER)), + + ACTIVITY_LONGLINE(newDefinitionBuilder(ActivityLonglineDto.class) + .addProperty(Date.class, ActivityLonglineDto.PROPERTY_TIME_STAMP) + .addProperty(String.class, ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE) +// .addProperty(DataReference.class, ActivityLonglineDto.PROPERTY_SET_LONGLINE) + ), + + CATCH_LONGLINE(newDefinitionBuilder(CatchLonglineDto.class) + .addProperty(String.class, CatchLonglineDto.PROPERTY_HOME_ID)), + + //FIXME Voir ce qu'on ajouter d'autre (peut-être utiliser l'activité ?) + SET_LONGLINE(newDefinitionBuilder(SetLonglineDto.class) + .addProperty(String.class, SetLonglineDto.PROPERTY_HOME_ID)), + + SECTION(newDefinitionBuilder(SectionDto.class) + .addProperty(Integer.class, SectionDto.PROPERTY_HAULING_IDENTIFIER) + .addProperty(Integer.class, SectionDto.PROPERTY_SETTING_IDENTIFIER)), + + BASKET(newDefinitionBuilder(BasketDto.class) + .addProperty(Integer.class, BasketDto.PROPERTY_HAULING_IDENTIFIER) + .addProperty(Integer.class, BasketDto.PROPERTY_SETTING_IDENTIFIER)), + + BRANCHLINE(newDefinitionBuilder(BranchlineDto.class) + .addProperty(Integer.class, BranchlineDto.PROPERTY_HAULING_IDENTIFIER) + .addProperty(Integer.class, BranchlineDto.PROPERTY_SETTING_IDENTIFIER)),; + + public static final Map<String, ReferenceSetDefinition> MAPPING = new TreeMap<>(); + + static { + + for (DataReferenceSetDefinitions definitions : DataReferenceSetDefinitions.values()) { + + ReferenceSetDefinition<? extends DataDto> definition = definitions.getDefinition(); + MAPPING.put(definition.getType().getName(), definition); + + } + } + + private final ReferenceSetDefinition definition; + + protected static <R extends DataDto> ReferenceSetDefinition.Builder newDefinitionBuilder(Class<R> type) { + ReferenceSetDefinition.Builder<R> builder = ReferenceSetDefinition.builder(type); + return builder; + } + + public static <D extends DataDto> ReferenceSetDefinition<D> getDefinition(Class<D> type) { + ReferenceSetDefinition<D> referenceSetDefinition = MAPPING.get(type.getName()); + Preconditions.checkNotNull(referenceSetDefinition, "Could not find definition for type: " + type); + return referenceSetDefinition; + } + + public static <D extends DataDto> ReferenceSetDefinition<D> getDefinition(String name) { + ReferenceSetDefinition<D> referenceSetDefinition = MAPPING.get(name); + Preconditions.checkNotNull(referenceSetDefinition, "Could not find definition for type: " + name); + return referenceSetDefinition; + } + + DataReferenceSetDefinitions(ReferenceSetDefinition.Builder builder) { + this.definition = builder.build(); + } + + public <D extends DataDto> ReferenceSetDefinition<D> getDefinition() { + return definition; + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReference.java deleted file mode 100644 index 95038a1..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReference.java +++ /dev/null @@ -1,61 +0,0 @@ -package fr.ird.observe.services.dto.reference; - -import com.google.common.base.MoreObjects; - -import java.io.Serializable; -import java.util.Arrays; -import java.util.Objects; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReference implements Serializable { - - public static final String PROPERTY_ID = "id"; - - private static final long serialVersionUID = 1L; - - protected String id; - - protected Serializable[] values; - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public Serializable[] getValues() { - return values; - } - - public void setValues(Serializable... values) { - this.values = values; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof ObserveReference)) return false; - ObserveReference that = (ObserveReference) o; - return !(id == null || that.id == null) && Objects.equals(id, that.id); - } - - @Override - public int hashCode() { - return Objects.hash(id); - } - - @Override - public String toString() { - return MoreObjects.toStringHelper(this) - .add("id", id) - .add("values", Arrays.asList(values)) - .toString(); - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java deleted file mode 100644 index 9abd500..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSet.java +++ /dev/null @@ -1,125 +0,0 @@ -package fr.ird.observe.services.dto.reference; - -import com.google.common.base.MoreObjects; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinition; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import java.io.Serializable; -import java.util.Collection; -import java.util.Date; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReferenceSet<D extends IdDto, R extends ObserveReference> implements Serializable { - - private static final long serialVersionUID = 1L; - - /** Logger. */ - private static final Log log = LogFactory.getLog(ObserveReferenceSet.class); - - protected ObserveReferenceSetDefinition<D> definition; - - protected Collection<R> values; - - protected Date lastUpdate; - - public static <D extends IdDto, R extends ObserveReference> ObserveReferenceSet<D, R> of(ObserveReferenceSetDefinition<D> definition, - Collection<R> labels, - Date lastUpdate) { - ObserveReferenceSet<D, R> dto = new ObserveReferenceSet<>(); - - dto.setDefinition(definition); - dto.setValues(labels); - dto.setLastUpdate(lastUpdate); - return dto; - } - - public ObserveReferenceSetDefinition<D> getDefinition() { - return definition; - } - - public void setDefinition(ObserveReferenceSetDefinition<D> definition) { - this.definition = definition; - } - - public Collection<R> getValues() { - return values; - } - - public void setValues(Collection<R> values) { - this.values = values; - } - - public Date getLastUpdate() { - return lastUpdate; - } - - public void setLastUpdate(Date lastUpdate) { - this.lastUpdate = lastUpdate; - } - - public ReferenceSetDto<D> toReferenceSetDto(String name) { - - Class<D> type = definition.getType(); - String[] propertyNames = definition.getPropertyNames(); - Class<?>[] propertyTypes = definition.getPropertyTypes(); - - ReferenceSetDto<D> result = new ReferenceSetDto<>(type); - result.setLastUpdate(lastUpdate); - result.setName(name); - - boolean referential = ReferentialDto.class.isAssignableFrom(type); - - for (R value : values) { - - if (referential) { - - ObserveReferentialReference referentialValue = (ObserveReferentialReference) value; - ReferentialReferenceDto referenceDto = new ReferentialReferenceDto<>(); - referenceDto.init(type, propertyNames, propertyTypes, value.getValues()); - referenceDto.setId(value.getId()); - referenceDto.setCreateDate(referentialValue.getCreateDate()); - referenceDto.setEnabled(referentialValue.isEnabled()); - referenceDto.setLastUpdate(referentialValue.getLastUpdateDate()); - referenceDto.setNeedComment(referentialValue.isNeedComment()); - referenceDto.setVersion(referentialValue.getVersion()); - result.addReference(referenceDto); - - } else { - - ReferenceDto<D> referenceDto = new ReferenceDto<>(); - referenceDto.setId(value.getId()); - referenceDto.init(type, propertyNames, propertyTypes, value.getValues()); - result.addReference(referenceDto); - - } - - } - - return result; - - } - - @Override - public String toString() { - MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this); - if (log.isDebugEnabled()) { - toStringHelper.add("definition", definition); - } else { - toStringHelper.add("type", definition.getType().getSimpleName()); - } - return toStringHelper - .add("values", values == null ? 0 : values.size()) - .add("lastUpdate", lastUpdate) - .toString(); - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java deleted file mode 100644 index 69cbda3..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetRequest.java +++ /dev/null @@ -1,43 +0,0 @@ -package fr.ird.observe.services.dto.reference; - -import com.google.common.collect.ImmutableMap; - -import java.util.Date; - -/** - * Created on 10/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReferenceSetRequest { - - private String requestName; - - private boolean loadTechnicalInformations; - - private ImmutableMap<String, Date> lastUpdateDates; - - public String getRequestName() { - return requestName; - } - - public ImmutableMap<String, Date> getLastUpdateDates() { - return lastUpdateDates; - } - - public void setRequestName(String requestName) { - this.requestName = requestName; - } - - public void setLastUpdateDates(ImmutableMap<String, Date> lastUpdateDates) { - this.lastUpdateDates = lastUpdateDates; - } - - public boolean isLoadTechnicalInformations() { - return loadTechnicalInformations; - } - - public void setLoadTechnicalInformations(boolean loadTechnicalInformations) { - this.loadTechnicalInformations = loadTechnicalInformations; - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java deleted file mode 100644 index 8eb4bf1..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetResult.java +++ /dev/null @@ -1,72 +0,0 @@ -package fr.ird.observe.services.dto.reference; - -import com.google.common.collect.ImmutableMap; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import java.util.Date; -import java.util.Map; - -/** - * Created on 10/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReferenceSetResult<R extends ObserveReference> { - - /** Logger. */ - private static final Log log = LogFactory.getLog(ObserveReferenceSetResult.class); - - private final String requestName; - - private final ImmutableMap<String, ObserveReferenceSet<?, R>> referenceSets; - - public static <R extends ObserveReference> Builder<R> builder(String requestName) { - return new Builder<>(requestName); - } - - public ObserveReferenceSetResult(String requestName, ImmutableMap<String, ObserveReferenceSet<?, R>> referenceSets) { - this.requestName = requestName; - this.referenceSets = referenceSets; - } - - public String getRequestName() { - return requestName; - } - - public ImmutableMap<String, ObserveReferenceSet<?, R>> getReferenceSets() { - return referenceSets; - } - - public ImmutableMap<String,Date> getLastUpdateDates() { - ImmutableMap.Builder<String,Date> builder = ImmutableMap.builder(); - for (Map.Entry<String, ObserveReferenceSet<?, R>> entry : referenceSets.entrySet()) { - builder.put(entry.getKey(), entry.getValue().getLastUpdate()); - } - return builder.build(); - } - public static class Builder<R extends ObserveReference> { - - private final String requestName; - - private final ImmutableMap.Builder<String, ObserveReferenceSet<?, R>> referenceSetsMapBuilder; - - public Builder(String requestName) { - this.requestName = requestName; - this.referenceSetsMapBuilder = ImmutableMap.builder(); - } - - public Builder addReferenceSet(String name, ObserveReferenceSet<?, R> referenceSet) { - if (log.isInfoEnabled()) { - log.info(String.format("Add reference set : %s", referenceSet)); - } - referenceSetsMapBuilder.put(name, referenceSet); - return this; - } - - public ObserveReferenceSetResult<R> build() { - return new ObserveReferenceSetResult<>(requestName, referenceSetsMapBuilder.build()); - } - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java deleted file mode 100644 index 083eccb..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferentialReference.java +++ /dev/null @@ -1,89 +0,0 @@ -package fr.ird.observe.services.dto.reference; - -import com.google.common.base.MoreObjects; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import java.util.Arrays; -import java.util.Date; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReferentialReference extends ObserveReference { - - private static final long serialVersionUID = 1L; - - /** Logger. */ - private static final Log log = LogFactory.getLog(ObserveReferentialReference.class); - - protected boolean needComment; - - protected boolean enabled; - - protected Date createDate; - - protected Date lastUpdateDate; - - protected long version; - - public boolean isNeedComment() { - return needComment; - } - - public void setNeedComment(boolean needComment) { - this.needComment = needComment; - } - - public boolean isEnabled() { - return enabled; - } - - public void setEnabled(boolean enabled) { - this.enabled = enabled; - } - - public Date getLastUpdateDate() { - return lastUpdateDate; - } - - public void setLastUpdateDate(Date lastUpdateDate) { - this.lastUpdateDate = lastUpdateDate; - } - - public Date getCreateDate() { - return createDate; - } - - public void setCreateDate(Date createDate) { - this.createDate = createDate; - } - - public long getVersion() { - return version; - } - - public void setVersion(long version) { - this.version = version; - } - - @Override - public String toString() { - MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) - .add("id", id); - - if (log.isDebugEnabled()) { - toStringHelper - .add("needComment", needComment) - .add("enabled", enabled) - .add("version", version) - .add("createDate", createDate) - .add("lastUpdate", lastUpdateDate); - } - return toStringHelper - .add("values", Arrays.asList(values)) - .toString(); - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferenceSetDefinition.java similarity index 77% rename from observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java rename to observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferenceSetDefinition.java index b510ab4..628eb06 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinition.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferenceSetDefinition.java @@ -1,4 +1,4 @@ -package fr.ird.observe.services.dto.reference.definition; +package fr.ird.observe.services.dto.reference; import com.google.common.base.MoreObjects; import fr.ird.observe.services.dto.IdDto; @@ -16,16 +16,16 @@ import java.util.LinkedList; * * @author Tony Chemit - chemit@codelutin.com */ -public class ObserveReferenceSetDefinition<D extends IdDto> implements Serializable { +public class ReferenceSetDefinition<D extends IdDto> implements Serializable { private static final long serialVersionUID = 1L; /** Logger. */ - private static final Log log = LogFactory.getLog(ObserveReferenceSetDefinition.class); + private static final Log log = LogFactory.getLog(ReferenceSetDefinition.class); /** * Le type du dto qui doit être transformé en références. - * {@link ObserveReferenceSetDefinition#getType()}. + * {@link ReferenceSetDefinition#getType()}. */ private final Class<D> type; @@ -37,7 +37,7 @@ public class ObserveReferenceSetDefinition<D extends IdDto> implements Serializa return new Builder<>(type); } - protected ObserveReferenceSetDefinition(Class<D> type, Class<?>[] propertyTypes, String... propertyNames) { + protected ReferenceSetDefinition(Class<D> type, Class<?>[] propertyTypes, String... propertyNames) { this.type = type; this.propertyTypes = propertyTypes; this.propertyNames = propertyNames; @@ -87,8 +87,8 @@ public class ObserveReferenceSetDefinition<D extends IdDto> implements Serializa return this; } - public ObserveReferenceSetDefinition<D> build() { - return new ObserveReferenceSetDefinition<>(type, propertyTypes.toArray(new Class[propertyTypes.size()]), propertyNames.toArray(new String[propertyNames.size()])); + public ReferenceSetDefinition<D> build() { + return new ReferenceSetDefinition<>(type, propertyTypes.toArray(new Class[propertyTypes.size()]), propertyNames.toArray(new String[propertyNames.size()])); } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java similarity index 81% rename from observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java rename to observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java index 2bba077..caa0854 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java @@ -1,10 +1,7 @@ -package fr.ird.observe.services.dto.reference.definition; +package fr.ird.observe.services.dto.reference; -import fr.ird.observe.services.dto.IdDto; +import com.google.common.base.Preconditions; import fr.ird.observe.services.dto.constants.GearType; -import fr.ird.observe.services.dto.longline.BasketDto; -import fr.ird.observe.services.dto.longline.BranchlineDto; -import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.referential.CountryDto; import fr.ird.observe.services.dto.referential.FpaZoneDto; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; @@ -67,26 +64,21 @@ import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.referential.seine.WindDto; +import java.util.Map; +import java.util.TreeMap; + /** - * Contient les définitions de tous les ensembles de référence reconnus dans l'application. + * Contient les définitions de tous les ensembles de références (de type référentiel) reconnus dans l'application. * * Created on 11/11/15. * * @author Tony Chemit - chemit@codelutin.com */ -public enum ObserveReferenceSetDefinitions { - - SECTION(newDataDefinitionBuilder(SectionDto.class) - .addProperty(Integer.class, SectionDto.PROPERTY_HAULING_IDENTIFIER) - .addProperty(Integer.class, SectionDto.PROPERTY_SETTING_IDENTIFIER)), - - BASKET(newDataDefinitionBuilder(BasketDto.class) - .addProperty(Integer.class, BasketDto.PROPERTY_HAULING_IDENTIFIER) - .addProperty(Integer.class, BasketDto.PROPERTY_SETTING_IDENTIFIER)), +public enum ReferentialReferenceSetDefinitions { - BRANCHLINE(newDataDefinitionBuilder(BranchlineDto.class) - .addProperty(Integer.class, BranchlineDto.PROPERTY_HAULING_IDENTIFIER) - .addProperty(Integer.class, BranchlineDto.PROPERTY_SETTING_IDENTIFIER)), + // -------------------------------------------------------------------------------------------------------------- // + // -- REFERENTIAL COMMON ---------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // COUNTRY(newDefaultDefinitionBuilder(CountryDto.class)), @@ -108,6 +100,7 @@ public enum ObserveReferenceSetDefinitions { .addProperty(String.class, LengthWeightParameterDto.PROPERTY_CODE) .addProperty(String.class, LengthWeightParameterDto.PROPERTY_OCEAN) .addProperty(String.class, LengthWeightParameterDto.PROPERTY_SPECIES) + .addProperty(String.class, LengthWeightParameterDto.PROPERTY_SEX) .addProperty(String.class, LengthWeightParameterDto.PROPERTY_LENGTH_WEIGHT_FORMULA) .addProperty(String.class, LengthWeightParameterDto.PROPERTY_WEIGHT_LENGTH_FORMULA)), @@ -119,8 +112,8 @@ public enum ObserveReferenceSetDefinitions { .addProperty(String.class, PersonDto.PROPERTY_FIRST_NAME) .addProperty(String.class, PersonDto.PROPERTY_LAST_NAME) .addProperty(boolean.class, PersonDto.PROPERTY_CAPTAIN) - .addProperty(boolean.class, PersonDto.PROPERTY_DATA_ENTRY_OPERATOR) - .addProperty(boolean.class, PersonDto.PROPERTY_OBSERVER)), + .addProperty(boolean.class, PersonDto.PROPERTY_OBSERVER) + .addProperty(boolean.class, PersonDto.PROPERTY_DATA_ENTRY_OPERATOR)), PROGRAM(newDefinitionBuilder(ProgramDto.class) .addProperty(GearType.class, ProgramDto.PROPERTY_GEAR_TYPE) @@ -129,6 +122,8 @@ public enum ObserveReferenceSetDefinitions { SEX(newDefaultDefinitionBuilder(SexDto.class)), SPECIES(newDefinitionBuilder(SpeciesDto.class) + .addProperty(String.class, SpeciesDto.PROPERTY_LABEL) + .addProperty(String.class, SpeciesDto.PROPERTY_FAO_CODE) .addProperty(String.class, SpeciesDto.PROPERTY_SCIENTIFIC_LABEL) .addProperty(String.class, SpeciesDto.PROPERTY_HOME_ID) .addProperty(String.class, SpeciesDto.PROPERTY_LENGTH_MEASURE_TYPE)), @@ -138,6 +133,7 @@ public enum ObserveReferenceSetDefinitions { SPECIES_LIST(newDefaultDefinitionBuilder(SpeciesListDto.class)), VESSEL_SIZE_CATEGORY(newDefinitionBuilder(VesselSizeCategoryDto.class) + .addProperty(String.class, VesselSizeCategoryDto.PROPERTY_CODE) .addProperty(String.class, VesselSizeCategoryDto.PROPERTY_GAUGE_LABEL) .addProperty(String.class, VesselSizeCategoryDto.PROPERTY_CAPACITY_LABEL)), @@ -182,6 +178,7 @@ public enum ObserveReferenceSetDefinitions { MITIGATION_TYPE(newDefaultDefinitionBuilder(MitigationTypeDto.class)), SENSOR_BRAND(newDefinitionBuilder(SensorBrandDto.class) + .addProperty(String.class, SensorBrandDto.PROPERTY_CODE) .addProperty(String.class, SensorBrandDto.PROPERTY_BRAND_NAME)), SENSOR_DATA_FORMAT(newDefaultDefinitionBuilder(SensorDataFormatDto.class)), @@ -241,18 +238,42 @@ public enum ObserveReferenceSetDefinitions { .addProperty(String.class, WindDto.PROPERTY_SPEED_RANGE) ); - private final ObserveReferenceSetDefinition definition; + public static final Map<String, ReferenceSetDefinition> MAPPING = new TreeMap<>(); - protected static <R extends ReferentialDto> ObserveReferenceSetDefinition.Builder newDefinitionBuilder(Class<R> type) { - ObserveReferenceSetDefinition.Builder<R> builder = ObserveReferenceSetDefinition.builder(type); + static { + + for (ReferentialReferenceSetDefinitions definitions : ReferentialReferenceSetDefinitions.values()) { + + ReferenceSetDefinition<? extends ReferentialDto> definition = definitions.getDefinition(); + MAPPING.put(definition.getType().getName(), definition); + + } + } + + private final ReferenceSetDefinition<? extends ReferentialDto> definition; + + public static <D extends ReferentialDto> ReferenceSetDefinition<D> getDefinition(Class<D> type) { + ReferenceSetDefinition<D> referenceSetDefinition = MAPPING.get(type.getName()); + Preconditions.checkNotNull(referenceSetDefinition, "Could not find definition for type: " + type); + return referenceSetDefinition; + } + + public static <D extends ReferentialDto> ReferenceSetDefinition<D> getDefinition(String name) { + ReferenceSetDefinition<D> referenceSetDefinition = MAPPING.get(name); + Preconditions.checkNotNull(referenceSetDefinition, "Could not find definition for type: " + name); + return referenceSetDefinition; + } + + protected static <R extends ReferentialDto> ReferenceSetDefinition.Builder newDefinitionBuilder(Class<R> type) { + ReferenceSetDefinition.Builder<R> builder = ReferenceSetDefinition.builder(type); if (I18nReferentialDto.class.isAssignableFrom(type)) { builder.addProperty(String.class, I18nReferentialDto.PROPERTY_LABEL); } return builder; } - protected static <R extends ReferentialDto> ObserveReferenceSetDefinition.Builder newDefaultDefinitionBuilder(Class<R> type) { - ObserveReferenceSetDefinition.Builder<R> builder = ObserveReferenceSetDefinition + protected static <R extends ReferentialDto> ReferenceSetDefinition.Builder newDefaultDefinitionBuilder(Class<R> type) { + ReferenceSetDefinition.Builder<R> builder = ReferenceSetDefinition .builder(type) .addProperty(String.class, ReferentialDto.PROPERTY_CODE); if (I18nReferentialDto.class.isAssignableFrom(type)) { @@ -261,17 +282,12 @@ public enum ObserveReferenceSetDefinitions { return builder; } - protected static <R extends IdDto> ObserveReferenceSetDefinition.Builder newDataDefinitionBuilder(Class<R> type) { - ObserveReferenceSetDefinition.Builder<R> builder = ObserveReferenceSetDefinition.builder(type); - return builder; - } - - ObserveReferenceSetDefinitions(ObserveReferenceSetDefinition.Builder definition) { + ReferentialReferenceSetDefinitions(ReferenceSetDefinition.Builder definition) { this.definition = definition.build(); } - public ObserveReferenceSetDefinition<?> getDefinition() { - return definition; + public <D extends ReferentialDto> ReferenceSetDefinition<D> getDefinition() { + return (ReferenceSetDefinition<D>) definition; } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/AbstractToReferenceBuilder.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/AbstractToReferenceBuilder.java new file mode 100644 index 0000000..c75fb35 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/AbstractToReferenceBuilder.java @@ -0,0 +1,110 @@ +package fr.ird.observe.services.dto.reference.builder; + +import com.google.common.base.Defaults; +import com.google.common.base.Preconditions; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.dto.referential.I18nReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import org.nuiton.util.ReflectUtil; + +import java.io.Serializable; +import java.util.List; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class AbstractToReferenceBuilder<D extends IdDto, R extends AbstractReference<D>> { + + protected ReferenceSetDefinition<D> definition; + + protected List<String> propertyNames; + + protected Class<?>[] propertyTypes; + + protected Serializable[] propertyValues; + + protected String id; + + protected ReferentialLocale referenceLocale; + + public AbstractToReferenceBuilder<D, R> addProperty(String propertyName, Serializable propertyValue) { + + int i = propertyNames.indexOf(propertyName); + Preconditions.checkState(i > -1, String.format("Property %s is not defined for type: %s, possible names are: %s", propertyName, definition.getType(), propertyNames)); + Class<?> propertyType = propertyTypes[i]; + + if (propertyValue == null) { + + if (propertyType.isPrimitive()) { + propertyValue = (Serializable) Defaults.defaultValue(propertyType); + } + + } + + checkType(propertyName, propertyValue, propertyType); + propertyValues[i] = propertyValue; + + return this; + + } + + public AbstractToReferenceBuilder<D, R> addIdIfNotNull(String propertyName, IdDto propertyValue) { + + if (propertyValue != null) { + + addProperty(propertyName, propertyValue.getId()); + + } + + return this; + + } + + public AbstractToReferenceBuilder<D, R> addLabelIfNotNull(String propertyName, I18nReferentialDto propertyValue) { + + if (propertyValue != null) { + + addProperty(propertyName, referenceLocale.getLabel(propertyValue)); + + } + + return this; + + } + + public AbstractToReferenceBuilder<D, R> addLabelIfNotNull(String propertyName, ReferentialReference propertyValue) { + + if (propertyValue != null) { + + String label = (String) propertyValue.getPropertyValue(ReferentialReference.PROPERTY_LABEL); + addProperty(propertyName, label); + + } + + return this; + + } + + public AbstractToReferenceBuilder<D, R> addId(String id) { + + this.id = id; + return this; + + } + + public abstract R build(); + + protected void checkType(String propertyName, Serializable propertyValue, Class<?> propertyType) { + if (propertyType.isPrimitive()) { + Preconditions.checkState(ReflectUtil.boxType(propertyType).isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); + } else { + Preconditions.checkState(propertyType.isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); + } + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/DataToReferenceBuilder.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/DataToReferenceBuilder.java new file mode 100644 index 0000000..74e97a5 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/DataToReferenceBuilder.java @@ -0,0 +1,47 @@ +package fr.ird.observe.services.dto.reference.builder; + +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.DataReferenceSetDefinitions; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; + +import java.io.Serializable; +import java.util.Arrays; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataToReferenceBuilder<D extends DataDto> extends AbstractToReferenceBuilder<D, DataReference<D>> { + + public static <D extends DataDto> DataToReferenceBuilder<D> builder(DataReferenceSetDefinitions def, + ReferentialLocale referenceLocale) { + + ReferenceSetDefinition<D> definition = def.getDefinition(); + + DataToReferenceBuilder<D> referenceDtoBuilder = new DataToReferenceBuilder<>(); + + referenceDtoBuilder.definition = definition; + referenceDtoBuilder.referenceLocale = referenceLocale; + referenceDtoBuilder.propertyNames = Arrays.asList(definition.getPropertyNames()); + referenceDtoBuilder.propertyTypes = definition.getPropertyTypes(); + referenceDtoBuilder.propertyValues = new Serializable[referenceDtoBuilder.propertyTypes.length]; + + return referenceDtoBuilder; + + } + + @Override + public DataReference<D> build() { + + DataReference<D> reference = new DataReference<>(); + reference.init(definition.getType(), definition.getPropertyNames(), propertyTypes, propertyValues); + reference.setId(id); + + return reference; + + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/ReferentialToReferenceBuilder.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/ReferentialToReferenceBuilder.java new file mode 100644 index 0000000..f0cf6be --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/ReferentialToReferenceBuilder.java @@ -0,0 +1,97 @@ +package fr.ird.observe.services.dto.reference.builder; + +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; + +import java.io.Serializable; +import java.util.Arrays; +import java.util.Date; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialToReferenceBuilder<D extends ReferentialDto> extends AbstractToReferenceBuilder<D, ReferentialReference<D>> { + + protected Date lastUpdate; + + protected boolean needComment; + + protected boolean enabled; + + protected long version; + + public static <D extends ReferentialDto> ReferentialToReferenceBuilder<D> builder(ReferentialReferenceSetDefinitions def, + ReferentialLocale referenceLocale) { + + return builder(def.<D>getDefinition(), referenceLocale); + + } + + public static <D extends ReferentialDto> ReferentialToReferenceBuilder<D> builder(ReferenceSetDefinition<D> definition, + ReferentialLocale referenceLocale) { + + ReferentialToReferenceBuilder<D> referenceDtoBuilder = new ReferentialToReferenceBuilder<>(); + + referenceDtoBuilder.definition = definition; + referenceDtoBuilder.referenceLocale = referenceLocale; + referenceDtoBuilder.propertyNames = Arrays.asList(definition.getPropertyNames()); + referenceDtoBuilder.propertyTypes = definition.getPropertyTypes(); + referenceDtoBuilder.propertyValues = new Serializable[referenceDtoBuilder.propertyTypes.length]; + + return referenceDtoBuilder; + + } + + public ReferentialToReferenceBuilder<D> setLastUpdate(Date lastUpdate) { + this.lastUpdate = lastUpdate; + return this; + } + + public ReferentialToReferenceBuilder<D> setNeedComment(boolean needComment) { + this.needComment = needComment; + return this; + } + + public ReferentialToReferenceBuilder<D> setEnabled(boolean enabled) { + this.enabled = enabled; + return this; + } + + public ReferentialToReferenceBuilder<D> setVersion(long version) { + this.version = version; + return this; + } + + public ReferentialReference<D> build() { + + ReferentialReference<D> reference = new ReferentialReference<>(); + reference.init(definition.getType(), definition.getPropertyNames(), propertyTypes, propertyValues); + reference.setId(id); + reference.setLastUpdate(lastUpdate); + reference.setEnabled(enabled); + reference.setNeedComment(needComment); + reference.setVersion(version); + + reset(); + + return reference; + + } + + protected void reset() { + + id = null; + lastUpdate = null; + enabled = false; + needComment = false; + version = 0; + Arrays.fill(propertyValues, null); + + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinition.java deleted file mode 100644 index d3aa77c..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinition.java +++ /dev/null @@ -1,53 +0,0 @@ -package fr.ird.observe.services.dto.reference.definition; - -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.IdDto; - -import java.io.Serializable; - -/** - * Pour définir une demande de récupération d'ensemble de références. - * - * Created on 11/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReferenceSetRequestDefinition implements Serializable { - - private static final long serialVersionUID = 1L; - - private final ImmutableSet<ObserveReferenceSetRequestKeyDefinition> keys; - - public static <D extends IdDto> Builder<D> builder(Class<D> type) { - return new Builder<>(type); - } - - public ObserveReferenceSetRequestDefinition(ImmutableSet<ObserveReferenceSetRequestKeyDefinition> keys) { - this.keys = keys; - } - - public ImmutableSet<ObserveReferenceSetRequestKeyDefinition> getKeys() { - return keys; - } - - public static class Builder<D extends IdDto> { - - private final Class<D> parentType; - - private final ImmutableSet.Builder<ObserveReferenceSetRequestKeyDefinition> keysBuilder; - - public Builder(Class<D> parentType) { - this.parentType = parentType; - this.keysBuilder = ImmutableSet.builder(); - } - - public Builder<D> addKey(String name, ObserveReferenceSetDefinitions propertyDefinition) { - keysBuilder.add(new ObserveReferenceSetRequestKeyDefinition<>(parentType, propertyDefinition.getDefinition(), name)); - return this; - } - - public ObserveReferenceSetRequestDefinition build() { - return new ObserveReferenceSetRequestDefinition(keysBuilder.build()); - } - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java deleted file mode 100644 index 3bcb184..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestDefinitions.java +++ /dev/null @@ -1,391 +0,0 @@ -package fr.ird.observe.services.dto.reference.definition; - -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.longline.ActivityLonglineDto; -import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; -import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; -import fr.ird.observe.services.dto.longline.BaitsCompositionDto; -import fr.ird.observe.services.dto.longline.BranchlineDto; -import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; -import fr.ird.observe.services.dto.longline.CatchLonglineDto; -import fr.ird.observe.services.dto.longline.EncounterDto; -import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; -import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; -import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; -import fr.ird.observe.services.dto.longline.HooksCompositionDto; -import fr.ird.observe.services.dto.longline.SensorUsedDto; -import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; -import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; -import fr.ird.observe.services.dto.longline.SetLonglineDto; -import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; -import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; -import fr.ird.observe.services.dto.longline.SizeMeasureDto; -import fr.ird.observe.services.dto.longline.TdrDto; -import fr.ird.observe.services.dto.longline.TripLonglineDto; -import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; -import fr.ird.observe.services.dto.longline.WeightMeasureDto; -import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.HarbourDto; -import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; -import fr.ird.observe.services.dto.referential.OrganismDto; -import fr.ird.observe.services.dto.referential.PersonDto; -import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.referential.SpeciesListDto; -import fr.ird.observe.services.dto.referential.VesselDto; -import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; -import fr.ird.observe.services.dto.seine.ActivitySeineDto; -import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; -import fr.ird.observe.services.dto.seine.FloatingObjectDto; -import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; -import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; -import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; -import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; -import fr.ird.observe.services.dto.seine.NonTargetCatchDto; -import fr.ird.observe.services.dto.seine.NonTargetLengthDto; -import fr.ird.observe.services.dto.seine.NonTargetSampleDto; -import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; -import fr.ird.observe.services.dto.seine.SchoolEstimateDto; -import fr.ird.observe.services.dto.seine.SetSeineDto; -import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; -import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; -import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; -import fr.ird.observe.services.dto.seine.TargetCatchDto; -import fr.ird.observe.services.dto.seine.TargetLengthDto; -import fr.ird.observe.services.dto.seine.TargetSampleDto; -import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; -import fr.ird.observe.services.dto.seine.TripSeineDto; -import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; - -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_HAULING_STATUS; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_SETTING_STATUS; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BAIT_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BASKET; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.BRANCHLINE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.CATCH_FATE_LONGLINE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.COUNTRY; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.DETECTION_MODE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ENCOUNTER_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.FPA_ZONE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.GEAR_CARACTERISTIC_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HARBOUR; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HEALTHNESS; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_POSITION; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_SIZE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.HOOK_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ITEM_HORIZONTAL_POSITION; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ITEM_VERTICAL_POSITION; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LIGHTSTICKS_COLOR; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LIGHTSTICKS_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.LINE_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.MATURITY_STATUS; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.MITIGATION_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_FATE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_OPERATION; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBJECT_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OBSERVED_SYSTEM; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.OCEAN; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.ORGANISM; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.PERSON; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.PROGRAM; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_DISCARD; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_NO_FISHING; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.REASON_FOR_NULL_SET; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SECTION; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SENSOR_BRAND; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SENSOR_DATA_FORMAT; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SENSOR_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SETTING_SHAPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SEX; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SIZE_MEASURE_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES_FATE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES_GROUP; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SPECIES_STATUS; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.STOMAC_FULLNESS; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.SURROUNDING_ACTIVITY; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.TRANSMITTING_BUOY_OPERATION; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.TRANSMITTING_BUOY_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.TRIP_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_LONGLINE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_ACTIVITY_SEINE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_SIZE_CATEGORY; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.VESSEL_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.WEIGHT_CATEGORY; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.WEIGHT_MEASURE_TYPE; -import static fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinitions.WIND; - -/** - * Contient les définitions de tous les requêtes que les services proposent. - * - * Created on 11/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public enum ObserveReferenceSetRequestDefinitions { - - // LONGLINE DATA - - TRIP_LONGLINE_FORM(newBuilder(TripLonglineDto.class) - .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, TRIP_TYPE) - .addKey(TripLonglineDto.PROPERTY_OBSERVER, PERSON) - .addKey(TripLonglineDto.PROPERTY_VESSEL, VESSEL) - .addKey(TripLonglineDto.PROPERTY_CAPTAIN, PERSON) - .addKey(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) - .addKey(TripLonglineDto.PROPERTY_PROGRAM, PROGRAM) - .addKey(TripLonglineDto.PROPERTY_OCEAN, OCEAN) - .addKey(TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) - .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) - ), - - TRIP_LONGLINE_GEAR_USE_FORM(newBuilder(TripLonglineGearUseDto.class) - .addKey(GearUseFeaturesLonglineDto.PROPERTY_GEAR, GEAR) - .addKey(GearUseFeaturesMeasurementLonglineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC) - ), - - ACTIVITY_LONGLINE_FORM(newBuilder(ActivityLonglineDto.class) - .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, FPA_ZONE) - .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, VESSEL_ACTIVITY_LONGLINE) - ), - - ACTIVITY_LONGLINE_SENSOR_USED_FORM(newBuilder(ActivityLonglineSensorUsedDto.class) - .addKey(SensorUsedDto.PROPERTY_SENSOR_TYPE, SENSOR_TYPE) - .addKey(SensorUsedDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) - .addKey(SensorUsedDto.PROPERTY_SENSOR_DATA_FORMAT, SENSOR_DATA_FORMAT) - ), - - ACTIVITY_LONGLINE_ENCOUTER_FORM(newBuilder(ActivityLonglineEncouterDto.class) - .addKey(EncounterDto.PROPERTY_ENCOUNTER_TYPE, ENCOUNTER_TYPE) - .addKey(EncounterDto.PROPERTY_SPECIES, SPECIES) - ), - - BRANCHLINE_FORM(newBuilder(BranchlineDto.class) - .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) - .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) - .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) - .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) - .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) - .addKey(BranchlineDto.PROPERTY_TOP_TYPE, LINE_TYPE) - .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, BAIT_TYPE) - ), - - SET_LONGLINE_GLOBAL_COMPOSITION_FORM(newBuilder(SetLonglineGlobalCompositionDto.class) - .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, MITIGATION_TYPE) - .addKey(FloatlinesCompositionDto.PROPERTY_LINE_TYPE, LINE_TYPE) - .addKey(BranchlinesCompositionDto.PROPERTY_TOP_TYPE, LINE_TYPE) - .addKey(BranchlinesCompositionDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) - .addKey(HooksCompositionDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) - .addKey(HooksCompositionDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) - .addKey(BaitsCompositionDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) - .addKey(BaitsCompositionDto.PROPERTY_BAIT_TYPE, BAIT_TYPE) - ), - - SET_LONGLINE_DETAIL_COMPOSITION_FORM(newBuilder(SetLonglineDetailCompositionDto.class) - .addKey(BranchlineDto.PROPERTY_TOP_TYPE, LINE_TYPE) - .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) - .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) - .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) - .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, BAIT_TYPE) - .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) - .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) - ), - - SET_LONGLINE_FORM(newBuilder(SetLonglineDto.class) - .addKey(SetLonglineDto.PROPERTY_SETTING_SHAPE, SETTING_SHAPE) - .addKey(SetLonglineDto.PROPERTY_LINE_TYPE, LINE_TYPE) - .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, LIGHTSTICKS_TYPE) - .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, LIGHTSTICKS_COLOR) - ), - - SET_LONGLINE_CATCH_FORM(newBuilder(SetLonglineCatchDto.class) - .addKey(CatchLonglineDto.PROPERTY_SPECIES_CATCH, SPECIES) - .addKey(CatchLonglineDto.PROPERTY_CATCH_HEALTHNESS, HEALTHNESS) - .addKey(CatchLonglineDto.PROPERTY_HOOK_POSITION, HOOK_POSITION) - .addKey(CatchLonglineDto.PROPERTY_CATCH_FATE_LONGLINE, CATCH_FATE_LONGLINE) - .addKey(CatchLonglineDto.PROPERTY_DISCARD_HEALTHNESS, HEALTHNESS) - .addKey(CatchLonglineDto.PROPERTY_PREDATOR, SPECIES) - .addKey(CatchLonglineDto.PROPERTY_STOMAC_FULLNESS, STOMAC_FULLNESS) - .addKey(CatchLonglineDto.PROPERTY_SEX, SEX) - .addKey(CatchLonglineDto.PROPERTY_MATURITY_STATUS, MATURITY_STATUS) - .addKey(SizeMeasureDto.PROPERTY_SIZE_MEASURE_TYPE, SIZE_MEASURE_TYPE) - .addKey(WeightMeasureDto.PROPERTY_WEIGHT_MEASURE_TYPE, WEIGHT_MEASURE_TYPE) - .addKey(CatchLonglineDto.PROPERTY_SECTION, SECTION) - .addKey(CatchLonglineDto.PROPERTY_BASKET, BASKET) - .addKey(CatchLonglineDto.PROPERTY_BRANCHLINE, BRANCHLINE) - .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) - ), - - SET_LONGLINE_TDR_FORM(newBuilder(SetLonglineTdrDto.class) - .addKey(TdrDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) - .addKey(TdrDto.PROPERTY_ITEM_HORIZONTAL_POSITION, ITEM_HORIZONTAL_POSITION) - .addKey(TdrDto.PROPERTY_ITEM_VERTICAL_POSITION, ITEM_VERTICAL_POSITION) - .addKey(TdrDto.PROPERTY_SPECIES, SPECIES) - .addKey(TdrDto.PROPERTY_SECTION, SECTION) - .addKey(TdrDto.PROPERTY_BASKET, BASKET) - .addKey(TdrDto.PROPERTY_BRANCHLINE, BRANCHLINE) - ), - - // SEINE DATA - - TRIP_SEINE_FORM(newBuilder(TripSeineDto.class) - .addKey(TripSeineDto.PROPERTY_OBSERVER, PERSON) - .addKey(TripSeineDto.PROPERTY_CAPTAIN, PERSON) - .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) - .addKey(TripSeineDto.PROPERTY_VESSEL, VESSEL) - .addKey(TripSeineDto.PROPERTY_OCEAN, OCEAN) - .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) - .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) - .addKey(TripSeineDto.PROPERTY_PROGRAM, PROGRAM) - ), - - TRIP_SEINE_GEAR_USE_FORM(newBuilder(TripSeineGearUseDto.class) - .addKey(GearUseFeaturesSeineDto.PROPERTY_GEAR, GEAR) - .addKey(GearUseFeaturesMeasurementSeineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC) - ), - - ACTIVITY_SEINE_FORM(newBuilder(ActivitySeineDto.class) - .addKey(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, VESSEL_ACTIVITY_SEINE) - .addKey(ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, SURROUNDING_ACTIVITY) - .addKey(ActivitySeineDto.PROPERTY_WIND, WIND) - .addKey(ActivitySeineDto.PROPERTY_DETECTION_MODE, DETECTION_MODE) - .addKey(ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING, REASON_FOR_NO_FISHING) - .addKey(ActivitySeineDto.PROPERTY_PREVIOUS_FPA_ZONE, FPA_ZONE) - .addKey(ActivitySeineDto.PROPERTY_CURRENT_FPA_ZONE, FPA_ZONE) - .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, FPA_ZONE) - ), - - ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM(newBuilder(ActivitySeineObservedSystemDto.class) - .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, OBSERVED_SYSTEM) - ), - - SET_SEINE_FORM(newBuilder(SetSeineDto.class) - .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, REASON_FOR_NULL_SET) - ), - - SET_SEINE_SCHOOL_ESTIMATE_FORM(newBuilder(SetSeineSchoolEstimateDto.class) - .addKey(SchoolEstimateDto.PROPERTY_SPECIES, SPECIES) - ), - - SET_SEINE_TARGET_CATCH_FORM(newBuilder(SetSeineTargetCatchDto.class) - .addKey(TargetCatchDto.PROPERTY_SPECIES, SPECIES) - .addKey(TargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD) - .addKey(TargetCatchDto.PROPERTY_WEIGHT_CATEGORY, WEIGHT_CATEGORY) - ), - - SET_SEINE_NON_TARGET_CATCH_FORM(newBuilder(SetSeineNonTargetCatchDto.class) - .addKey(NonTargetCatchDto.PROPERTY_SPECIES, SPECIES) - .addKey(NonTargetCatchDto.PROPERTY_SPECIES_FATE, SPECIES_FATE) - .addKey(NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD) - ), - - TARGET_SAMPLE_FORM(newBuilder(TargetSampleDto.class) - .addKey(TargetLengthDto.PROPERTY_SPECIES, SPECIES) - ), - - NON_TARGET_SAMPLE_FORM(newBuilder(NonTargetSampleDto.class) - .addKey(NonTargetLengthDto.PROPERTY_SPECIES, SPECIES) - .addKey(NonTargetLengthDto.PROPERTY_SEX, SEX) - ), - - FLOATING_OBJECT_FORM(newBuilder(FloatingObjectDto.class) - .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, OBJECT_TYPE) - .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, OBJECT_OPERATION) - .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, OBJECT_FATE) - ), - - FLOATING_OBJECT_OBSERVED_SPECIES_FORM(newBuilder(FloatingObjectObservedSpeciesDto.class) - .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES) - .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES_STATUS, SPECIES_STATUS) - ), - - FLOATING_OBJECT_SCHOOL_ESTIMATE_FORM(newBuilder(SchoolEstimateDto.class) - .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES) - ), - - FLOATING_OBJECT_TRANSMITTING_BUOY_FORM(newBuilder(FloatingObjectTransmittingBuoyDto.class) - .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_OPERATION, TRANSMITTING_BUOY_OPERATION) - .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_TYPE, TRANSMITTING_BUOY_TYPE) - .addKey(TransmittingBuoyDto.PROPERTY_COUNTRY, COUNTRY) - ), - - // REFERENTIAL - - GEAR_CARACTERISTIC_FORM(newBuilder(GearCaracteristicDto.class) - .addKey(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, GEAR_CARACTERISTIC_TYPE) - ), - - GEAR_FORM(newBuilder(GearDto.class) - .addKey(GearDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC) - ), - - HARBOUR_FORM(newBuilder(HarbourDto.class) - .addKey(HarbourDto.PROPERTY_COUNTRY, COUNTRY) - ), - - LENGTH_WEIGHT_PARAMETER_FORM(newBuilder(LengthWeightParameterDto.class) - .addKey(LengthWeightParameterDto.PROPERTY_SPECIES, SPECIES) - .addKey(LengthWeightParameterDto.PROPERTY_OCEAN, OCEAN) - .addKey(LengthWeightParameterDto.PROPERTY_SEX, SEX) - ), - - ORGANISM_FORM(newBuilder(OrganismDto.class) - .addKey(OrganismDto.PROPERTY_COUNTRY, COUNTRY) - ), - - PERSON_FORM(newBuilder(PersonDto.class) - .addKey(PersonDto.PROPERTY_COUNTRY, COUNTRY) - ), - - PROGRAM_FORM(newBuilder(ProgramDto.class) - .addKey(ProgramDto.PROPERTY_ORGANISM, ORGANISM) - ), - - SPECIES_FORM(newBuilder(SpeciesDto.class) - .addKey(SpeciesDto.PROPERTY_OCEAN, OCEAN) - .addKey(SpeciesDto.PROPERTY_SPECIES_GROUP, SPECIES_GROUP) - ), - - SPECIES_LIST_FORM(newBuilder(SpeciesListDto.class) - .addKey(SpeciesListDto.PROPERTY_SPECIES, SPECIES) - ), - - VESSEL_FORM(newBuilder(VesselDto.class) - .addKey(VesselDto.PROPERTY_FLAG_COUNTRY, COUNTRY) - .addKey(VesselDto.PROPERTY_VESSEL_TYPE, VESSEL_TYPE) - .addKey(VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, VESSEL_SIZE_CATEGORY) - ), - - WEIGHT_CATEGORY_FORM(newBuilder(WeightCategoryDto.class) - .addKey(WeightCategoryDto.PROPERTY_SPECIES, SPECIES) - ); - - public final ObserveReferenceSetRequestDefinition definition; - - public static <D extends IdDto> ObserveReferenceSetRequestDefinition.Builder<D> newBuilder(Class<D> parentType) { - return new ObserveReferenceSetRequestDefinition.Builder<>(parentType); - } - - ObserveReferenceSetRequestDefinitions(ObserveReferenceSetRequestDefinition.Builder definitionBuilder) { - this.definition = definitionBuilder.build(); - } - - public ObserveReferenceSetRequestDefinition getDefinition() { - return definition; - } - - public static ObserveReferenceSetRequestDefinition get(String definitionName) { - - ObserveReferenceSetRequestDefinitions requestDefinitions = valueOf(definitionName); - if (requestDefinitions == null) { - throw new IllegalArgumentException("No definition with name " + definitionName + "registred"); - } - - return requestDefinitions.getDefinition(); - - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java new file mode 100644 index 0000000..32796d3 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java @@ -0,0 +1,87 @@ +package fr.ird.observe.services.dto.reference.request; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions; +import fr.ird.observe.services.dto.referential.ReferentialDto; + +import java.io.Serializable; + +/** + * Pour définir une demande de récupération d'ensemble de références. + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceSetRequestDefinition implements Serializable { + + private static final long serialVersionUID = 1L; + + private final ImmutableSet<ReferenceSetDefinition<? extends DataDto>> dataReferenceSetDefinitions; + + private final ImmutableSet<ReferenceSetRequestKeyDefinition<?>> propertyDefinitions; + + private final ImmutableSet<ReferenceSetDefinition<? extends ReferentialDto>> referentialReferenceSetDefinitions; + + public static Builder builder() { + return new Builder(); + } + + public ReferenceSetRequestDefinition(ImmutableSet<ReferenceSetRequestKeyDefinition<?>> propertyDefinitions, ImmutableSet<ReferenceSetDefinition<? extends ReferentialDto>> referentialReferenceSetDefinitions, + ImmutableSet<ReferenceSetDefinition<? extends DataDto>> dataReferenceSetDefinitions) { + this.propertyDefinitions = propertyDefinitions; + this.referentialReferenceSetDefinitions = referentialReferenceSetDefinitions; + this.dataReferenceSetDefinitions = dataReferenceSetDefinitions; + } + + public ImmutableSet<ReferenceSetDefinition<? extends ReferentialDto>> getReferentialReferenceSetDefinitions() { + return referentialReferenceSetDefinitions; + } + + public ImmutableSet<ReferenceSetDefinition<? extends DataDto>> getDataReferenceSetDefinitions() { + return dataReferenceSetDefinitions; + } + + public ImmutableSet<ReferenceSetRequestKeyDefinition<?>> getPropertyDefinitions() { + return propertyDefinitions; + } + + public static class Builder { + + private final ImmutableSet.Builder<ReferenceSetRequestKeyDefinition<?>> propertiesBuilder; + + private final ImmutableSet.Builder<ReferenceSetDefinition<? extends ReferentialDto>> referentialSetsBuilder; + + private final ImmutableSet.Builder<ReferenceSetDefinition<? extends DataDto>> dataSetsBuilder; + + public Builder() { + this.propertiesBuilder = ImmutableSet.builder(); + this.referentialSetsBuilder = ImmutableSet.builder(); + this.dataSetsBuilder = ImmutableSet.builder(); + } + + public Builder addKey(String name, ReferentialReferenceSetDefinitions propertyDefinition) { + ReferenceSetDefinition definition = propertyDefinition.getDefinition(); + addKey(name, definition); + return this; + } + + public ReferenceSetRequestDefinition build() { + return new ReferenceSetRequestDefinition(propertiesBuilder.build(), referentialSetsBuilder.build(), dataSetsBuilder.build()); + } + + protected <D extends IdDto> void addKey(String name, ReferenceSetDefinition<D> definition) { + ReferenceSetRequestKeyDefinition<D> propertyDefinition = new ReferenceSetRequestKeyDefinition<>(definition, name); + propertiesBuilder.add(propertyDefinition); + if (ReferentialDto.class.isAssignableFrom(definition.getType())) { + referentialSetsBuilder.add((ReferenceSetDefinition) definition); + + } else { + dataSetsBuilder.add((ReferenceSetDefinition) definition); + } + } + } +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java new file mode 100644 index 0000000..6d9158d --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java @@ -0,0 +1,371 @@ +package fr.ird.observe.services.dto.reference.request; + +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; +import fr.ird.observe.services.dto.longline.BaitsCompositionDto; +import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.longline.EncounterDto; +import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; +import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; +import fr.ird.observe.services.dto.longline.HooksCompositionDto; +import fr.ird.observe.services.dto.longline.SensorUsedDto; +import fr.ird.observe.services.dto.longline.SetLonglineDto; +import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; +import fr.ird.observe.services.dto.longline.SizeMeasureDto; +import fr.ird.observe.services.dto.longline.TdrDto; +import fr.ird.observe.services.dto.longline.TripLonglineDto; +import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.HarbourDto; +import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OrganismDto; +import fr.ird.observe.services.dto.referential.PersonDto; +import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesListDto; +import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; +import fr.ird.observe.services.dto.seine.FloatingObjectDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; +import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; +import fr.ird.observe.services.dto.seine.NonTargetCatchDto; +import fr.ird.observe.services.dto.seine.NonTargetLengthDto; +import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; +import fr.ird.observe.services.dto.seine.SchoolEstimateDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; +import fr.ird.observe.services.dto.seine.TargetCatchDto; +import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; +import fr.ird.observe.services.dto.seine.TripSeineDto; + +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.BAIT_HAULING_STATUS; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.BAIT_SETTING_STATUS; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.BAIT_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.CATCH_FATE_LONGLINE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.COUNTRY; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.DETECTION_MODE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.ENCOUNTER_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.FPA_ZONE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.GEAR; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.GEAR_CARACTERISTIC; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.GEAR_CARACTERISTIC_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.HARBOUR; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.HEALTHNESS; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.HOOK_POSITION; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.HOOK_SIZE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.HOOK_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.ITEM_HORIZONTAL_POSITION; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.ITEM_VERTICAL_POSITION; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LIGHTSTICKS_COLOR; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LIGHTSTICKS_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LINE_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.MATURITY_STATUS; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.MITIGATION_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.OBJECT_FATE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.OBJECT_OPERATION; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.OBJECT_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.OBSERVED_SYSTEM; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.OCEAN; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.ORGANISM; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.PERSON; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.PROGRAM; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.REASON_FOR_DISCARD; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.REASON_FOR_NO_FISHING; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.REASON_FOR_NULL_SET; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SENSOR_BRAND; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SENSOR_DATA_FORMAT; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SENSOR_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SETTING_SHAPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SEX; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SIZE_MEASURE_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_FATE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_GROUP; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_STATUS; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.STOMAC_FULLNESS; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SURROUNDING_ACTIVITY; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.TRANSMITTING_BUOY_OPERATION; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.TRANSMITTING_BUOY_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.TRIP_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.VESSEL; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.VESSEL_ACTIVITY_LONGLINE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.VESSEL_ACTIVITY_SEINE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.VESSEL_SIZE_CATEGORY; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.VESSEL_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.WEIGHT_CATEGORY; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.WEIGHT_MEASURE_TYPE; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.WIND; + +/** + * //FIXME Renommer et spliter car il s'agit aussi de définition + * Contient les définitions de tous les requêtes que les services proposent. + * + * Pour chaque type qui correspond à un formulaire, on décrit ici que les référentiels à utiliser, pour les données + * métier, on gère ça à la main (peu de cas au final). + * + * Created on 11/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum ReferenceSetRequestDefinitions { + + // LONGLINE DATA + + TRIP_LONGLINE_FORM( + newBuilder() + .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, TRIP_TYPE) + .addKey(TripLonglineDto.PROPERTY_OBSERVER, PERSON) + .addKey(TripLonglineDto.PROPERTY_VESSEL, VESSEL) + .addKey(TripLonglineDto.PROPERTY_CAPTAIN, PERSON) + .addKey(TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) + .addKey(TripLonglineDto.PROPERTY_PROGRAM, PROGRAM) + .addKey(TripLonglineDto.PROPERTY_OCEAN, OCEAN) + .addKey(TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) + .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, HARBOUR)), + + TRIP_LONGLINE_GEAR_USE_FORM( + newBuilder() + .addKey(GearUseFeaturesLonglineDto.PROPERTY_GEAR, GEAR) + .addKey(GearUseFeaturesMeasurementLonglineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC)), + + ACTIVITY_LONGLINE_FORM( + newBuilder() + .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, FPA_ZONE) + .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, VESSEL_ACTIVITY_LONGLINE)), + + ACTIVITY_LONGLINE_SENSOR_USED_FORM( + newBuilder() + .addKey(SensorUsedDto.PROPERTY_SENSOR_TYPE, SENSOR_TYPE) + .addKey(SensorUsedDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) + .addKey(SensorUsedDto.PROPERTY_SENSOR_DATA_FORMAT, SENSOR_DATA_FORMAT)), + + ACTIVITY_LONGLINE_ENCOUTER_FORM( + newBuilder() + .addKey(EncounterDto.PROPERTY_ENCOUNTER_TYPE, ENCOUNTER_TYPE) + .addKey(EncounterDto.PROPERTY_SPECIES, SPECIES)), + + BRANCHLINE_FORM( + newBuilder() + .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) + .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) + .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) + .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) + .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_TOP_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, BAIT_TYPE)), + + SET_LONGLINE_GLOBAL_COMPOSITION_FORM( + newBuilder() + .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, MITIGATION_TYPE) + .addKey(FloatlinesCompositionDto.PROPERTY_LINE_TYPE, LINE_TYPE) + .addKey(BranchlinesCompositionDto.PROPERTY_TOP_TYPE, LINE_TYPE) + .addKey(BranchlinesCompositionDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) + .addKey(HooksCompositionDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) + .addKey(HooksCompositionDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) + .addKey(BaitsCompositionDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) + .addKey(BaitsCompositionDto.PROPERTY_BAIT_TYPE, BAIT_TYPE)), + + SET_LONGLINE_DETAIL_COMPOSITION_FORM( + newBuilder() + .addKey(BranchlineDto.PROPERTY_TOP_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) + .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) + .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) + .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, BAIT_TYPE) + .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) + .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS)), + + SET_LONGLINE_FORM( + newBuilder() + .addKey(SetLonglineDto.PROPERTY_SETTING_SHAPE, SETTING_SHAPE) + .addKey(SetLonglineDto.PROPERTY_LINE_TYPE, LINE_TYPE) + .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, LIGHTSTICKS_TYPE) + .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, LIGHTSTICKS_COLOR)), + + SET_LONGLINE_CATCH_FORM( + newBuilder() + .addKey(CatchLonglineDto.PROPERTY_SPECIES_CATCH, SPECIES) + .addKey(CatchLonglineDto.PROPERTY_CATCH_HEALTHNESS, HEALTHNESS) + .addKey(CatchLonglineDto.PROPERTY_HOOK_POSITION, HOOK_POSITION) + .addKey(CatchLonglineDto.PROPERTY_CATCH_FATE_LONGLINE, CATCH_FATE_LONGLINE) + .addKey(CatchLonglineDto.PROPERTY_DISCARD_HEALTHNESS, HEALTHNESS) + .addKey(CatchLonglineDto.PROPERTY_PREDATOR, SPECIES) + .addKey(CatchLonglineDto.PROPERTY_STOMAC_FULLNESS, STOMAC_FULLNESS) + .addKey(CatchLonglineDto.PROPERTY_SEX, SEX) + .addKey(CatchLonglineDto.PROPERTY_MATURITY_STATUS, MATURITY_STATUS) + .addKey(SizeMeasureDto.PROPERTY_SIZE_MEASURE_TYPE, SIZE_MEASURE_TYPE) + .addKey(WeightMeasureDto.PROPERTY_WEIGHT_MEASURE_TYPE, WEIGHT_MEASURE_TYPE) + .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS)), + + SET_LONGLINE_TDR_FORM( + newBuilder() + .addKey(TdrDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) + .addKey(TdrDto.PROPERTY_ITEM_HORIZONTAL_POSITION, ITEM_HORIZONTAL_POSITION) + .addKey(TdrDto.PROPERTY_ITEM_VERTICAL_POSITION, ITEM_VERTICAL_POSITION) + .addKey(TdrDto.PROPERTY_SPECIES, SPECIES)), + + // SEINE DATA + + TRIP_SEINE_FORM( + newBuilder() + .addKey(TripSeineDto.PROPERTY_OBSERVER, PERSON) + .addKey(TripSeineDto.PROPERTY_CAPTAIN, PERSON) + .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) + .addKey(TripSeineDto.PROPERTY_VESSEL, VESSEL) + .addKey(TripSeineDto.PROPERTY_OCEAN, OCEAN) + .addKey(TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, HARBOUR) + .addKey(TripSeineDto.PROPERTY_LANDING_HARBOUR, HARBOUR) + .addKey(TripSeineDto.PROPERTY_PROGRAM, PROGRAM)), + + TRIP_SEINE_GEAR_USE_FORM( + newBuilder() + .addKey(GearUseFeaturesSeineDto.PROPERTY_GEAR, GEAR) + .addKey(GearUseFeaturesMeasurementSeineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC)), + + ACTIVITY_SEINE_FORM( + newBuilder() + .addKey(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, VESSEL_ACTIVITY_SEINE) + .addKey(ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, SURROUNDING_ACTIVITY) + .addKey(ActivitySeineDto.PROPERTY_WIND, WIND) + .addKey(ActivitySeineDto.PROPERTY_DETECTION_MODE, DETECTION_MODE) + .addKey(ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING, REASON_FOR_NO_FISHING) + .addKey(ActivitySeineDto.PROPERTY_PREVIOUS_FPA_ZONE, FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_CURRENT_FPA_ZONE, FPA_ZONE) + .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, FPA_ZONE)), + + ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM( + newBuilder() + .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, OBSERVED_SYSTEM)), + + SET_SEINE_FORM( + newBuilder() + .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, REASON_FOR_NULL_SET)), + + SET_SEINE_SCHOOL_ESTIMATE_FORM( + newBuilder() + .addKey(SchoolEstimateDto.PROPERTY_SPECIES, SPECIES)), + + SET_SEINE_TARGET_CATCH_FORM( + newBuilder() + .addKey(TargetCatchDto.PROPERTY_SPECIES, SPECIES) + .addKey(TargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD) + .addKey(TargetCatchDto.PROPERTY_WEIGHT_CATEGORY, WEIGHT_CATEGORY)), + + SET_SEINE_NON_TARGET_CATCH_FORM( + newBuilder() + .addKey(NonTargetCatchDto.PROPERTY_SPECIES, SPECIES) + .addKey(NonTargetCatchDto.PROPERTY_SPECIES_FATE, SPECIES_FATE) + .addKey(NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD)), + + TARGET_SAMPLE_FORM( + newBuilder() + .addKey(TargetLengthDto.PROPERTY_SPECIES, SPECIES)), + + NON_TARGET_SAMPLE_FORM( + newBuilder() + .addKey(NonTargetLengthDto.PROPERTY_SPECIES, SPECIES) + .addKey(NonTargetLengthDto.PROPERTY_SEX, SEX)), + + FLOATING_OBJECT_FORM( + newBuilder() + .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, OBJECT_TYPE) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, OBJECT_OPERATION) + .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, OBJECT_FATE)), + + FLOATING_OBJECT_OBSERVED_SPECIES_FORM( + newBuilder() + .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES) + .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES_STATUS, SPECIES_STATUS)), + + FLOATING_OBJECT_SCHOOL_ESTIMATE_FORM( + newBuilder() + .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES)), + + FLOATING_OBJECT_TRANSMITTING_BUOY_FORM( + newBuilder() + .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_OPERATION, TRANSMITTING_BUOY_OPERATION) + .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_TYPE, TRANSMITTING_BUOY_TYPE) + .addKey(TransmittingBuoyDto.PROPERTY_COUNTRY, COUNTRY)), + + // REFERENTIAL + + GEAR_CARACTERISTIC_FORM( + newBuilder() + .addKey(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, GEAR_CARACTERISTIC_TYPE)), + + GEAR_FORM( + newBuilder() + .addKey(GearDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC)), + + HARBOUR_FORM( + newBuilder() + .addKey(HarbourDto.PROPERTY_COUNTRY, COUNTRY)), + + LENGTH_WEIGHT_PARAMETER_FORM( + newBuilder() + .addKey(LengthWeightParameterDto.PROPERTY_SPECIES, SPECIES) + .addKey(LengthWeightParameterDto.PROPERTY_OCEAN, OCEAN) + .addKey(LengthWeightParameterDto.PROPERTY_SEX, SEX)), + + ORGANISM_FORM( + newBuilder() + .addKey(OrganismDto.PROPERTY_COUNTRY, COUNTRY)), + + PERSON_FORM( + newBuilder() + .addKey(PersonDto.PROPERTY_COUNTRY, COUNTRY)), + + PROGRAM_FORM( + newBuilder() + .addKey(ProgramDto.PROPERTY_ORGANISM, ORGANISM)), + + SPECIES_FORM( + newBuilder() + .addKey(SpeciesDto.PROPERTY_OCEAN, OCEAN) + .addKey(SpeciesDto.PROPERTY_SPECIES_GROUP, SPECIES_GROUP)), + + SPECIES_LIST_FORM( + newBuilder() + .addKey(SpeciesListDto.PROPERTY_SPECIES, SPECIES)), + + VESSEL_FORM( + newBuilder() + .addKey(VesselDto.PROPERTY_FLAG_COUNTRY, COUNTRY) + .addKey(VesselDto.PROPERTY_VESSEL_TYPE, VESSEL_TYPE) + .addKey(VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, VESSEL_SIZE_CATEGORY)), + + WEIGHT_CATEGORY_FORM( + newBuilder() + .addKey(WeightCategoryDto.PROPERTY_SPECIES, SPECIES)); + + private final ReferenceSetRequestDefinition definition; + + private static ReferenceSetRequestDefinition.Builder newBuilder() { + return new ReferenceSetRequestDefinition.Builder(); + } + + ReferenceSetRequestDefinitions(ReferenceSetRequestDefinition.Builder definitionBuilder) { + this.definition = definitionBuilder.build(); + } + + public ReferenceSetRequestDefinition getDefinition() { + return definition; + } + + public static ReferenceSetRequestDefinition get(String definitionName) { + + ReferenceSetRequestDefinitions requestDefinitions = valueOf(definitionName); + if (requestDefinitions == null) { + throw new IllegalArgumentException("No definition with name " + definitionName + "registred"); + } + + return requestDefinitions.getDefinition(); + + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestKeyDefinition.java similarity index 59% rename from observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java rename to observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestKeyDefinition.java index 5272c90..e4d4e1b 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/definition/ObserveReferenceSetRequestKeyDefinition.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestKeyDefinition.java @@ -1,7 +1,8 @@ -package fr.ird.observe.services.dto.reference.definition; +package fr.ird.observe.services.dto.reference.request; import com.google.common.base.MoreObjects; import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; import fr.ird.observe.services.dto.referential.ReferentialDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -15,29 +16,22 @@ import java.util.Objects; * * @author Tony Chemit - chemit@codelutin.com */ -public class ObserveReferenceSetRequestKeyDefinition<D extends IdDto> implements Serializable { +public class ReferenceSetRequestKeyDefinition<D extends IdDto> implements Serializable { private static final long serialVersionUID = 1L; /** Logger. */ - private static final Log log = LogFactory.getLog(ObserveReferenceSetRequestKeyDefinition.class); + private static final Log log = LogFactory.getLog(ReferenceSetRequestKeyDefinition.class); - private final Class<? extends IdDto> parentType; - - private final ObserveReferenceSetDefinition<D> referenceSetDefinition; + private final ReferenceSetDefinition<D> referenceSetDefinition; private final String name; - public ObserveReferenceSetRequestKeyDefinition(Class<? extends IdDto> parentType, ObserveReferenceSetDefinition<D> referenceSetDefinition, String name) { - this.parentType = parentType; + public ReferenceSetRequestKeyDefinition(ReferenceSetDefinition<D> referenceSetDefinition, String name) { this.referenceSetDefinition = referenceSetDefinition; this.name = name; } - public Class<? extends IdDto> getParentType() { - return parentType; - } - public Class<D> getType() { return referenceSetDefinition.getType(); } @@ -46,23 +40,22 @@ public class ObserveReferenceSetRequestKeyDefinition<D extends IdDto> implements return name; } - public ObserveReferenceSetDefinition<D> getDefinition() { + public ReferenceSetDefinition<D> getDefinition() { return referenceSetDefinition; } @Override public boolean equals(Object o) { if (this == o) return true; - if (!(o instanceof ObserveReferenceSetRequestKeyDefinition)) return false; - ObserveReferenceSetRequestKeyDefinition that = (ObserveReferenceSetRequestKeyDefinition) o; - return Objects.equals(parentType, that.parentType) && - Objects.equals(referenceSetDefinition.getType(), that.referenceSetDefinition.getType()) && + if (!(o instanceof ReferenceSetRequestKeyDefinition)) return false; + ReferenceSetRequestKeyDefinition that = (ReferenceSetRequestKeyDefinition) o; + return Objects.equals(referenceSetDefinition.getType(), that.referenceSetDefinition.getType()) && Objects.equals(name, that.name); } @Override public int hashCode() { - return Objects.hash(parentType, referenceSetDefinition.getType(), name); + return Objects.hash(referenceSetDefinition.getType(), name); } public boolean isReferential() { @@ -73,7 +66,6 @@ public class ObserveReferenceSetRequestKeyDefinition<D extends IdDto> implements @Override public String toString() { MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) - .add("parentType", parentType.getSimpleName()) .add("name", name) .add("type", referenceSetDefinition.getType().getSimpleName()); if (log.isDebugEnabled()) { diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/I18nReferentialDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/I18nReferentialDtos.java new file mode 100644 index 0000000..d8c5495 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/I18nReferentialDtos.java @@ -0,0 +1,42 @@ +package fr.ird.observe.services.dto.referential; + +public class I18nReferentialDtos extends AbstractI18nReferentialDtos { + + + public static <E extends I18nReferentialDto> String decorate(int referenceLocaleOrdinal, E i18nDto) { + + String result = null; + + switch (referenceLocaleOrdinal + 1) { + case 1: + result = i18nDto.getLabel1(); + break; + case 2: + result = i18nDto.getLabel2(); + break; + case 3: + result = i18nDto.getLabel3(); + break; + case 4: + result = i18nDto.getLabel4(); + break; + case 5: + result = i18nDto.getLabel5(); + break; + case 6: + result = i18nDto.getLabel6(); + break; + case 7: + result = i18nDto.getLabel7(); + break; + case 8: + result = i18nDto.getLabel8(); + break; + } + + return result; + + } + + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/PersonDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/PersonDtos.java index 4512497..9081309 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/PersonDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/PersonDtos.java @@ -6,40 +6,37 @@ import java.util.Objects; public class PersonDtos extends AbstractPersonDtos { - public static <BeanType extends PersonDto> Predicate<ReferentialReferenceDto<BeanType>> newCaptainReferencePredicate(boolean captain) { - final boolean $tmp = captain; - return new Predicate<ReferentialReferenceDto<BeanType>>() { + public static Predicate<ReferentialReference<PersonDto>> newCaptainReferencePredicate() { + return new Predicate<ReferentialReference<PersonDto>>() { @Override - public boolean apply(ReferentialReferenceDto<BeanType> input) { + public boolean apply(ReferentialReference<PersonDto> input) { return input.getPropertyNames().contains(PersonDto.PROPERTY_CAPTAIN) - && Objects.equals($tmp, input.getPropertyValue(PersonDto.PROPERTY_CAPTAIN)); + && Objects.equals(true, input.getPropertyValue(PersonDto.PROPERTY_CAPTAIN)); } }; } - public static <BeanType extends PersonDto> Predicate<ReferentialReferenceDto<BeanType>> newDataEntryOperatorReferencePredicate(boolean dataEntryOperator) { - final boolean $tmp = dataEntryOperator; - return new Predicate<ReferentialReferenceDto<BeanType>>() { + public static Predicate<ReferentialReference<PersonDto>> newDataEntryOperatorReferencePredicate() { + return new Predicate<ReferentialReference<PersonDto>>() { @Override - public boolean apply(ReferentialReferenceDto<BeanType> input) { + public boolean apply(ReferentialReference<PersonDto> input) { return input.getPropertyNames().contains(PersonDto.PROPERTY_DATA_ENTRY_OPERATOR) - && Objects.equals($tmp, input.getPropertyValue(PersonDto.PROPERTY_DATA_ENTRY_OPERATOR)); + && Objects.equals(true, input.getPropertyValue(PersonDto.PROPERTY_DATA_ENTRY_OPERATOR)); } }; } - public static <BeanType extends PersonDto> Predicate<ReferentialReferenceDto<BeanType>> newObserverReferencePredicate(boolean observer) { - final boolean $tmp = observer; - return new Predicate<ReferentialReferenceDto<BeanType>>() { + public static Predicate<ReferentialReference<PersonDto>> newObserverReferencePredicate() { + return new Predicate<ReferentialReference<PersonDto>>() { @Override - public boolean apply(ReferentialReferenceDto<BeanType> input) { + public boolean apply(ReferentialReference<PersonDto> input) { return input.getPropertyNames().contains(PersonDto.PROPERTY_OBSERVER) - && Objects.equals($tmp, input.getPropertyValue(PersonDto.PROPERTY_OBSERVER)); + && Objects.equals(true, input.getPropertyValue(PersonDto.PROPERTY_OBSERVER)); } }; @@ -49,8 +46,8 @@ public class PersonDtos extends AbstractPersonDtos { return person.getFirstName() + " " + person.getLastName(); } - public static String getNames(ReferentialReferenceDto<PersonDto> personrRef) { + public static String getNames(ReferentialReference<?> personrRef) { return personrRef.getPropertyValue(PersonDto.PROPERTY_FIRST_NAME) + " " + personrRef.getPropertyValue(PersonDto.PROPERTY_LAST_NAME); } -} //PersonDtos +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java index 547b27b..e651682 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ProgramDtos.java @@ -1,16 +1,10 @@ package fr.ird.observe.services.dto.referential; -import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; import fr.ird.observe.services.dto.constants.GearType; -import java.util.ArrayList; - public class ProgramDtos extends AbstractProgramDtos { -public static boolean isProgramLongline(ReferenceDto<ProgramDto> programDtoRef) { + public static boolean isProgramLongline(ReferentialReference<ProgramDto> programDtoRef) { boolean result = false; @@ -24,7 +18,7 @@ public static boolean isProgramLongline(ReferenceDto<ProgramDto> programDtoRef) return result; } - public static boolean isProgramSeine(ReferenceDto<ProgramDto> programDtoRef) { + public static boolean isProgramSeine(ReferentialReference<ProgramDto> programDtoRef) { boolean result = false; @@ -38,24 +32,8 @@ public static boolean isProgramLongline(ReferenceDto<ProgramDto> programDtoRef) return result; } - public static ReferenceDto<ProgramDto> newReferenceDto(ProgramDto programDto) { - ArrayList<String> propertyNames = Lists.newArrayList(ProgramDto.PROPERTY_LABEL1, - ProgramDto.PROPERTY_LABEL2, - ProgramDto.PROPERTY_LABEL3, - ProgramDto.PROPERTY_LABEL4, - ProgramDto.PROPERTY_LABEL5, - ProgramDto.PROPERTY_LABEL6, - ProgramDto.PROPERTY_LABEL7, - ProgramDto.PROPERTY_LABEL8, - ProgramDto.PROPERTY_LABEL, - ProgramDto.PROPERTY_GEAR_TYPE); - - ReferenceDto<ProgramDto> reference = ReferenceDtos.newReferenceDto(programDto, propertyNames); - return reference; - } - - public static Iterable<ReferenceDto<ProgramDto>> filterReferencesByGearType(Iterable<ReferenceDto<ProgramDto>> programs, GearType gearType) { - return Iterables.filter(programs, ReferenceDtos.newLabelValuePredicate(ProgramDto.PROPERTY_GEAR_TYPE, gearType)); - } +// public static Iterable<ReferenceDto<ProgramDto>> filterReferencesByGearType(Iterable<ReferenceDto<ProgramDto>> programs, GearType gearType) { +// return Iterables.filter(programs, ReferenceDtos.newLabelValuePredicate(ProgramDto.PROPERTY_GEAR_TYPE, gearType)); +// } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java index 063f2e7..446d59d 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDtos.java @@ -139,7 +139,7 @@ public class ReferentialDtos extends AbstractReferentialDtos { filterReferentielList(list, (Predicate<E>) IS_ACTIF_PREDICATE); } - public static <E extends ReferentialDto> void filterReferentialReferenceListByStatus(List<ReferentialReferenceDto<E>> list) { + public static <E extends ReferentialDto> void filterReferentialReferenceListByStatus(List<ReferentialReference<E>> list) { filterReferentialReferenceList(list, IS_REFERENCE_ACTIF_PREDICATE); } @@ -179,11 +179,11 @@ public class ReferentialDtos extends AbstractReferentialDtos { * @param <E> le type des entites du référentiel */ public static <E extends ReferentialDto> void filterReferentialReferenceList( - List<ReferentialReferenceDto<E>> list, - Predicate<ReferentialReferenceDto> predicate) { - Iterator<ReferentialReferenceDto<E>> itr = list.iterator(); + List<ReferentialReference<E>> list, + Predicate<ReferentialReference> predicate) { + Iterator<ReferentialReference<E>> itr = list.iterator(); while (itr.hasNext()) { - ReferentialReferenceDto<E> e = itr.next(); + ReferentialReference<E> e = itr.next(); if (!predicate.apply(e)) { // l'entite n'est pas retenue, on ne l'affiche pas @@ -205,11 +205,11 @@ public class ReferentialDtos extends AbstractReferentialDtos { } }; - public static final Predicate<ReferentialReferenceDto> IS_REFERENCE_ACTIF_PREDICATE = - new Predicate<ReferentialReferenceDto>() { + public static final Predicate<ReferentialReference> IS_REFERENCE_ACTIF_PREDICATE = + new Predicate<ReferentialReference>() { @Override - public boolean apply(ReferentialReferenceDto input) { + public boolean apply(ReferentialReference input) { return input.isEnabled(); } }; diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReference.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReference.java new file mode 100644 index 0000000..24b67df --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReference.java @@ -0,0 +1,93 @@ +package fr.ird.observe.services.dto.referential; + +import com.google.common.base.MoreObjects; +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.AbstractReference; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.util.Arrays; +import java.util.Date; + +/** + * Created on 21/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferentialReference<D extends ReferentialDto> extends AbstractReference<D> { + + public static final String PROPERTY_NEED_COMMENT = "needComment"; + + public static final String PROPERTY_ENABLED = "enabled"; + + public static final String PROPERTY_LAST_UPDATE = "lastUpdate"; + + public static final String PROPERTY_LABEL = "label"; + + public static final ImmutableSet<String> I18N_PROPERTY_NAMES = ImmutableSet.of( + I18nReferentialDto.PROPERTY_LABEL1, + I18nReferentialDto.PROPERTY_LABEL2, + I18nReferentialDto.PROPERTY_LABEL3, + I18nReferentialDto.PROPERTY_LABEL4, + I18nReferentialDto.PROPERTY_LABEL5, + I18nReferentialDto.PROPERTY_LABEL6, + I18nReferentialDto.PROPERTY_LABEL7, + I18nReferentialDto.PROPERTY_LABEL8 + ); + + private static final long serialVersionUID = 1L; + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialReference.class); + + protected boolean needComment; + + protected boolean enabled; + + protected Date lastUpdate; + + public boolean isNeedComment() { + return needComment; + } + + public void setNeedComment(boolean needComment) { + this.needComment = needComment; + } + + public boolean isEnabled() { + return enabled; + } + + public void setEnabled(boolean enabled) { + this.enabled = enabled; + } + + public Date getLastUpdate() { + return lastUpdate; + } + + public void setLastUpdate(Date lastUpdate) { + this.lastUpdate = lastUpdate; + } + + @Override + public String toString() { + MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) + .add(PROPERTY_TYPE, type.getSimpleName()) + .add(PROPERTY_ID, id); + + if (log.isDebugEnabled()) { + toStringHelper + .add(PROPERTY_ENABLED, enabled) + .add(PROPERTY_NEED_COMMENT, needComment) + .add(PROPERTY_CREATE_DATE, createDate) + .add(PROPERTY_LAST_UPDATE, lastUpdate) + .add(PROPERTY_VERSION, version) + .add(PROPERTY_LABEL_PROPERTY_VALUES, labelPropertyNames); + } + return toStringHelper + .add(PROPERTY_LABEL_PROPERTY_VALUES, Arrays.toString(labelPropertyValues)) + .toString(); + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java deleted file mode 100644 index 626d4bd..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDto.java +++ /dev/null @@ -1,120 +0,0 @@ -package fr.ird.observe.services.dto.referential; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.MoreObjects; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableList; -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import java.io.Serializable; -import java.util.Arrays; - -public class ReferentialReferenceDto<D extends ReferentialDto> extends AbstractReferentialReferenceDto { - - private static final long serialVersionUID = 1L; - - /** Logger. */ - private static final Log log = LogFactory.getLog(ReferentialReferenceDto.class); - - public static final String PROPERTY_LABEL = "label"; - - public static final ImmutableSet<String> I18N_PROPERTY_NAMES = ImmutableSet.of( - I18nReferentialDto.PROPERTY_LABEL1, - I18nReferentialDto.PROPERTY_LABEL2, - I18nReferentialDto.PROPERTY_LABEL3, - I18nReferentialDto.PROPERTY_LABEL4, - I18nReferentialDto.PROPERTY_LABEL5, - I18nReferentialDto.PROPERTY_LABEL6, - I18nReferentialDto.PROPERTY_LABEL7, - I18nReferentialDto.PROPERTY_LABEL8 - ); - - @Override - public Class<D> getType() { - return super.getType(); - } - - @Override - public void init(Class type, String[] labelPropertyNames, Class[] labelPropertyTypes, Serializable... labelPropertyValues) { - - super.init(type, labelPropertyNames, labelPropertyTypes, labelPropertyValues); - } - - public void setPropertyValue(ReferentialLocale referentialLocale, String propertyName, Serializable propertyValue) { - Preconditions.checkNotNull(referentialLocale, "referentialLocale parameter can't be null"); - Preconditions.checkNotNull(propertyName, "propertyName parameter can't be null"); - if (I18N_PROPERTY_NAMES.contains(propertyName)) { - if (referentialLocale.getLibelle().equals(propertyName)) { - propertyName = PROPERTY_LABEL; - } else { - propertyName = null; - } - } - if (propertyName != null) { - setPropertyValue(propertyName, propertyValue); - } - } - - protected void init(Class<D> type, ReferentialLocale referentialLocale, Iterable<String> labelPropertyNames) { - - this.type = type; - String libelle = referentialLocale.getLibelle(); - ImmutableList.Builder<String> labelPropertyNamesBuilder = new ImmutableList.Builder<>(); - for (String labelPropertyName : labelPropertyNames) { - if (I18N_PROPERTY_NAMES.contains(labelPropertyName)) { - if (libelle.endsWith(labelPropertyName)) { - labelPropertyName = PROPERTY_LABEL; - } else { - continue; - } - } - labelPropertyNamesBuilder.add(labelPropertyName); - } - init(type, labelPropertyNamesBuilder.build()); - } - - @Override - public String toString() { - MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) - .add("type", type.getSimpleName()) - .add("id", id); - - if (log.isDebugEnabled()) { - toStringHelper - .add("enabled", enabled) - .add("needComment", needComment) - .add("createDate", createDate) - .add("lastUpdate", lastUpdate) - .add("version", version) - .add("labelPropertyNames", labelPropertyNames) - .add("labelPropertyTypes", Arrays.toString(labelPropertyTypes)); - } - return toStringHelper - .add("labelPropertyValues", Arrays.toString(labelPropertyValues)) - .toString(); - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDtos.java deleted file mode 100644 index 5880eef..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceDtos.java +++ /dev/null @@ -1,48 +0,0 @@ -package fr.ird.observe.services.dto.referential; - -/* - * #%L - * ObServe :: Services model - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import fr.ird.observe.services.dto.constants.ReferentialLocale; - -import java.util.Set; - -public class ReferentialReferenceDtos extends AbstractReferentialReferenceDtos { - - public static <R extends ReferentialDto> ReferentialReferenceDto<R> newReferentialReferenceDto(Class<R> type, - ReferentialLocale referentialLocale, - Set<String> propertyNames) { - - ReferentialReferenceDto<R> dto = new ReferentialReferenceDto<>(); - dto.init(type, referentialLocale, propertyNames); - return dto; - } - - public static <R extends ReferentialDto> ReferentialReferenceDto<R> newReferentialReferenceDto(Class<R> type, - Iterable<String> propertyNames) { - - ReferentialReferenceDto<R> dto = new ReferentialReferenceDto<>(); - dto.init(type, propertyNames); - return dto; - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceSet.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceSet.java new file mode 100644 index 0000000..3ffeb12 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialReferenceSet.java @@ -0,0 +1,68 @@ +package fr.ird.observe.services.dto.referential; + +/* + * #%L + * ObServe :: Services model + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import com.google.common.base.MoreObjects; +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.dto.AbstractReferenceSet; + +import java.util.Date; + +public class ReferentialReferenceSet<R extends ReferentialDto> extends AbstractReferenceSet<R, ReferentialReference<R>> { + + public static final String PROPERTY_LAST_UPDATE = "lastUpdate"; + + private static final long serialVersionUID = 1L; + + protected Date lastUpdate; + + public static <R extends ReferentialDto> ReferentialReferenceSet<R> of(Class<R> type, + ImmutableSet<ReferentialReference<R>> references, + Date lastUpdate) { + + ReferentialReferenceSet<R> referenceSet = new ReferentialReferenceSet<>(type, references, lastUpdate); + return referenceSet; + + } + + protected ReferentialReferenceSet(Class<R> type, ImmutableSet<ReferentialReference<R>> references, Date lastUpdate) { + super(type, references); + this.lastUpdate = lastUpdate; + } + + public Date getLastUpdate() { + return lastUpdate; + } + + public void setLastUpdate(Date lastUpdate) { + this.lastUpdate = lastUpdate; + } + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add(PROPERTY_TYPE, type.getName()) + .add(PROPERTY_LAST_UPDATE, lastUpdate) + .toString(); + } +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDtos.java index 5b635ca..cd6f2fc 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDtos.java @@ -4,7 +4,7 @@ import java.util.Date; public class SaveResultDtos extends AbstractSaveResultDtos { - public static SaveResultDto newSaveResult(String id, Date lastUpdate) { + public static SaveResultDto of(String id, Date lastUpdate) { SaveResultDto result = new SaveResultDto(); result.setId(id); result.setLastUpdate(lastUpdate); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/ActivitySeineDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/ActivitySeineDtos.java deleted file mode 100644 index adad075..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/ActivitySeineDtos.java +++ /dev/null @@ -1,22 +0,0 @@ -package fr.ird.observe.services.dto.seine; - -import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; - -public class ActivitySeineDtos extends AbstractActivitySeineDtos { - - public static ReferenceDto<ActivitySeineDto> newReferenceDto(ActivitySeineDto activitySeine) { - - ReferenceDto<ActivitySeineDto> referenceDto = ReferenceDtos.newReferenceDto(ActivitySeineDto.class, - Lists.newArrayList(ActivitySeineDto.PROPERTY_TIME, - ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE)); - - referenceDto.setId(activitySeine.getId()); - referenceDto.setPropertyValue(ActivitySeineDto.PROPERTY_TIME, activitySeine.getTime()); - referenceDto.setPropertyValue(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, activitySeine.getVesselActivitySeine().getPropertyValue(VesselActivityLonglineDto.PROPERTY_LABEL)); - - return referenceDto; - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/FloatingObjectDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/FloatingObjectDtos.java deleted file mode 100644 index 1b01d00..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/FloatingObjectDtos.java +++ /dev/null @@ -1,26 +0,0 @@ -package fr.ird.observe.services.dto.seine; - -import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; - -public class FloatingObjectDtos extends AbstractFloatingObjectDtos { - - public static ReferenceDto<FloatingObjectDto> newReferenceDto(FloatingObjectDto floatingObjectDto) { - return newReferenceDto( - floatingObjectDto.getId(), - (String) floatingObjectDto.getObjectType().getPropertyValue(ReferentialReferenceDto.PROPERTY_LABEL)); - } - - public static ReferenceDto<FloatingObjectDto> newReferenceDto(String floatingObjectId, String objectTypeLabel) { - ReferenceDto<FloatingObjectDto> reference = ReferenceDtos.newReferenceDto(FloatingObjectDto.class, - Lists.newArrayList(FloatingObjectDto.PROPERTY_OBJECT_TYPE)); - - reference.setId(floatingObjectId); - reference.setPropertyValue(FloatingObjectDto.PROPERTY_OBJECT_TYPE, objectTypeLabel); - - return reference; - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/FloatingObjectTransmittingBuoyDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/FloatingObjectTransmittingBuoyDto.java index 4ae960a..37255f3 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/FloatingObjectTransmittingBuoyDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/FloatingObjectTransmittingBuoyDto.java @@ -2,7 +2,7 @@ package fr.ird.observe.services.dto.seine; import com.google.common.collect.Iterables; import fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; import javax.annotation.Generated; @@ -31,7 +31,7 @@ public class FloatingObjectTransmittingBuoyDto extends AbstractFloatingObjectTra // - récuperation // - pose d'une nouvelle balise TransmittingBuoyDto balise = Iterables.get(transmittingBuoy, 0); - ReferentialReferenceDto<TransmittingBuoyOperationDto> objectOperation = balise.getTransmittingBuoyOperation(); + ReferentialReference<TransmittingBuoyOperationDto> objectOperation = balise.getTransmittingBuoyOperation(); String code = (String) objectOperation.getPropertyValue(TransmittingBuoyOperationDto.PROPERTY_CODE); switch (Integer.valueOf(code)) { case 1: diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/RouteDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/RouteDtos.java deleted file mode 100644 index 58518ba..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/RouteDtos.java +++ /dev/null @@ -1,21 +0,0 @@ -package fr.ird.observe.services.dto.seine; - -import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; - -public class RouteDtos extends AbstractRouteDtos { - - public static ReferenceDto<RouteDto> newReferenceDto(RouteDto route) { - - ReferenceDto<RouteDto> referenceDto = ReferenceDtos.newReferenceDto(RouteDto.class, - Lists.newArrayList(RouteDto.PROPERTY_DATE, - RouteDto.PROPERTY_COMMENT)); - - referenceDto.setId(route.getId()); - referenceDto.setPropertyValue(RouteDto.PROPERTY_DATE, route.getDate()); - referenceDto.setPropertyValue(RouteDto.PROPERTY_COMMENT, route.getComment()); - - return referenceDto; - } -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/TripSeineDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/TripSeineDtos.java deleted file mode 100644 index 2636e05..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/seine/TripSeineDtos.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.ird.observe.services.dto.seine; - -import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.referential.PersonDtos; -import fr.ird.observe.services.dto.referential.VesselDto; - -public class TripSeineDtos extends AbstractTripSeineDtos { - - public static ReferenceDto<TripSeineDto> newReferenceDto(TripSeineDto tripSeine) { - - ReferenceDto<TripSeineDto> referenceDto = ReferenceDtos.newReferenceDto(TripSeineDto.class, - Lists.newArrayList(TripSeineDto.PROPERTY_START_DATE, - TripSeineDto.PROPERTY_END_DATE, - TripSeineDto.PROPERTY_VESSEL, - TripSeineDto.PROPERTY_OBSERVER)); - referenceDto.setId(tripSeine.getId()); - referenceDto.setPropertyValue(TripSeineDto.PROPERTY_START_DATE, tripSeine.getStartDate()); - referenceDto.setPropertyValue(TripSeineDto.PROPERTY_END_DATE, tripSeine.getEndDate()); - referenceDto.setPropertyValue(TripSeineDto.PROPERTY_VESSEL, tripSeine.getVessel().getPropertyValue(VesselDto.PROPERTY_LABEL)); - referenceDto.setPropertyValue(TripSeineDto.PROPERTY_OBSERVER, PersonDtos.getNames(tripSeine.getObserver())); - - return referenceDto; - - } - -} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 11681bb1d11094ddc1c2f35f6ced5523d013091e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:16:35 2015 +0100 Application des modifications sur l'API et début de revue des implantations (on utilise désormais le BinderEngine pour gérer les recopies) + Revue aussi de la gestion des datas de dernière mise à jour (mais encore tout à fait fini) --- .../services/ObserveServiceFactoryTopia.java | 27 +- .../ird/observe/services/ObserveServiceTopia.java | 591 ++---- .../ird/observe/services/binder/BinderEngine.java | 39 +- .../ird/observe/services/binder/BinderSupport.java | 15 +- .../data/ActivityLonglineEncouterDtoBinder.java | 2 +- .../data/ActivityLonglineSensorUsedDtoBinder.java | 2 +- .../observe/services/binder/data/BasketBinder.java | 2 +- .../services/binder/data/CatchLonglineBinder.java | 4 +- .../services/binder/data/DataBinderSupport.java | 148 +- .../FloatingObjectObservedSpeciesDtoBinder.java | 2 +- .../FloatingObjectSchoolEstimateDtoBinder.java | 2 +- .../FloatingObjectTransmittingBuoyDtoBinder.java | 2 +- .../binder/data/GearUseFeaturesLonglineBinder.java | 10 +- .../binder/data/GearUseFeaturesSeineBinder.java | 11 +- .../binder/data/NonTargetSampleBinder.java | 2 +- .../services/binder/data/SectionBinder.java | 2 +- .../binder/data/SetLonglineCatchDtoBinder.java | 2 +- .../SetLonglineDetailCompositionDtoBinder.java | 2 +- .../SetLonglineGlobalCompositionDtoBinder.java | 8 +- .../services/binder/data/SetSeineBinder.java | 17 +- .../data/SetSeineNonTargetCatchDtoBinder.java | 2 +- .../data/SetSeineSchoolEstimateDtoBinder.java | 2 +- .../binder/data/SetSeineTargetCatchDtoBinder.java | 2 +- .../services/binder/data/TargetSampleBinder.java | 2 +- .../binder/data/TransmittingBuoyBinder.java | 14 +- .../services/binder/data/TripLonglineBinder.java | 2 +- .../binder/data/TripLonglineGearUseDtoBinder.java | 2 +- .../services/binder/data/TripSeineBinder.java | 4 +- .../binder/data/TripSeineGearUseDtoBinder.java | 2 +- .../referential/ReferentialBinderSupport.java | 18 +- .../services/builder/DtoToEntityBuilder.java | 273 --- .../services/builder/EntityToDtoBuilder.java | 328 ---- .../builder/EntityToReferenceDtoBuilder.java | 98 - .../EntityToReferentialReferenceDtoBuilder.java | 122 -- .../observe/services/dto/ObserveDtoBinders.java | 62 - .../services/dto/ObserveDtosInitializer.java | 1962 -------------------- .../observe/services/dto/ReferenceTypeName.java | 49 - .../dto/reference/ObserveReferenceSetBuilder.java | 262 --- .../services/service/ReferenceSetServiceTopia.java | 170 -- .../services/service/ReferentialServiceTopia.java | 221 +-- .../ConsolidateActivitySeineDataResultBuilder.java | 14 +- .../consolidate/ConsolidateDataServiceTopia.java | 10 +- .../service/actions/report/ReportServiceTopia.java | 62 +- .../GenerateValidatorDescriptorsFileTool.java | 22 +- .../actions/validate/ValidateServiceTopia.java | 68 +- .../validate/ValidationMessageDetector.java | 8 +- .../ActivityLongLineEncouterServiceTopia.java | 20 +- .../ActivityLongLineSensorUsedServiceTopia.java | 22 +- .../longline/ActivityLonglineServiceTopia.java | 112 +- .../service/longline/BranchlineServiceTopia.java | 26 +- .../longline/SetLonglineCatchServiceTopia.java | 114 +- .../SetLonglineDetailCompositionServiceTopia.java | 35 +- .../SetLonglineGlobalCompositionServiceTopia.java | 26 +- .../service/longline/SetLonglineServiceTopia.java | 73 +- .../services/service/longline/TdrServiceTopia.java | 114 +- .../longline/TripLonglineGearUseServiceTopia.java | 24 +- .../service/longline/TripLonglineServiceTopia.java | 125 +- .../ActivitySeineObservedSystemServiceTopia.java | 22 +- .../service/seine/ActivitySeineServiceTopia.java | 130 +- .../service/seine/FloatingObjectServiceTopia.java | 106 +- .../service/seine/NonTargetCatchServiceTopia.java | 34 +- .../service/seine/NonTargetSampleServiceTopia.java | 52 +- .../seine/ObjectObservedSpeciesServiceTopia.java | 22 +- .../seine/ObjectSchoolEstimateServiceTopia.java | 29 +- .../services/service/seine/RouteServiceTopia.java | 106 +- .../service/seine/SchoolEstimateServiceTopia.java | 26 +- .../service/seine/SetSeineServiceTopia.java | 61 +- .../service/seine/TargetCatchServiceTopia.java | 45 +- .../service/seine/TargetSampleServiceTopia.java | 56 +- .../TransmittingBuoyOperationServiceTopia.java | 25 +- .../seine/TripSeineGearUseServiceTopia.java | 24 +- .../service/seine/TripSeineServiceTopia.java | 123 +- .../services/ApplicationContextResource.java | 2 - .../observe/services/binder/BinderEngineTest.java | 7 +- .../services/builder/DtoToEntityBuilderTest.java | 214 --- .../services/builder/EntityToDtoBuilderTest.java | 250 --- ...EntityToReferentialReferenceDtoBuilderTest.java | 90 - .../services/service/AbstractServiceTopiaTest.java | 38 +- .../DataSourceDumpProducerServiceTopiaTest.java | 3 + .../service/DataSourceServiceTopiaTest.java | 38 +- .../service/ReferenceSetServiceTopiaTest.java | 57 - .../service/ReferentialServiceTopiaTest.java | 148 +- .../fr/ird/observe/services/service/RigthTest.java | 13 +- .../report/AbstractReportServiceTopiaTest.java | 12 +- .../report/ReportAccessoryCatchByGroupTest.java | 3 +- .../actions/report/ReportAccessoryCatchTest.java | 3 +- .../report/ReportActivityWithCommentTest.java | 3 +- .../actions/report/ReportAllActivitysTest.java | 3 +- .../actions/report/ReportDailySetAndCatchTest.java | 3 +- .../service/actions/report/ReportDcpUsageTest.java | 3 +- .../actions/report/ReportSetByAssociationTest.java | 3 +- .../report/ReportTargetCatchByAssociationTest.java | 12 +- .../ReportTargetDiscardedByAssociationTest.java | 12 +- ...tLonglineDetailCompositionServiceTopiaTest.java | 50 +- .../service/seine/RouteServiceTopiaTest.java | 8 +- .../seine/TargetSampleServiceTopiaTest.java | 21 +- .../seine/TripSeineGearUseServiceTopiaTest.java | 79 +- .../service/seine/TripSeineServiceTopiaTest.java | 156 +- 98 files changed, 1661 insertions(+), 5793 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java index 4b06b7b..96837e7 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java @@ -199,18 +199,18 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport { boolean readReferentialPermissionPresent = method.isAnnotationPresent(ReadReferentialPermission.class); boolean writeReferentialPermissionPresent = method.isAnnotationPresent(WriteReferentialPermission.class); if (readDataPermissionPresent - || writeDataPermissionPresent - || readReferentialPermissionPresent - || writeReferentialPermissionPresent) { + || writeDataPermissionPresent + || readReferentialPermissionPresent + || writeReferentialPermissionPresent) { if (serviceContext.withDataSourceConnection()) { ObserveDataSourceConnectionTopia dataSourceConnection = serviceContext.getDataSourceConnection(); if (readDataPermissionPresent && !dataSourceConnection.canReadData() - || writeDataPermissionPresent && !dataSourceConnection.canWriteData() - || readReferentialPermissionPresent && !dataSourceConnection.canReadReferential() - || writeReferentialPermissionPresent && !dataSourceConnection.canWriteReferential()) { + || writeDataPermissionPresent && !dataSourceConnection.canWriteData() + || readReferentialPermissionPresent && !dataSourceConnection.canReadReferential() + || writeReferentialPermissionPresent && !dataSourceConnection.canWriteReferential()) { throw new UnauthorizedException(method.getClass().getCanonicalName(), method.getName()); @@ -248,9 +248,8 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport { ObserveTopiaApplicationContext source = serviceContext.getTopiaApplicationContext(); - ObserveTopiaPersistenceContext topiaPersistenceContext = source.newPersistenceContext(); + try (ObserveTopiaPersistenceContext topiaPersistenceContext = source.newPersistenceContext()) { - try { serviceContext.setTopiaPersistenceContext(topiaPersistenceContext); @@ -267,19 +266,11 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport { } finally { - try { - - // always rollback transaction to avoid dirty transactions - topiaPersistenceContext.rollback(); - - } finally { - - serviceContext.closeTopiaPersistenceContext(); - - } + serviceContext.setTopiaPersistenceContext(null); } + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index dd48a7a..0ede089 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -24,9 +24,7 @@ package fr.ird.observe.services; import com.google.common.base.Optional; import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; import com.google.common.collect.Multimap; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; @@ -34,69 +32,42 @@ import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.FollowedUpdateEntity; import fr.ird.observe.entities.LastUpdateType; import fr.ird.observe.entities.LastUpdateTypeTopiaDao; -import fr.ird.observe.entities.constants.ReferenceLocale; -import fr.ird.observe.entities.longline.ActivityLongline; -import fr.ird.observe.entities.longline.Encounter; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.referentiel.ReferenceEntity; -import fr.ird.observe.entities.seine.ActivitySeine; -import fr.ird.observe.entities.seine.FloatingObject; -import fr.ird.observe.entities.seine.NonTargetCatch; -import fr.ird.observe.entities.seine.SchoolEstimate; -import fr.ird.observe.entities.seine.TargetLength; -import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.services.builder.DtoToEntityBuilder; -import fr.ird.observe.services.builder.EntityToDtoBuilder; -import fr.ird.observe.services.builder.EntityToReferenceDtoBuilder; -import fr.ird.observe.services.builder.EntityToReferentialReferenceDtoBuilder; +import fr.ird.observe.services.binder.BinderEngine; +import fr.ird.observe.services.binder.data.DataBinderSupport; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; import fr.ird.observe.services.dto.FollowedUpdateDto; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.FormDtos; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; -import fr.ird.observe.services.dto.ObserveDtosInitializer; -import fr.ird.observe.services.dto.ObserveModelInitializerRunner; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; -import fr.ird.observe.services.dto.ReferenceTypeName; import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.longline.ActivityLonglineDto; -import fr.ird.observe.services.dto.longline.EncounterDto; -import fr.ird.observe.services.dto.longline.SetLonglineDto; -import fr.ird.observe.services.dto.longline.TripLonglineDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.seine.ActivitySeineDto; -import fr.ird.observe.services.dto.seine.FloatingObjectDto; -import fr.ird.observe.services.dto.seine.NonTargetCatchDto; -import fr.ird.observe.services.dto.seine.SchoolEstimateDto; -import fr.ird.observe.services.dto.seine.SetSeineDto; -import fr.ird.observe.services.dto.seine.TargetLengthDto; -import fr.ird.observe.services.dto.seine.TripSeineDto; -import fr.ird.observe.services.entity.EntitiesExtractor; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.service.ConcurrentModificationException; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.DataSourceService; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.TopiaNoResultException; import org.nuiton.topia.replication.TopiaReplicationService; import org.nuiton.topia.replication.model.ReplicationModel; import org.nuiton.util.StringUtil; import java.io.File; import java.util.Date; -import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; -import java.util.Map; import java.util.Set; /** @@ -111,25 +82,22 @@ public abstract class ObserveServiceTopia implements ObserveService { /** Logger. */ private static final Log log = LogFactory.getLog(ObserveServiceTopia.class); - protected ObserveServiceContextTopia serviceContext; - - protected static ImmutableMap<Class<?>, Class<?>> DTO_TO_ENTITY_TYPES; + protected static final BinderEngine BINDER_ENGINE = BinderEngine.get(); - public static ImmutableMap<Class<?>, Class<?>> ENTITY_TO_DTO_TYPES; + protected ObserveServiceContextTopia serviceContext; - private static boolean init; + public static <D extends DataDto, E extends TopiaEntity> Class<E> getDataEntityType(Class<D> dtoType) { + Class<E> dataEntityType = BINDER_ENGINE.getDataEntityType(dtoType); + return dataEntityType; + } - public static synchronized void init() { - if (!init) { - ObserveModelInitializerRunner.init(new ObserveDtosInitializer()); - DTO_TO_ENTITY_TYPES = ObserveDtosInitializer.getDtoToEntityTypes(); - ENTITY_TO_DTO_TYPES = ObserveDtosInitializer.getEntityToDtoTypes(); - init = true; - } + public static <D extends ReferentialDto, E extends ReferenceEntity> Class<E> getReferentialEntityType(Class<D> dtoType) { + Class<E> referentialEntityType = BINDER_ENGINE.getReferentialEntityType(dtoType); + return referentialEntityType; } - static { - init(); + public static ImmutableSet<Class<? extends ReferentialDto>> getReferentialDtoTypes() { + return BINDER_ENGINE.getReferentialDtoTypes(); } public void setServiceContext(ObserveServiceContextTopia serviceContext) { @@ -137,69 +105,36 @@ public abstract class ObserveServiceTopia implements ObserveService { this.serviceContext = serviceContext; } - public static <D extends IdDto, E extends TopiaEntity> Class<E> getEntityType(Class<D> dtoType) { - Class<?> entityType = DTO_TO_ENTITY_TYPES.get(dtoType); - return (Class<E>) entityType; - } - - public static <E extends TopiaEntity, M extends IdDto> Class<M> getDtoType(Class<E> entityType) { - Class<?> modelType = ENTITY_TO_DTO_TYPES.get(entityType); - if (modelType == null && TopiaEntity.class.isAssignableFrom(entityType)) { - // Pour gérer le cas des proxy hibernate qui ne sont pas égale à la classe proxifiée - //FIXME Trouver une meilleure solution - String name = entityType.getName(); - for (Map.Entry<Class<?>, Class<?>> entry : ENTITY_TO_DTO_TYPES.entrySet()) { - if (name.startsWith(entry.getKey().getName())) { - modelType = entry.getValue(); - break; - } - } - } - return (Class<M>) modelType; + public ReferentialLocale getReferentialLocale() { + ReferentialLocale referentialLocale = serviceContext.getReferentialLocale(); + return referentialLocale; } - public static ImmutableSet<Map.Entry<Class<?>, Class<?>>> getDtoTypes() { - return DTO_TO_ENTITY_TYPES.entrySet(); + public Locale getApplicationLocale() { + return serviceContext.getApplicationLocale(); } - public static ImmutableSet<Class<? extends ReferentialDto>> getReferentialDtoTypes() { - ImmutableSet.Builder<Class<? extends ReferentialDto>> builder = new ImmutableSet.Builder<>(); - for (Map.Entry<Class<?>, Class<?>> entry : getDtoTypes()) { - Class<?> dtoType = entry.getKey(); - if (ReferentialDto.class.isAssignableFrom(dtoType)) { - builder.add((Class<? extends ReferentialDto>) dtoType); - } + public <D extends IdDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, String id) { + if (log.isInfoEnabled()) { + log.info("Load entity: " + id); } - return builder.build(); - } - - public static ImmutableSet<Class<? extends IdDto>> getDataDtoTypes() { - ImmutableSet.Builder<Class<? extends IdDto>> builder = new ImmutableSet.Builder<>(); - for (Map.Entry<Class<?>, Class<?>> entry : getDtoTypes()) { - Class<?> dtoType = entry.getKey(); - if (!ReferentialDto.class.isAssignableFrom(dtoType)) { - builder.add((Class<? extends IdDto>) dtoType); - } + try { + E entity = getTopiaPersistenceContext().findByTopiaId(id); + return entity; + } catch (TopiaNoResultException e) { + throw new DataNotFoundException(dtoType, id); } - return builder.build(); - } - - public ReferenceLocale getReferenceLocale() { - ReferentialLocale referentialLocale = serviceContext.getReferentialLocale(); - Locale locale = referentialLocale.getLocale(); - ReferenceLocale referenceLocale = ReferenceLocale.valueOf(locale); - return referenceLocale; } - public Locale getApplicationLocale() { - return serviceContext.getApplicationLocale(); + public <E extends TopiaEntity> E newEntity(Class<E> entityType) { + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); + E entity = dao.newInstance(); + return entity; } - public <E extends TopiaEntity> E getEntityFromReference(Class<E> entityType, ReferenceDto referenceDto) { - Preconditions.checkNotNull(referenceDto, "'referenceDto' can't be null"); - String id = referenceDto.getId(); - E entity = (E) loadEntity(referenceDto.getType(), entityType, id); - return entity; + public ObserveTopiaPersistenceContext getTopiaPersistenceContext() { + return serviceContext.getTopiaPersistenceContext(); } protected <E extends TopiaEntity> List<E> loadEntities(Class<E> entityType) { @@ -209,36 +144,29 @@ public abstract class ObserveServiceTopia implements ObserveService { return entities; } - public <D extends IdDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, Class<E> entityType, String id) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = persistenceContext.getDao(entityType); - Optional<E> entity = dao.forTopiaIdEquals(id).tryFindUnique(); - if (!entity.isPresent()) { - throw new DataNotFoundException(dtoType, id); - } - return entity.get(); - } + //FIXME A voir si ça sert à quelque chose ? + protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { + Preconditions.checkArgument(!(entity instanceof FollowedUpdateEntity)); - public <E extends TopiaEntity> E newEntity(Class<E> entityType) { ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); - E entity = dao.newInstance(); + entity = dao.update(entity); return entity; + } - protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { - if (entity instanceof FollowedUpdateEntity) { - ((FollowedUpdateEntity) entity).setLastUpdate(now()); - } - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = persistenceContext.getDao(entityType); + protected <E extends TopiaEntity & FollowedUpdateEntity> E saveFollowedEntity(Class<E> entityType, E entity) { + + entity.setLastUpdate(now()); + + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créée) + TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entityType); entity = dao.update(entity); - if (entity instanceof FollowedUpdateEntity) { - Class<? extends FollowedUpdateEntity> followedUpdateType = (Class<? extends FollowedUpdateEntity>) entityType; - setLastUpdate(followedUpdateType, ((FollowedUpdateEntity) entity).getLastUpdate()); - } + + setLastUpdate(entityType, entity.getLastUpdate()); return entity; + } protected <E extends FollowedUpdateEntity> void setLastUpdate(Class<E> entityType, Date lastUpdate) { @@ -299,341 +227,95 @@ public abstract class ObserveServiceTopia implements ObserveService { } } - protected <E extends TopiaEntity, D extends IdDto> D entityToDto(Class<D> dtoType, Class<E> entityType, E entity) { - try (EntityToDtoBuilder<E, D> dtoBuilder = EntityToDtoBuilder.create(entityType, dtoType)) { + protected <E extends TopiaEntity, D extends DataDto> Form<D> dataEntityToForm(Class<D> dtoType, + E entity, + ReferenceSetRequestDefinitions referentialRequestDefinition) { - // copy entity - D dto = dtoBuilder.build(serviceContext.getReferentialLocale(), entity); + D dto = BINDER_ENGINE.transformEntityToDataDto(serviceContext.getReferentialLocale(), dtoType, entity); - return dto; + Form<D> form = Form.newFormDto(dtoType, dto, referentialRequestDefinition == null ? null : + referentialRequestDefinition.name(), null); + return form; - } } - protected <E extends TopiaEntity, D extends IdDto> FormDto<D> entityToEditFormDto( - Class<D> dtoType, - E entity, - ObserveReferenceSetRequestDefinitions referentialRequestDefinition, - ReferenceTypeName... includeReferenceDtoTypesNames) { - - Class<E> entityType = getEntityType(dtoType); + protected <E extends ReferenceEntity, D extends ReferentialDto> Form<D> referentialEntityToForm(Class<D> dtoType, + E entity, + ReferenceSetRequestDefinitions referentialRequestDefinition) { - try (EntityToDtoBuilder<E, D> dtoBuilder = EntityToDtoBuilder.create(entityType, dtoType)) { + D dto = BINDER_ENGINE.transformEntityToReferentialDto(serviceContext.getReferentialLocale(), entity); - // copy entity - D dto = dtoBuilder.build(serviceContext.getReferentialLocale(), entity); + Form<D> form = Form.newFormDto(dtoType, dto, referentialRequestDefinition == null ? null : + referentialRequestDefinition.name(), null); + return form; - FormDto<D> form = FormDtos.newFormDto(dtoType, dto, referentialRequestDefinition == null ? null : - referentialRequestDefinition.name(), null); - return form; - - } } - protected <E extends TopiaEntity, D extends IdDto> E dtoToEntity(Class<D> dtoType, Class<E> entityType, D dto) { - - E entity; - - if (StringUtils.isBlank(dto.getId())) { - - entity = newEntity(entityType); - - } else { - - entity = loadEntity(dtoType, entityType, dto.getId()); - - } + protected <E extends TopiaEntity, D extends DataDto> E dataDtoToEntity(Class<D> dtoType, Class<E> entityType, D dto) { - if (FollowedUpdateEntity.class.isAssignableFrom(entityType) - && FollowedUpdateDto.class.isAssignableFrom(dtoType)) { + E entity = loadOrCreateEntity(dtoType, entityType, dto); - Date lasUpdate = ((FollowedUpdateEntity) entity).getLastUpdate(); - Date currentUpdate = ((FollowedUpdateDto) dto).getLastUpdate(); - - if (lasUpdate != null && lasUpdate.after(currentUpdate)) { - - throw new ConcurrentModificationException(lasUpdate, currentUpdate); - - } - - } - - try (DtoToEntityBuilder<D, E> entityBuilder = DtoToEntityBuilder.create(dtoType, entityType, this)) { - - entityBuilder.build(dto, entity); - - } + BINDER_ENGINE.copyDataDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); return entity; } - protected <E extends TopiaEntity, D extends IdDto> ReferenceDto<D> entityToReferenceDto(Class<D> dtoType, E entity) { - - ReferenceDto<D> referenceDto; - - if (entity instanceof ReferenceEntity) { - - referenceDto = EntityToReferentialReferenceDtoBuilder.build((Class) dtoType, serviceContext.getReferentialLocale(), (ReferenceEntity) entity); - - } else if (TripLonglineDto.class.isAssignableFrom(dtoType) && entity instanceof TripLongline) { - - referenceDto = (ReferenceDto<D>) entityToReferenceDto((TripLongline) entity); - - } else if (ActivityLonglineDto.class.isAssignableFrom(dtoType) && entity instanceof ActivityLongline) { - - referenceDto = (ReferenceDto<D>) entityToReferenceDto((ActivityLongline) entity); - - } else if (TripSeineDto.class.isAssignableFrom(dtoType) && entity instanceof TripSeine) { - - referenceDto = (ReferenceDto<D>) entityToReferenceDto((TripSeine) entity); - - } else if (ActivitySeineDto.class.isAssignableFrom(dtoType) && entity instanceof ActivitySeine) { - - referenceDto = (ReferenceDto<D>) entityToReferenceDto((ActivitySeine) entity); - - } else if (EncounterDto.class.isAssignableFrom(dtoType) && entity instanceof Encounter) { - - referenceDto = (ReferenceDto<D>) entityToReferenceDto((Encounter) entity); - - } else if (NonTargetCatchDto.class.isAssignableFrom(dtoType) && entity instanceof NonTargetCatch) { - - referenceDto = (ReferenceDto<D>) entityToReferenceDto((NonTargetCatch) entity); - - } else if (FloatingObjectDto.class.isAssignableFrom(dtoType) && entity instanceof FloatingObject) { - - referenceDto = (ReferenceDto<D>) entityToReferenceDto((FloatingObject) entity); - - } else if (SchoolEstimateDto.class.isAssignableFrom(dtoType) && entity instanceof SchoolEstimate) { - - referenceDto = (ReferenceDto<D>) entityToReferenceDto((SchoolEstimate) entity); - - } else if (TargetLengthDto.class.isAssignableFrom(dtoType) && entity instanceof TargetLength) { - - referenceDto = (ReferenceDto<D>) entityToReferenceDto((TargetLength) entity); - - } else { - - referenceDto = EntityToReferenceDtoBuilder.build(dtoType, serviceContext.getReferentialLocale(), entity); - - } - - return referenceDto; + protected <E extends TopiaEntity, D extends DataDto> void dataDtoToEntity(D dto, E entity) { + BINDER_ENGINE.copyDataDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); } - protected ReferenceDto<NonTargetCatchDto> entityToReferenceDto(NonTargetCatch entity) { - - ReferenceLocale referenceLocale = getReferenceLocale(); + protected <E extends ReferenceEntity, D extends ReferentialDto> void referentialDtoToEntity(D dto, E entity) { - ReferenceDto<NonTargetCatchDto> referenceDto = - ReferenceDtos.newReferenceDto(NonTargetCatchDto.class, - Lists.newArrayList(NonTargetCatchDto.PROPERTY_SPECIES, - NonTargetCatchDto.PROPERTY_SPECIES_FATE)); + BINDER_ENGINE.copyReferentialDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); - referenceDto.setId(entity.getTopiaId()); - referenceDto.setPropertyValue(NonTargetCatchDto.PROPERTY_SPECIES, entity.getSpecies().getScientificLabel()); - referenceDto.setPropertyValue(NonTargetCatchDto.PROPERTY_SPECIES_FATE, referenceLocale.getLabel(entity.getSpeciesFate())); - - return referenceDto; - } - - protected ReferenceDto<FloatingObjectDto> entityToReferenceDto(FloatingObject entity) { - - ReferenceLocale referenceLocale = getReferenceLocale(); - - ReferenceDto<FloatingObjectDto> referenceDto = - ReferenceDtos.newReferenceDto(FloatingObjectDto.class, - Lists.newArrayList(FloatingObjectDto.PROPERTY_OBJECT_TYPE)); - - referenceDto.setId(entity.getTopiaId()); - referenceDto.setPropertyValue(FloatingObjectDto.PROPERTY_OBJECT_TYPE, referenceLocale.getLabel(entity.getObjectType())); - - return referenceDto; } - protected ReferenceDto<SchoolEstimateDto> entityToReferenceDto(SchoolEstimate entity) { - - ReferenceLocale referenceLocale = getReferenceLocale(); - - ReferenceDto<SchoolEstimateDto> referenceDto = - ReferenceDtos.newReferenceDto(SchoolEstimateDto.class, - Lists.newArrayList(SchoolEstimateDto.PROPERTY_SPECIES, - SchoolEstimateDto.PROPERTY_MEAN_WEIGHT, - SchoolEstimateDto.PROPERTY_TOTAL_WEIGHT)); - - referenceDto.setId(entity.getTopiaId()); - referenceDto.setPropertyValue(SchoolEstimateDto.PROPERTY_SPECIES, referenceLocale.getLabel(entity.getSpecies())); - if (entity.getMeanWeight() != null) { - referenceDto.setPropertyValue(SchoolEstimateDto.PROPERTY_MEAN_WEIGHT, entity.getMeanWeight()); - } - if (entity.getTotalWeight() != null) { - referenceDto.setPropertyValue(SchoolEstimateDto.PROPERTY_TOTAL_WEIGHT, entity.getTotalWeight()); - } - - return referenceDto; - } - - protected ReferenceDto<TargetLengthDto> entityToReferenceDto(TargetLength entity) { - - ReferenceLocale referenceLocale = getReferenceLocale(); - - ReferenceDto<TargetLengthDto> referenceDto = - ReferenceDtos.newReferenceDto(TargetLengthDto.class, - Lists.newArrayList(TargetLengthDto.PROPERTY_SPECIES, - TargetLengthDto.PROPERTY_LENGTH, - TargetLengthDto.PROPERTY_COUNT)); - - referenceDto.setId(entity.getTopiaId()); - referenceDto.setPropertyValue(TargetLengthDto.PROPERTY_SPECIES, referenceLocale.getLabel(entity.getSpecies())); - if (entity.getLength() != null) { - referenceDto.setPropertyValue(TargetLengthDto.PROPERTY_LENGTH, entity.getLength()); - } - if (entity.getCount() != null) { - referenceDto.setPropertyValue(TargetLengthDto.PROPERTY_COUNT, entity.getCount()); - } - - return referenceDto; - } - - protected ReferenceDto<TripLonglineDto> entityToReferenceDto(TripLongline entity) { - - ReferenceLocale referenceLocale = getReferenceLocale(); - - ReferenceDto<TripLonglineDto> referenceDto = - ReferenceDtos.newReferenceDto(TripLonglineDto.class, - Lists.newArrayList(TripLonglineDto.PROPERTY_START_DATE, - TripLonglineDto.PROPERTY_END_DATE, - TripLonglineDto.PROPERTY_VESSEL, - TripLonglineDto.PROPERTY_OBSERVER)); - - referenceDto.setId(entity.getTopiaId()); - referenceDto.setPropertyValue(TripLonglineDto.PROPERTY_START_DATE, entity.getStartDate()); - referenceDto.setPropertyValue(TripLonglineDto.PROPERTY_END_DATE, entity.getEndDate()); - referenceDto.setPropertyValue(TripLonglineDto.PROPERTY_VESSEL, referenceLocale.getLabel(entity.getVessel())); - referenceDto.setPropertyValue(TripLonglineDto.PROPERTY_OBSERVER, entity.getObserverLabel()); - - return referenceDto; - } - - protected ReferenceDto<ActivityLonglineDto> entityToReferenceDto(ActivityLongline entity) { - - ReferenceLocale referenceLocale = getReferenceLocale(); - - ReferenceDto<ActivityLonglineDto> referenceDto = ReferenceDtos.newReferenceDto( - ActivityLonglineDto.class, - Lists.newArrayList(ActivityLonglineDto.PROPERTY_TIME_STAMP, - ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, - ActivityLonglineDto.PROPERTY_SET_LONGLINE)); - - referenceDto.setId(entity.getTopiaId()); - referenceDto.setPropertyValue(ActivityLonglineDto.PROPERTY_TIME_STAMP, entity.getTimeStamp()); - referenceDto.setPropertyValue(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, referenceLocale.getLabel(entity.getVesselActivityLongline())); - if (entity.getSetLongline() != null) { - referenceDto.setPropertyValue(ActivityLonglineDto.PROPERTY_SET_LONGLINE, entityToReferenceDto(SetLonglineDto.class, entity.getSetLongline())); + protected <E extends TopiaEntity, D extends IdDto> E loadOrCreateEntity(Class<D> dtoType, Class<E> entityType, D dto) { + E entity; + if (dto.isPersisted()) { + entity = loadEntity(dtoType, dto.getId()); + } else { + entity = newEntity(entityType); } - - return referenceDto; - } - - protected ReferenceDto<TripSeineDto> entityToReferenceDto(TripSeine entity) { - - ReferenceLocale referenceLocale = getReferenceLocale(); - - ReferenceDto<TripSeineDto> referenceDto = ReferenceDtos.newReferenceDto(TripSeineDto.class, - Lists.newArrayList(TripSeineDto.PROPERTY_ID, - TripSeineDto.PROPERTY_START_DATE, - TripSeineDto.PROPERTY_END_DATE, - TripSeineDto.PROPERTY_VESSEL, - TripSeineDto.PROPERTY_OBSERVER)); - referenceDto.setId(entity.getTopiaId()); - referenceDto.setPropertyValue(TripSeineDto.PROPERTY_START_DATE, entity.getStartDate()); - referenceDto.setPropertyValue(TripSeineDto.PROPERTY_END_DATE, entity.getEndDate()); - referenceDto.setPropertyValue(TripSeineDto.PROPERTY_VESSEL, referenceLocale.getLabel(entity.getVessel())); - referenceDto.setPropertyValue(TripSeineDto.PROPERTY_OBSERVER, entity.getObserverLabel()); - - return referenceDto; + return entity; } - protected ReferenceDto<ActivitySeineDto> entityToReferenceDto(ActivitySeine entity) { - - ReferenceLocale referenceLocale = getReferenceLocale(); - - ReferenceDto<ActivitySeineDto> referenceDto = ReferenceDtos.newReferenceDto(ActivitySeineDto.class, - Lists.newArrayList(ActivitySeineDto.PROPERTY_TIME, - ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, - ActivitySeineDto.PROPERTY_SET_SEINE)); - referenceDto.setId(entity.getTopiaId()); - referenceDto.setPropertyValue(ActivitySeineDto.PROPERTY_TIME, entity.getTime()); - referenceDto.setPropertyValue(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, referenceLocale.getLabel(entity.getVesselActivitySeine())); - if (entity.getSetSeine() != null) { - referenceDto.setPropertyValue(ActivitySeineDto.PROPERTY_SET_SEINE, entityToReferenceDto(SetSeineDto.class, entity.getSetSeine())); + protected <E extends TopiaEntity & FollowedUpdateEntity, D extends DataDto> E loadOrCreateEntityAndCheckLastUpdate(Class<D> dtoType, Class<E> entityType, D dto) { + E entity; + if (dto.isPersisted()) { + entity = loadEntity(dtoType, dto.getId()); + } else { + entity = newEntity(entityType); } - - return referenceDto; - } - - protected ReferenceDto<EncounterDto> entityToReferenceDto(Encounter entity) { - - ReferenceLocale referenceLocale = getReferenceLocale(); - - ReferenceDto<EncounterDto> referenceDto = ReferenceDtos.newReferenceDto(EncounterDto.class, - Lists.newArrayList(EncounterDto.PROPERTY_ENCOUNTER_TYPE, - EncounterDto.PROPERTY_SPECIES)); - referenceDto.setId(entity.getTopiaId()); - referenceDto.setPropertyValue(EncounterDto.PROPERTY_ENCOUNTER_TYPE, referenceLocale.getLabel(entity.getEncounterType())); - referenceDto.setPropertyValue(EncounterDto.PROPERTY_SPECIES, referenceLocale.getLabel(entity.getSpecies())); - - return referenceDto; + checkLastUpdateDate(entity, dto); + return entity; } - protected <D extends IdDto> ReferenceSetDto<D> getReferenceSet(Class<D> dtoType) { - Class<TopiaEntity> entityType = getEntityType(dtoType); - return getReferenceSet(dtoType, null, entityType, null, ImmutableMap.<String, Object>of()); - - } + protected <E extends FollowedUpdateEntity, D extends IdDto & FollowedUpdateDto> void checkLastUpdateDate(E entity, D dto) { - protected <D extends IdDto, E extends TopiaEntity> ReferenceSetDto<D> getReferenceSet( - Class<D> dtoType, - String propertyName, - Class<E> entityType, - EntitiesExtractor<E> entitiesExtractor, - Map<String, Object> dataContext) { + if (dto.isPersisted()) { - Iterable<E> entities; + Date lasUpdate = entity.getLastUpdate(); - if (entitiesExtractor == null) { + Date currentUpdate = dto.getLastUpdate(); - entities = loadEntities(entityType); + if (lasUpdate.after(currentUpdate)) { - } else { - entities = entitiesExtractor.getEntities(serviceContext.getTopiaPersistenceContext(), dataContext); - } - - LinkedHashSet<ReferenceDto<D>> labels = new LinkedHashSet<>(); - for (TopiaEntity entity : entities) { + throw new ConcurrentModificationException(lasUpdate, currentUpdate); - ReferenceDto<D> dto = entityToReferenceDto(dtoType, entity); - labels.add(dto); + } } - Optional<Date> lastUpdateOptional = getLastUpdate(entityType); - - ReferenceSetDto<D> labelSetDto = ReferenceSetDtos.newReferenceSetDto(dtoType, propertyName, labels, lastUpdateOptional.orNull()); - - return labelSetDto; } protected Date now() { return serviceContext.now(); } - public ObserveTopiaPersistenceContext getTopiaPersistenceContext() { - return serviceContext.getTopiaPersistenceContext(); - } - protected ObserveDataSourceConfigurationTopiaH2 createTemporaryDatabaseFromDump(String prefix, byte... importContent) { ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); temporaryDataSourceConfiguration.setDbName("obstuna"); @@ -779,11 +461,11 @@ public abstract class ObserveServiceTopia implements ObserveService { } } - protected <D extends IdDto, E extends TopiaEntity> D loadEntityToDto(Class<D> dtoType, String id) { + protected <D extends DataDto, E extends TopiaEntity> D loadEntityToDataDto(Class<D> dtoType, String id) { - Class<E> entityType = getEntityType(dtoType); - E entity = loadEntity(dtoType, entityType, id); - D dto = entityToDto(dtoType, entityType, entity); + E entity = loadEntity(dtoType, id); + DataBinderSupport<TopiaEntity, D> binder = getDataBinder(dtoType); + D dto = binder.toData(getReferentialLocale(), entity); return dto; } @@ -793,4 +475,71 @@ public abstract class ObserveServiceTopia implements ObserveService { TopiaDao<E> dao = persistenceContext.getDao(entityType); return dao.forTopiaIdEquals(id).exists(); } + + protected <D extends ReferentialDto> ReferentialReference<D> toReference(ReferenceEntity entity) { + + ReferentialReference<D> reference = BinderEngine.get().transformEntityToReferentialReferenceDto(getReferentialLocale(), entity); + return reference; + + } + + protected <D extends DataDto> DataReference<D> toReference(TopiaEntity entity) { + + DataReference<D> reference = BinderEngine.get().transformEntityToDataReferenceDto(getReferentialLocale(), entity); + return reference; + + } + + + protected <D extends DataDto, E extends TopiaEntity> DataReferenceSet<D> toDataReferenceSet(Class<D> dtoType, List<E> allStubByTripId) { + + DataBinderSupport<E, D> binder = getDataBinder(dtoType); + + ReferentialLocale referentialLocale = getReferentialLocale(); + + ImmutableSet.Builder<DataReference<D>> references = ImmutableSet.builder(); + for (E activitySeine : allStubByTripId) { + + DataReference<D> reference = binder.toDataReference(referentialLocale, activitySeine); + references.add(reference); + + } + + return DataReferenceSet.of(dtoType, references.build()); + + } + + protected <D extends ReferentialDto, E extends ReferenceEntity> ReferentialReferenceSet<D> toReferentialReferenceSet(Class<D> dtoType, List<E> allStubByTripId, Date lastUpdate) { + + ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); + + ReferentialLocale referentialLocale = getReferentialLocale(); + + ImmutableSet.Builder<ReferentialReference<D>> references = ImmutableSet.builder(); + for (E activitySeine : allStubByTripId) { + + ReferentialReference<D> reference = binder.toReferentialReference(referentialLocale, activitySeine); + references.add(reference); + + } + + return ReferentialReferenceSet.of(dtoType, references.build(), lastUpdate); + + } + + protected <D extends DataDto, E extends TopiaEntity> DataBinderSupport<E, D> getDataBinder(Class<D> dtoType) { + + DataBinderSupport<E, D> reference = BINDER_ENGINE.getDataBinder(dtoType); + return reference; + + } + + protected <D extends ReferentialDto, E extends ReferenceEntity> ReferentialBinderSupport<E, D> getReferentialBinder(Class<D> dtoType) { + + ReferentialBinderSupport<E, D> reference = BINDER_ENGINE.getReferentialBinder(dtoType); + return reference; + + } } + + diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java index 2af708b..caa1f1f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderEngine.java @@ -157,9 +157,8 @@ public class BinderEngine implements ReferenceBinderEngine { } - public <D extends DataDto, E extends TopiaEntity> D transformEntityToDataDto(ReferentialLocale referentialLocale, E entity) { + public <D extends DataDto, E extends TopiaEntity> D transformEntityToDataDto(ReferentialLocale referentialLocale, Class<D> dtoType, E entity) { - Class<D> dtoType = getDataDtoType(entity.getClass()); DataBinderSupport<E, D> binder = getDataBinder(dtoType); D dto = binder.newDto(); @@ -169,15 +168,41 @@ public class BinderEngine implements ReferenceBinderEngine { } - public <D extends DataDto, E extends TopiaEntity> E transformDataDtoToEntity(ReferentialLocale referentialLocale, D dto) { + public <D extends DataDto, E extends TopiaEntity> DataReference<D> transformEntityToDataReferenceDto(ReferentialLocale referentialLocale, E entity) { + + Class<D> dtoType = getDataDtoType(entity.getClass()); + DataBinderSupport<E, D> binder = getDataBinder(dtoType); + + DataReference<D> dto = binder.toDataReference(referentialLocale, entity); + return dto; + + } + + public <D extends ReferentialDto, E extends ReferenceEntity> ReferentialReference<D> transformEntityToReferentialReferenceDto(ReferentialLocale referentialLocale, E entity) { + + Class<D> dtoType = getReferentialDtoType(entity.getClass()); + ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); + + ReferentialReference<D> dto = binder.toReferentialReference(referentialLocale, entity, dtoType); + return dto; + + } + + public <D extends DataDto, E extends TopiaEntity> void copyDataDtoToEntity(ReferentialLocale referentialLocale, D dto, E entity) { Class<D> dtoType = (Class<D>) dto.getClass(); DataBinderSupport<E, D> binder = getDataBinder(dtoType); - E entity = binder.newEntity(); binder.copyToEntity(referentialLocale, dto, entity); - return entity; + } + + public <D extends ReferentialDto, E extends ReferenceEntity> void copyReferentialDtoToEntity(ReferentialLocale referentialLocale, D dto, E entity) { + + Class<D> dtoType = (Class<D>) dto.getClass(); + ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); + + binder.copyToEntity(referentialLocale, dto, entity); } @@ -185,11 +210,11 @@ public class BinderEngine implements ReferenceBinderEngine { return ImmutableSet.copyOf(getReferentialDtoToEntityTypes().keySet()); } - protected ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> getReferentialEntityToDtoTypes() { + public ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> getReferentialEntityToDtoTypes() { return referentialEntityToDtoTypes; } - protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> getDataEntityToDtoTypes() { + public ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> getDataEntityToDtoTypes() { return dataEntityToDtoTypes; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java index b31812e..3d1c949 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/BinderSupport.java @@ -144,7 +144,7 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { public abstract void copyToDto(ReferentialLocale referentialLocale, E entity, D dto); // -------------------------------------------------------------------------------------------------------------- // - // -- REFERENTIAL → ENTITY -------------------------------------------------------------------------------------- // + // -- REFERENTIAL REFERENCE → ENTITY ---------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // protected <DD extends ReferentialDto, EE extends ReferenceEntity> EE toEntity(ReferentialReference<DD> reference, Class<EE> entityType) { @@ -157,18 +157,16 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { entity = binder.toEntity(reference); -// entity = newEntity(entityType); -// entity.setTopiaId(reference.getId()); -// entity.setStatus(reference.isEnabled() ? ReferenceStatus.enabled : ReferenceStatus.disabled); -// entity.setNeedComment(reference.isNeedComment()); -// entity.setLastUpdate(reference.getLastUpdate()); - } return entity; } + // -------------------------------------------------------------------------------------------------------------- // + // -- REFERENTIAL → ENTITY -------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + protected <DD extends ReferentialDto, EE extends ReferenceEntity> LinkedHashSet<EE> toEntitySet(Collection<ReferentialReference<DD>> references, Class<EE> entityType) { LinkedHashSet<EE> entityList = null; @@ -193,7 +191,7 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { } // -------------------------------------------------------------------------------------------------------------- // - // -- ENTITY → REFERENTIAL -------------------------------------------------------------------------------------- // + // -- ENTITY → REFERENTIAL REFERENCE ---------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // protected <EE extends ReferenceEntity, DD extends ReferentialDto> ReferentialReference<DD> toReferentialReference(ReferentialLocale referentialLocale, EE entity, Class<DD> dtoType) { @@ -230,7 +228,6 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { } - // -------------------------------------------------------------------------------------------------------------- // // -- LABELS ---------------------------------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java index b8e3eb8..1cb1c99 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineEncouterDtoBinder.java @@ -25,7 +25,7 @@ public class ActivityLonglineEncouterDtoBinder extends DataBinderSupport<Activit entity.setLastUpdate(dto.getLastUpdate()); entity.setComment(dto.getComment()); - entity.setEncounter(toEntitySet(referentialLocale, dto.getEncounter(), Encounter.class)); + entity.setEncounter(toEntityCollection(referentialLocale, dto.getEncounter(), Encounter.class, entity.getEncounter())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java index b2093c2..ebc943b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineSensorUsedDtoBinder.java @@ -24,7 +24,7 @@ public class ActivityLonglineSensorUsedDtoBinder extends DataBinderSupport<Activ entity.setLastUpdate(dto.getLastUpdate()); entity.setComment(dto.getComment()); - entity.setSensorUsed(toEntitySet(referentialLocale, dto.getSensorUsed(), SensorUsed.class)); + entity.setSensorUsed(toEntityCollection(referentialLocale, dto.getSensorUsed(), SensorUsed.class, entity.getSensorUsed())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java index 240ba73..4e7837b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/BasketBinder.java @@ -27,7 +27,7 @@ public class BasketBinder extends DataBinderSupport<Basket, BasketDto> { entity.setHaulingIdentifier(dto.getHaulingIdentifier()); entity.setFloatline1Length(dto.getFloatline1Length()); entity.setFloatline2Length(dto.getFloatline2Length()); - entity.setBranchline(toEntitySet(referentialLocale, dto.getBranchline(), Branchline.class)); + entity.setBranchline(toEntitySet(referentialLocale, dto.getBranchline(), Branchline.class, entity.getBranchline())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java index e081003..af83484 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/CatchLonglineBinder.java @@ -67,9 +67,9 @@ public class CatchLonglineBinder extends DataBinderSupport<CatchLongline, CatchL entity.setHookPosition(toEntity(dto.getHookPosition(), HookPosition.class)); entity.setCatchHealthness(toEntity(dto.getCatchHealthness(), Healthness.class)); entity.setSex(toEntity(dto.getSex(), Sex.class)); - entity.setSizeMeasure(toEntitySet(referentialLocale, dto.getSizeMeasure(), SizeMeasure.class)); + entity.setSizeMeasure(toEntityCollection(referentialLocale, dto.getSizeMeasure(), SizeMeasure.class, entity.getSizeMeasure())); entity.setPredator(toEntitySet(dto.getPredator(), Species.class)); - entity.setWeightMeasure(toEntitySet(referentialLocale, dto.getWeightMeasure(), WeightMeasure.class)); + entity.setWeightMeasure(toEntityCollection(referentialLocale, dto.getWeightMeasure(), WeightMeasure.class, entity.getWeightMeasure())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java index 9451502..f89ffab 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java @@ -1,6 +1,9 @@ package fr.ird.observe.services.binder.data; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.Iterables; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.binder.BinderSupport; import fr.ird.observe.services.dto.DataDto; @@ -9,6 +12,7 @@ import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.DataReferenceSetDefinitions; import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; import org.apache.commons.collections4.CollectionUtils; +import org.nuiton.topia.persistence.TopiaEntities; import org.nuiton.topia.persistence.TopiaEntity; import java.io.Serializable; @@ -26,15 +30,7 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto protected final ReferenceSetDefinition<D> definition; protected DataBinderSupport(Class<E> entityType, Class<D> dtoType) { - super(entityType, dtoType); - ReferenceSetDefinition<D> def = null; - try { - def = DataReferenceSetDefinitions.getDefinition(dtoType); - } catch (Exception e) { - System.out.println(getClass().getName()); - } - this.definition - = def; + this(entityType, dtoType, true); } protected DataBinderSupport(Class<E> entityType, Class<D> dtoType, boolean useDefinition) { @@ -43,17 +39,9 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto } // -------------------------------------------------------------------------------------------------------------- // - // -- ENTITY → DATA REFERENCE ----------------------------------------------------------------------------------- // + // -- ENTITY → DATA --------------------------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // - public DataReference<D> toDataReference(ReferentialLocale referentialLocale, E entity) { - throw new IllegalStateException("Not implemented"); - } - - public DataReference<D> toDataReference(ReferentialLocale referentialLocale, D dto) { - throw new IllegalStateException("Not implemented"); - } - public D toData(ReferentialLocale referentialLocale, E entity) { D dto = newDto(); @@ -63,25 +51,13 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto } // -------------------------------------------------------------------------------------------------------------- // - // -- DATA → DATA REFERENCE ------------------------------------------------------------------------------------- // + // -- ENTITY → DATA REFERENCE ----------------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // - public E toEntity(ReferentialLocale referentialLocale, D data) { - E entity = newEntity(); - copyToEntity(referentialLocale, data, entity); - return null; - } - - public E toEntity(DataReference<D> reference) { - E entity = newEntity(); - entity.setTopiaId(reference.getId()); - return entity; + public DataReference<D> toDataReference(ReferentialLocale referentialLocale, E entity) { + throw new IllegalStateException("Not implemented"); } - // -------------------------------------------------------------------------------------------------------------- // - // -- ENTITY → DATA --------------------------------------------------------------------------------------------- // - // -------------------------------------------------------------------------------------------------------------- // - protected DataReference<D> toDataReference(E entity, Serializable... values) { DataReference<D> reference = new DataReference<>(); @@ -108,10 +84,34 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto } + protected <EE extends TopiaEntity, DD extends DataDto> LinkedHashSet<DD> toLinkedHashSetData(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { + + LinkedHashSet<DD> dtos = null; + if (CollectionUtils.isNotEmpty(entities)) { + + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(dtoType); + + dtos = new LinkedHashSet<>(entities.size()); + for (EE entity : entities) { + + DD dto = binder.toData(referentialLocale, entity); + dtos.add(dto); + + } + + } + return dtos; + + } + // -------------------------------------------------------------------------------------------------------------- // - // -- DATA → ENTITY --------------------------------------------------------------------------------------------- // + // -- DATA → DATA REFERENCE ------------------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // + public DataReference<D> toDataReference(ReferentialLocale referentialLocale, D dto) { + throw new IllegalStateException("Not implemented"); + } + protected DataReference<D> toDataReference(D dto, Serializable... values) { DataReference<D> reference = new DataReference<>(); @@ -125,48 +125,90 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto return reference; } - protected <EE extends TopiaEntity, DD extends DataDto> LinkedHashSet<DD> toLinkedHashSetData(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { + // -------------------------------------------------------------------------------------------------------------- // + // -- DATA → ENTITIY -------------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // - LinkedHashSet<DD> dtos = null; - if (CollectionUtils.isEmpty(entities)) { + public E toEntity(ReferentialLocale referentialLocale, D data) { + E entity = newEntity(); + copyToEntity(referentialLocale, data, entity); + return entity; + } - DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(dtoType); + protected <DD extends DataDto, EE extends TopiaEntity> Set<EE> toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, Set<EE> entityList) { - dtos = new LinkedHashSet<>(entities.size()); - for (EE entity : entities) { + if (entityList == null) { - DD dto = binder.toData(referentialLocale, entity); - dtos.add(dto); + entityList = new LinkedHashSet<>(); + } - } + fillEntityCollection(referentialLocale, dtos, entityList); - } - return dtos; + return entityList; } - // -------------------------------------------------------------------------------------------------------------- // - // -- DATA REFERENCE → ENTITY ----------------------------------------------------------------------------------- // - // -------------------------------------------------------------------------------------------------------------- // + protected <DD extends DataDto, EE extends TopiaEntity> Collection<EE> toEntityCollection(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, Collection<EE> entityList) { - protected <DD extends DataDto, EE extends TopiaEntity> Set<EE> toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType) { + if (entityList == null) { - Set<EE> entityList = new LinkedHashSet<>(dtos.size()); + entityList = new LinkedHashSet<>(); + } + + fillEntityCollection(referentialLocale, dtos, entityList); + + return entityList; + + } + + protected <DD extends DataDto, EE extends TopiaEntity, C extends Collection<EE>> void fillEntityCollection(ReferentialLocale referentialLocale, Collection<DD> dtos, C entityList) { + + ImmutableMap<String, EE> entitiesById = Maps.uniqueIndex(entityList, TopiaEntities.getTopiaIdFunction()); if (CollectionUtils.isNotEmpty(dtos)) { + Set<EE> entitiestoDelete = Sets.newConcurrentHashSet(entityList); + DD firstDto = Iterables.get(dtos, 0, null); DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(firstDto); for (DD dto : dtos) { - EE entity = binder.toEntity(referentialLocale, dto); - entityList.add(entity); + + EE entity = entitiesById.get(dto.getId()); + if (entity == null) { + + // Create new entity + entity = binder.toEntity(referentialLocale, dto); + entityList.add(entity); + + } else { + + // Reuse existing entity + binder.copyToEntity(referentialLocale, dto, entity); + entitiestoDelete.remove(entity); + + } + } + entityList.removeAll(entitiestoDelete); + + } else { + + entityList.clear(); + } - return entityList; + } + + // -------------------------------------------------------------------------------------------------------------- // + // -- DATA REFERENCE → ENTITY ----------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + public E toEntity(DataReference<D> reference) { + E entity = newEntity(); + entity.setTopiaId(reference.getId()); + return entity; } protected <DD extends DataDto, EE extends TopiaEntity> EE toEntity(DataReference<DD> reference, Class<EE> entityType) { diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java index d21abf7..0e765c7 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectObservedSpeciesDtoBinder.java @@ -23,7 +23,7 @@ public class FloatingObjectObservedSpeciesDtoBinder extends DataBinderSupport<Fl entity.setTopiaId(dto.getId()); entity.setComment(dto.getComment()); - entity.setObjectObservedSpecies(toEntitySet(referentialLocale, dto.getObjectObservedSpecies(), ObjectObservedSpecies.class)); + entity.setObjectObservedSpecies(toEntityCollection(referentialLocale, dto.getObjectObservedSpecies(), ObjectObservedSpecies.class, entity.getObjectObservedSpecies())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java index c019ff4..b2e75d0 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectSchoolEstimateDtoBinder.java @@ -23,7 +23,7 @@ public class FloatingObjectSchoolEstimateDtoBinder extends DataBinderSupport<Flo entity.setTopiaId(dto.getId()); entity.setComment(dto.getComment()); - entity.setObjectSchoolEstimate(toEntitySet(referentialLocale, dto.getObjectSchoolEstimate(), ObjectSchoolEstimate.class)); + entity.setObjectSchoolEstimate(toEntityCollection(referentialLocale, dto.getObjectSchoolEstimate(), ObjectSchoolEstimate.class, entity.getObjectSchoolEstimate())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java index a27dbf3..7f43381 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/FloatingObjectTransmittingBuoyDtoBinder.java @@ -23,7 +23,7 @@ public class FloatingObjectTransmittingBuoyDtoBinder extends DataBinderSupport<F entity.setTopiaId(dto.getId()); entity.setComment(dto.getComment()); - entity.setTransmittingBuoy(toEntitySet(referentialLocale, dto.getTransmittingBuoy(), TransmittingBuoy.class)); + entity.setTransmittingBuoy(toEntitySet(referentialLocale, dto.getTransmittingBuoy(), TransmittingBuoy.class, entity.getTransmittingBuoy())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java index 4f78dd0..9c05d7d 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesLonglineBinder.java @@ -2,9 +2,11 @@ package fr.ird.observe.services.binder.data; import fr.ird.observe.entities.longline.GearUseFeaturesLongline; import fr.ird.observe.entities.longline.GearUseFeaturesMeasurementLongline; +import fr.ird.observe.entities.referentiel.Gear; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; +import fr.ird.observe.services.dto.referential.GearDto; /** * Created on 24/11/15. @@ -23,7 +25,10 @@ public class GearUseFeaturesLonglineBinder extends DataBinderSupport<GearUseFeat entity.setTopiaId(dto.getId()); entity.setComment(dto.getComment()); - entity.setGearUseFeaturesMeasurement(toEntitySet(referentialLocale, dto.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementLongline.class)); + entity.setNumber(dto.getNumber()); + entity.setUsedInTrip(dto.getUsedInTrip()); + entity.setGear(toEntity(dto.getGear(), Gear.class)); + entity.setGearUseFeaturesMeasurement(toEntitySet(referentialLocale, dto.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementLongline.class, entity.getGearUseFeaturesMeasurement())); } @Override @@ -32,6 +37,9 @@ public class GearUseFeaturesLonglineBinder extends DataBinderSupport<GearUseFeat dto.setId(entity.getTopiaId()); dto.setComment(entity.getComment()); + dto.setNumber(entity.getNumber()); + dto.setUsedInTrip(entity.getUsedInTrip()); + dto.setGear(toReferentialReference(referentialLocale, entity.getGear(), GearDto.class)); dto.setGearUseFeaturesMeasurement(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementLonglineDto.class)); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java index 5877b9b..ecb11c2 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesSeineBinder.java @@ -1,8 +1,10 @@ package fr.ird.observe.services.binder.data; +import fr.ird.observe.entities.referentiel.Gear; import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; import fr.ird.observe.entities.seine.GearUseFeaturesSeine; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.GearDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; @@ -23,8 +25,10 @@ public class GearUseFeaturesSeineBinder extends DataBinderSupport<GearUseFeature entity.setTopiaId(dto.getId()); entity.setComment(dto.getComment()); - entity.setGearUseFeaturesMeasurement(toEntitySet(referentialLocale, dto.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementSeine.class)); - + entity.setNumber(dto.getNumber()); + entity.setUsedInTrip(dto.getUsedInTrip()); + entity.setGear(toEntity(dto.getGear(), Gear.class)); + entity.setGearUseFeaturesMeasurement(toEntityCollection(referentialLocale, dto.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementSeine.class, entity.getGearUseFeaturesMeasurement())); } @@ -34,6 +38,9 @@ public class GearUseFeaturesSeineBinder extends DataBinderSupport<GearUseFeature dto.setId(entity.getTopiaId()); dto.setComment(entity.getComment()); + dto.setNumber(entity.getNumber()); + dto.setUsedInTrip(entity.getUsedInTrip()); + dto.setGear(toReferentialReference(referentialLocale, entity.getGear(), GearDto.class)); dto.setGearUseFeaturesMeasurement(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesMeasurement(), GearUseFeaturesMeasurementSeineDto.class)); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java index f38096f..c0d8cc6 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/NonTargetSampleBinder.java @@ -23,7 +23,7 @@ public class NonTargetSampleBinder extends DataBinderSupport<NonTargetSample, No entity.setTopiaId(dto.getId()); entity.setComment(dto.getComment()); - entity.setNonTargetLength(toEntitySet(referentialLocale, dto.getNonTargetLength(), NonTargetLength.class)); + entity.setNonTargetLength(toEntitySet(referentialLocale, dto.getNonTargetLength(), NonTargetLength.class, entity.getNonTargetLength())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java index cf5bf36..986d51e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SectionBinder.java @@ -25,7 +25,7 @@ public class SectionBinder extends DataBinderSupport<Section, SectionDto> { entity.setSettingIdentifier(dto.getSettingIdentifier()); entity.setHaulingIdentifier(dto.getHaulingIdentifier()); - entity.setBasket(toEntitySet(referentialLocale, dto.getBasket(), Basket.class)); + entity.setBasket(toEntitySet(referentialLocale, dto.getBasket(), Basket.class, entity.getBasket())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java index 220010e..b15ed23 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineCatchDtoBinder.java @@ -23,7 +23,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se entity.setTopiaId(dto.getId()); entity.setLastUpdate(dto.getLastUpdate()); - entity.setCatchLongline(toEntitySet(referentialLocale, dto.getCatchLongline(), CatchLongline.class)); + entity.setCatchLongline(toEntitySet(referentialLocale, dto.getCatchLongline(), CatchLongline.class, entity.getCatchLongline())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java index 43b1810..02e4ec5 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineDetailCompositionDtoBinder.java @@ -23,7 +23,7 @@ public class SetLonglineDetailCompositionDtoBinder extends DataBinderSupport<Set entity.setTopiaId(dto.getId()); entity.setLastUpdate(dto.getLastUpdate()); - entity.setSection(toEntitySet(referentialLocale, dto.getSection(), Section.class)); + entity.setSection(toEntitySet(referentialLocale, dto.getSection(), Section.class, entity.getSection())); entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); entity.setMonitored(dto.getMonitored()); entity.setTotalSectionsCount(dto.getTotalSectionsCount()); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java index b39e243..8cd837e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetLonglineGlobalCompositionDtoBinder.java @@ -32,10 +32,10 @@ public class SetLonglineGlobalCompositionDtoBinder extends DataBinderSupport<Set entity.setLastUpdate(dto.getLastUpdate()); entity.setComment(dto.getComment()); - entity.setFloatlinesComposition(toEntitySet(referentialLocale, dto.getFloatlinesComposition(), FloatlinesComposition.class)); - entity.setBranchlinesComposition(toEntitySet(referentialLocale, dto.getBranchlinesComposition(), BranchlinesComposition.class)); - entity.setHooksComposition(toEntitySet(referentialLocale, dto.getHooksComposition(), HooksComposition.class)); - entity.setBaitsComposition(toEntitySet(referentialLocale, dto.getBaitsComposition(), BaitsComposition.class)); + entity.setFloatlinesComposition(toEntityCollection(referentialLocale, dto.getFloatlinesComposition(), FloatlinesComposition.class, entity.getFloatlinesComposition())); + entity.setBranchlinesComposition(toEntityCollection(referentialLocale, dto.getBranchlinesComposition(), BranchlinesComposition.class, entity.getBranchlinesComposition())); + entity.setHooksComposition(toEntityCollection(referentialLocale, dto.getHooksComposition(), HooksComposition.class, entity.getHooksComposition())); + entity.setBaitsComposition(toEntityCollection(referentialLocale, dto.getBaitsComposition(), BaitsComposition.class, entity.getBaitsComposition())); entity.setMitigationType(toEntitySet(dto.getMitigationType(), MitigationType.class)); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java index 8a057a8..96bb056 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineBinder.java @@ -2,6 +2,7 @@ package fr.ird.observe.services.binder.data; import fr.ird.observe.entities.referentiel.seine.ReasonForNullSet; import fr.ird.observe.entities.seine.SetSeine; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -14,7 +15,7 @@ import fr.ird.observe.services.dto.seine.SetSeineDto; public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { public SetSeineBinder() { - super(SetSeine.class, SetSeineDto.class, false); + super(SetSeine.class, SetSeineDto.class); } @Override @@ -71,4 +72,18 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { } + @Override + public DataReference<SetSeineDto> toDataReference(ReferentialLocale referentialLocale, SetSeine entity) { + + return toDataReference(entity, entity.getComment()); + + } + + @Override + public DataReference<SetSeineDto> toDataReference(ReferentialLocale referentialLocale, SetSeineDto dto) { + + return toDataReference(dto, dto.getComment()); + + } + } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java index 3f63789..9637541 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineNonTargetCatchDtoBinder.java @@ -22,7 +22,7 @@ public class SetSeineNonTargetCatchDtoBinder extends DataBinderSupport<SetSeine, entity.setTopiaId(dto.getId()); - entity.setNonTargetCatch(toEntitySet(referentialLocale, dto.getNonTargetCatch(), NonTargetCatch.class)); + entity.setNonTargetCatch(toEntityCollection(referentialLocale, dto.getNonTargetCatch(), NonTargetCatch.class, entity.getNonTargetCatch())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java index 6c6b5a1..2ab858b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java @@ -24,7 +24,7 @@ public class SetSeineSchoolEstimateDtoBinder extends DataBinderSupport<SetSeine, entity.setLastUpdate(dto.getLastUpdate()); entity.setComment(dto.getComment()); - entity.setSchoolEstimate(toEntitySet(referentialLocale, dto.getSchoolEstimate(), SchoolEstimate.class)); + entity.setSchoolEstimate(toEntityCollection(referentialLocale, dto.getSchoolEstimate(), SchoolEstimate.class, entity.getSchoolEstimate())); } @Override diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java index 06335c7..b3b37cc 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineTargetCatchDtoBinder.java @@ -23,7 +23,7 @@ public class SetSeineTargetCatchDtoBinder extends DataBinderSupport<SetSeine, Se entity.setTopiaId(dto.getId()); entity.setLastUpdate(dto.getLastUpdate()); - entity.setTargetCatch(toEntitySet(referentialLocale, dto.getTargetCatch(), TargetCatch.class)); + entity.setTargetCatch(toEntityCollection(referentialLocale, dto.getTargetCatch(), TargetCatch.class, entity.getTargetCatch())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java index 7871a2a..0b5d176 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TargetSampleBinder.java @@ -25,7 +25,7 @@ public class TargetSampleBinder extends DataBinderSupport<TargetSample, TargetSa entity.setNature(dto.getNature()); entity.setDiscarded(dto.getDiscarded()); - entity.setTargetLength(toEntitySet(referentialLocale, dto.getTargetLength(), TargetLength.class)); + entity.setTargetLength(toEntitySet(referentialLocale, dto.getTargetLength(), TargetLength.class, entity.getTargetLength())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java index c21f08e..cd1a70b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TransmittingBuoyBinder.java @@ -4,6 +4,7 @@ import fr.ird.observe.entities.referentiel.Country; import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; import fr.ird.observe.entities.seine.TransmittingBuoy; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.CountryDto; import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; @@ -18,7 +19,7 @@ import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; public class TransmittingBuoyBinder extends DataBinderSupport<TransmittingBuoy, TransmittingBuoyDto> { public TransmittingBuoyBinder() { - super(TransmittingBuoy.class, TransmittingBuoyDto.class, false); + super(TransmittingBuoy.class, TransmittingBuoyDto.class); } @Override @@ -48,4 +49,15 @@ public class TransmittingBuoyBinder extends DataBinderSupport<TransmittingBuoy, dto.setCountry(toReferentialReference(referentialLocale, entity.getCountry(), CountryDto.class)); } + + @Override + public DataReference<TransmittingBuoyDto> toDataReference(ReferentialLocale referentialLocale, TransmittingBuoy entity) { + return toDataReference(entity, entity.getCode(), entity.getBrand()); + } + + @Override + public DataReference<TransmittingBuoyDto> toDataReference(ReferentialLocale referentialLocale, TransmittingBuoyDto dto) { + return toDataReference(dto, dto.getCode(), dto.getBrand()); + } + } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java index 6225b82..71f2b40 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineBinder.java @@ -50,7 +50,7 @@ public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLong entity.setDataEntryOperator(toEntity(dto.getDataEntryOperator(), Person.class)); entity.setDepartureHarbour(toEntity(dto.getDepartureHarbour(), Harbour.class)); entity.setLandingHarbour(toEntity(dto.getLandingHarbour(), Harbour.class)); - entity.setActivityLongline(toEntitySet(referentialLocale, dto.getActivityLongline(), ActivityLongline.class)); + entity.setActivityLongline(toEntitySet(referentialLocale, dto.getActivityLongline(), ActivityLongline.class, entity.getActivityLongline())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java index a2f7f60..80148c1 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripLonglineGearUseDtoBinder.java @@ -23,7 +23,7 @@ public class TripLonglineGearUseDtoBinder extends DataBinderSupport<TripLongline entity.setTopiaId(dto.getId()); entity.setLastUpdate(dto.getLastUpdate()); - entity.setGearUseFeaturesLongline(toEntitySet(referentialLocale, dto.getGearUseFeaturesLongline(), GearUseFeaturesLongline.class)); + entity.setGearUseFeaturesLongline(toEntitySet(referentialLocale, dto.getGearUseFeaturesLongline(), GearUseFeaturesLongline.class, entity.getGearUseFeaturesLongline())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java index 6f8c265..eeb6ca6 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineBinder.java @@ -33,6 +33,7 @@ public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> entity.setTopiaId(dto.getId()); entity.setLastUpdate(dto.getLastUpdate()); + entity.setComment(dto.getComment()); entity.setStartDate(dto.getStartDate()); entity.setEndDate(dto.getEndDate()); @@ -49,7 +50,7 @@ public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> entity.setDataEntryOperator(toEntity(dto.getDataEntryOperator(), Person.class)); entity.setDepartureHarbour(toEntity(dto.getDepartureHarbour(), Harbour.class)); entity.setLandingHarbour(toEntity(dto.getLandingHarbour(), Harbour.class)); - entity.setRoute(toEntitySet(referentialLocale, dto.getRoute(), Route.class)); + entity.setRoute(toEntitySet(referentialLocale, dto.getRoute(), Route.class, entity.getRoute())); } @@ -58,6 +59,7 @@ public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> dto.setId(entity.getTopiaId()); dto.setLastUpdate(entity.getLastUpdate()); + dto.setComment(entity.getComment()); dto.setStartDate(entity.getStartDate()); dto.setEndDate(entity.getEndDate()); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java index 106d9f8..6c062fc 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/TripSeineGearUseDtoBinder.java @@ -23,7 +23,7 @@ public class TripSeineGearUseDtoBinder extends DataBinderSupport<TripSeine, Trip entity.setTopiaId(dto.getId()); entity.setLastUpdate(dto.getLastUpdate()); - entity.setGearUseFeaturesSeine(toEntitySet(referentialLocale, dto.getGearUseFeaturesSeine(), GearUseFeaturesSeine.class)); + entity.setGearUseFeaturesSeine(toEntityCollection(referentialLocale, dto.getGearUseFeaturesSeine(), GearUseFeaturesSeine.class, entity.getGearUseFeaturesSeine())); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java index e7ff72b..fc4a30b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ReferentialBinderSupport.java @@ -27,7 +27,7 @@ public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D exte } // -------------------------------------------------------------------------------------------------------------- // - // -- ENTITY → REFERENCE ---------------------------------------------------------------------------------------- // + // -- ENTITY → REFERENTIAL REFERENCE ---------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // public abstract ReferentialReference<D> toReferentialReference(ReferentialLocale locale, E entity); @@ -50,7 +50,7 @@ public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D exte } // -------------------------------------------------------------------------------------------------------------- // - // -- DTO → REFERENCE ------------------------------------------------------------------------------------------- // + // -- REFERENTIAL → REFERENTIAL REFERENCE ----------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // public abstract ReferentialReference<D> toReferentialReference(ReferentialLocale locale, D dto); @@ -73,7 +73,7 @@ public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D exte } // -------------------------------------------------------------------------------------------------------------- // - // -- REFERENCE → ENTITY ---------------------------------------------------------------------------------------- // + // -- REFERENTIAL REFERENCE → ENTITY ---------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // public E toEntity(ReferentialReference<D> reference) { @@ -82,6 +82,18 @@ public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D exte return entity; } + // -------------------------------------------------------------------------------------------------------------- // + // -- ENTITY → REFERENTIAL--------------------------------------------------------------------------------------- // + // -------------------------------------------------------------------------------------------------------------- // + + public D toDto(ReferentialLocale referentialLocale, E entity) { + + D dto = newDto(); + copyToDto(referentialLocale, entity, dto); + return dto; + + } + protected void copyDtoI18nFieldsToEntity(I18nReferentialDto dto, I18nReferenceEntity entity) { entity.setLabel1(dto.getLabel1()); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java deleted file mode 100644 index 4fc9ea9..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/DtoToEntityBuilder.java +++ /dev/null @@ -1,273 +0,0 @@ -package fr.ird.observe.services.builder; - -/* - * #%L - * ObServe :: Services ToPIA Implementation - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Function; -import com.google.common.base.Preconditions; -import com.google.common.collect.Maps; -import com.google.common.reflect.TypeToken; -import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ObserveDtoBinders; -import fr.ird.observe.services.dto.ObserveDtosInitializer; -import fr.ird.observe.services.dto.ReferenceDto; -import org.apache.commons.lang3.StringUtils; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.beans.Binder; - -import java.io.Closeable; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.Map; -import java.util.Set; - -/** - * Un constructeur de recopie d'un dto vers une entité. - * - * Created on 19/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class DtoToEntityBuilder<D extends IdDto, E extends TopiaEntity> implements Closeable { - - protected final Binder<D, E> binder; - - private final ObserveServiceTopia serviceTopia; - - public static <E extends TopiaEntity, D extends IdDto> DtoToEntityBuilder<D, E> create(Class<D> dtoType, Class<E> entityType, ObserveServiceTopia serviceTopia) { - - Preconditions.checkNotNull(dtoType, "'dtoType' can't be null."); - Preconditions.checkNotNull(entityType, "'entityType' can't be null."); - Preconditions.checkNotNull(serviceTopia, "'serviceTopia' can't be null."); - - Binder<D, E> binder = ObserveDtoBinders.newDtoToEntityBinder(dtoType, entityType); - - Preconditions.checkNotNull(binder, "DtoToEntityBinder<" + dtoType.getName() + ", " + entityType.getName() + "> not found."); - - DtoToEntityBuilder<D, E> builder = new DtoToEntityBuilder<>(binder, serviceTopia); - return builder; - - } - - public void build(D dto, E entity) { - - Preconditions.checkNotNull(dto, "'dto' can't be null."); - Preconditions.checkNotNull(entity, "'entity' can't be null."); - - Map<String, Object> dtoProperties = binder.obtainProperties(dto, true); - - Map<String, Object> entityProperties = Maps.newHashMap(); - - for (Map.Entry<String, Object> entry : dtoProperties.entrySet()) { - - String propertyName = entry.getKey(); - Object propertyValue = entry.getValue(); - - if (isCollectionProperty(propertyValue)) { - - Type collectionGenericType = binder.getTargetPropertyGenericType(propertyName); - - Class<?> collectionType = TypeToken.of(collectionGenericType).getRawType(); - - Collection<Object> entityCollection = newCollection(collectionType); - - Collection collection = (Collection) propertyValue; - - if (!collection.isEmpty()) { - - Type collectionGenericTypeSource = binder.getSourcePropertyGenericType(propertyName); - - ParameterizedType collectionGenericTypeType1 = (ParameterizedType) collectionGenericTypeSource; - Type type1 = collectionGenericTypeType1.getActualTypeArguments()[0]; - Class typeSource; - boolean sourceReference = false; - if (type1 instanceof Class) { - typeSource = (Class) type1; - } else { - ParameterizedType parameterizedType = (ParameterizedType) type1; - sourceReference = ReferenceDto.class.isAssignableFrom((Class) parameterizedType.getRawType()); - typeSource = (Class) parameterizedType.getActualTypeArguments()[0]; - } - - ParameterizedType collectionGenericTypeType2 = (ParameterizedType) collectionGenericType; - Type type2 = collectionGenericTypeType2.getActualTypeArguments()[0]; - Class typeTarget; - if (type2 instanceof Class) { - typeTarget = (Class) type2; - } else { - typeTarget = (Class) ((ParameterizedType) type2).getActualTypeArguments()[0]; - } - - if (sourceReference) { - - Collection<ReferenceDto> referenceDtos = (Collection<ReferenceDto>) collection; - - for (ReferenceDto referenceDto : referenceDtos) { - - TopiaEntity propertyEntity = toEntity(typeTarget, referenceDto); - entityCollection.add(propertyEntity); - } - - } else if (IdDto.class.isAssignableFrom(typeSource)) { - - Collection<IdDto> idDtos = (Collection<IdDto>) collection; - - for (IdDto idDto : idDtos) { - - TopiaEntity propertyEntity = toEntity(typeTarget, idDto); - entityCollection.add(propertyEntity); - } - - } else { - - entityCollection.addAll(collection); - - } - - } - - // si la collection est deja defini dans l'entité on la réutilise - Collection<Object> entityCollectionTarget = binder.obtainTargetProperty(entity, propertyName); - - if (entityCollectionTarget != null) { - - entityCollectionTarget.clear(); - entityCollectionTarget.addAll(entityCollection); - - entityCollection = entityCollectionTarget; - - } - - entityProperties.put(propertyName, entityCollection); - continue; - - } - - if (propertyValue instanceof ReferenceDto) { - - Class entityType = binder.getTargetPropertyType(propertyName); - - propertyValue = toEntity(entityType, (ReferenceDto) propertyValue); - entityProperties.put(propertyName, propertyValue); - continue; - - } - - if (propertyValue instanceof IdDto) { - - Class entityType = binder.getTargetPropertyType(propertyName); - - propertyValue = toEntity(entityType, (IdDto) propertyValue); - entityProperties.put(propertyName, propertyValue); - continue; - - } - - propertyValue = transform(propertyValue); - - // simple property - addProperty(propertyName, propertyValue, entityProperties); - - } - - binder.injectProperties(entityProperties, entity, true); - - } - - protected <EE extends TopiaEntity, DD extends IdDto> EE toEntity(Class<EE> entityType, ReferenceDto<DD> referenceDto) { - return serviceTopia.getEntityFromReference(entityType, referenceDto); - } - - protected <EE extends TopiaEntity, DD extends IdDto> EE toEntity(Class<EE> entityType, DD idDto) { - - Class<DD> dtoType = (Class<DD>) idDto.getClass(); -// Class<TopiaEntity> entityType = ObserveServiceTopia.getEntityType(aClass); - - EE entity; - - if (StringUtils.isBlank(idDto.getId())) { - - entity = serviceTopia.newEntity(entityType); - - } else { - - entity = serviceTopia.loadEntity(dtoType, entityType, idDto.getId()); - - } - - DtoToEntityBuilder<DD, EE> builder = create(dtoType, entityType, serviceTopia); - builder.build(idDto, entity); - - return entity; - } - - @Override - public void close() { - - } - - protected DtoToEntityBuilder(Binder<D, E> binder, ObserveServiceTopia serviceTopia) { - this.binder = binder; - this.serviceTopia = serviceTopia; - } - - protected boolean isCollectionProperty(Object propertyValue) { - return propertyValue instanceof Collection; - } - - protected Collection<Object> newCollection(Class<?> collectionType) { - - Collection<Object> propertyValueCollection = null; - if (LinkedHashSet.class.isAssignableFrom(collectionType)) { - propertyValueCollection = new LinkedHashSet<>(); - } else if (Set.class.isAssignableFrom(collectionType)) { - propertyValueCollection = new HashSet<>(); - } else if (Collection.class.isAssignableFrom(collectionType)) { - propertyValueCollection = new ArrayList<>(); - } - return propertyValueCollection; - - } - - protected void addProperty(String propertyName, Object propertyValue, Map<String, Object> entitiesProperties) { - - if (IdDto.PROPERTY_ID.equals(propertyName)) { - propertyName = TopiaEntity.PROPERTY_TOPIA_ID; - } - - entitiesProperties.put(propertyName, propertyValue); - - } - - protected static Object transform(Object propertyValue) { - Function function = ObserveDtosInitializer.getDtoToEntityFunction(propertyValue); - if (function != null) { - propertyValue = function.apply(propertyValue); - } - return propertyValue; - } -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java deleted file mode 100644 index 389e655..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToDtoBuilder.java +++ /dev/null @@ -1,328 +0,0 @@ -package fr.ird.observe.services.builder; - -/* - * #%L - * ObServe :: Services ToPIA Implementation - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Function; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import com.google.common.reflect.TypeToken; -import fr.ird.observe.entities.referentiel.ReferenceEntity; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ObserveDtoBinders; -import fr.ird.observe.services.dto.ObserveDtosInitializer; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.beans.Binder; - -import java.io.Closeable; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.LinkedHashSet; -import java.util.Map; -import java.util.Set; - -/** - * un constructeur de recopie d'une entité vers un dto. - * - * Created on 18/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class EntityToDtoBuilder<E extends TopiaEntity, D extends IdDto> implements Closeable { - - private final D result; - - private final Binder<E, D> binder; - - private ImmutableSet<ReferenceTypeName> referencesTypesNames; - - public static <E extends TopiaEntity, D extends IdDto> EntityToDtoBuilder<E, D> create(Class<E> entityType, Class<D> dtoType) { - - Preconditions.checkNotNull(entityType, "'entityType' can't be null."); - Preconditions.checkNotNull(dtoType, "'dtoType' can't be null."); - - D result; - try { - result = dtoType.newInstance(); - } catch (InstantiationException | IllegalAccessException e) { - throw new IllegalStateException("Could not instanciate dto of type: " + dtoType.getName()); - } - - Binder<E, D> binder = ObserveDtoBinders.newEntityToDtoBinder(entityType, dtoType); - - Preconditions.checkNotNull(binder, "EntityToDtoBinder<" + entityType.getName() + ", " + dtoType.getName() + "> not found."); - - EntityToDtoBuilder<E, D> builder = new EntityToDtoBuilder<>(result, binder); - return builder; - - } - - public D build(ReferentialLocale referentialLocale, E entity) { - - Preconditions.checkNotNull(referentialLocale, "'referentialLocale' can't be null."); - Preconditions.checkNotNull(entity, "'entity' can't be null."); - - ImmutableSet.Builder<ReferenceTypeName> referenceTypesBuilder = new ImmutableSet.Builder<>(); - - Map<String, Object> entityProperties = binder.obtainProperties(entity, true); - - ImmutableMap.Builder<String, Object> dtoPropertiesBuilder = new ImmutableMap.Builder<>(); - - for (Map.Entry<String, Object> entry : entityProperties.entrySet()) { - - String propertyName = entry.getKey(); - Object propertyValue = entry.getValue(); - - - if (propertyValue == null) { - if (! TopiaEntity.PROPERTY_TOPIA_ID.equals(propertyName)) { - Class dtoType = binder.getTargetPropertyType(propertyName); - if (ReferenceDto.class.isAssignableFrom(dtoType)) { - - Type typeToken = binder.getTargetPropertyGenericType(propertyName); - ParameterizedType type = (ParameterizedType) typeToken; - dtoType = (Class) type.getActualTypeArguments()[0]; - - ReferenceTypeName referenceTypeName = new ReferenceTypeName(binder.getTargetType(), dtoType, propertyName); - referenceTypesBuilder.add(referenceTypeName); - } else if (IdDto.class.isAssignableFrom(dtoType)) { - - - } - } - } else { - - - if (isCollectionProperty(propertyValue)) { - - Collection collection = (Collection) propertyValue; - - Type collectionGenericType = binder.getTargetPropertyGenericType(propertyName); - - Class<?> collectionType = TypeToken.of(collectionGenericType).getRawType(); - - Collection<Object> dtoCollection = newCollection(collectionType); - - if (!collection.isEmpty()) { - - ParameterizedType collectionGenericTypeType = (ParameterizedType) collectionGenericType; - Type type1 = collectionGenericTypeType.getActualTypeArguments()[0]; - Class type; - boolean useReference = false; - if (type1 instanceof Class) { - type = (Class) type1; - } else { - type = (Class) ((ParameterizedType) type1).getActualTypeArguments()[0]; - useReference = true; - } - - if (IdDto.class.isAssignableFrom(type)) { - - Class dtoType = type; - - for (Object entityValue : collection) { - - IdDto dto = addEntity(dtoType, propertyName, (TopiaEntity) entityValue, referentialLocale, useReference, referenceTypesBuilder); - dtoCollection.add(dto); - - } - - } else { - - dtoCollection.addAll(collection); - - } - - } - - addProperty(propertyName, dtoCollection, dtoPropertiesBuilder); - continue; - - } - - if (propertyValue instanceof TopiaEntity) { - - TopiaEntity entityValue = (TopiaEntity) propertyValue; - - Type typeToken = binder.getTargetPropertyGenericType(propertyName); - Class<?> rawType = TypeToken.of(typeToken).getRawType(); - - Class dtoType; - boolean useReference = false; - - if (rawType.isAssignableFrom(ReferenceDto.class) || rawType.isAssignableFrom(ReferentialReferenceDto.class)) { - Preconditions.checkArgument(typeToken instanceof ParameterizedType, "Un type générique devrait être mis sur une référence de dto: " + result.getClass().getName() + "." + propertyName); - - ParameterizedType type = (ParameterizedType) typeToken; - dtoType = (Class) type.getActualTypeArguments()[0]; - useReference = true; - } else { - dtoType = rawType; - } - - propertyValue = addEntity(dtoType, propertyName, entityValue, referentialLocale, useReference, referenceTypesBuilder); - - addProperty(propertyName, propertyValue, dtoPropertiesBuilder); - continue; - - } else { - propertyValue = transform(propertyValue); - } - - - // simple property - addProperty(propertyName, propertyValue, dtoPropertiesBuilder); - } - - } - - ImmutableMap<String, Object> properties = dtoPropertiesBuilder.build(); - binder.injectProperties(properties, result); - - referencesTypesNames = referenceTypesBuilder.build(); - - return result; - - } - - protected <EE extends TopiaEntity> IdDto addEntity(Class dtoType, - String propertyName, - TopiaEntity entityValue, - ReferentialLocale referentialLocale, - boolean useReference, - ImmutableSet.Builder<ReferenceTypeName> referenceTypesBuilder) { - - IdDto dto; - boolean isReferential = ReferentialDto.class.isAssignableFrom(dtoType); - - Class entityType = entityValue.getClass(); - if (useReference) { - - if (isReferential) { - - dto = entityToReferentialRef(referentialLocale, dtoType, entityType, propertyName, (ReferenceEntity) entityValue, referenceTypesBuilder); - - } else { - - dto = entityToRef(dtoType, referentialLocale, propertyName, entityValue, referenceTypesBuilder); - - } - - } else { - - dto = entityToDto(referentialLocale, dtoType, entityType, entityValue, referenceTypesBuilder); - - } - - return dto; - - } - - public ImmutableSet<ReferenceTypeName> getReferenceTypesNames() { - return referencesTypesNames; - } - - protected EntityToDtoBuilder(D result, Binder<E, D> binder) { - this.result = result; - this.binder = binder; - } - - protected boolean isCollectionProperty(Object propertyValue) { - return propertyValue instanceof Collection; - } - - protected Collection<Object> newCollection(Class<?> collectionType) { - - Collection<Object> propertyValueCollection = null; - if (LinkedHashSet.class.isAssignableFrom(collectionType)) { - propertyValueCollection = new LinkedHashSet<>(); - } else if (Set.class.isAssignableFrom(collectionType)) { - propertyValueCollection = new HashSet<>(); - } else if (Collection.class.isAssignableFrom(collectionType)) { - propertyValueCollection = new ArrayList<>(); - } - return propertyValueCollection; - - } - - protected void addProperty(String propertyName, Object propertyValue, ImmutableMap.Builder<String, Object> dtoPropertiesBuilder) { - - if (TopiaEntity.PROPERTY_TOPIA_ID.equals(propertyName)) { - propertyName = ReferentialDto.PROPERTY_ID; - } - - dtoPropertiesBuilder.put(propertyName, propertyValue); - - } - - protected <EE extends TopiaEntity, R extends IdDto> ReferenceDto<R> entityToRef(Class dtoType, ReferentialLocale referentialLocale, String propertyName, EE entityValue, ImmutableSet.Builder<ReferenceTypeName> referenceTypesBuilder) { - - ReferenceTypeName referenceTypeName = new ReferenceTypeName(binder.getTargetType(), dtoType, propertyName); - referenceTypesBuilder.add(referenceTypeName); - ReferenceDto<R> dto = EntityToReferenceDtoBuilder.build(dtoType, referentialLocale, entityValue); - dto.setId(entityValue.getTopiaId()); - return dto; - - } - - protected <EE extends ReferenceEntity, R extends ReferentialDto> ReferentialReferenceDto<R> entityToReferentialRef(ReferentialLocale referentialLocale, Class dtoType, Class entityType, String propertyName, EE entityValue, ImmutableSet.Builder<ReferenceTypeName> referenceTypesBuilder) { - - ReferenceTypeName referenceTypeName = new ReferenceTypeName(binder.getTargetType(), dtoType, propertyName); - referenceTypesBuilder.add(referenceTypeName); - ReferentialReferenceDto<R> dto = EntityToReferentialReferenceDtoBuilder.build(dtoType, referentialLocale, entityValue); - dto.setId(entityValue.getTopiaId()); - return dto; - - } - - protected <EE extends TopiaEntity, R extends IdDto> R entityToDto(ReferentialLocale referentialLocale, Class dtoType, Class entityType, EE entityValue, ImmutableSet.Builder<ReferenceTypeName> referenceTypesBuilder) { - - EntityToDtoBuilder<EE, R> dtoBuilder = EntityToDtoBuilder.create(entityType, dtoType); - R dto = dtoBuilder.build(referentialLocale, entityValue); - referenceTypesBuilder.addAll(dtoBuilder.getReferenceTypesNames()); - dto.setId(entityValue.getTopiaId()); - return dto; - - } - - @Override - public void close() { - } - - protected static Object transform(Object propertyValue) { - Function function = ObserveDtosInitializer.getEntityToDtoFunction(propertyValue); - if (function != null) { - propertyValue = function.apply(propertyValue); - } - return propertyValue; - } - -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java deleted file mode 100644 index 518f155..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferenceDtoBuilder.java +++ /dev/null @@ -1,98 +0,0 @@ -package fr.ird.observe.services.builder; - -/* - * #%L - * ObServe :: Services ToPIA Implementation - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Preconditions; -import fr.ird.observe.entities.referentiel.ReferenceEntity; -import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ObserveDtoBinders; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.beans.Binder; - -import java.io.Serializable; -import java.util.Map; -import java.util.Set; - -/** - * Un constructeur de recopie d'une entité vers un dto de type référentiel. - * - * Created on 19/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class EntityToReferenceDtoBuilder<E extends TopiaEntity, D extends IdDto> { - - public static <E extends TopiaEntity, D extends IdDto> ReferenceDto<D> build(Class<D> dtoType, ReferentialLocale referentialLocale, E entity) { - - Preconditions.checkNotNull(dtoType, "'dtoType' can't be null"); - Preconditions.checkArgument(!ReferentialDto.class.isAssignableFrom(dtoType), "'dtoType' can't be of type ReferentialDto, use the method buildReferential insteadnull"); - Preconditions.checkNotNull(entity, "'entity' can't be null"); - - Class<E> entityType = (Class<E>) entity.getClass(); - Binder<E, D> binder = ObserveDtoBinders.newEntityToReferenceBinder(entityType, dtoType); - - Preconditions.checkNotNull(binder, "EntityToReferenceBinder<" + entityType.getName() + ", " + dtoType.getName() + "> not found."); - - Map<String, Object> entityProperties = binder.obtainProperties(entity, true); - Set<String> propertyNames = entityProperties.keySet(); - - ReferenceDto<D> result = ReferenceDtos.newReferenceDto(dtoType, propertyNames); - - for (Map.Entry<String, Object> entry : entityProperties.entrySet()) { - String propertyName = entry.getKey(); - Object propertyValue = entry.getValue(); - - if (propertyValue != null) { - - if (propertyValue instanceof ReferenceEntity) { - - ReferenceEntity referentialEntity = (ReferenceEntity) propertyValue; - Class referenceDtoType = ObserveServiceTopia.getDtoType(referentialEntity.getClass()); - propertyValue = EntityToReferentialReferenceDtoBuilder.build(referenceDtoType, referentialLocale, referentialEntity); - - } else if (propertyValue instanceof TopiaEntity) { - - TopiaEntity topiaEntity = (TopiaEntity) propertyValue; - Class referenceDtoType = ObserveServiceTopia.getDtoType(topiaEntity.getClass()); - propertyValue = EntityToReferenceDtoBuilder.build(referenceDtoType, referentialLocale, topiaEntity); - - } - - result.setPropertyValue(propertyName, (Serializable) propertyValue); - } - } - - result.setId(entity.getTopiaId()); - //FIXME -// result.setLastUpdate(entity.getLastUpdate()); - - return result; - - } - -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java deleted file mode 100644 index 2cef244..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilder.java +++ /dev/null @@ -1,122 +0,0 @@ -package fr.ird.observe.services.builder; - -/* - * #%L - * ObServe :: Services ToPIA Implementation - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Function; -import com.google.common.base.Preconditions; -import fr.ird.observe.entities.referentiel.ReferenceEntity; -import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.ObserveDtoBinders; -import fr.ird.observe.services.dto.ObserveDtosInitializer; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDtos; -import org.hibernate.Hibernate; -import org.hibernate.proxy.HibernateProxy; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.beans.Binder; - -import java.io.Serializable; -import java.util.Map; -import java.util.Set; - -/** - * Une constructeur de recopie d'une entité vers une référence d'un dto de type référentiel. - * - * Created on 19/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class EntityToReferentialReferenceDtoBuilder<E extends ReferenceEntity, D extends ReferentialDto> { - - public static <E extends ReferenceEntity, D extends ReferentialDto> ReferentialReferenceDto<D> build(Class<D> dtoType, ReferentialLocale referentialLocale, E entity) { - - Preconditions.checkNotNull(dtoType, "'dtoType' can't be null"); - Preconditions.checkNotNull(referentialLocale, "'referentialLocale' can't be null"); - Preconditions.checkNotNull(entity, "'entity' can't be null"); - - // on extrait l' entité du proxy hibernate - if (entity instanceof HibernateProxy) { - Hibernate.initialize(entity); - entity = (E) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation(); - } - - Class<E> entityType = (Class<E>) entity.getClass(); - Binder<E, D> binder = ObserveDtoBinders.newEntityToReferenceBinder(entityType, dtoType); - Preconditions.checkNotNull(binder, "EntityToReferenceBinder<" + entityType.getName() + ", " + dtoType.getName() + "> not found."); - - Map<String, Object> entityProperties = binder.obtainProperties(entity, true); - - // On ne veut pas binder l'id (il est directement assigné dans un champs technique) - entityProperties.remove(TopiaEntity.PROPERTY_TOPIA_ID); - - Set<String> propertyNames = entityProperties.keySet(); - - ReferentialReferenceDto<D> result = ReferentialReferenceDtos.newReferentialReferenceDto(dtoType, referentialLocale, propertyNames); - - for (Map.Entry<String, Object> entry : entityProperties.entrySet()) { - String propertyName = entry.getKey(); - Object propertyValue = entry.getValue(); - - if (propertyValue != null) { - - if (propertyValue instanceof ReferenceEntity) { - - ReferenceEntity referentialEntity = (ReferenceEntity) propertyValue; - Class referenceDtoType = ObserveServiceTopia.getDtoType(referentialEntity.getClass()); - propertyValue = EntityToReferentialReferenceDtoBuilder.build(referenceDtoType, referentialLocale, referentialEntity); - - } else if (propertyValue instanceof TopiaEntity) { - - TopiaEntity topiaEntity = (TopiaEntity) propertyValue; - Class referenceDtoType = ObserveServiceTopia.getDtoType(topiaEntity.getClass()); - propertyValue = EntityToReferenceDtoBuilder.build(referenceDtoType, referentialLocale, topiaEntity); - - } else { - propertyValue = transform(propertyValue); - } - - result.setPropertyValue(referentialLocale, propertyName, (Serializable) propertyValue); - } - - } - - result.setId(entity.getTopiaId()); - result.setEnabled(entity.isEnabled()); - result.setNeedComment(entity.isNeedComment()); - - return result; - - } - - protected static Serializable transform(Object propertyValue) { - Function function = ObserveDtosInitializer.getEntityToDtoFunction(propertyValue); - if (function != null) { - propertyValue = function.apply(propertyValue); - } - return (Serializable) propertyValue; - } - - -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtoBinders.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtoBinders.java deleted file mode 100644 index df73ba5..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtoBinders.java +++ /dev/null @@ -1,62 +0,0 @@ -package fr.ird.observe.services.dto; - -/* - * #%L - * ObServe :: Services ToPIA Implementation - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.beans.Binder; -import org.nuiton.util.beans.BinderFactory; - -/** - * Méthodes utilitaires sur les binders de dto. - * - * Created on 18/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveDtoBinders { - - public static final String DTO_TO_ENTITY = "dtoToEntity"; - - public static final String DTO_TO_REFERENCE = "dtoToReference"; - - public static final String ENTITY_TO_REFERENCE = "entityToReference"; - - public static final String ENTITY_TO_DTO = "entityToDto"; - - public static <R extends IdDto, E extends TopiaEntity> Binder<R, E> newDtoToEntityBinder(Class<R> dtoType, Class<E> entityType) { - return BinderFactory.newBinder(dtoType, entityType, DTO_TO_ENTITY); - } - - public static <E extends TopiaEntity, R extends IdDto> Binder<E, R> newEntityToDtoBinder(Class<E> entityType, Class<R> dtoType) { - return BinderFactory.newBinder(entityType, dtoType, ENTITY_TO_DTO); - } - - public static <R extends IdDto> Binder<R, R> newDtoToReferenceBinder(Class<R> dtoType) { - return BinderFactory.newBinder(dtoType, DTO_TO_REFERENCE); - } - - public static <E extends TopiaEntity, R extends IdDto> Binder<E, R> newEntityToReferenceBinder(Class<E> entityType, Class<R> dtoType) { - return BinderFactory.newBinder(entityType,dtoType, ENTITY_TO_REFERENCE); - } - -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java deleted file mode 100644 index 512b690..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ObserveDtosInitializer.java +++ /dev/null @@ -1,1962 +0,0 @@ -package fr.ird.observe.services.dto; - -/* - * #%L - * ObServe :: Services ToPIA Implementation - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Function; -import com.google.common.collect.ImmutableMap; -import fr.ird.observe.ObserveEntityEnum; -import fr.ird.observe.entities.longline.ActivityLongline; -import fr.ird.observe.entities.longline.BaitsComposition; -import fr.ird.observe.entities.longline.Basket; -import fr.ird.observe.entities.longline.Branchline; -import fr.ird.observe.entities.longline.BranchlinesComposition; -import fr.ird.observe.entities.longline.CatchLongline; -import fr.ird.observe.entities.longline.Encounter; -import fr.ird.observe.entities.longline.FloatlinesComposition; -import fr.ird.observe.entities.longline.GearUseFeaturesLongline; -import fr.ird.observe.entities.longline.GearUseFeaturesMeasurementLongline; -import fr.ird.observe.entities.longline.HooksComposition; -import fr.ird.observe.entities.longline.Section; -import fr.ird.observe.entities.longline.SensorUsed; -import fr.ird.observe.entities.longline.SetLongline; -import fr.ird.observe.entities.longline.SizeMeasure; -import fr.ird.observe.entities.longline.Tdr; -import fr.ird.observe.entities.longline.TripLongline; -import fr.ird.observe.entities.longline.WeightMeasure; -import fr.ird.observe.entities.referentiel.Country; -import fr.ird.observe.entities.referentiel.FpaZone; -import fr.ird.observe.entities.referentiel.Gear; -import fr.ird.observe.entities.referentiel.GearCaracteristic; -import fr.ird.observe.entities.referentiel.GearCaracteristicType; -import fr.ird.observe.entities.referentiel.Harbour; -import fr.ird.observe.entities.referentiel.I18nReferenceEntity; -import fr.ird.observe.entities.referentiel.LengthWeightParameter; -import fr.ird.observe.entities.referentiel.Ocean; -import fr.ird.observe.entities.referentiel.Organism; -import fr.ird.observe.entities.referentiel.Person; -import fr.ird.observe.entities.referentiel.Program; -import fr.ird.observe.entities.referentiel.Sex; -import fr.ird.observe.entities.referentiel.Species; -import fr.ird.observe.entities.referentiel.SpeciesGroup; -import fr.ird.observe.entities.referentiel.SpeciesList; -import fr.ird.observe.entities.referentiel.Vessel; -import fr.ird.observe.entities.referentiel.VesselSizeCategory; -import fr.ird.observe.entities.referentiel.VesselType; -import fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus; -import fr.ird.observe.entities.referentiel.longline.BaitSettingStatus; -import fr.ird.observe.entities.referentiel.longline.BaitType; -import fr.ird.observe.entities.referentiel.longline.CatchFateLongline; -import fr.ird.observe.entities.referentiel.longline.EncounterType; -import fr.ird.observe.entities.referentiel.longline.Healthness; -import fr.ird.observe.entities.referentiel.longline.HookPosition; -import fr.ird.observe.entities.referentiel.longline.HookSize; -import fr.ird.observe.entities.referentiel.longline.HookType; -import fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition; -import fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition; -import fr.ird.observe.entities.referentiel.longline.LightsticksColor; -import fr.ird.observe.entities.referentiel.longline.LightsticksType; -import fr.ird.observe.entities.referentiel.longline.LineType; -import fr.ird.observe.entities.referentiel.longline.MaturityStatus; -import fr.ird.observe.entities.referentiel.longline.MitigationType; -import fr.ird.observe.entities.referentiel.longline.SensorBrand; -import fr.ird.observe.entities.referentiel.longline.SensorDataFormat; -import fr.ird.observe.entities.referentiel.longline.SensorType; -import fr.ird.observe.entities.referentiel.longline.SettingShape; -import fr.ird.observe.entities.referentiel.longline.SizeMeasureType; -import fr.ird.observe.entities.referentiel.longline.StomacFullness; -import fr.ird.observe.entities.referentiel.longline.TripType; -import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; -import fr.ird.observe.entities.referentiel.longline.WeightMeasureType; -import fr.ird.observe.entities.referentiel.seine.DetectionMode; -import fr.ird.observe.entities.referentiel.seine.ObjectFate; -import fr.ird.observe.entities.referentiel.seine.ObjectOperation; -import fr.ird.observe.entities.referentiel.seine.ObjectType; -import fr.ird.observe.entities.referentiel.seine.ObservedSystem; -import fr.ird.observe.entities.referentiel.seine.ReasonForDiscard; -import fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing; -import fr.ird.observe.entities.referentiel.seine.ReasonForNullSet; -import fr.ird.observe.entities.referentiel.seine.SpeciesFate; -import fr.ird.observe.entities.referentiel.seine.SpeciesStatus; -import fr.ird.observe.entities.referentiel.seine.SurroundingActivity; -import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation; -import fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType; -import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; -import fr.ird.observe.entities.referentiel.seine.WeightCategory; -import fr.ird.observe.entities.referentiel.seine.Wind; -import fr.ird.observe.entities.seine.ActivitySeine; -import fr.ird.observe.entities.seine.FloatingObject; -import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; -import fr.ird.observe.entities.seine.GearUseFeaturesSeine; -import fr.ird.observe.entities.seine.NonTargetCatch; -import fr.ird.observe.entities.seine.NonTargetLength; -import fr.ird.observe.entities.seine.NonTargetSample; -import fr.ird.observe.entities.seine.ObjectObservedSpecies; -import fr.ird.observe.entities.seine.ObjectSchoolEstimate; -import fr.ird.observe.entities.seine.Route; -import fr.ird.observe.entities.seine.SchoolEstimate; -import fr.ird.observe.entities.seine.SetSeine; -import fr.ird.observe.entities.seine.TargetCatch; -import fr.ird.observe.entities.seine.TargetLength; -import fr.ird.observe.entities.seine.TargetSample; -import fr.ird.observe.entities.seine.TransmittingBuoy; -import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.services.dto.longline.ActivityLonglineDto; -import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; -import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; -import fr.ird.observe.services.dto.longline.BaitsCompositionDto; -import fr.ird.observe.services.dto.longline.BasketDto; -import fr.ird.observe.services.dto.longline.BranchlineDto; -import fr.ird.observe.services.dto.longline.BranchlinesCompositionDto; -import fr.ird.observe.services.dto.longline.CatchLonglineDto; -import fr.ird.observe.services.dto.longline.EncounterDto; -import fr.ird.observe.services.dto.longline.FloatlinesCompositionDto; -import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; -import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; -import fr.ird.observe.services.dto.longline.HooksCompositionDto; -import fr.ird.observe.services.dto.longline.SectionDto; -import fr.ird.observe.services.dto.longline.SensorUsedDto; -import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; -import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; -import fr.ird.observe.services.dto.longline.SetLonglineDto; -import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; -import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; -import fr.ird.observe.services.dto.longline.SizeMeasureDto; -import fr.ird.observe.services.dto.longline.TdrDto; -import fr.ird.observe.services.dto.longline.TripLonglineActivityDto; -import fr.ird.observe.services.dto.longline.TripLonglineDto; -import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; -import fr.ird.observe.services.dto.longline.WeightMeasureDto; -import fr.ird.observe.services.dto.referential.CountryDto; -import fr.ird.observe.services.dto.referential.FpaZoneDto; -import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; -import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.HarbourDto; -import fr.ird.observe.services.dto.referential.I18nReferentialDto; -import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; -import fr.ird.observe.services.dto.referential.OceanDto; -import fr.ird.observe.services.dto.referential.OrganismDto; -import fr.ird.observe.services.dto.referential.PersonDto; -import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.SexDto; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.referential.SpeciesGroupDto; -import fr.ird.observe.services.dto.referential.SpeciesListDto; -import fr.ird.observe.services.dto.referential.VesselDto; -import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; -import fr.ird.observe.services.dto.referential.VesselTypeDto; -import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; -import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; -import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; -import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; -import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; -import fr.ird.observe.services.dto.referential.longline.HealthnessDto; -import fr.ird.observe.services.dto.referential.longline.HookPositionDto; -import fr.ird.observe.services.dto.referential.longline.HookSizeDto; -import fr.ird.observe.services.dto.referential.longline.HookTypeDto; -import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; -import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; -import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; -import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; -import fr.ird.observe.services.dto.referential.longline.LineTypeDto; -import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; -import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; -import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; -import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; -import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; -import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; -import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; -import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; -import fr.ird.observe.services.dto.referential.longline.TripTypeDto; -import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; -import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; -import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; -import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; -import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; -import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; -import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; -import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; -import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; -import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; -import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; -import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; -import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; -import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; -import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; -import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; -import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; -import fr.ird.observe.services.dto.referential.seine.WindDto; -import fr.ird.observe.services.dto.seine.ActivitySeineDto; -import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; -import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; -import fr.ird.observe.services.dto.seine.FloatingObjectDto; -import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; -import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; -import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; -import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; -import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; -import fr.ird.observe.services.dto.seine.NonTargetCatchDto; -import fr.ird.observe.services.dto.seine.NonTargetLengthDto; -import fr.ird.observe.services.dto.seine.NonTargetSampleDto; -import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; -import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; -import fr.ird.observe.services.dto.seine.RouteDto; -import fr.ird.observe.services.dto.seine.RouteStubDto; -import fr.ird.observe.services.dto.seine.SchoolEstimateDto; -import fr.ird.observe.services.dto.seine.SetSeineDto; -import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; -import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; -import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; -import fr.ird.observe.services.dto.seine.TargetCatchDto; -import fr.ird.observe.services.dto.seine.TargetLengthDto; -import fr.ird.observe.services.dto.seine.TargetSampleDto; -import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; -import fr.ird.observe.services.dto.seine.TripSeineDto; -import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.beans.Binder; -import org.nuiton.util.beans.BinderFactory; -import org.nuiton.util.beans.BinderModelBuilder; - -import java.util.Map; - -/** - * Pour initialiser tous les binders. - * - * Created on 18/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveDtosInitializer implements ObserveModelInitializer { - - protected final static String[] DEFAULT_REFERENTIAL_PROPERTIES = { - ReferentialDto.PROPERTY_CODE, - ReferentialDto.PROPERTY_URI, - ReferentialDto.PROPERTY_STATUS, - ReferentialDto.PROPERTY_NEED_COMMENT, - ReferentialDto.PROPERTY_LAST_UPDATE - }; - - protected final static String[] DEFAULT_REFERENTIAL_LENGTH_WEIGHT_PARAMETER_PROPERTIES = { - LengthWeightParameterDto.PROPERTY_START_DATE, - LengthWeightParameterDto.PROPERTY_END_DATE, - LengthWeightParameterDto.PROPERTY_OCEAN, - LengthWeightParameterDto.PROPERTY_SPECIES, - LengthWeightParameterDto.PROPERTY_SEX, - LengthWeightParameterDto.PROPERTY_LENGTH_WEIGHT_FORMULA, - LengthWeightParameterDto.PROPERTY_WEIGHT_LENGTH_FORMULA, - LengthWeightParameterDto.PROPERTY_COEFFICIENTS, - LengthWeightParameterDto.PROPERTY_MEAN_LENGTH, - LengthWeightParameterDto.PROPERTY_MEAN_WEIGHT - }; - - protected final static String[] DEFAULT_REFERENTIAL_I18N_PROPERTIES = { - I18nReferentialDto.PROPERTY_LABEL1, - I18nReferentialDto.PROPERTY_LABEL2, - I18nReferentialDto.PROPERTY_LABEL3, - I18nReferentialDto.PROPERTY_LABEL4, - I18nReferentialDto.PROPERTY_LABEL5, - I18nReferentialDto.PROPERTY_LABEL6, - I18nReferentialDto.PROPERTY_LABEL7, - I18nReferentialDto.PROPERTY_LABEL8 - }; - - private static final String[] DEFAULT_REFERENTIAL_REFERENCE_PROPERTIES = { - ReferentialDto.PROPERTY_CODE, - I18nReferentialDto.PROPERTY_LABEL1, - I18nReferentialDto.PROPERTY_LABEL2, - I18nReferentialDto.PROPERTY_LABEL3}; - -// { -// // Need to add by hand a speciesList binder -// // see https://forge.codelutin.com/issues/6963 -// BinderModelBuilder<SpeciesListDto, SpeciesList> builderModel = newBinderBuilder(SpeciesListDto.class, SpeciesList.class); -// registerDtoBinder(builderModel, "Observe"); - - // } - - protected static ImmutableMap.Builder<Class<?>, Class<?>> DTO_TO_ENTITY_TYPE_BUILDER; - - protected static ImmutableMap.Builder<Class<?>, Class<?>> ENTITY_TO_DTO_TYPE_BUILDER; - - protected static ImmutableMap<Class<?>, Class<?>> DTO_TO_ENTITY_TYPES; - - protected static ImmutableMap<Class<?>, Class<?>> ENTITY_TO_DTO_TYPES; - - public static ImmutableMap<Class<?>, Class<?>> getDtoToEntityTypes() { - return DTO_TO_ENTITY_TYPES; - } - - public static ImmutableMap<Class<?>, Class<?>> getEntityToDtoTypes() { - return ENTITY_TO_DTO_TYPES; - } - - public static Function getEntityToDtoFunction(Object propertyValue) { - Function function = null; - if (propertyValue!=null) { - for (Map.Entry<Class, Function> entry : ENTITY_TO_DTO_FUNCTIONS.entrySet()) { - Class type = entry.getKey(); - - if (type.isAssignableFrom(propertyValue.getClass())) { - function = entry.getValue(); - break; - } - } - } - return function; - } - - public static Function getDtoToEntityFunction(Object propertyValue) { - Function function = null; - if (propertyValue!=null) { - for (Map.Entry<Class, Function> entry : DTO_TO_ENTITY_FUNCTIONS.entrySet()) { - Class type = entry.getKey(); - - if (type.isAssignableFrom(propertyValue.getClass())) { - function = entry.getValue(); - break; - } - } - } - return function; - } - - @Override - public void start() { - DTO_TO_ENTITY_TYPE_BUILDER = new ImmutableMap.Builder<>(); - ENTITY_TO_DTO_TYPE_BUILDER = new ImmutableMap.Builder<>(); - } - - @Override - public void end() { - DTO_TO_ENTITY_TYPES = DTO_TO_ENTITY_TYPE_BUILDER.build(); - ENTITY_TO_DTO_TYPES = ENTITY_TO_DTO_TYPE_BUILDER.build(); - } - - // -------------------------------------------------------------------------------------------------------------- // - // -- DATA COMMON ----------------------------------------------------------------------------------------------- // - // -------------------------------------------------------------------------------------------------------------- // - - @Override - public void initCommentableDto() { - // Rien à faire - } - - @Override - public void initFormDto() { - // Rien à faire - } - - @Override - public void initIdDto() { - // Rien à faire - } - - @Override - public void initOpenableDto() { - // Rien à faire - } - - @Override - public void initReferenceDto() { - // Rien à faire - } - - @Override - public void initReferenceSetDto() { - // Rien à faire - } - - @Override - public void initSaveResultDto() { - // Rien à faire - } - - @Override - public void initTripMapDto() { - // Rien à fairea - } - - @Override - public void initTripMapPointDto() { - // Rien à faire - } - - @Override - public void initObserveDbUserDto() { - // Rien à faire - } - - // -------------------------------------------------------------------------------------------------------------- // - // -- DATA LONGLINE --------------------------------------------------------------------------------------------- // - // -------------------------------------------------------------------------------------------------------------- // - - @Override - public void initActivityLonglineDto() { - registerMainDto(ActivityLonglineDto.class, ActivityLongline.class, - ActivityLonglineDto.PROPERTY_COMMENT, - ActivityLonglineDto.PROPERTY_TIME_STAMP, - ActivityLonglineDto.PROPERTY_LATITUDE, - ActivityLonglineDto.PROPERTY_LONGITUDE, - ActivityLonglineDto.PROPERTY_SEA_SURFACE_TEMPERATURE, - ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, - ActivityLonglineDto.PROPERTY_FPA_ZONE, - ActivityLonglineDto.PROPERTY_LAST_UPDATE - ); - - } - - @Override - public void initActivityLonglineEncouterDto() { - registerDto(ActivityLonglineEncouterDto.class, ActivityLongline.class, - ActivityLonglineEncouterDto.PROPERTY_COMMENT, - ActivityLonglineEncouterDto.PROPERTY_ENCOUNTER, - ActivityLonglineEncouterDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initActivityLonglineSensorUsedDto() { - registerDto(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, - ActivityLonglineSensorUsedDto.PROPERTY_COMMENT, - ActivityLonglineSensorUsedDto.PROPERTY_SENSOR_USED, - ActivityLonglineSensorUsedDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initActivityLonglineStubDto() { - // la logique de copie est à ecrire directement dans le service - } - - @Override - public void initBaitsCompositionDto() { - registerMainDto(BaitsCompositionDto.class, BaitsComposition.class, - BaitsCompositionDto.PROPERTY_PROPORTION, - BaitsCompositionDto.PROPERTY_INDIVIDUAL_SIZE, - BaitsCompositionDto.PROPERTY_INDIVIDUAL_WEIGHT, - BaitsCompositionDto.PROPERTY_BAIT_SETTING_STATUS, - BaitsCompositionDto.PROPERTY_BAIT_TYPE - ); - } - - @Override - public void initBasketDto() { - registerMainDto(BasketDto.class, Basket.class, - BasketDto.PROPERTY_SETTING_IDENTIFIER, - BasketDto.PROPERTY_HAULING_IDENTIFIER, - BasketDto.PROPERTY_FLOATLINE1_LENGTH, - BasketDto.PROPERTY_FLOATLINE2_LENGTH, - BasketDto.PROPERTY_BRANCHLINE - ); - - registerReferenceBinder(BasketDto.class, Basket.class, - BasketDto.PROPERTY_SETTING_IDENTIFIER, - BasketDto.PROPERTY_HAULING_IDENTIFIER - ); - } - - @Override - public void initBranchlineDto() { - registerMainDto(BranchlineDto.class, Branchline.class, - BranchlineDto.PROPERTY_COMMENT, - BranchlineDto.PROPERTY_SETTING_IDENTIFIER, - BranchlineDto.PROPERTY_HAULING_IDENTIFIER, - BranchlineDto.PROPERTY_DEPTH_RECORDER, - BranchlineDto.PROPERTY_TIMER, - BranchlineDto.PROPERTY_TIME_SINCE_CONTACT, - BranchlineDto.PROPERTY_HOOK_OFFSET, - BranchlineDto.PROPERTY_BRANCHLINE_LENGTH, - BranchlineDto.PROPERTY_WEIGHTED_SWIVEL, - BranchlineDto.PROPERTY_TIMER_TIME_ON_BOARD, - BranchlineDto.PROPERTY_WEIGHTED_SNAP, - BranchlineDto.PROPERTY_SWIVEL_WEIGHT, - BranchlineDto.PROPERTY_SNAP_WEIGHT, - BranchlineDto.PROPERTY_TRACELINE_LENGTH, - BranchlineDto.PROPERTY_HOOK_LOST, - BranchlineDto.PROPERTY_TRACE_CUT_OFF, - BranchlineDto.PROPERTY_TOP_TYPE, - BranchlineDto.PROPERTY_TRACELINE_TYPE, - BranchlineDto.PROPERTY_HOOK_TYPE, - BranchlineDto.PROPERTY_HOOK_SIZE, - BranchlineDto.PROPERTY_BAIT_TYPE, - BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, - BranchlineDto.PROPERTY_BAIT_HAULING_STATUS - ); - - registerReferenceBinder(BranchlineDto.class, Branchline.class, - BranchlineDto.PROPERTY_SETTING_IDENTIFIER, - BranchlineDto.PROPERTY_HAULING_IDENTIFIER - ); - } - - @Override - public void initBranchlinesCompositionDto() { - registerMainDto(BranchlinesCompositionDto.class, BranchlinesComposition.class, - BranchlinesCompositionDto.PROPERTY_LENGTH, - BranchlinesCompositionDto.PROPERTY_PROPORTION, - BranchlinesCompositionDto.PROPERTY_TOP_TYPE, - BranchlinesCompositionDto.PROPERTY_TRACELINE_TYPE - ); - } - - @Override - public void initCatchLonglineDto() { - registerMainDto(CatchLonglineDto.class, CatchLongline.class, - CatchLonglineDto.PROPERTY_COMMENT, - CatchLonglineDto.PROPERTY_HOME_ID, - CatchLonglineDto.PROPERTY_COUNT, - CatchLonglineDto.PROPERTY_TOTAL_WEIGHT, - CatchLonglineDto.PROPERTY_HOOK_WHEN_DISCARDED, - CatchLonglineDto.PROPERTY_DEPREDATED, - CatchLonglineDto.PROPERTY_BEAT_DIAMETER, - CatchLonglineDto.PROPERTY_GONADE_WEIGHT, - CatchLonglineDto.PROPERTY_PHOTO_REFERENCES, - CatchLonglineDto.PROPERTY_NUMBER, - CatchLonglineDto.PROPERTY_ACQUISITION_MODE, - CatchLonglineDto.PROPERTY_SPECIES_CATCH, - CatchLonglineDto.PROPERTY_CATCH_HEALTHNESS, - CatchLonglineDto.PROPERTY_HOOK_POSITION, - CatchLonglineDto.PROPERTY_CATCH_FATE_LONGLINE, - CatchLonglineDto.PROPERTY_DISCARD_HEALTHNESS, - CatchLonglineDto.PROPERTY_PREDATOR, - CatchLonglineDto.PROPERTY_STOMAC_FULLNESS, - CatchLonglineDto.PROPERTY_SEX, - CatchLonglineDto.PROPERTY_MATURITY_STATUS, - CatchLonglineDto.PROPERTY_SIZE_MEASURE, - CatchLonglineDto.PROPERTY_WEIGHT_MEASURE, - CatchLonglineDto.PROPERTY_SECTION, - CatchLonglineDto.PROPERTY_BASKET, - CatchLonglineDto.PROPERTY_BRANCHLINE - ); - - registerReferenceBinder(CatchLonglineDto.class, CatchLongline.class, - CatchLonglineDto.PROPERTY_HOME_ID); - } - - @Override - public void initEncounterDto() { - registerMainDto(EncounterDto.class, Encounter.class, - EncounterDto.PROPERTY_DISTANCE, - EncounterDto.PROPERTY_COUNT, - EncounterDto.PROPERTY_ENCOUNTER_TYPE, - EncounterDto.PROPERTY_SPECIES - ); - } - - @Override - public void initFloatlinesCompositionDto() { - registerMainDto(FloatlinesCompositionDto.class, FloatlinesComposition.class, - FloatlinesCompositionDto.PROPERTY_LENGTH, - FloatlinesCompositionDto.PROPERTY_PROPORTION, - FloatlinesCompositionDto.PROPERTY_LINE_TYPE - ); - } - - @Override - public void initGearUseFeaturesLonglineDto() { - registerMainDto(GearUseFeaturesLonglineDto.class, GearUseFeaturesLongline.class, - GearUseFeaturesLonglineDto.PROPERTY_NUMBER, - GearUseFeaturesLonglineDto.PROPERTY_USED_IN_TRIP, - GearUseFeaturesLonglineDto.PROPERTY_COMMENT, - GearUseFeaturesLonglineDto.PROPERTY_GEAR, - GearUseFeaturesLonglineDto.PROPERTY_GEAR_USE_FEATURES_MEASUREMENT - ); - } - - @Override - public void initGearUseFeaturesMeasurementLonglineDto() { - registerMainDto(GearUseFeaturesMeasurementLonglineDto.class, GearUseFeaturesMeasurementLongline.class, - GearUseFeaturesMeasurementLonglineDto.PROPERTY_MEASUREMENT_VALUE, - GearUseFeaturesMeasurementLonglineDto.PROPERTY_GEAR_CARACTERISTIC - ); - } - - @Override - public void initHooksCompositionDto() { - registerMainDto(HooksCompositionDto.class, HooksComposition.class, - HooksCompositionDto.PROPERTY_PROPORTION, - HooksCompositionDto.PROPERTY_HOOK_OFFSET, - HooksCompositionDto.PROPERTY_HOOK_TYPE, - HooksCompositionDto.PROPERTY_HOOK_SIZE - ); - } - - @Override - public void initSectionDto() { - registerMainDto(SectionDto.class, Section.class, - SectionDto.PROPERTY_SETTING_IDENTIFIER, - SectionDto.PROPERTY_HAULING_IDENTIFIER, - SectionDto.PROPERTY_BASKET - ); - registerReferenceBinder(SectionDto.class, Section.class, - SectionDto.PROPERTY_SETTING_IDENTIFIER, - SectionDto.PROPERTY_HAULING_IDENTIFIER); - } - - @Override - public void initSensorUsedDto() { - registerMainDto(SensorUsedDto.class, SensorUsed.class, - SensorUsedDto.PROPERTY_DATA, - SensorUsedDto.PROPERTY_DATA_FILENAME, - SensorUsedDto.PROPERTY_DATA_LOCATION, - SensorUsedDto.PROPERTY_SENSOR_SERIAL_NO, - SensorUsedDto.PROPERTY_SENSOR_TYPE, - SensorUsedDto.PROPERTY_SENSOR_BRAND, - SensorUsedDto.PROPERTY_SENSOR_DATA_FORMAT - ); - } - - @Override - public void initSetLonglineDto() { - registerMainDto(SetLonglineDto.class, SetLongline.class, - SetLonglineDto.PROPERTY_COMMENT, - SetLonglineDto.PROPERTY_HOME_ID, - SetLonglineDto.PROPERTY_NUMBER, - SetLonglineDto.PROPERTY_BASKETS_PER_SECTION_COUNT, - SetLonglineDto.PROPERTY_BRANCHLINES_PER_BASKET_COUNT, - SetLonglineDto.PROPERTY_TOTAL_SECTIONS_COUNT, - SetLonglineDto.PROPERTY_TOTAL_BASKETS_COUNT, - SetLonglineDto.PROPERTY_TOTAL_HOOKS_COUNT, - SetLonglineDto.PROPERTY_WEIGHTED_SNAP, - SetLonglineDto.PROPERTY_SNAP_WEIGHT, - SetLonglineDto.PROPERTY_WEIGHTED_SWIVEL, - SetLonglineDto.PROPERTY_SWIVEL_WEIGHT, - SetLonglineDto.PROPERTY_LIGHTSTICKS_PER_BASKET_COUNT, - SetLonglineDto.PROPERTY_TIME_BETWEEN_HOOKS, - SetLonglineDto.PROPERTY_SHOOTER_USED, - SetLonglineDto.PROPERTY_SHOOTER_SPEED, - SetLonglineDto.PROPERTY_MAX_DEPTH_TARGETED, - SetLonglineDto.PROPERTY_SETTING_START_TIME_STAMP, - SetLonglineDto.PROPERTY_SETTING_START_LATITUDE, - SetLonglineDto.PROPERTY_SETTING_START_LONGITUDE, - SetLonglineDto.PROPERTY_SETTING_END_TIME_STAMP, - SetLonglineDto.PROPERTY_SETTING_END_LATITUDE, - SetLonglineDto.PROPERTY_SETTING_END_LONGITUDE, - SetLonglineDto.PROPERTY_SETTING_VESSEL_SPEED, - SetLonglineDto.PROPERTY_HAULING_DIRECTION_SAME_AS_SETTING, - SetLonglineDto.PROPERTY_HAULING_START_TIME_STAMP, - SetLonglineDto.PROPERTY_HAULING_START_LATITUDE, - SetLonglineDto.PROPERTY_HAULING_START_LONGITUDE, - SetLonglineDto.PROPERTY_HAULING_END_TIME_STAMP, - SetLonglineDto.PROPERTY_HAULING_END_LATITUDE, - SetLonglineDto.PROPERTY_HAULING_END_LONGITUDE, - SetLonglineDto.PROPERTY_HAULING_BREAKS, - SetLonglineDto.PROPERTY_MONITORED, - SetLonglineDto.PROPERTY_LINE_TYPE, - SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, - SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, - SetLonglineDto.PROPERTY_SETTING_SHAPE, - SetLonglineDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initSetLonglineCatchDto() { - registerDto(SetLonglineCatchDto.class, SetLongline.class, - SetLonglineCatchDto.PROPERTY_CATCH_LONGLINE, - SetLonglineCatchDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initSetLonglineDetailCompositionDto() { - registerDto(SetLonglineDetailCompositionDto.class, SetLongline.class, - SetLonglineDetailCompositionDto.PROPERTY_SECTION, - SetLonglineDetailCompositionDto.PROPERTY_SETTING_START_TIME_STAMP, - SetLonglineDetailCompositionDto.PROPERTY_MONITORED, - SetLonglineDetailCompositionDto.PROPERTY_TOTAL_SECTIONS_COUNT, - SetLonglineDetailCompositionDto.PROPERTY_BASKETS_PER_SECTION_COUNT, - SetLonglineDetailCompositionDto.PROPERTY_BRANCHLINES_PER_BASKET_COUNT, - SetLonglineDetailCompositionDto.PROPERTY_HAULING_DIRECTION_SAME_AS_SETTING, - SetLonglineDetailCompositionDto.PROPERTY_HAULING_BREAKS, - SetLonglineDetailCompositionDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initSetLonglineGlobalCompositionDto() { - registerDto(SetLonglineGlobalCompositionDto.class, SetLongline.class, - SetLonglineGlobalCompositionDto.PROPERTY_COMMENT, - SetLonglineGlobalCompositionDto.PROPERTY_FLOATLINES_COMPOSITION, - SetLonglineGlobalCompositionDto.PROPERTY_BRANCHLINES_COMPOSITION, - SetLonglineGlobalCompositionDto.PROPERTY_HOOKS_COMPOSITION, - SetLonglineGlobalCompositionDto.PROPERTY_BAITS_COMPOSITION, - SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, - SetLonglineGlobalCompositionDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initSetLonglineStubDto() { - // la logique de copie est à ecrire directement dans le service - } - - @Override - public void initSetLonglineTdrDto() { - registerDto(SetLonglineTdrDto.class, SetLongline.class, - SetLonglineTdrDto.PROPERTY_TDR, - SetLonglineTdrDto.PROPERTY_SETTING_START_TIME_STAMP, - SetLonglineTdrDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initSizeMeasureDto() { - registerMainDto(SizeMeasureDto.class, SizeMeasure.class, - SizeMeasureDto.PROPERTY_SIZE, - SizeMeasureDto.PROPERTY_SIZE_MEASURE_TYPE - ); - } - - @Override - public void initTdrDto() { - registerMainDto(TdrDto.class, Tdr.class, - TdrDto.PROPERTY_HOME_ID, - TdrDto.PROPERTY_FLOATLINE1_LENGTH, - TdrDto.PROPERTY_FLOATLINE2_LENGTH, - TdrDto.PROPERTY_SERIAL_NO, - TdrDto.PROPERTY_DATA, - TdrDto.PROPERTY_DATA_FILENAME, - TdrDto.PROPERTY_DATA_LOCATION, - TdrDto.PROPERTY_DEPLOYEMENT_START, - TdrDto.PROPERTY_DEPLOYEMENT_END, - TdrDto.PROPERTY_FISHING_START, - TdrDto.PROPERTY_FISHING_END, - TdrDto.PROPERTY_FISHING_START_DEPTH, - TdrDto.PROPERTY_FISHING_END_DEPTH, - TdrDto.PROPERTY_MEAN_DEPLOYEMENT_DEPTH, - TdrDto.PROPERTY_MEDIAN_DEPLOYEMENT_DEPTH, - TdrDto.PROPERTY_MIN_FISHING_DEPTH, - TdrDto.PROPERTY_MAX_FISHING_DEPTH, - TdrDto.PROPERTY_MEAN_FISHING_DEPTH, - TdrDto.PROPERTY_MEDIAN_FISHING_DEPTH, - TdrDto.PROPERTY_SENSOR_BRAND, - TdrDto.PROPERTY_ITEM_HORIZONTAL_POSITION, - TdrDto.PROPERTY_ITEM_VERTICAL_POSITION, - TdrDto.PROPERTY_SPECIES, - TdrDto.PROPERTY_BASKET, - TdrDto.PROPERTY_SECTION, - TdrDto.PROPERTY_BRANCHLINE - ); - } - - @Override - public void initTripLonglineGearUseDto() { - registerDto(TripLonglineGearUseDto.class, TripLongline.class, - TripLonglineGearUseDto.PROPERTY_GEAR_USE_FEATURES_LONGLINE, - TripLonglineGearUseDto.PROPERTY_LAST_UPDATE); - } - - @Override - public void initTripLonglineDto() { - registerMainDto(TripLonglineDto.class, TripLongline.class, - TripLonglineDto.PROPERTY_PROGRAM, - TripLonglineDto.PROPERTY_COMMENT, - TripLonglineDto.PROPERTY_START_DATE, - TripLonglineDto.PROPERTY_END_DATE, - TripLonglineDto.PROPERTY_TOTAL_FISHING_OPERATIONS_NUMBER, - TripLonglineDto.PROPERTY_HOME_ID, - TripLonglineDto.PROPERTY_TRIP_TYPE, - TripLonglineDto.PROPERTY_CAPTAIN, - TripLonglineDto.PROPERTY_OBSERVER, - TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR, - TripLonglineDto.PROPERTY_VESSEL, - TripLonglineDto.PROPERTY_OCEAN, - TripLonglineDto.PROPERTY_DEPARTURE_HARBOUR, - TripLonglineDto.PROPERTY_LANDING_HARBOUR, - TripLonglineDto.PROPERTY_LAST_UPDATE, - TripLonglineDto.PROPERTY_ACTIVITY_LONGLINE - ); - } - - @Override - public void initTripLonglineActivityDto() { - registerDto(TripLonglineActivityDto.class, ActivityLongline.class, - TripLonglineActivityDto.PROPERTY_TIME_STAMP); - } - - @Override - public void initTripLonglineStubDto() { - // la logique de copie est à ecrire directement dans le service - } - - @Override - public void initWeightMeasureDto() { - registerMainDto(WeightMeasureDto.class, WeightMeasure.class, - WeightMeasureDto.PROPERTY_WEIGHT, - WeightMeasureDto.PROPERTY_WEIGHT_MEASURE_TYPE); - } - - // -------------------------------------------------------------------------------------------------------------- // - // -- REFERENTIAL COMMON ---------------------------------------------------------------------------------------- // - // -------------------------------------------------------------------------------------------------------------- // - - - @Override - public void initCountryDto() { - registerDtoType(CountryDto.class, Country.class); - registerReferentialDtoBinder(CountryDto.class, Country.class, CountryDto.PROPERTY_ISO2_CODE, CountryDto.PROPERTY_ISO3_CODE); - registerReferentialReferenceDtoBinder(CountryDto.class, Country.class); - } - - - @Override - public void initFpaZoneDto() { - registerDtoType(FpaZoneDto.class, FpaZone.class); - registerReferentialDtoBinder(FpaZoneDto.class, FpaZone.class, FpaZoneDto.PROPERTY_START_DATE, FpaZoneDto.PROPERTY_END_DATE); - registerReferentialReferenceDtoBinder(FpaZoneDto.class, FpaZone.class); - } - - @Override - public void initGearCaracteristicDto() { - registerDtoType(GearCaracteristicDto.class, GearCaracteristic.class); - registerReferentialDtoBinder(GearCaracteristicDto.class, GearCaracteristic.class, GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, GearCaracteristicDto.PROPERTY_UNIT); - registerReferentialReferenceDtoBinder(GearCaracteristicDto.class, GearCaracteristic.class, - GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE); - } - - @Override - public void initGearCaracteristicTypeDto() { - registerDtoType(GearCaracteristicTypeDto.class, GearCaracteristicType.class); - registerReferentialDtoBinder(GearCaracteristicTypeDto.class, GearCaracteristicType.class); - registerReferentialReferenceDtoBinder(GearCaracteristicTypeDto.class, GearCaracteristicType.class); - } - - @Override - public void initGearDto() { - registerDtoType(GearDto.class, Gear.class); - registerReferentialDtoBinder(GearDto.class, Gear.class, GearDto.PROPERTY_GEAR_CARACTERISTIC); - registerReferentialReferenceDtoBinder(GearDto.class, Gear.class); - } - - @Override - public void initHarbourDto() { - registerDtoType(HarbourDto.class, Harbour.class); - registerReferentialDtoBinder(HarbourDto.class, Harbour.class, - HarbourDto.PROPERTY_NAME, - HarbourDto.PROPERTY_COUNTRY, - HarbourDto.PROPERTY_LOCODE, - HarbourDto.PROPERTY_LATITUDE, - HarbourDto.PROPERTY_LONGITUDE, - HarbourDto.PROPERTY_QUADRANT); - registerReferentialReferenceDtoBinder(HarbourDto.class, Harbour.class, - false, - ReferentialDto.PROPERTY_CODE, - HarbourDto.PROPERTY_NAME, - HarbourDto.PROPERTY_LOCODE); - } - - @Override - public void initI18nReferentialDto() { - // Rien à faire - } - - @Override - public void initLengthWeightParameterDto() { - registerDtoType(LengthWeightParameterDto.class, LengthWeightParameter.class); - registerReferentialDtoBinder(LengthWeightParameterDto.class, LengthWeightParameter.class, - LengthWeightParameterDto.PROPERTY_SEX, - LengthWeightParameterDto.PROPERTY_OCEAN, - LengthWeightParameterDto.PROPERTY_SPECIES, - LengthWeightParameterDto.PROPERTY_START_DATE); - - // FIXME A revoir car on veut en fait ocean/libelle et species/scientificLabel - registerReferentialReferenceDtoBinder(LengthWeightParameterDto.class, LengthWeightParameter.class, - false, - LengthWeightParameterDto.PROPERTY_SEX, - LengthWeightParameterDto.PROPERTY_OCEAN, - LengthWeightParameterDto.PROPERTY_SPECIES, - LengthWeightParameterDto.PROPERTY_LENGTH_WEIGHT_FORMULA, - LengthWeightParameterDto.PROPERTY_WEIGHT_LENGTH_FORMULA); - } - - @Override - public void initOceanDto() { - registerDtoType(OceanDto.class, Ocean.class); - registerReferentialDtoBinder(OceanDto.class, Ocean.class); - registerReferentialReferenceDtoBinder(OceanDto.class, Ocean.class); - } - - @Override - public void initOrganismDto() { - registerDtoType(OrganismDto.class, Organism.class); - registerReferentialDtoBinder(OrganismDto.class, Organism.class, - OrganismDto.PROPERTY_COUNTRY, OrganismDto.PROPERTY_DESCRIPTION); - registerReferentialReferenceDtoBinder(OrganismDto.class, Organism.class); - } - - @Override - public void initPersonDto() { - registerDtoType(PersonDto.class, Person.class); - registerReferentialDtoBinder(PersonDto.class, Person.class, - PersonDto.PROPERTY_CODE, - PersonDto.PROPERTY_LAST_NAME, - PersonDto.PROPERTY_FIRST_NAME, - PersonDto.PROPERTY_CAPTAIN, - PersonDto.PROPERTY_OBSERVER, - PersonDto.PROPERTY_DATA_ENTRY_OPERATOR, - PersonDto.PROPERTY_COUNTRY); - registerReferentialReferenceDtoBinder(PersonDto.class, Person.class, false, - PersonDto.PROPERTY_FIRST_NAME, - PersonDto.PROPERTY_LAST_NAME, - PersonDto.PROPERTY_CAPTAIN, - PersonDto.PROPERTY_DATA_ENTRY_OPERATOR, - PersonDto.PROPERTY_OBSERVER); - } - - @Override - public void initProgramDto() { - - registerDtoType(ProgramDto.class, Program.class); - registerReferentialDtoBinder(ProgramDto.class, Program.class, - ProgramDto.PROPERTY_ORGANISM, - ProgramDto.PROPERTY_START_DATE, - ProgramDto.PROPERTY_END_DATE, - ProgramDto.PROPERTY_DETAILLED_ACTIVITIES_OBSERVATION, - ProgramDto.PROPERTY_NON_TARGET_OBSERVATION, - ProgramDto.PROPERTY_BAIT_OBSERVATION, - ProgramDto.PROPERTY_MAMMALS_OBSERVATION, - ProgramDto.PROPERTY_SAMPLES_OBSERVATION, - ProgramDto.PROPERTY_OBJECTS_OBSERVATION, - ProgramDto.PROPERTY_BIRDS_OBSERVATION, - ProgramDto.PROPERTY_TARGET_DISCARDS_OBSERVATION, - ProgramDto.PROPERTY_GEAR_TYPE, - ProgramDto.PROPERTY_GEAR_TYPE_PREFIX); - registerReferentialReferenceDtoBinder(ProgramDto.class, Program.class, ProgramDto.PROPERTY_GEAR_TYPE, ProgramDto.PROPERTY_GEAR_TYPE_PREFIX); - } - - @Override - public void initReferentialDto() { - // Rien à faire - } - - @Override - public void initReferentialReferenceDto() { - // Rien à faire - } - - @Override - public void initSexDto() { - registerDtoType(SexDto.class, Sex.class); - registerReferentialDtoBinder(SexDto.class, Sex.class); - registerReferentialReferenceDtoBinder(SexDto.class, Sex.class); - } - - - @Override - public void initSpeciesDto() { - registerDtoType(SpeciesDto.class, Species.class); - registerReferentialDtoBinder(SpeciesDto.class, Species.class, SpeciesDto.PROPERTY_SPECIES_GROUP, - SpeciesDto.PROPERTY_OCEAN, - SpeciesDto.PROPERTY_LENGTH_MEASURE_TYPE, - SpeciesDto.PROPERTY_MIN_LENGTH, - SpeciesDto.PROPERTY_MAX_LENGTH, - SpeciesDto.PROPERTY_MIN_WEIGHT, - SpeciesDto.PROPERTY_MAX_WEIGHT, - SpeciesDto.PROPERTY_HOME_ID, - SpeciesDto.PROPERTY_FAO_CODE, - SpeciesDto.PROPERTY_WORMS_ID, - SpeciesDto.PROPERTY_SCIENTIFIC_LABEL); - registerReferentialReferenceDtoBinder(SpeciesDto.class, Species.class, - SpeciesDto.PROPERTY_FAO_CODE, - SpeciesDto.PROPERTY_SCIENTIFIC_LABEL, - SpeciesDto.PROPERTY_HOME_ID, - SpeciesDto.PROPERTY_LENGTH_MEASURE_TYPE); - } - - @Override - public void initSpeciesGroupDto() { - registerDtoType(SpeciesGroupDto.class, SpeciesGroup.class); - registerReferentialDtoBinder(SpeciesGroupDto.class, SpeciesGroup.class); - registerReferentialReferenceDtoBinder(SpeciesGroupDto.class, SpeciesGroup.class); - } - - @Override - public void initSpeciesListDto() { - registerDtoType(SpeciesListDto.class, SpeciesList.class); - registerReferentialDtoBinder(SpeciesListDto.class, SpeciesList.class, SpeciesListDto.PROPERTY_SPECIES); - registerReferentialReferenceDtoBinder(SpeciesListDto.class, SpeciesList.class); - } - - @Override - public void initVesselSizeCategoryDto() { - registerDtoType(VesselSizeCategoryDto.class, VesselSizeCategory.class); - registerReferentialDtoBinder(VesselSizeCategoryDto.class, VesselSizeCategory.class, - VesselSizeCategoryDto.PROPERTY_GAUGE_LABEL, - VesselSizeCategoryDto.PROPERTY_CAPACITY_LABEL); - registerReferentialReferenceDtoBinder(VesselSizeCategoryDto.class, VesselSizeCategory.class, - false, - ReferentialDto.PROPERTY_CODE, - VesselSizeCategoryDto.PROPERTY_GAUGE_LABEL, - VesselSizeCategoryDto.PROPERTY_CAPACITY_LABEL); - } - - @Override - public void initVesselDto() { - registerDtoType(VesselDto.class, Vessel.class); - registerReferentialDtoBinder(VesselDto.class, Vessel.class, - VesselDto.PROPERTY_VESSEL_TYPE, - VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, - VesselDto.PROPERTY_FLAG_COUNTRY, - VesselDto.PROPERTY_KEEL_CODE, - VesselDto.PROPERTY_FLEET_COUNTRY, - VesselDto.PROPERTY_YEAR_SERVICE, - VesselDto.PROPERTY_LENGTH, - VesselDto.PROPERTY_CAPACITY, - VesselDto.PROPERTY_POWER, - VesselDto.PROPERTY_SEARCH_MAXIMUM, - VesselDto.PROPERTY_CHANGE_DATE); - registerReferentialReferenceDtoBinder(VesselDto.class, Vessel.class); - } - - @Override - public void initVesselTypeDto() { - registerDtoType(VesselTypeDto.class, VesselType.class); - registerReferentialDtoBinder(VesselTypeDto.class, VesselType.class); - registerReferentialReferenceDtoBinder(VesselTypeDto.class, VesselType.class); - } - - // -------------------------------------------------------------------------------------------------------------- // - // -- REFERENTIAL LONGLINE -------------------------------------------------------------------------------------- // - // -------------------------------------------------------------------------------------------------------------- // - - @Override - public void initBaitHaulingStatusDto() { - registerDtoType(BaitHaulingStatusDto.class, BaitHaulingStatus.class); - registerReferentialDtoBinder(BaitHaulingStatusDto.class, BaitHaulingStatus.class); - registerReferentialReferenceDtoBinder(BaitHaulingStatusDto.class, BaitHaulingStatus.class); - } - - @Override - public void initBaitSettingStatusDto() { - registerDtoType(BaitSettingStatusDto.class, BaitSettingStatus.class); - registerReferentialDtoBinder(BaitSettingStatusDto.class, BaitSettingStatus.class); - registerReferentialReferenceDtoBinder(BaitSettingStatusDto.class, BaitSettingStatus.class); - } - - @Override - public void initBaitTypeDto() { - registerDtoType(BaitTypeDto.class, BaitType.class); - registerReferentialDtoBinder(BaitTypeDto.class, BaitType.class); - registerReferentialReferenceDtoBinder(BaitTypeDto.class, BaitType.class); - } - - @Override - public void initCatchFateLonglineDto() { - registerDtoType(CatchFateLonglineDto.class, CatchFateLongline.class); - registerReferentialDtoBinder(CatchFateLonglineDto.class, CatchFateLongline.class); - registerReferentialReferenceDtoBinder(CatchFateLonglineDto.class, CatchFateLongline.class); - } - - @Override - public void initEncounterTypeDto() { - registerDtoType(EncounterTypeDto.class, EncounterType.class); - registerReferentialDtoBinder(EncounterTypeDto.class, EncounterType.class); - registerReferentialReferenceDtoBinder(EncounterTypeDto.class, EncounterType.class); - } - - @Override - public void initHealthnessDto() { - registerDtoType(HealthnessDto.class, Healthness.class); - registerReferentialDtoBinder(HealthnessDto.class, Healthness.class); - registerReferentialReferenceDtoBinder(HealthnessDto.class, Healthness.class); - } - - @Override - public void initHookPositionDto() { - registerDtoType(HookPositionDto.class, HookPosition.class); - registerReferentialDtoBinder(HookPositionDto.class, HookPosition.class); - registerReferentialReferenceDtoBinder(HookPositionDto.class, HookPosition.class); - } - - @Override - public void initHookSizeDto() { - registerDtoType(HookSizeDto.class, HookSize.class); - registerReferentialDtoBinder(HookSizeDto.class, HookSize.class); - registerReferentialReferenceDtoBinder(HookSizeDto.class, HookSize.class); - } - - @Override - public void initHookTypeDto() { - registerDtoType(HookTypeDto.class, HookType.class); - registerReferentialDtoBinder(HookTypeDto.class, HookType.class); - registerReferentialReferenceDtoBinder(HookTypeDto.class, HookType.class); - } - - @Override - public void initItemHorizontalPositionDto() { - registerDtoType(ItemHorizontalPositionDto.class, ItemHorizontalPosition.class); - registerReferentialDtoBinder(ItemHorizontalPositionDto.class, ItemHorizontalPosition.class); - registerReferentialReferenceDtoBinder(ItemHorizontalPositionDto.class, ItemHorizontalPosition.class); - } - - @Override - public void initItemVerticalPositionDto() { - registerDtoType(ItemVerticalPositionDto.class, ItemVerticalPosition.class); - registerReferentialDtoBinder(ItemVerticalPositionDto.class, ItemVerticalPosition.class); - registerReferentialReferenceDtoBinder(ItemVerticalPositionDto.class, ItemVerticalPosition.class); - } - - @Override - public void initLightsticksColorDto() { - registerDtoType(LightsticksColorDto.class, LightsticksColor.class); - registerReferentialDtoBinder(LightsticksColorDto.class, LightsticksColor.class); - registerReferentialReferenceDtoBinder(LightsticksColorDto.class, LightsticksColor.class); - } - - @Override - public void initLightsticksTypeDto() { - registerDtoType(LightsticksTypeDto.class, LightsticksType.class); - registerReferentialDtoBinder(LightsticksTypeDto.class, LightsticksType.class); - registerReferentialReferenceDtoBinder(LightsticksTypeDto.class, LightsticksType.class); - } - - @Override - public void initLineTypeDto() { - registerDtoType(LineTypeDto.class, LineType.class); - registerReferentialDtoBinder(LineTypeDto.class, LineType.class); - registerReferentialReferenceDtoBinder(LineTypeDto.class, LineType.class); - } - - @Override - public void initMaturityStatusDto() { - registerDtoType(MaturityStatusDto.class, MaturityStatus.class); - registerReferentialDtoBinder(MaturityStatusDto.class, MaturityStatus.class, - MaturityStatusDto.PROPERTY_LOWER_VALUE, - MaturityStatusDto.PROPERTY_UPPER_VALUE); - registerReferentialReferenceDtoBinder(MaturityStatusDto.class, MaturityStatus.class); - } - - @Override - public void initMitigationTypeDto() { - registerDtoType(MitigationTypeDto.class, MitigationType.class); - registerReferentialDtoBinder(MitigationTypeDto.class, MitigationType.class); - registerReferentialReferenceDtoBinder(MitigationTypeDto.class, MitigationType.class); - } - - @Override - public void initSensorBrandDto() { - registerDtoType(SensorBrandDto.class, SensorBrand.class); - registerReferentialDtoBinder(SensorBrandDto.class, SensorBrand.class, SensorBrandDto.PROPERTY_BRAND_NAME); - registerReferentialReferenceDtoBinder(SensorBrandDto.class, SensorBrand.class, - false, - ReferentialDto.PROPERTY_CODE, SensorBrandDto.PROPERTY_BRAND_NAME); - } - - @Override - public void initSensorDataFormatDto() { - registerDtoType(SensorDataFormatDto.class, SensorDataFormat.class); - registerReferentialDtoBinder(SensorDataFormatDto.class, SensorDataFormat.class); - registerReferentialReferenceDtoBinder(SensorDataFormatDto.class, SensorDataFormat.class); - } - - @Override - public void initSensorTypeDto() { - registerDtoType(SensorTypeDto.class, SensorType.class); - registerReferentialDtoBinder(SensorTypeDto.class, SensorType.class); - registerReferentialReferenceDtoBinder(SensorTypeDto.class, SensorType.class); - } - - @Override - public void initSettingShapeDto() { - registerDtoType(SettingShapeDto.class, SettingShape.class); - registerReferentialDtoBinder(SettingShapeDto.class, SettingShape.class); - registerReferentialReferenceDtoBinder(SettingShapeDto.class, SettingShape.class); - } - - @Override - public void initSizeMeasureTypeDto() { - registerDtoType(SizeMeasureTypeDto.class, SizeMeasureType.class); - registerReferentialDtoBinder(SizeMeasureTypeDto.class, SizeMeasureType.class); - registerReferentialReferenceDtoBinder(SizeMeasureTypeDto.class, SizeMeasureType.class); - } - - @Override - public void initStomacFullnessDto() { - registerDtoType(StomacFullnessDto.class, StomacFullness.class); - registerReferentialDtoBinder(StomacFullnessDto.class, StomacFullness.class); - registerReferentialReferenceDtoBinder(StomacFullnessDto.class, StomacFullness.class); - } - - @Override - public void initTripTypeDto() { - registerDtoType(TripTypeDto.class, TripType.class); - registerReferentialDtoBinder(TripTypeDto.class, TripType.class); - registerReferentialReferenceDtoBinder(TripTypeDto.class, TripType.class); - } - - @Override - public void initVesselActivityLonglineDto() { - registerDtoType(VesselActivityLonglineDto.class, VesselActivityLongline.class); - registerReferentialDtoBinder(VesselActivityLonglineDto.class, VesselActivityLongline.class); - registerReferentialReferenceDtoBinder(VesselActivityLonglineDto.class, VesselActivityLongline.class); - } - - @Override - public void initWeightMeasureTypeDto() { - registerDtoType(WeightMeasureTypeDto.class, WeightMeasureType.class); - registerReferentialDtoBinder(WeightMeasureTypeDto.class, WeightMeasureType.class); - registerReferentialReferenceDtoBinder(WeightMeasureTypeDto.class, WeightMeasureType.class); - } - - // -------------------------------------------------------------------------------------------------------------- // - // -- REFERENTIAL SEINE ----------------------------------------------------------------------------------------- // - // -------------------------------------------------------------------------------------------------------------- // - - @Override - public void initDetectionModeDto() { - registerDtoType(DetectionModeDto.class, DetectionMode.class); - registerReferentialDtoBinder(DetectionModeDto.class, DetectionMode.class); - registerReferentialReferenceDtoBinder(DetectionModeDto.class, DetectionMode.class); - } - - @Override - public void initObjectFateDto() { - registerDtoType(ObjectFateDto.class, ObjectFate.class); - registerReferentialDtoBinder(ObjectFateDto.class, ObjectFate.class); - registerReferentialReferenceDtoBinder(ObjectFateDto.class, ObjectFate.class); - } - - @Override - public void initObjectOperationDto() { - registerDtoType(ObjectOperationDto.class, ObjectOperation.class); - registerReferentialDtoBinder(ObjectOperationDto.class, ObjectOperation.class); - registerReferentialReferenceDtoBinder(ObjectOperationDto.class, ObjectOperation.class); - } - - @Override - public void initObjectTypeDto() { - registerDtoType(ObjectTypeDto.class, ObjectType.class); - registerReferentialDtoBinder(ObjectTypeDto.class, ObjectType.class); - registerReferentialReferenceDtoBinder(ObjectTypeDto.class, ObjectType.class); - } - - @Override - public void initObservedSystemDto() { - registerDtoType(ObservedSystemDto.class, ObservedSystem.class); - registerReferentialDtoBinder(ObservedSystemDto.class, ObservedSystem.class, - ObservedSystemDto.PROPERTY_SCHOOL_TYPE); - registerReferentialReferenceDtoBinder(ObservedSystemDto.class, ObservedSystem.class); - } - - @Override - public void initReasonForDiscardDto() { - registerDtoType(ReasonForDiscardDto.class, ReasonForDiscard.class); - registerReferentialDtoBinder(ReasonForDiscardDto.class, ReasonForDiscard.class); - registerReferentialReferenceDtoBinder(ReasonForDiscardDto.class, ReasonForDiscard.class); - } - - @Override - public void initReasonForNoFishingDto() { - registerDtoType(ReasonForNoFishingDto.class, ReasonForNoFishing.class); - registerReferentialDtoBinder(ReasonForNoFishingDto.class, ReasonForNoFishing.class); - registerReferentialReferenceDtoBinder(ReasonForNoFishingDto.class, ReasonForNoFishing.class); - } - - @Override - public void initReasonForNullSetDto() { - registerDtoType(ReasonForNullSetDto.class, ReasonForNullSet.class); - registerReferentialDtoBinder(ReasonForNullSetDto.class, ReasonForNullSet.class); - registerReferentialReferenceDtoBinder(ReasonForNullSetDto.class, ReasonForNullSet.class); - } - - @Override - public void initSpeciesFateDto() { - registerDtoType(SpeciesFateDto.class, SpeciesFate.class); - registerReferentialDtoBinder(SpeciesFateDto.class, SpeciesFate.class); - registerReferentialReferenceDtoBinder(SpeciesFateDto.class, SpeciesFate.class); - } - - @Override - public void initSpeciesStatusDto() { - registerDtoType(SpeciesStatusDto.class, SpeciesStatus.class); - registerReferentialDtoBinder(SpeciesStatusDto.class, SpeciesStatus.class); - registerReferentialReferenceDtoBinder(SpeciesStatusDto.class, SpeciesStatus.class); - } - - @Override - public void initSurroundingActivityDto() { - registerDtoType(SurroundingActivityDto.class, SurroundingActivity.class); - registerReferentialDtoBinder(SurroundingActivityDto.class, SurroundingActivity.class); - registerReferentialReferenceDtoBinder(SurroundingActivityDto.class, SurroundingActivity.class); - } - - @Override - public void initTransmittingBuoyOperationDto() { - registerDtoType(TransmittingBuoyOperationDto.class, TransmittingBuoyOperation.class); - registerReferentialDtoBinder(TransmittingBuoyOperationDto.class, TransmittingBuoyOperation.class); - registerReferentialReferenceDtoBinder(TransmittingBuoyOperationDto.class, TransmittingBuoyOperation.class); - } - - @Override - public void initTransmittingBuoyTypeDto() { - registerDtoType(TransmittingBuoyTypeDto.class, TransmittingBuoyType.class); - registerReferentialDtoBinder(TransmittingBuoyTypeDto.class, TransmittingBuoyType.class); - registerReferentialReferenceDtoBinder(TransmittingBuoyTypeDto.class, TransmittingBuoyType.class); - } - - @Override - public void initVesselActivitySeineDto() { - registerDtoType(VesselActivitySeineDto.class, VesselActivitySeine.class); - registerReferentialDtoBinder(VesselActivitySeineDto.class, VesselActivitySeine.class); - registerReferentialReferenceDtoBinder(VesselActivitySeineDto.class, VesselActivitySeine.class); - } - - @Override - public void initWeightCategoryDto() { - registerDtoType(WeightCategoryDto.class, WeightCategory.class); - registerReferentialDtoBinder(WeightCategoryDto.class, WeightCategory.class, - WeightCategoryDto.PROPERTY_CODE, WeightCategoryDto.PROPERTY_SPECIES); - registerReferentialReferenceDtoBinder(WeightCategoryDto.class, WeightCategory.class, WeightCategoryDto.PROPERTY_CODE, WeightCategoryDto.PROPERTY_SPECIES); - } - - @Override - public void initWindDto() { - - - registerDtoType(WindDto.class, Wind.class); - registerReferentialDtoBinder(WindDto.class, Wind.class, - WindDto.PROPERTY_SPEED_RANGE, WindDto.PROPERTY_WAVE_HEIGHT); - - registerReferentialReferenceDtoBinder(WindDto.class, Wind.class, - ReferentialDto.PROPERTY_CODE, - I18nReferentialDto.PROPERTY_LABEL1, - I18nReferentialDto.PROPERTY_LABEL2, - I18nReferentialDto.PROPERTY_LABEL3, - WindDto.PROPERTY_SPEED_RANGE); - } - - @Override - public void initTripChildSaveResultDto() { - // do nothing - } - - // -------------------------------------------------------------------------------------------------------------- // - // -- DATA SEINE ------------------------------------------------------------------------------------------------ // - // -------------------------------------------------------------------------------------------------------------- // - - @Override - public void initActivitySeineDto() { - registerMainDto(ActivitySeineDto.class, ActivitySeine.class, - ActivitySeineDto.PROPERTY_COMMENT, - ActivitySeineDto.PROPERTY_TIME, - ActivitySeineDto.PROPERTY_LATITUDE, - ActivitySeineDto.PROPERTY_LONGITUDE, - ActivitySeineDto.PROPERTY_VESSEL_SPEED, - ActivitySeineDto.PROPERTY_SEA_SURFACE_TEMPERATURE, - ActivitySeineDto.PROPERTY_ERS_ID, - ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, - ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, - ActivitySeineDto.PROPERTY_DETECTION_MODE, - ActivitySeineDto.PROPERTY_REASON_FOR_NO_FISHING, - ActivitySeineDto.PROPERTY_PREVIOUS_FPA_ZONE, - ActivitySeineDto.PROPERTY_CURRENT_FPA_ZONE, - ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, - ActivitySeineDto.PROPERTY_WIND, - ActivitySeineDto.PROPERTY_OBSERVED_SYSTEM_DISTANCE, - ActivitySeineDto.PROPERTY_LAST_UPDATE - ); - - } - - @Override - public void initActivitySeineObservedSystemDto() { - registerDto(ActivitySeineObservedSystemDto.class, ActivitySeine.class, - ActivitySeineObservedSystemDto.PROPERTY_COMMENT, - ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM_DISTANCE, - ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, - ActivitySeineObservedSystemDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initActivitySeineStubDto() { - registerDto(ActivitySeineStubDto.class, ActivitySeine.class, - ActivitySeineStubDto.PROPERTY_TIME, - ActivitySeineStubDto.PROPERTY_LATITUDE, - ActivitySeineStubDto.PROPERTY_LONGITUDE, - ActivitySeineStubDto.PROPERTY_SEA_SURFACE_TEMPERATURE); - } - - @Override - public void initFloatingObjectDto() { - registerMainDto(FloatingObjectDto.class, FloatingObject.class, - FloatingObjectDto.PROPERTY_COMMENT, - FloatingObjectDto.PROPERTY_DAYS_AT_SEA_COUNT, - FloatingObjectDto.PROPERTY_SUPPORT_VESSEL_NAME, - FloatingObjectDto.PROPERTY_OBJECT_FATE, - FloatingObjectDto.PROPERTY_OBJECT_OPERATION, - FloatingObjectDto.PROPERTY_OBJECT_TYPE - ); - } - - @Override - public void initFloatingObjectObservedSpeciesDto() { - registerDto(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, - FloatingObjectObservedSpeciesDto.PROPERTY_COMMENT, - FloatingObjectObservedSpeciesDto.PROPERTY_OBJECT_OBSERVED_SPECIES - ); - } - - @Override - public void initFloatingObjectSchoolEstimateDto() { - registerDto(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, - FloatingObjectSchoolEstimateDto.PROPERTY_COMMENT, - FloatingObjectSchoolEstimateDto.PROPERTY_OBJECT_SCHOOL_ESTIMATE - ); - } - - @Override - public void initFloatingObjectStubDto() { - // la logique de copie est à ecrire directement dans le service - } - - @Override - public void initFloatingObjectTransmittingBuoyDto() { - registerDto(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, - FloatingObjectTransmittingBuoyDto.PROPERTY_COMMENT, - FloatingObjectTransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY - ); - } - - @Override - public void initGearUseFeaturesMeasurementSeineDto() { - registerMainDto(GearUseFeaturesMeasurementSeineDto.class, GearUseFeaturesMeasurementSeine.class, - GearUseFeaturesMeasurementSeineDto.PROPERTY_MEASUREMENT_VALUE, - GearUseFeaturesMeasurementSeineDto.PROPERTY_GEAR_CARACTERISTIC - ); - } - - @Override - public void initGearUseFeaturesSeineDto() { - registerMainDto(GearUseFeaturesSeineDto.class, GearUseFeaturesSeine.class, - GearUseFeaturesSeineDto.PROPERTY_GEAR, - GearUseFeaturesSeineDto.PROPERTY_COMMENT, - GearUseFeaturesSeineDto.PROPERTY_NUMBER, - GearUseFeaturesSeineDto.PROPERTY_USED_IN_TRIP, - GearUseFeaturesSeineDto.PROPERTY_GEAR_USE_FEATURES_MEASUREMENT - ); - } - - @Override - public void initNonTargetCatchDto() { - registerMainDto(NonTargetCatchDto.class, NonTargetCatch.class, - NonTargetCatchDto.PROPERTY_COMMENT, - NonTargetCatchDto.PROPERTY_CATCH_WEIGHT, - NonTargetCatchDto.PROPERTY_CATCH_WEIGHT_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_MEAN_WEIGHT, - NonTargetCatchDto.PROPERTY_MEAN_WEIGHT_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_MEAN_LENGTH, - NonTargetCatchDto.PROPERTY_MEAN_LENGTH_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_TOTAL_COUNT, - NonTargetCatchDto.PROPERTY_TOTAL_COUNT_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_SPECIES_FATE, - NonTargetCatchDto.PROPERTY_SPECIES, - NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD - ); - } - - @Override - public void initNonTargetLengthDto() { - registerMainDto(NonTargetLengthDto.class, NonTargetLength.class, - NonTargetLengthDto.PROPERTY_LENGTH, - NonTargetLengthDto.PROPERTY_LENGTH, - NonTargetLengthDto.PROPERTY_LENGTH_SOURCE, - NonTargetLengthDto.PROPERTY_PICTURES_REFERENCES, - NonTargetLengthDto.PROPERTY_WEIGHT, - NonTargetLengthDto.PROPERTY_WEIGHT_SOURCE, - NonTargetLengthDto.PROPERTY_COUNT, - NonTargetLengthDto.PROPERTY_ACQUISITION_MODE, - NonTargetLengthDto.PROPERTY_SPECIES, - NonTargetLengthDto.PROPERTY_SEX - ); - } - - @Override - public void initNonTargetSampleDto() { - registerMainDto(NonTargetSampleDto.class, NonTargetSample.class, - NonTargetSampleDto.PROPERTY_COMMENT, - NonTargetSampleDto.PROPERTY_NON_TARGET_LENGTH - ); - } - - @Override - public void initObjectObservedSpeciesDto() { - registerMainDto(ObjectObservedSpeciesDto.class, ObjectObservedSpecies.class, - ObjectObservedSpeciesDto.PROPERTY_COUNT, - ObjectObservedSpeciesDto.PROPERTY_STATUT, - ObjectObservedSpeciesDto.PROPERTY_SPECIES, - ObjectObservedSpeciesDto.PROPERTY_SPECIES_STATUS - ); - } - - @Override - public void initObjectSchoolEstimateDto() { - registerMainDto(ObjectSchoolEstimateDto.class, ObjectSchoolEstimate.class, - ObjectSchoolEstimateDto.PROPERTY_TOTAL_WEIGHT, - ObjectSchoolEstimateDto.PROPERTY_SPECIES - ); - } - - @Override - public void initRouteDto() { - registerMainDto(RouteDto.class, Route.class, - RouteDto.PROPERTY_COMMENT, - RouteDto.PROPERTY_DATE, - RouteDto.PROPERTY_START_LOG_VALUE, - RouteDto.PROPERTY_END_LOG_VALUE, - RouteDto.PROPERTY_CHECK_LEVEL, - RouteDto.PROPERTY_LAST_UPDATE, - RouteDto.PROPERTY_ACTIVITY_SEINE - ); - registerReferenceBinder(RouteDto.class, Route.class, - RouteDto.PROPERTY_COMMENT, - RouteDto.PROPERTY_DATE - ); - } - - @Override - public void initRouteStubDto() { - registerDto(RouteStubDto.class, Route.class, - RouteStubDto.PROPERTY_DATE, - RouteStubDto.PROPERTY_START_LOG_VALUE, - RouteStubDto.PROPERTY_END_LOG_VALUE); - } - - @Override - public void initSchoolEstimateDto() { - registerMainDto(SchoolEstimateDto.class, SchoolEstimate.class, - SchoolEstimateDto.PROPERTY_TOTAL_WEIGHT, - SchoolEstimateDto.PROPERTY_MEAN_WEIGHT, - SchoolEstimateDto.PROPERTY_SPECIES - ); - } - - @Override - public void initSetSeineDto() { - registerMainDto(SetSeineDto.class, SetSeine.class, - SetSeineDto.PROPERTY_COMMENT, - SetSeineDto.PROPERTY_START_TIME, - SetSeineDto.PROPERTY_END_PURSING_TIME_STAMP, - SetSeineDto.PROPERTY_END_SET_TIME_STAMP, - SetSeineDto.PROPERTY_MAX_GEAR_DEPTH, - SetSeineDto.PROPERTY_CURRENT_SPEED, - SetSeineDto.PROPERTY_CURRENT_DIRECTION, - SetSeineDto.PROPERTY_SCHOOL_TOP_DEPTH, - SetSeineDto.PROPERTY_SCHOOL_MEAN_DEPTH, - SetSeineDto.PROPERTY_SCHOOL_THICKNESS, - SetSeineDto.PROPERTY_SONAR_USED, - SetSeineDto.PROPERTY_SUPPORT_VESSEL_NAME, - SetSeineDto.PROPERTY_NON_TARGET_DISCARDED, - SetSeineDto.PROPERTY_CURRENT_MEASURE_DEPTH, - SetSeineDto.PROPERTY_SCHOOL_TYPE, - SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, - SetSeineDto.PROPERTY_LAST_UPDATE - ); - registerReferenceBinder(SetSeineDto.class, SetSeine.class); - } - - @Override - public void initSetSeineNonTargetCatchDto() { - registerDto(SetSeineNonTargetCatchDto.class, SetSeine.class, - SetSeineNonTargetCatchDto.PROPERTY_NON_TARGET_CATCH, - ActivityLonglineDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initSetSeineSchoolEstimateDto() { - registerDto(SetSeineSchoolEstimateDto.class, SetSeine.class, - SetSeineSchoolEstimateDto.PROPERTY_COMMENT, - SetSeineSchoolEstimateDto.PROPERTY_SCHOOL_ESTIMATE, - SetSeineSchoolEstimateDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initSetSeineTargetCatchDto() { - registerDto(SetSeineTargetCatchDto.class, SetSeine.class, - SetSeineTargetCatchDto.PROPERTY_TARGET_CATCH, - SetSeineTargetCatchDto.PROPERTY_LAST_UPDATE - ); - } - - @Override - public void initTargetCatchDto() { - registerMainDto(TargetCatchDto.class, TargetCatch.class, - TargetCatchDto.PROPERTY_COMMENT, - TargetCatchDto.PROPERTY_CATCH_WEIGHT, - TargetCatchDto.PROPERTY_WELL, - TargetCatchDto.PROPERTY_BROUGHT_ON_DECK, - TargetCatchDto.PROPERTY_DISCARDED, - TargetCatchDto.PROPERTY_SPECIES, - TargetCatchDto.PROPERTY_REASON_FOR_DISCARD, - TargetCatchDto.PROPERTY_WEIGHT_CATEGORY - ); - } - - @Override - public void initTargetLengthDto() { - registerMainDto(TargetLengthDto.class, TargetLength.class, - TargetLengthDto.PROPERTY_MEASURE_TYPE, - TargetLengthDto.PROPERTY_LENGTH, - TargetLengthDto.PROPERTY_LENGTH_SOURCE, - TargetLengthDto.PROPERTY_COUNT, - TargetLengthDto.PROPERTY_WEIGHT, - TargetLengthDto.PROPERTY_WEIGHT_SOURCE, - TargetLengthDto.PROPERTY_ACQUISITION_MODE, - TargetLengthDto.PROPERTY_SPECIES - ); - } - - @Override - public void initTargetSampleDto() { - registerMainDto(TargetSampleDto.class, TargetSample.class, - TargetSampleDto.PROPERTY_COMMENT, - TargetSampleDto.PROPERTY_NATURE, - TargetSampleDto.PROPERTY_DISCARDED, - TargetSampleDto.PROPERTY_TARGET_LENGTH); - registerReferenceBinder(TargetSampleDto.class, TargetSample.class); - } - - @Override - public void initTransmittingBuoyDto() { - registerMainDto(TransmittingBuoyDto.class, TransmittingBuoy.class, - TransmittingBuoyDto.PROPERTY_CODE, - TransmittingBuoyDto.PROPERTY_BRAND, - TransmittingBuoyDto.PROPERTY_OWNERSHIP, - TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_OPERATION, - TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_TYPE, - TransmittingBuoyDto.PROPERTY_COUNTRY - ); - } - - @Override - public void initTripSeineDto() { - registerMainDto(TripSeineDto.class, TripSeine.class, - TripSeineDto.PROPERTY_PROGRAM, - TripSeineDto.PROPERTY_COMMENT, - TripSeineDto.PROPERTY_START_DATE, - TripSeineDto.PROPERTY_END_DATE, - TripSeineDto.PROPERTY_CHECK_LEVEL, - TripSeineDto.PROPERTY_FORMS_URL, - TripSeineDto.PROPERTY_REPORTS_URL, - TripSeineDto.PROPERTY_HISTORICAL_DATA, - TripSeineDto.PROPERTY_ERS_ID, - TripSeineDto.PROPERTY_OBSERVER, - TripSeineDto.PROPERTY_CAPTAIN, - TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, - TripSeineDto.PROPERTY_VESSEL, - TripSeineDto.PROPERTY_OCEAN, - TripSeineDto.PROPERTY_DEPARTURE_HARBOUR, - TripSeineDto.PROPERTY_LANDING_HARBOUR, - TripSeineDto.PROPERTY_LAST_UPDATE, - TripSeineDto.PROPERTY_ROUTE - ); - - registerReferenceBinder(TripSeineDto.class, TripSeine.class, - TripSeineDto.PROPERTY_START_DATE, - TripSeineDto.PROPERTY_END_DATE, - TripSeineDto.PROPERTY_OBSERVER, - TripSeineDto.PROPERTY_VESSEL); - } - - @Override - public void initTripSeineGearUseDto() { - registerDto(TripSeineGearUseDto.class, TripSeine.class, - TripSeineGearUseDto.PROPERTY_GEAR_USE_FEATURES_SEINE, - TripSeineGearUseDto.PROPERTY_LAST_UPDATE); - } - - @Override - public void initTripSeineStubDto() { - // la logique de copie est à ecrire directement dans le service - } - - protected <R extends IdDto, E extends TopiaEntity> void registerDtoType(Class<R> dtoType, Class<E> entityType) { - Class<? extends TopiaEntity> entityImplementationType = ObserveEntityEnum.valueOf(entityType).getImplementation(); - DTO_TO_ENTITY_TYPE_BUILDER.put(dtoType, entityType); - ENTITY_TO_DTO_TYPE_BUILDER.put(entityType, dtoType); - ENTITY_TO_DTO_TYPE_BUILDER.put(entityImplementationType, dtoType); - } - - protected <D extends IdDto, E extends TopiaEntity> void registerMainDto(Class<D> dtoType, Class<E> entityType, String... properties) { - - Class<? extends TopiaEntity> entityImplementationType = ObserveEntityEnum.valueOf(entityType).getImplementation(); - ENTITY_TO_DTO_TYPE_BUILDER.put(entityType, dtoType); - ENTITY_TO_DTO_TYPE_BUILDER.put(entityImplementationType, dtoType); - - registerDto(dtoType, entityType, properties); - - } - - protected <D extends IdDto, E extends TopiaEntity> void registerDto(Class<D> dtoType, Class<E> entityType, String... properties) { - - DTO_TO_ENTITY_TYPE_BUILDER.put(dtoType, entityType); - - BinderModelBuilder<D, E> dtoToEntityBuilder = - newBinderBuilder(dtoType, entityType, properties); - - registerDtoBinder(dtoToEntityBuilder); - - } - - protected <R extends ReferentialDto, E extends TopiaEntity> void registerReferentialDtoBinder(Class<R> dtoType, Class<E> entityType, String... extraProperties) { - - BinderModelBuilder<R, E> dtoToEntityBuilder = newBinderBuilder(dtoType, entityType, DEFAULT_REFERENTIAL_PROPERTIES); - - if (I18nReferenceEntity.class.isAssignableFrom(entityType)) { - dtoToEntityBuilder.addSimpleProperties(DEFAULT_REFERENTIAL_I18N_PROPERTIES); - } - if (LengthWeightParameter.class.isAssignableFrom(entityType)) { - dtoToEntityBuilder.addSimpleProperties(DEFAULT_REFERENTIAL_LENGTH_WEIGHT_PARAMETER_PROPERTIES); - } - - if (extraProperties.length > 0) { - dtoToEntityBuilder.addSimpleProperties(extraProperties); - } - - registerDtoBinder(dtoToEntityBuilder); - - } - - protected static <R extends ReferentialDto, E extends TopiaEntity> void registerReferentialReferenceDtoBinder(Class<R> dtoType, Class<E> entityType, String... extraProperties) { - - registerReferentialReferenceDtoBinder(dtoType, entityType, true, extraProperties); - - } - - protected static <R extends ReferentialDto, E extends TopiaEntity> void registerReferentialReferenceDtoBinder(Class<R> dtoType, Class<E> entityType, boolean useDefault, String... extraProperties) { - - BinderModelBuilder<R, E> dtoToReferenceBuilder = newBinderBuilder(dtoType, entityType); - - if (useDefault) { - dtoToReferenceBuilder.addSimpleProperties(DEFAULT_REFERENTIAL_REFERENCE_PROPERTIES); - } - - if (extraProperties.length > 0) { - dtoToReferenceBuilder.addSimpleProperties(extraProperties); - } - - registerReferenceBinder(dtoToReferenceBuilder); - - } - - protected static <R extends IdDto, E extends TopiaEntity> void registerDtoBinder(BinderModelBuilder<R, E> dtoToEntityBuilder) { - - dtoToEntityBuilder.addProperty(IdDto.PROPERTY_ID, TopiaEntity.PROPERTY_TOPIA_ID); - - BinderModelBuilder<E, R> entityToDtoToBuilder = dtoToEntityBuilder.buildInverseModelBuilder(); - - addDtoToEntityFunctions(dtoToEntityBuilder); - addEntityToDtoFunctions(entityToDtoToBuilder); - - BinderFactory.registerBinderModel(dtoToEntityBuilder, ObserveDtoBinders.DTO_TO_ENTITY); - - Binder.BinderModel<E, R> binderModel = BinderFactory.registerBinderModel(entityToDtoToBuilder, ObserveDtoBinders.ENTITY_TO_DTO); - - // On enregistre aussi un binder depuis l'implantation de l'entité, pour ne pas à avoir à tout le temps - // revenir sur le contrat d'une entité - Class<E> entityImplementationType = (Class<E>) ObserveEntityEnum.valueOf(binderModel.getSourceType()).getImplementation(); - - BinderModelBuilder<E, R> entityImplToDtoToBuilder = newBinderBuilder(entityImplementationType, binderModel.getTargetType()); - for (String propertyName : binderModel.getSourceDescriptors()) { - if (binderModel.containsSourceProperty(propertyName)) { - entityImplToDtoToBuilder.addProperty(propertyName, binderModel.getTargetProperty(propertyName)); - } - } - BinderFactory.registerBinderModel(entityImplToDtoToBuilder, ObserveDtoBinders.ENTITY_TO_DTO); - - } - - protected static <R extends IdDto, E extends TopiaEntity> void registerReferenceBinder(Class<R> dtoType, Class<E> entityType, String... extraProperties) { - - BinderModelBuilder<R, E> dtoToReferenceBuilder = newBinderBuilder(dtoType, entityType, extraProperties); - - BinderModelBuilder<E, R> entityToReferenceBuilder = dtoToReferenceBuilder.buildInverseModelBuilder(); - - addDtoToEntityFunctions(dtoToReferenceBuilder); - addEntityToDtoFunctions(entityToReferenceBuilder); - - BinderFactory.registerBinderModel(dtoToReferenceBuilder, ObserveDtoBinders.DTO_TO_REFERENCE); - Binder.BinderModel<E, R> binderModel = - BinderFactory.registerBinderModel(entityToReferenceBuilder, ObserveDtoBinders.ENTITY_TO_REFERENCE); - - // On enregistre aussi un binder depuis l'implantation de l'entité, pour ne pas à avoir à tout le temps - // revenir sur le contrat d'une entité - Class<E> entityImplementationType = (Class<E>) ObserveEntityEnum.valueOf(binderModel.getSourceType()).getImplementation(); - - BinderModelBuilder<E, R> entityImplToDtoToBuilder = newBinderBuilder(entityImplementationType, binderModel.getTargetType()); - for (String propertyName : binderModel.getSourceDescriptors()) { - if (binderModel.containsSourceProperty(propertyName)) { - entityImplToDtoToBuilder.addProperty(propertyName, binderModel.getTargetProperty(propertyName)); - } - } - BinderFactory.registerBinderModel(entityImplToDtoToBuilder, ObserveDtoBinders.ENTITY_TO_REFERENCE); - - } - - protected static <R extends ReferentialDto, E extends TopiaEntity> void registerReferenceBinder(BinderModelBuilder<R, E> dtoToReferenceBuilder) { - - dtoToReferenceBuilder.addProperty(IdDto.PROPERTY_ID, TopiaEntity.PROPERTY_TOPIA_ID); - - BinderModelBuilder<E, R> entityToReferenceBuilder = dtoToReferenceBuilder.buildInverseModelBuilder(); - - addDtoToEntityFunctions(dtoToReferenceBuilder); - addEntityToDtoFunctions(entityToReferenceBuilder); - - BinderFactory.registerBinderModel(dtoToReferenceBuilder, ObserveDtoBinders.DTO_TO_REFERENCE); - Binder.BinderModel<E, R> binderModel = - BinderFactory.registerBinderModel(entityToReferenceBuilder, ObserveDtoBinders.ENTITY_TO_REFERENCE); - - // On enregistre aussi un binder depuis l'implantation de l'entité, pour ne pas à avoir à tout le temps - // revenir sur le contrat d'une entité - Class<E> entityImplementationType = (Class<E>) ObserveEntityEnum.valueOf(binderModel.getSourceType()).getImplementation(); - - BinderModelBuilder<E, R> entityImplToDtoToBuilder = newBinderBuilder(entityImplementationType, binderModel.getTargetType()); - for (String propertyName : binderModel.getSourceDescriptors()) { - if (binderModel.containsSourceProperty(propertyName)) { - entityImplToDtoToBuilder.addProperty(propertyName, binderModel.getTargetProperty(propertyName)); - } - } - BinderFactory.registerBinderModel(entityImplToDtoToBuilder, ObserveDtoBinders.ENTITY_TO_REFERENCE); - - } - - protected static <Source, Target> BinderModelBuilder<Source, Target> newBinderBuilder(Class<Source> source, Class<Target> target, String... properties) { - BinderModelBuilder<Source, Target> builder = BinderModelBuilder.newEmptyBuilder(source, target); - builder.canTypeMismatch(true); - builder.addSimpleProperties(properties); - - return builder; - } - - public static ImmutableMap<Class, Function> DTO_TO_ENTITY_FUNCTIONS = ImmutableMap.<Class, Function>builder() - .put(fr.ird.observe.services.dto.constants.GearType.class, new Function<fr.ird.observe.services.dto.constants.GearType, fr.ird.observe.entities.constants.GearType>() { - - @Override - public fr.ird.observe.entities.constants.GearType apply(fr.ird.observe.services.dto.constants.GearType input) { - return fr.ird.observe.entities.constants.GearType.valueOf(input.name()); - } - }) - .put(fr.ird.observe.services.dto.constants.ReferenceStatus.class, new Function<fr.ird.observe.services.dto.constants.ReferenceStatus, fr.ird.observe.entities.constants.ReferenceStatus>() { - - @Override - public fr.ird.observe.entities.constants.ReferenceStatus apply(fr.ird.observe.services.dto.constants.ReferenceStatus input) { - return fr.ird.observe.entities.constants.ReferenceStatus.valueOf(input.name()); - } - }) - .put(fr.ird.observe.services.dto.constants.seine.Ownership.class, new Function<fr.ird.observe.services.dto.constants.seine.Ownership, fr.ird.observe.entities.constants.seine.Ownership>() { - - @Override - public fr.ird.observe.entities.constants.seine.Ownership apply(fr.ird.observe.services.dto.constants.seine.Ownership input) { - return fr.ird.observe.entities.constants.seine.Ownership.valueOf(input.name()); - } - }) - .put(fr.ird.observe.services.dto.constants.seine.SchoolType.class, new Function<fr.ird.observe.services.dto.constants.seine.SchoolType, fr.ird.observe.entities.constants.seine.SchoolType>() { - - @Override - public fr.ird.observe.entities.constants.seine.SchoolType apply(fr.ird.observe.services.dto.constants.seine.SchoolType input) { - return fr.ird.observe.entities.constants.seine.SchoolType.valueOf(input.name()); - } - }) - .put(fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation.class, new Function<fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation, fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation>() { - - @Override - public fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation apply(fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation input) { - return fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation.valueOf(input.name()); - } - }) - .put(fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource.class, new Function<fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource, fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource>() { - - @Override - public fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource apply(fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource input) { - return fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource.valueOf(input.name()); - } - }) - .build(); - - public static ImmutableMap<Class, Function> ENTITY_TO_DTO_FUNCTIONS = ImmutableMap.<Class, Function>builder() - .put(fr.ird.observe.entities.constants.GearType.class, new Function<fr.ird.observe.entities.constants.GearType, fr.ird.observe.services.dto.constants.GearType>() { - - @Override - public fr.ird.observe.services.dto.constants.GearType apply(fr.ird.observe.entities.constants.GearType input) { - return fr.ird.observe.services.dto.constants.GearType.valueOf(input.name()); - } - }) - .put(fr.ird.observe.entities.constants.ReferenceStatus.class, new Function<fr.ird.observe.entities.constants.ReferenceStatus, fr.ird.observe.services.dto.constants.ReferenceStatus>() { - - @Override - public fr.ird.observe.services.dto.constants.ReferenceStatus apply(fr.ird.observe.entities.constants.ReferenceStatus input) { - return fr.ird.observe.services.dto.constants.ReferenceStatus.valueOf(input.name()); - } - }) - .put(fr.ird.observe.entities.constants.seine.Ownership.class, new Function<fr.ird.observe.entities.constants.seine.Ownership, fr.ird.observe.services.dto.constants.seine.Ownership>() { - - @Override - public fr.ird.observe.services.dto.constants.seine.Ownership apply(fr.ird.observe.entities.constants.seine.Ownership input) { - return fr.ird.observe.services.dto.constants.seine.Ownership.valueOf(input.name()); - } - }) - .put(fr.ird.observe.entities.constants.seine.SchoolType.class, new Function<fr.ird.observe.entities.constants.seine.SchoolType, fr.ird.observe.services.dto.constants.seine.SchoolType>() { - - @Override - public fr.ird.observe.services.dto.constants.seine.SchoolType apply(fr.ird.observe.entities.constants.seine.SchoolType input) { - return fr.ird.observe.services.dto.constants.seine.SchoolType.valueOf(input.name()); - } - }) - .put(fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation.class, new Function<fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation, fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation>() { - - @Override - public fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation apply(fr.ird.observe.entities.constants.seine.TypeTransmittingBuoyOperation input) { - return fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation.valueOf(input.name()); - } - }) - .put(fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource.class, new Function<fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource, fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource>() { - - @Override - public fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource apply(fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource input) { - return fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource.valueOf(input.name()); - } - }) - .build(); - - - protected static <Source extends IdDto, Target> void addDtoToEntityFunctions(BinderModelBuilder<Source, Target> builder) { - - for(Map.Entry<Class, Function> entry : DTO_TO_ENTITY_FUNCTIONS.entrySet()) { - builder.addFunction(entry.getKey(), entry.getValue()); - } - } - - protected static <Source extends TopiaEntity, Target> void addEntityToDtoFunctions(BinderModelBuilder<Source, Target> builder) { - - for(Map.Entry<Class, Function> entry : ENTITY_TO_DTO_FUNCTIONS.entrySet()) { - builder.addFunction(entry.getKey(), entry.getValue()); - } - - } - -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ReferenceTypeName.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ReferenceTypeName.java deleted file mode 100644 index 6657b5c..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/ReferenceTypeName.java +++ /dev/null @@ -1,49 +0,0 @@ -package fr.ird.observe.services.dto; - -import java.util.Objects; - -/** - * FIXME Ca sert à quoi? - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public class ReferenceTypeName { - - protected final Class<? extends IdDto> parentType; - - protected final Class<? extends IdDto> type; - - protected final String property; - - public ReferenceTypeName(Class<? extends IdDto> parentType, Class<? extends IdDto> type, String property) { - this.parentType = parentType; - this.type = type; - this.property = property; - } - - public Class<? extends IdDto> getParentType() { - return parentType; - } - - public Class<? extends IdDto> getType() { - return type; - } - - public String getProperty() { - return property; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof ReferenceTypeName)) return false; - ReferenceTypeName that = (ReferenceTypeName) o; - return Objects.equals(parentType, that.parentType) && - Objects.equals(type, that.type) && - Objects.equals(property, that.property); - } - - @Override - public int hashCode() { - return Objects.hash(parentType, type, property); - } -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java deleted file mode 100644 index 3c5803e..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/dto/reference/ObserveReferenceSetBuilder.java +++ /dev/null @@ -1,262 +0,0 @@ -package fr.ird.observe.services.dto.reference; - -import com.google.common.base.Defaults; -import com.google.common.base.Function; -import com.google.common.base.Preconditions; -import fr.ird.observe.entities.referentiel.ReferenceEntity; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ObserveDtosInitializer; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetDefinition; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import org.hibernate.Hibernate; -import org.hibernate.proxy.HibernateProxy; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.ReflectUtil; -import org.nuiton.util.beans.Binder; -import org.nuiton.util.beans.BinderFactory; - -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Date; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReferenceSetBuilder<D extends IdDto, R extends ObserveReference> { - - private ObserveReferenceSetDefinition<D> definition; - - private Binder<TopiaEntity, TopiaEntity> binder; - - private String[] propertyNames; - - private String[] entityPropertyNames; - - private String i18nEntityPropertyName; - - private Class<?>[] propertyTypes; - - private int referentialLocaleOrdinal; - - private LinkedHashSet<R> references; - - private Date lastUpdateDate; - - private boolean loadTechnicalInformations; - - public static <D extends IdDto, R extends ObserveReference> ObserveReferenceSetBuilder<D, R> of( - - ReferentialLocale referentialLocale, - ObserveReferenceSetDefinition<D> definition, - Class<TopiaEntity> entityType, - boolean loadTechnicalInformations) { - - ObserveReferenceSetBuilder<D, R> referenceDtoBuilder = new ObserveReferenceSetBuilder<>(); - - referenceDtoBuilder.definition = definition; - referenceDtoBuilder.referentialLocaleOrdinal = referentialLocale.ordinal(); - referenceDtoBuilder.binder = BinderFactory.newBinder(entityType); - referenceDtoBuilder.propertyNames = definition.getPropertyNames(); - referenceDtoBuilder.loadTechnicalInformations = loadTechnicalInformations; - - List<String> entityPropertyNames = new ArrayList<>(); - - for (String propertyName : referenceDtoBuilder.propertyNames) { - - if (ReferentialReferenceDto.PROPERTY_LABEL.equals(propertyName)) { - propertyName = referenceDtoBuilder.i18nEntityPropertyName = referentialLocale.getLibelle(); - } - entityPropertyNames.add(propertyName); - } - referenceDtoBuilder.entityPropertyNames = entityPropertyNames.toArray(new String[entityPropertyNames.size()]); - referenceDtoBuilder.propertyTypes = definition.getPropertyTypes(); - referenceDtoBuilder.references = new LinkedHashSet<>(); - - return referenceDtoBuilder; - - } - - public ObserveReferenceSetBuilder<D, R> setLastUpdateDate(Date lastUpdateDate) { - this.lastUpdateDate = lastUpdateDate; - return this; - } - - public ObserveReferenceSet<D, R> build() { - return ObserveReferenceSet.of(definition, references, lastUpdateDate); - } - - public ObserveReferenceSetBuilder<D, R> addReferentialReference(TopiaEntity entity) { - - Map<String, Object> entityProperties = loadProperties(entity); - - Serializable[] propertyValues = new Serializable[propertyTypes.length]; - for (int i = 0; i < propertyTypes.length; i++) { - String propertyName = propertyNames[i]; - - if (ReferentialReferenceDto.PROPERTY_LABEL.equals(propertyName)) { - propertyName = i18nEntityPropertyName; - } - Serializable propertyValue = (Serializable) entityProperties.get(propertyName); - Class<?> propertyType = propertyTypes[i]; - - if (propertyValue == null) { - - if (propertyType.isPrimitive()) { - propertyValue = (Serializable) Defaults.defaultValue(propertyType); - } - - } else { - - if (propertyValue instanceof ReferenceEntity) { - - propertyValue = transformReferenceEntity(propertyType, (ReferenceEntity) propertyValue); - - } else { - - propertyValue = transform(propertyValue); - - } - - checkType(propertyName, propertyValue, propertyType); - - } - - propertyValues[i] = propertyValue; - - } - - ObserveReferentialReference result = new ObserveReferentialReference(); - - result.setValues(propertyValues); - result.setId(entity.getTopiaId()); - - ReferenceEntity referenceEntity = (ReferenceEntity) entity; - - result.setEnabled(referenceEntity.isEnabled()); - result.setNeedComment(referenceEntity.isNeedComment()); - - if (loadTechnicalInformations) { - - result.setVersion(entity.getTopiaVersion()); - result.setCreateDate(entity.getTopiaCreateDate()); - result.setLastUpdateDate(referenceEntity.getLastUpdate()); - - } - - references.add((R) result); - - return this; - - } - - public ObserveReferenceSetBuilder<D, R> addReference(TopiaEntity entity) { - - Map<String, Object> entityProperties = loadProperties(entity); - - Serializable[] propertyValues = new Serializable[propertyTypes.length]; - for (int i = 0; i < propertyTypes.length; i++) { - String propertyName = propertyNames[i]; - - Serializable propertyValue = (Serializable) entityProperties.get(propertyName); - Class<?> propertyType = propertyTypes[i]; - - if (propertyValue == null) { - - if (propertyType.isPrimitive()) { - propertyValue = (Serializable) Defaults.defaultValue(propertyType); - } - - } else { - - if (propertyValue instanceof ReferenceEntity) { - - propertyValue = transformReferenceEntity(propertyType, (ReferenceEntity) propertyValue); - - } else if (propertyValue instanceof TopiaEntity) { - - //TODO - - } else { - - propertyValue = transform(propertyValue); - - } - - checkType(propertyName, propertyValue, propertyType); - - } - - propertyValues[i] = propertyValue; - - } - - ObserveReference result = new ObserveReference(); - result.setValues(propertyValues); - result.setId(entity.getTopiaId()); - - references.add((R) result); - - return this; - - } - - protected void checkType(String propertyName, Serializable propertyValue, Class<?> propertyType) { - if (propertyType.isPrimitive()) { - Preconditions.checkState(ReflectUtil.boxType(propertyType).isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); - } else { - Preconditions.checkState(propertyType.isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); - } - } - - protected Map<String, Object> loadProperties(TopiaEntity entity) { - - Preconditions.checkNotNull(entity, "'entity' can't be null"); - - // on extrait l' entité du proxy hibernate - if (entity instanceof HibernateProxy) { - Hibernate.initialize(entity); - entity = (TopiaEntity) ((HibernateProxy) entity).getHibernateLazyInitializer().getImplementation(); - } - - Map<String, Object> entityProperties = binder.obtainProperties(entity, true, entityPropertyNames); - return entityProperties; - - } - - protected Serializable transformReferenceEntity(Class<?> propertyType, ReferenceEntity referentialEntity) { - - Serializable result; - if (String.class.equals(propertyType)) { - - // On en récupère que son identifiant - //FIXME Voir si cela suffit - - result = referentialEntity.getTopiaId(); -// result = ReferenceEntities.toString(referentialLocaleOrdinal, referentialEntity); - - } else { - - // on veut récupérer une référence - //TODO - result = null; - - } - - return result; - } - - protected Serializable transform(Object propertyValue) { - Function function = ObserveDtosInitializer.getEntityToDtoFunction(propertyValue); - if (function != null) { - propertyValue = function.apply(propertyValue); - } - return (Serializable) propertyValue; - } - -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java deleted file mode 100644 index 509b086..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferenceSetServiceTopia.java +++ /dev/null @@ -1,170 +0,0 @@ -package fr.ird.observe.services.service; - -import com.google.common.base.Optional; -import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableMap; -import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.reference.ObserveReference; -import fr.ird.observe.services.dto.reference.ObserveReferenceSet; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetBuilder; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; -import fr.ird.observe.services.dto.reference.ObserveReferentialReference; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.entity.EntitiesExtractor; -import org.nuiton.topia.persistence.TopiaEntity; - -import java.util.Collections; -import java.util.Date; -import java.util.Map; - -/** - * Created on 11/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferenceSetServiceTopia extends ObserveServiceTopia implements ReferenceSetService { - - @Override - public ObserveReferenceSetResult<ObserveReference> loadDataReferenceSets(ObserveReferenceSetRequest request) { - String requestName = request.getRequestName(); - ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(requestName); - - boolean loadTechnicalInformations = request.isLoadTechnicalInformations(); - - ObserveReferenceSetResult.Builder<ObserveReference> resultBuilder = ObserveReferenceSetResult.builder(requestName); - - for (ObserveReferenceSetRequestKeyDefinition definition : requestDefinition.getKeys()) { - - boolean referential = definition.isReferential(); - Preconditions.checkArgument(!referential, "Can't obtain referenceSet of referential here, but try with " + definition); - - ObserveReferenceSet<IdDto, ObserveReference> referenceSet = loadDataReferenceSet(definition, loadTechnicalInformations); - - String name = definition.getName(); - resultBuilder.addReferenceSet(name, referenceSet); - - } - - return resultBuilder.build(); - - } - - @Override - public ObserveReferenceSetResult<ObserveReferentialReference> loadReferentialReferenceSets(ObserveReferenceSetRequest request) { - - String requestName = request.getRequestName(); - - ObserveReferenceSetRequestDefinition requestDefinition = ObserveReferenceSetRequestDefinitions.get(requestName); - - boolean loadTechnicalInformations = request.isLoadTechnicalInformations(); - - ObserveReferenceSetResult.Builder<ObserveReferentialReference> resultBuilder = ObserveReferenceSetResult.builder(requestName); - ImmutableMap<String, Date> lastUpdateDates = request.getLastUpdateDates(); - Preconditions.checkNotNull(lastUpdateDates); - - for (ObserveReferenceSetRequestKeyDefinition definition : requestDefinition.getKeys()) { - - boolean referential = definition.isReferential(); - Preconditions.checkArgument(referential, "Can't obtain referenceSet of data here, but try with " + definition); - - String name = definition.getName(); - Date lastUpdateDate = lastUpdateDates.get(name); - - ObserveReferenceSet<ReferentialDto, ObserveReferentialReference> referenceSet = loadReferentialReferenceSet(definition, lastUpdateDate, loadTechnicalInformations); - if (referenceSet != null) { - resultBuilder.addReferenceSet(name, referenceSet); - } - - } - - return resultBuilder.build(); - - } - - protected <D extends IdDto> ObserveReferenceSet<D, ObserveReference> loadDataReferenceSet(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition, boolean loadTechnicalInformations) { - - Class<TopiaEntity> entityType = getEntityType(requestKeyDefinition.getType()); - - ObserveReferenceSetBuilder<D, ObserveReference> referenceBuilder = ObserveReferenceSetBuilder.of(serviceContext.getReferentialLocale(), requestKeyDefinition.getDefinition(), entityType, loadTechnicalInformations); - - Iterable<TopiaEntity> entities = getEntities(requestKeyDefinition, Collections.<String, Object>emptyMap()); - - for (TopiaEntity entity : entities) { - - referenceBuilder.addReference(entity); - - } - - ObserveReferenceSet<D, ObserveReference> referenceSet = referenceBuilder.build(); - return referenceSet; - - } - - protected <D extends ReferentialDto> ObserveReferenceSet<D, ObserveReferentialReference> loadReferentialReferenceSet(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition, Date lastUpdateDate, boolean loadTechnicalInformations) { - - Class<TopiaEntity> entityType = getEntityType(requestKeyDefinition.getType()); - - Optional<Date> lastUpdateOptional = getLastUpdate(entityType); - - ObserveReferenceSet<D, ObserveReferentialReference> referenceSet; - if (lastUpdateOptional.isPresent() && (lastUpdateDate == null || lastUpdateOptional.get().after(lastUpdateDate))) { - - ObserveReferenceSetBuilder<D, ObserveReferentialReference> referenceBuilder = ObserveReferenceSetBuilder.of(serviceContext.getReferentialLocale(), - requestKeyDefinition.getDefinition(), - entityType, - loadTechnicalInformations); - - referenceBuilder.setLastUpdateDate(lastUpdateOptional.get()); - - Iterable<TopiaEntity> entities = getEntities(requestKeyDefinition, Collections.<String, Object>emptyMap()); - - for (TopiaEntity entity : entities) { - - referenceBuilder.addReferentialReference(entity); - - } - - referenceSet = referenceBuilder.build(); - - } else { - - referenceSet = null; - - } - - return referenceSet; - - } - - protected <E extends TopiaEntity, D extends IdDto> Iterable<E> getEntities(ObserveReferenceSetRequestKeyDefinition<D> requestKeyDefinition, - Map<String, Object> dataContext) { - - Class<D> type = requestKeyDefinition.getType(); - Class<E> entityType = getEntityType(type); - Class<TopiaEntity> entityParentType = getEntityType(requestKeyDefinition.getParentType()); - String name = requestKeyDefinition.getName(); - - Iterable<E> entities; - - EntitiesExtractor<E> entitiesExtractor = serviceContext.getEntitiesSetFactory().newEntitiesSet(entityParentType, - entityType, - name); - - if (entitiesExtractor == null) { - - entities = loadEntities(entityType); - - } else { - entities = entitiesExtractor.getEntities(serviceContext.getTopiaPersistenceContext(), dataContext); - } - - return entities; - - } - -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index 1f1e972..81865f2 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -23,29 +23,36 @@ package fr.ird.observe.services.service; */ import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import fr.ird.observe.entities.EntityMap; import fr.ird.observe.entities.referentiel.ReferenceEntity; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.binder.BinderEngine; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; +import fr.ird.observe.services.dto.AbstractReferenceSet; +import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DtoMap; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.ReferenceStatus; +import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinition; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.Date; import java.util.LinkedHashSet; import java.util.List; +import java.util.Set; /** * Created on 16/08/15. @@ -55,178 +62,172 @@ import java.util.List; public class ReferentialServiceTopia extends ObserveServiceTopia implements ReferentialService { @Override - public <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSet(Class<R> dtoType) { - return getReferenceSet(dtoType, false); - } + public <D extends ReferentialDto> ReferentialReferenceSet<D> getReferenceSet(Class<D> type, Date lastUpdateDate) { - @Override - public <D extends ReferentialDto> ReferenceSetDto<D> getReferentialReferenceSetWithTechnicalInformations(Class<D> dtoType) { - return getReferenceSet(dtoType, true); - } + Class<ReferenceEntity> entityType = BinderEngine.get().getReferentialEntityType(type); - @Override - public <D extends ReferentialDto> ReferenceSetDto<D> getReferentialReferenceSetIfModify(Class<D> dtoType, Date updateAfter) { - ReferenceSetDto<D> result = null; + //FIXME A revoir car on devrait toujours avoir une date de dernière mise à jour + Optional<Date> lastUpdateOptional = getLastUpdate(entityType); - Class<ReferenceEntity> entityType = getEntityType(dtoType); + ReferentialReferenceSet<D> result = null; - Optional<Date> lastUpdateOptional = getLastUpdate(entityType); + if (lastUpdateOptional.isPresent() && (lastUpdateDate == null || lastUpdateOptional.get().after(lastUpdateDate))) { + + List<ReferenceEntity> entities = loadEntities(entityType); + + result = toReferentialReferenceSet(type, entities, lastUpdateOptional.get()); - if (lastUpdateOptional.isPresent() && lastUpdateOptional.get().after(updateAfter)) { - result = getReferenceSet(dtoType, false); } return result; + } @Override - public SpeciesDto loadSpecies(String id) { + public ImmutableSet<ReferentialReferenceSet<?>> getReferentialReferenceSets(ReferenceSetsRequest request) { - Species speciesEntity = loadEntity(SpeciesDto.class, Species.class, id); + String requestName = request.getRequestName(); - SpeciesDto speciesDto = entityToDto(SpeciesDto.class, Species.class, speciesEntity); + ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); + + ImmutableSet.Builder<ReferentialReferenceSet<?>> resultBuilder = ImmutableSet.builder(); + + ImmutableMap<Class<?>, Date> lastUpdateDates = request.getLastUpdateDates(); + Preconditions.checkNotNull(lastUpdateDates); + + for (ReferenceSetDefinition<? extends ReferentialDto> definition : requestDefinition.getReferentialReferenceSetDefinitions()) { + + Date lastUpdateDate = lastUpdateDates.get(definition.getType()); + + ReferentialReferenceSet<? extends ReferentialDto> referenceSet = getReferenceSet(definition.getType(), lastUpdateDate); + if (referenceSet != null) { + resultBuilder.add(referenceSet); + } + + } + + return resultBuilder.build(); - return speciesDto; } @Override - public <D extends ReferentialDto> FormDto<D> loadToRead(Class<D> dtoType, String id) { - Class<ReferenceEntity> entityType = getEntityType(dtoType); - ReferenceEntity entity = loadEntity(dtoType, entityType, id); - FormDto<D> form = entityToEditFormDto(dtoType, entity, null); - addTechnicalInformations(entity, form.getForm()); - return form; + public SpeciesDto loadSpecies(String id) { + + Species speciesEntity = loadEntity(SpeciesDto.class, id); + ReferentialBinderSupport<Species, SpeciesDto> binder = getReferentialBinder(SpeciesDto.class); + SpeciesDto speciesDto = binder.toDto(getReferentialLocale(), speciesEntity); + return speciesDto; + } @Override - public <D extends ReferentialDto> ReferenceDto<D> loadReferenceToRead(Class<D> dtoType, String id) throws DataNotFoundException { - Class<ReferenceEntity> entityType = getEntityType(dtoType); - ReferenceEntity entity = loadEntity(dtoType, entityType, id); - ReferenceDto<D> form = entityToReferenceDto(dtoType, entity); + public <D extends ReferentialDto> Form<D> loadForm(Class<D> dtoType, String id) { + + ReferenceEntity entity = loadEntity(dtoType, id); + //FIXME Definir une definition pour chaque formulaire de référentiel + Form<D> form = referentialEntityToForm(dtoType, entity, null); + + D dto = form.getObject(); + dto.setVersion(entity.getTopiaVersion()); + dto.setCreateDate(entity.getTopiaCreateDate()); + dto.setLastUpdate(entity.getLastUpdate()); + dto.setStatus(ReferenceStatus.valueOf(entity.getStatus().name())); + dto.setEnabled(entity.isEnabled()); + return form; + } @Override - public <D extends ReferentialDto> FormDto<D> loadToEdit(Class<D> dtoType, String id) { - Class<ReferenceEntity> entityType = getEntityType(dtoType); - ReferenceEntity entity = loadEntity(dtoType, entityType, id); - //TODO Voir selon le type d'entité si il y a des valeurs par défaut à utiliser - FormDto<D> form = entityToEditFormDto(dtoType, entity, null); - addTechnicalInformations(entity, form.getForm()); - return form; + public <D extends ReferentialDto> ReferentialReference<D> loadReference(Class<D> type, String id) throws DataNotFoundException { + + ReferenceEntity entity = loadEntity(type, id); + ReferentialBinderSupport<ReferenceEntity, D> referentialBinder = getReferentialBinder(type); + ReferentialReference<D> reference = referentialBinder.toReferentialReference(getReferentialLocale(), entity); + return reference; + } @Override - public <D extends ReferentialDto> FormDto<D> preCreate(Class<D> dtoType) { - Class<ReferenceEntity> entityType = getEntityType(dtoType); + public <D extends ReferentialDto> Form<D> preCreate(Class<D> dtoType) { + Class<ReferenceEntity> entityType = getReferentialEntityType(dtoType); ReferenceEntity entity = newEntity(entityType); //TODO Voir selon le type d'entité si il y a des valeurs par défaut à utiliser - FormDto<D> form = entityToEditFormDto(dtoType, entity, null); + //FIXME Definir une definition pour chaque formulaire de référentiel + Form<D> form = referentialEntityToForm(dtoType, entity, null); return form; } - public <D extends ReferentialDto> String save(D bean) { - Class<D> dtoType = (Class<D>) bean.getClass(); - Class<ReferenceEntity> entityType = getEntityType(dtoType); - ReferenceEntity entity = dtoToEntity(dtoType, entityType, bean); - entity = saveEntity(entityType, entity); + public <D extends ReferentialDto> String save(D dto) { + Class<D> dtoType = (Class<D>) dto.getClass(); + Class<ReferenceEntity> entityType = getReferentialEntityType(dtoType); + + ReferenceEntity entity = loadOrCreateEntity(dtoType, entityType, dto); + + referentialDtoToEntity(dto, entity); + + saveFollowedEntity(entityType, entity); + + //FIXME Il faut aussi renvoyer la nouvelle date de dernière mist à jour return entity.getTopiaId(); } @Override public <D extends ReferentialDto> void delete(Class<D> dtoType, String id) { - Class<? extends ReferenceEntity> entityType = getEntityType(dtoType); + Class<? extends ReferenceEntity> entityType = getReferentialEntityType(dtoType); deleteEntity(dtoType, entityType, Collections.singleton(id)); } @Override public <D extends ReferentialDto> void delete(Class<D> dtoType, Collection<String> ids) { - Class<? extends ReferenceEntity> entityType = getEntityType(dtoType); + Class<? extends ReferenceEntity> entityType = getReferentialEntityType(dtoType); deleteEntity(dtoType, entityType, ids); } @Override public <R extends ReferentialDto> DtoMap findAllUsages(R bean) throws DataNotFoundException { - Class<? extends IdDto> referentialDtoType = bean.getClass(); - Class<ReferenceEntity> entityType = getEntityType(referentialDtoType); - ReferenceEntity entity = loadEntity(referentialDtoType, entityType, bean.getId()); + Class<R> referentialDtoType = (Class<R>) bean.getClass(); + Class<ReferenceEntity> entityType = getReferentialEntityType(referentialDtoType); + + ReferenceEntity entity = loadEntity(referentialDtoType, bean.getId()); TopiaDao<ReferenceEntity> dao = getTopiaPersistenceContext().getDao(entityType); EntityMap allUsages = new EntityMap(dao.findAllUsages(entity)); - DtoMap result = new DtoMap(); + Set<AbstractReferenceSet<?, ?>> result = new LinkedHashSet<>(allUsages.size()); + AbstractReferenceSet referenceSet; for (Class<? extends TopiaEntity> type : allUsages.keySet()) { - Class<? extends IdDto> dtoType = getDtoType(type); - List<? extends IdDto> dtos = test(dtoType, type, allUsages); - result.put(dtoType, dtos); - - } - - return result; - } - - @Override - public <D extends ReferentialDto> boolean exists(Class<D> dtoType, String id) { - Class<? extends ReferenceEntity> entityType = getEntityType(dtoType); - return existsEntity(entityType, id); - } - - //FIXME-kmorin Rename with method - protected <E extends TopiaEntity, I extends IdDto> List<I> test(Class<I> dtoType, - Class<E> type, - EntityMap allUsages) { - List<I> dtos = new ArrayList<>(); - List<E> entities = (List<E>) allUsages.get(type); - for (E entity : entities) { - I idDto = entityToDto(dtoType, type, entity); - dtos.add(idDto); - } - return dtos; - } + List<? extends TopiaEntity> entities = allUsages.get(type); - protected <D extends ReferentialDto, E extends ReferenceEntity> ReferenceSetDto<D> getReferenceSet( - Class<D> dtoType, - boolean loadTechnicalInformations) { + if (ReferenceEntity.class.isAssignableFrom(type)) { - Class<E> entityType = getEntityType(dtoType); + Class<ReferentialDto> dtoType = BINDER_ENGINE.getReferentialDtoType((Class) type); - Iterable<E> entities = loadEntities(entityType); + referenceSet = toReferentialReferenceSet(dtoType, (List) entities, null); - LinkedHashSet<ReferenceDto<D>> labels = new LinkedHashSet<>(); - for (E entity : entities) { + } else { - ReferenceDto<D> dto = entityToReferenceDto(dtoType, entity); + Class<DataDto> dtoType = BINDER_ENGINE.getDataDtoType(type); - if (loadTechnicalInformations) { - ReferentialReferenceDto<D> referentialReferenceDto = (ReferentialReferenceDto<D>) dto; - referentialReferenceDto.setVersion(entity.getTopiaVersion()); - referentialReferenceDto.setCreateDate(entity.getTopiaCreateDate()); - referentialReferenceDto.setLastUpdate(entity.getLastUpdate()); - referentialReferenceDto.setEnabled(fr.ird.observe.entities.constants.ReferenceStatus.enabled == entity.getStatus()); + referenceSet = toDataReferenceSet(dtoType, (List) entities); } - labels.add(dto); + result.add(referenceSet); } - Optional<Date> lastUpdateOptional = getLastUpdate(entityType); - - ReferenceSetDto<D> labelSetDto = ReferenceSetDtos.newReferenceSetDto(dtoType, null, labels, lastUpdateOptional.orNull()); - - return labelSetDto; - + //FIXME Revoir cette partie... + return null; } - protected <D extends ReferentialDto> void addTechnicalInformations(ReferenceEntity entity, D dto) { - dto.setVersion(entity.getTopiaVersion()); - dto.setCreateDate(entity.getTopiaCreateDate()); - dto.setLastUpdate(entity.getLastUpdate()); - dto.setStatus(ReferenceStatus.valueOf(entity.getStatus().name())); - dto.setEnabled(entity.isEnabled()); + @Override + public <D extends ReferentialDto> boolean exists(Class<D> dtoType, String id) { + Class<? extends ReferenceEntity> entityType = getReferentialEntityType(dtoType); + return existsEntity(entityType, id); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateActivitySeineDataResultBuilder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateActivitySeineDataResultBuilder.java index e59835e..313a49d 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateActivitySeineDataResultBuilder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateActivitySeineDataResultBuilder.java @@ -24,7 +24,6 @@ package fr.ird.observe.services.service.actions.consolidate; import com.google.common.base.Optional; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.constants.seine.SchoolType; import fr.ird.observe.entities.referentiel.I18nReferenceEntities; import fr.ird.observe.entities.referentiel.Ocean; @@ -36,6 +35,7 @@ import fr.ird.observe.entities.seine.ActivitySeines; import fr.ird.observe.entities.seine.NonTargetCatch; import fr.ird.observe.entities.seine.NonTargetLength; import fr.ird.observe.entities.seine.TargetLength; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -59,11 +59,11 @@ public class ConsolidateActivitySeineDataResultBuilder { /** Logger. */ private static final Log log = LogFactory.getLog(ConsolidateActivitySeineDataResultBuilder.class); - public static ConsolidateActivitySeineDataResultBuilder create(Locale locale, ReferenceLocale referenceLocale, ActivitySeine activitySeine) { + public static ConsolidateActivitySeineDataResultBuilder create(Locale locale, ReferentialLocale referenceLocale, ActivitySeine activitySeine) { return new ConsolidateActivitySeineDataResultBuilder(locale, referenceLocale, activitySeine); } - protected final ReferenceLocale referenceLocale; + protected final ReferentialLocale referenceLocale; protected final Locale locale; @@ -198,8 +198,8 @@ public class ConsolidateActivitySeineDataResultBuilder { public ConsolidateActivitySeineDataResultBuilder registerLengthWeightParameterNotFound(Species species, Ocean ocean, Sex sex, Date routeDate) { String speciesLabel = Species2.decorate(locale, species); - String oceanLabel = I18nReferenceEntities.decorate(referenceLocale, ocean); - String sexLabel = sex == null ? l(locale, "observe.service.actions.consolidate.noSex") : I18nReferenceEntities.decorate(referenceLocale, sex); + String oceanLabel = I18nReferenceEntities.getLabel(referenceLocale.ordinal(), ocean); + String sexLabel = sex == null ? l(locale, "observe.service.actions.consolidate.noSex") : I18nReferenceEntities.getLabel(referenceLocale.ordinal(), sex); String message = l(locale, "observe.service.actions.consolidate.lengthWeightParameterNotFound", speciesLabel, oceanLabel, sexLabel, routeDate); lengthWeightParameterNotFoundBuilder.add(message); if (log.isWarnEnabled()) { @@ -234,7 +234,7 @@ public class ConsolidateActivitySeineDataResultBuilder { consolidateActivitySeineDataResult = new ConsolidateActivitySeineDataResult(); consolidateActivitySeineDataResult.setActivitySeineId(activitySeine.getTopiaId()); - consolidateActivitySeineDataResult.setActivitySeineLabel(ActivitySeines.decorate(referenceLocale, activitySeine)); + consolidateActivitySeineDataResult.setActivitySeineLabel(ActivitySeines.decorate(referenceLocale.ordinal(), activitySeine)); if (newSchoolType != null) { consolidateActivitySeineDataResult.setSchoolTypeChanged(oldSchoolType, newSchoolType); @@ -249,7 +249,7 @@ public class ConsolidateActivitySeineDataResultBuilder { } - protected ConsolidateActivitySeineDataResultBuilder(Locale locale, ReferenceLocale referenceLocale, ActivitySeine activitySeine) { + protected ConsolidateActivitySeineDataResultBuilder(Locale locale, ReferentialLocale referenceLocale, ActivitySeine activitySeine) { this.locale = locale; this.referenceLocale = referenceLocale; this.activitySeine = activitySeine; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopia.java index be126c5..35697b1 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopia.java @@ -27,7 +27,6 @@ import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaDaoSupplier; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.LengthWeightComputable; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.constants.seine.NonTargetCatchComputedValueSource; import fr.ird.observe.entities.constants.seine.SchoolType; import fr.ird.observe.entities.referentiel.LengthWeightParameter; @@ -49,6 +48,7 @@ import fr.ird.observe.entities.seine.TargetSample; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.entities.seine.TripSeines; import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; @@ -164,7 +164,7 @@ public class ConsolidateDataServiceTopia extends ObserveServiceTopia implements @Override public ImmutableSet<ConsolidateTripSeineDataResult> consolidateTripSeines(ConsolidateTripSeineDataRequest consolidateTripSeineDataRequest) { - ReferenceLocale referenceLocale = getReferenceLocale(); + ReferentialLocale referenceLocale = serviceContext.getReferentialLocale(); boolean failIfLenghtWeightParameterNotFound = consolidateTripSeineDataRequest.isFailIfLenghtWeightParameterNotFound(); ImmutableSet.Builder<ConsolidateTripSeineDataResult> resultBuilder = new ImmutableSet.Builder<>(); for (String tripSeineId : consolidateTripSeineDataRequest.getTripSeineIds()) { @@ -180,9 +180,9 @@ public class ConsolidateDataServiceTopia extends ObserveServiceTopia implements } - protected Optional<ConsolidateTripSeineDataResult> consolidateTripSeine(ReferenceLocale referenceLocale, String tripSeineId, boolean failIfLenghtWeightParameterNotFound) { + protected Optional<ConsolidateTripSeineDataResult> consolidateTripSeine(ReferentialLocale referenceLocale, String tripSeineId, boolean failIfLenghtWeightParameterNotFound) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); BeanMonitor targetLengthMonitor = new BeanMonitor( TargetLength.PROPERTY_LENGTH, @@ -264,7 +264,7 @@ public class ConsolidateDataServiceTopia extends ObserveServiceTopia implements consolidateTripSeineDataResult = null; } else { - consolidateTripSeineDataResult = new ConsolidateTripSeineDataResult(tripSeineId, TripSeines.decorate(referenceLocale, tripSeine), consolidateActivitySeineDataResults); + consolidateTripSeineDataResult = new ConsolidateTripSeineDataResult(tripSeineId, TripSeines.decorate(referenceLocale.ordinal(), tripSeine), consolidateActivitySeineDataResults); if (log.isInfoEnabled()) { log.info("Found some modifications on trip: " + consolidateTripSeineDataResult.getTripSeineLabel()); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/report/ReportServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/report/ReportServiceTopia.java index 594a8af..6ab985e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/report/ReportServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/report/ReportServiceTopia.java @@ -24,15 +24,21 @@ package fr.ird.observe.services.service.actions.report; import com.google.common.collect.Maps; import fr.ird.observe.AbstractObserveTopiaDao; +import fr.ird.observe.entities.referentiel.ReferenceEntity; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.binder.data.DataBinderSupport; +import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportOperation; import fr.ird.observe.services.dto.actions.report.ReportRequest; import fr.ird.observe.services.dto.actions.report.ReportVariable; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import org.apache.commons.lang3.mutable.MutableInt; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -59,7 +65,7 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer @Override public Report populateVariables(Report report, String tripId) { - Map<String, Object> vars = new TreeMap<String, Object>(); + Map<String, Object> vars = new TreeMap<>(); vars.put(ReportRequest.TRIP_ID_VARIABLE, tripId); @@ -71,17 +77,31 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer Class<?> type = variable.getType(); - if (IdDto.class.isAssignableFrom(type)) { + if (ReferentialDto.class.isAssignableFrom(type)) { - Class<? extends IdDto> dtoType = (Class<? extends IdDto>) type; + Class<? extends ReferentialDto> dtoType = (Class<? extends ReferentialDto>) type; + ReferentialBinderSupport<ReferenceEntity, ? extends ReferentialDto> binder = getReferentialBinder(dtoType); List<TopiaEntity> universe = executeRequest(hql, vars); for (TopiaEntity entity : universe) { - ReferenceDto<?> dto = entityToReferenceDto(dtoType, entity); + ReferentialReference<? extends ReferentialDto> reference = binder.toReferentialReference(getReferentialLocale(), (ReferenceEntity) entity); + values.add(reference); - values.add(dto); + } + + } else if (DataDto.class.isAssignableFrom(type)) { + + Class<? extends DataDto> dtoType = (Class<? extends DataDto>) type; + + DataBinderSupport<TopiaEntity, ? extends DataDto> binder = getDataBinder(dtoType); + List<TopiaEntity> universe = executeRequest(hql, vars); + + for (TopiaEntity entity : universe) { + + DataReference<? extends DataDto> reference = binder.toDataReference(getReferentialLocale(), entity); + values.add(reference); } @@ -101,7 +121,7 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer } @Override - public DataMatrix executeReport(Report report, String tripId) { + public DataMatrix executeReport(Report report, String tripId) { if (report == null) { @@ -120,7 +140,7 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer if (log.isDebugEnabled()) { log.debug("Build result for report [" + report.getName() + - "] on " + tripId); + "] on " + tripId); } int rows = report.getRows(); @@ -196,11 +216,12 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer int columns = report.getColumns(); result = DataMatrix.merge(rows, columns, requestResults); - } break; + } + break; case GroupByLength: { // Première passe pour grouper par classe de taille - Map<String, MutableInt> data = new LinkedHashMap<String, MutableInt>(); + Map<String, MutableInt> data = new LinkedHashMap<>(); for (int row = 0, nbRows = incoming.getHeight(); row < nbRows; row++) { String length = (String) incoming.getValue(0, row); @@ -216,7 +237,7 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer } // Deuxième passe pour remplir la matrice - Set<String> lengths = new HashSet<String>(); + Set<String> lengths = new HashSet<>(); for (int row = 0; row < incoming.getHeight(); row++) { lengths.add((String) incoming.getValue(0, row)); } @@ -230,7 +251,8 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer result.setValue(1, row, mutableInt.intValue()); row++; } - } break; + } + break; case SumColumn: case SumIntColumn: { @@ -250,7 +272,8 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer } result = DataMatrix.merge(incoming, tmpMatrix); - } break; + } + break; case SumRow: case SumIntRow: { @@ -270,7 +293,8 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer result = DataMatrix.merge(incoming, tmpMatrix); - } break; + } + break; } return result; @@ -563,9 +587,9 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer return new Dimension(width, height); } - protected <R> List<R> executeRequest(String request, Map<String, Object> params) { + protected <R> List<R> executeRequest(String request, Map<String, Object> params) { - // si il y a des references de DTO dans les valeur des paramètres on les remplace par leur id + // si il y a des references de DTO dans les valeurs des paramètres on les remplace par leur id // on copie pour ne pas modifier le paramètre de la méthode Map<String, Object> paramsFixes = Maps.newHashMap(); @@ -577,8 +601,8 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer Object value = entry.getValue(); - if (value instanceof ReferenceDto) { - ReferenceDto referenceDto = (ReferenceDto) value; + if (value instanceof AbstractReference) { + AbstractReference referenceDto = (AbstractReference) value; value = referenceDto.getId(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/GenerateValidatorDescriptorsFileTool.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/GenerateValidatorDescriptorsFileTool.java index 12a615d..38ea537 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/GenerateValidatorDescriptorsFileTool.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/GenerateValidatorDescriptorsFileTool.java @@ -5,8 +5,12 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import com.google.common.io.Files; import com.google.gson.Gson; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.BinderEngine; +import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.gson.ObserveDtoGsonSupplier; +import fr.ird.observe.services.dto.referential.ReferentialDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaEntity; @@ -72,10 +76,22 @@ public class GenerateValidatorDescriptorsFileTool { NuitonValidatorScope[] scopes = NuitonValidatorScope.values(); - for (Map.Entry<Class<?>, Class<?>> entry : ValidateServiceTopia.ENTITY_TO_DTO_TYPES.entrySet()) { + for (Map.Entry<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> entry : BinderEngine.get().getReferentialEntityToDtoTypes().entrySet()) { - Class<? extends TopiaEntity> entityType = (Class<? extends TopiaEntity>) entry.getKey(); - Class<? extends IdDto> dtoType = (Class<? extends IdDto>) entry.getValue(); + Class<? extends TopiaEntity> entityType = entry.getKey(); + Class<? extends IdDto> dtoType = entry.getValue(); + + for (String context : ValidateServiceTopia.AVAILABLE_CONTEXT_NAMES) { + Set<ValidatorDto> validatorDtos = getValidatorDtos(context, scopes, entityType, dtoType); + setBuilder.addAll(validatorDtos); + } + + } + + for (Map.Entry<Class<? extends TopiaEntity>, Class<? extends DataDto>> entry : BinderEngine.get().getDataEntityToDtoTypes().entrySet()) { + + Class<? extends TopiaEntity> entityType = entry.getKey(); + Class<? extends IdDto> dtoType = entry.getValue(); for (String context : ValidateServiceTopia.AVAILABLE_CONTEXT_NAMES) { Set<ValidatorDto> validatorDtos = getValidatorDtos(context, scopes, entityType, dtoType); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopia.java index ef21906..c916706 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopia.java @@ -28,14 +28,15 @@ import com.google.common.collect.Iterables; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.Trip; -import fr.ird.observe.entities.constants.ReferenceLocale; -import fr.ird.observe.entities.longline.TripLongline; -import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.entities.referentiel.ReferenceEntity; import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -62,7 +63,7 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat request.getScopes(), Entities.REFERENCE_ENTITIES); - ReferenceLocale referenceLocale = getReferenceLocale(); + ReferentialLocale referenceLocale = getReferentialLocale(); //FIXME On ne peut pas charger cela avant d'avoir détecter un premier validateur //FIXME Il faudrait mieux initialier de manière explicite le ActionContext @@ -95,7 +96,7 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat //FIXME On ne peut pas charger cela avant d'avoir détecter un premier validateur //FIXME Il faudrait mieux initialier de manière explicite le ActionContext - ReferenceLocale referenceLocale = getReferenceLocale(); + ReferentialLocale referenceLocale = getReferentialLocale(); ObserveValidator.reloadDataContext(validationDataContext, false); @@ -119,10 +120,11 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat for (Class<? extends TopiaEntity> entityType : detector.getDetectedEntityTypes()) { - // construction d'un ValidateResultForDtoType - Class<IdDto> dtoType = getDtoType(entityType); - ValidateResultForDtoType validateResultForDtoType = buildResultForDtoType(entityType, dtoType, detector); - forDtoTypeBuilder.put(dtoType, validateResultForDtoType); + if (ReferenceEntity.class.isAssignableFrom(entityType)) { + buildResultForReferentialDtoType((Class) entityType, detector, forDtoTypeBuilder); + } else { + buildResultForDataDtoType((Class) entityType, detector, forDtoTypeBuilder); + } } @@ -131,9 +133,9 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat } - private <E extends TopiaEntity, D extends IdDto> ValidateResultForDtoType buildResultForDtoType(Class<E> entityType, - Class<D> dtoType, - ValidationMessageDetector detector) { + private <E extends ReferenceEntity, D extends ReferentialDto> void buildResultForReferentialDtoType(Class<E> entityType, + ValidationMessageDetector detector, + ImmutableMap.Builder<Class<? extends IdDto>, ValidateResultForDtoType> forDtoTypeBuilder) { ImmutableSet.Builder<ValidateResultForDto<D>> validateResultForDtoMapBuilder = new ImmutableSet.Builder<>(); @@ -141,21 +143,47 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat for (Map.Entry<TopiaEntity, Collection<ValidationMessage>> entry : detectedMessages.entrySet()) { TopiaEntity entity = entry.getKey(); - ReferenceDto<D> referenceDto = entityToReferenceDto(dtoType, entity); + ReferentialReference<D> referenceDto = BINDER_ENGINE.transformEntityToReferentialReferenceDto(serviceContext.getReferentialLocale(), (ReferenceEntity) entity); Collection<ValidationMessage> validationMessages = entry.getValue(); ValidateResultForDto<D> validateResultForDto = new ValidateResultForDto<>(referenceDto, ImmutableSet.copyOf(validationMessages)); validateResultForDtoMapBuilder.add(validateResultForDto); } - ValidateResultForDtoType<D> result = new ValidateResultForDtoType<D>(validateResultForDtoMapBuilder.build()); - return result; + ValidateResultForDtoType<D> result = new ValidateResultForDtoType<>(validateResultForDtoMapBuilder.build()); + + Class<D> dtoType = BINDER_ENGINE.getReferentialDtoType(entityType); + forDtoTypeBuilder.put(dtoType, result); + + } + + private <E extends TopiaEntity, D extends DataDto> void buildResultForDataDtoType(Class<E> entityType, + ValidationMessageDetector detector, + ImmutableMap.Builder<Class<? extends IdDto>, ValidateResultForDtoType> forDtoTypeBuilder) { + + ImmutableSet.Builder<ValidateResultForDto<D>> validateResultForDtoMapBuilder = new ImmutableSet.Builder<>(); + + Map<TopiaEntity, Collection<ValidationMessage>> detectedMessages = detector.getDetectedMessages(entityType); + for (Map.Entry<TopiaEntity, Collection<ValidationMessage>> entry : detectedMessages.entrySet()) { + + TopiaEntity entity = entry.getKey(); + DataReference<D> referenceDto = BINDER_ENGINE.transformEntityToDataReferenceDto(serviceContext.getReferentialLocale(), entity); + Collection<ValidationMessage> validationMessages = entry.getValue(); + ValidateResultForDto<D> validateResultForDto = new ValidateResultForDto<>(referenceDto, ImmutableSet.copyOf(validationMessages)); + validateResultForDtoMapBuilder.add(validateResultForDto); + + } + + ValidateResultForDtoType<D> result = new ValidateResultForDtoType<>(validateResultForDtoMapBuilder.build()); + + Class<D> dtoType = BINDER_ENGINE.getDataDtoType(entityType); + forDtoTypeBuilder.put(dtoType, result); } - protected <D extends ReferentialDto> void validateReferential(Class<D> referentialDtoType, ValidationMessageDetector detector) { + protected <D extends ReferentialDto, E extends ReferenceEntity> void validateReferential(Class<D> referentialDtoType, ValidationMessageDetector detector) { - Class<TopiaEntity> referentialType = getEntityType(referentialDtoType); + Class<E> referentialType = getReferentialEntityType(referentialDtoType); if (log.isInfoEnabled()) { log.info("Validate referential type: " + referentialType.getName()); @@ -175,11 +203,11 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat if (Entities.isSeineId(dataId)) { - trip = loadEntity(TripSeineDto.class, TripSeine.class, dataId); + trip = loadEntity(TripSeineDto.class, dataId); } else { - trip = loadEntity(TripLonglineDto.class, TripLongline.class, dataId); + trip = loadEntity(TripLonglineDto.class, dataId); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidationMessageDetector.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidationMessageDetector.java index af1d24b..74230e2 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidationMessageDetector.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/actions/validate/ValidationMessageDetector.java @@ -26,7 +26,6 @@ import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; import com.google.common.collect.Multimaps; import fr.ird.observe.ObserveEntityEnum; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.entities.longline.TripLongline; @@ -35,6 +34,7 @@ import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.entities.seine.Route; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaEntity; @@ -76,9 +76,9 @@ public class ValidationMessageDetector { */ protected final MyTopiaEntityVisitor entityVisitor; - protected final ReferenceLocale referenceLocale; + protected final ReferentialLocale referenceLocale; - public ValidationMessageDetector(ValidatorsMap validators, ValidationDataContext validationDataContext, ReferenceLocale referenceLocale) { + public ValidationMessageDetector(ValidatorsMap validators, ValidationDataContext validationDataContext, ReferentialLocale referenceLocale) { this.detectedMessages = HashMultimap.create(); this.entityVisitor = new MyTopiaEntityVisitor(validators, validationDataContext); this.referenceLocale = referenceLocale; @@ -134,7 +134,7 @@ public class ValidationMessageDetector { } else { StringTokenizer stk = new StringTokenizer(message, "##"); String errorName = stk.nextToken(); - List<String> args = new ArrayList<String>(); + List<String> args = new ArrayList<>(); while (stk.hasMoreTokens()) { args.add(stk.nextToken()); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java index cef70a1..d2eb6d5 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java @@ -24,9 +24,9 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -36,14 +36,14 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia implements ActivityLongLineEncouterService { @Override - public FormDto<ActivityLonglineEncouterDto> loadForm(String activityLonglineId) { + public Form<ActivityLonglineEncouterDto> loadForm(String activityLonglineId) { - ActivityLongline activityLongline = loadEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, activityLonglineId); + ActivityLongline activityLongline = loadEntity(ActivityLonglineEncouterDto.class, activityLonglineId); - FormDto<ActivityLonglineEncouterDto> form = entityToEditFormDto( + Form<ActivityLonglineEncouterDto> form = dataEntityToForm( ActivityLonglineEncouterDto.class, activityLongline, - ObserveReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_ENCOUTER_FORM); + ReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_ENCOUTER_FORM); return form; @@ -52,11 +52,13 @@ public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia im @Override public SaveResultDto save(ActivityLonglineEncouterDto dto) { - ActivityLongline activityLongline = dtoToEntity(ActivityLonglineEncouterDto.class, ActivityLongline.class, dto); + ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(ActivityLonglineEncouterDto.class, ActivityLongline.class, dto); - activityLongline = saveEntity(ActivityLongline.class, activityLongline); + dataDtoToEntity(dto, entity); - return SaveResultDtos.newSaveResult(activityLongline.getTopiaId(), activityLongline.getLastUpdate()); + entity = saveFollowedEntity(ActivityLongline.class, entity); + + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java index 26dc538..f52745e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java @@ -24,9 +24,9 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -36,13 +36,13 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class ActivityLongLineSensorUsedServiceTopia extends ObserveServiceTopia implements ActivityLongLineSensorUsedService { @Override - public FormDto<ActivityLonglineSensorUsedDto> loadForm(String activityLonglineId) { + public Form<ActivityLonglineSensorUsedDto> loadForm(String activityLonglineId) { - ActivityLongline activityLongline = loadEntity(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, activityLonglineId); + ActivityLongline activityLongline = loadEntity(ActivityLonglineSensorUsedDto.class, activityLonglineId); - FormDto<ActivityLonglineSensorUsedDto> form = entityToEditFormDto(ActivityLonglineSensorUsedDto.class, - activityLongline, - ObserveReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_SENSOR_USED_FORM); + Form<ActivityLonglineSensorUsedDto> form = dataEntityToForm(ActivityLonglineSensorUsedDto.class, + activityLongline, + ReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_SENSOR_USED_FORM); return form; @@ -51,11 +51,13 @@ public class ActivityLongLineSensorUsedServiceTopia extends ObserveServiceTopia @Override public SaveResultDto save(ActivityLonglineSensorUsedDto dto) { - ActivityLongline activityLongline = dtoToEntity(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, dto); + ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, dto); - activityLongline = saveEntity(ActivityLongline.class, activityLongline); + dataDtoToEntity(dto, entity); - return SaveResultDtos.newSaveResult(activityLongline.getTopiaId(), activityLongline.getLastUpdate()); + entity = saveFollowedEntity(ActivityLongline.class, entity); + + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java index d287981..6360edd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java @@ -22,24 +22,19 @@ package fr.ird.observe.services.service.longline; * #L% */ -import com.google.common.base.Optional; import com.google.common.collect.Iterables; -import com.google.common.collect.Sets; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.longline.ActivityLonglineTopiaDao; import fr.ird.observe.entities.longline.ActivityLonglines; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.longline.TripLonglineTopiaDao; -import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.type.CoordinateHelper; @@ -47,7 +42,6 @@ import fr.ird.type.CoordinateHelper; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; -import java.util.LinkedHashSet; import java.util.List; /** @@ -56,81 +50,69 @@ import java.util.List; public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements ActivityLonglineService { @Override - public ReferenceSetDto<ActivityLonglineDto> getActivityLonglineByTripLongline(String tripLonglineId) { - - ReferenceLocale referenceLocale = getReferenceLocale(); + public DataReferenceSet<ActivityLonglineDto> getActivityLonglineByTripLongline(String tripLonglineId) { ActivityLonglineTopiaDao dao = getTopiaPersistenceContext().getActivityLonglineDao(); - List<ActivityLongline> allStubByTripId = dao.findAllStubByTripId(tripLonglineId, referenceLocale); - - LinkedHashSet<ReferenceDto<ActivityLonglineDto>> stubs = Sets.newLinkedHashSet(); - - for (ActivityLongline activityLongline : allStubByTripId) { - - ReferenceDto<ActivityLonglineDto> stub = entityToReferenceDto(activityLongline); - stubs.add(stub); - } + List<ActivityLongline> allStubByTripId = dao.findAllStubByTripId(tripLonglineId, getReferentialLocale().ordinal()); - Optional<Date> lastUpdateOptional = getLastUpdate(ActivitySeine.class); - - ReferenceSetDto<ActivityLonglineDto> stubReferences = - ReferenceSetDtos.newReferenceSetDto(ActivityLonglineDto.class, stubs, lastUpdateOptional.orNull()); - - return stubReferences; + return toDataReferenceSet(ActivityLonglineDto.class, allStubByTripId); } @Override public int getActivityLonglinePositionInTripLongline(String tripLonglineId, String activityLonglineId) { - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); ActivityLongline activityLongline = tripLongline.getActivityLonglineByTopiaId(activityLonglineId); int position = getActivityLonglinePositionInTripLongline(tripLongline, activityLongline); - return position; + } @Override - public ReferenceDto<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId) { - - ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + public DataReference<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId) { - ReferenceDto<ActivityLonglineDto> referenceDto = entityToReferenceDto(ActivityLonglineDto.class, activityLongline); + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); - return referenceDto; + DataReference<ActivityLonglineDto> reference = toReference(activityLongline); + return reference; } @Override public ActivityLonglineDto loadDto(String activityLonglineId) { - return loadEntityToDto(ActivityLonglineDto.class, activityLonglineId); + + return loadEntityToDataDto(ActivityLonglineDto.class, activityLonglineId); + } @Override public boolean exists(String activityLonglineId) { + return existsEntity(ActivityLongline.class, activityLonglineId); + } @Override - public FormDto<ActivityLonglineDto> loadForm(String activityLonglineId) { + public Form<ActivityLonglineDto> loadForm(String activityLonglineId) { - ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); - FormDto<ActivityLonglineDto> form = entityToEditFormDto(ActivityLonglineDto.class, - activityLongline, - ObserveReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_FORM); + Form<ActivityLonglineDto> form = dataEntityToForm(ActivityLonglineDto.class, + activityLongline, + ReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_FORM); - form.getForm().setHasSetLongline(activityLongline.getSetLongline() != null); + form.getObject().setHasSetLongline(activityLongline.getSetLongline() != null); return form; } @Override - public FormDto<ActivityLonglineDto> preCreate(String tripLonglineId) { + public Form<ActivityLonglineDto> preCreate(String tripLonglineId) { - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); ActivityLongline preCreated = newEntity(ActivityLongline.class); @@ -166,9 +148,9 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements preCreated.setTimeStamp(timestamp); - FormDto<ActivityLonglineDto> form = entityToEditFormDto(ActivityLonglineDto.class, - preCreated, - ObserveReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_FORM); + Form<ActivityLonglineDto> form = dataEntityToForm(ActivityLonglineDto.class, + preCreated, + ReferenceSetRequestDefinitions.ACTIVITY_LONGLINE_FORM); return form; @@ -179,20 +161,22 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements TripChildSaveResultDto result = new TripChildSaveResultDto(); - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); + + ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(ActivityLonglineDto.class, ActivityLongline.class, dto); - ActivityLongline activityLongline = dtoToEntity(ActivityLonglineDto.class, ActivityLongline.class, dto); + dataDtoToEntity(dto, entity); - activityLongline = saveEntity(ActivityLongline.class, activityLongline); + entity = saveFollowedEntity(ActivityLongline.class, entity); - result.setId(activityLongline.getTopiaId()); - result.setLastUpdate(activityLongline.getLastUpdate()); + result.setId(entity.getTopiaId()); + result.setLastUpdate(entity.getLastUpdate()); if (dto.isNotPersisted()) { - tripLongline.addActivityLongline(activityLongline); + tripLongline.addActivityLongline(entity); - saveEntity(TripLongline.class, tripLongline); + saveFollowedEntity(TripLongline.class, tripLongline); } @@ -208,9 +192,9 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements @Override public boolean delete(String tripLonglineId, String activityLonglineId) { - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); - ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); if (!tripLongline.containsActivityLongline(activityLongline)) { @@ -228,31 +212,35 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements @Override public int moveActivityLonglineToTripLongline(String activityLonglineId, String tripLonglineId) { - ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.addActivityLongline(activityLongline); - saveEntity(TripLongline.class, tripLongline); + saveFollowedEntity(TripLongline.class, tripLongline); return getActivityLonglinePositionInTripLongline(tripLongline, activityLongline); + } @Override public List<Integer> moveActivityLonglinesToTripLongline(List<String> activityLonglineIds, String tripLonglineId) { - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); List<Integer> result = new ArrayList<>(); for (String activityId : activityLonglineIds) { - ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityId); + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityId); tripLongline.addActivityLongline(activityLongline); result.add(getActivityLonglinePositionInTripLongline(tripLongline, activityLongline)); } - saveEntity(TripLongline.class, tripLongline); + saveFollowedEntity(TripLongline.class, tripLongline); return result; + } protected int getActivityLonglinePositionInTripLongline(TripLongline tripLongline, ActivityLongline activityLongline) { diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java index 48f7b04..d196bb9 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java @@ -2,9 +2,9 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -12,24 +12,28 @@ import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetReque public class BranchlineServiceTopia extends ObserveServiceTopia implements BranchlineService { @Override - public FormDto<BranchlineDto> loadForm(String branchlineId) { + public Form<BranchlineDto> loadForm(String branchlineId) { - Branchline branchline = loadEntity(BranchlineDto.class, Branchline.class, branchlineId); - - FormDto<BranchlineDto> form = entityToEditFormDto(BranchlineDto.class, - branchline, - ObserveReferenceSetRequestDefinitions.BRANCHLINE_FORM); + Branchline entity = loadEntity(BranchlineDto.class, branchlineId); + Form<BranchlineDto> form = dataEntityToForm(BranchlineDto.class, + entity, + ReferenceSetRequestDefinitions.BRANCHLINE_FORM); return form; + } @Override public String save(BranchlineDto dto) { - Branchline branchline = dtoToEntity(BranchlineDto.class, Branchline.class, dto); + //FIXME La branchline n'est pas connecté à un parent (la calée) + Branchline entity = loadOrCreateEntity(BranchlineDto.class, Branchline.class, dto); +// Branchline entity = loadOrCreateEntityAndCheckLastUpdate(BranchlineDto.class, Branchline.class, dto); + + dataDtoToEntity(dto, entity); - branchline = saveEntity(Branchline.class, branchline); + entity = saveEntity(Branchline.class, entity); + return entity.getTopiaId(); - return branchline.getTopiaId(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java index 560ee02..00331d4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java @@ -22,18 +22,11 @@ package fr.ird.observe.services.service.longline; * #L% */ -import fr.ird.observe.entities.longline.Basket; -import fr.ird.observe.entities.longline.Branchline; -import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.longline.BasketDto; -import fr.ird.observe.services.dto.longline.BranchlineDto; -import fr.ird.observe.services.dto.longline.CatchLonglineDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -43,60 +36,61 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements SetLonglineCatchService { @Override - public FormDto<SetLonglineCatchDto> loadForm(String setLonglineId) { + public Form<SetLonglineCatchDto> loadForm(String setLonglineId) { - SetLongline setLongline = loadEntity(SetLonglineCatchDto.class, SetLongline.class, setLonglineId); + SetLongline setLongline = loadEntity(SetLonglineCatchDto.class, setLonglineId); - FormDto<SetLonglineCatchDto> form = entityToEditFormDto( + Form<SetLonglineCatchDto> form = dataEntityToForm( SetLonglineCatchDto.class, setLongline, - ObserveReferenceSetRequestDefinitions.SET_LONGLINE_CATCH_FORM + ReferenceSetRequestDefinitions.SET_LONGLINE_CATCH_FORM //ImmutableMap.<String, Object>of(Section.PROPERTY_SET_LONGLINE, setLongline), //FIXME context ); - for(Section section : setLongline.getSection()) { - - for (Basket basket : section.getBasket()) { - - ReferenceDto<BasketDto> basketRef = form.getReferenceById(BasketDto.class, basket.getTopiaId()); - - basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, section.getTopiaId()); - - for (Branchline branchline : basket.getBranchline()) { - - ReferenceDto<BranchlineDto> branchlineRef = form.getReferenceById(BranchlineDto.class, branchline.getTopiaId()); - - branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, basket.getTopiaId()); - - } - - } - - } - - for (CatchLonglineDto catchLonglineDto : form.getForm().getCatchLongline()) { - - ReferenceDto<BasketDto> basketRef = catchLonglineDto.getBasket(); - - if (basketRef != null) { - - ReferenceDto<BasketDto> basketRefLabel = form.getReferenceById(BasketDto.class, basketRef.getId()); - - basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, basketRefLabel.getPropertyValue(BasketDto.PROPERTY_SECTION)); - - } - - ReferenceDto<BranchlineDto> branchlineRef = catchLonglineDto.getBranchline(); - - if (branchlineRef != null) { - - ReferenceDto<BranchlineDto> branchlineRefLabel = form.getReferenceById(BranchlineDto.class, branchlineRef.getId()); - - branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, branchlineRefLabel.getPropertyValue(BranchlineDto.PROPERTY_BASKET)); - - } - - } + //FIXME Faire ça dans l'ui +// for(Section section : setLongline.getSection()) { +// +// for (Basket basket : section.getBasket()) { +// +// ReferenceDto<BasketDto> basketRef = form.getReferenceById(BasketDto.class, SectionDto.PROPERTY_BASKET, basket.getTopiaId()); +// +// basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, section.getTopiaId()); +// +// for (Branchline branchline : basket.getBranchline()) { +// +// ReferenceDto<BranchlineDto> branchlineRef = form.getReferenceById(BranchlineDto.class, BasketDto.PROPERTY_BRANCHLINE, branchline.getTopiaId()); +// +// branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, basket.getTopiaId()); +// +// } +// +// } +// +// } +// +// for (CatchLonglineDto catchLonglineDto : form.getForm().getCatchLongline()) { +// +// ReferenceDto<BasketDto> basketRef = catchLonglineDto.getBasket(); +// +// if (basketRef != null) { +// +// ReferenceDto<BasketDto> basketRefLabel = form.getReferenceById(BasketDto.class, basketRef.getId()); +// +// basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, basketRefLabel.getPropertyValue(BasketDto.PROPERTY_SECTION)); +// +// } +// +// ReferenceDto<BranchlineDto> branchlineRef = catchLonglineDto.getBranchline(); +// +// if (branchlineRef != null) { +// +// ReferenceDto<BranchlineDto> branchlineRefLabel = form.getReferenceById(BranchlineDto.class, branchlineRef.getId()); +// +// branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, branchlineRefLabel.getPropertyValue(BranchlineDto.PROPERTY_BASKET)); +// +// } +// +// } return form; } @@ -104,11 +98,13 @@ public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements @Override public SaveResultDto save(SetLonglineCatchDto dto) { - SetLongline setLongline = dtoToEntity(SetLonglineCatchDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineCatchDto.class, SetLongline.class, dto); + + dataDtoToEntity(dto, entity); - setLongline = saveEntity(SetLongline.class, setLongline); + entity = saveFollowedEntity(SetLongline.class, entity); - return SaveResultDtos.newSaveResult(setLongline.getTopiaId(), setLongline.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java index 3a98607..394e1df 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java @@ -27,12 +27,12 @@ import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -42,22 +42,23 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopia implements SetLonglineDetailCompositionService { @Override - public FormDto<SetLonglineDetailCompositionDto> loadForm(String setLonglineId) { + public Form<SetLonglineDetailCompositionDto> loadForm(String setLonglineId) { - SetLongline setLongline = loadEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, setLonglineId); + SetLongline setLongline = loadEntity(SetLonglineDetailCompositionDto.class, setLonglineId); - FormDto<SetLonglineDetailCompositionDto> form = entityToEditFormDto( + Form<SetLonglineDetailCompositionDto> form = dataEntityToForm( SetLonglineDetailCompositionDto.class, setLongline, - ObserveReferenceSetRequestDefinitions.SET_LONGLINE_DETAIL_COMPOSITION_FORM); + ReferenceSetRequestDefinitions.SET_LONGLINE_DETAIL_COMPOSITION_FORM); return form; + } @Override public boolean canDeleteSection(String sectionId) { - Section section = loadEntity(SectionDto.class, Section.class, sectionId); + Section section = loadEntity(SectionDto.class, sectionId); boolean sectionUsed = getTopiaPersistenceContext().getSectionDao().isUsed(section); @@ -65,12 +66,13 @@ public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopi // car si un des paniers de la section est utilisé alors la section est aussi utilisé. return ! sectionUsed; + } @Override public boolean canDeleteBasket(String basketId) { - Basket basket = loadEntity(BasketDto.class, Basket.class, basketId); + Basket basket = loadEntity(BasketDto.class, basketId); boolean basketUsed = getTopiaPersistenceContext().getBasketDao().isUsed(basket); @@ -79,31 +81,34 @@ public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopi return ! basketUsed; - } @Override public boolean canDeleteBranchline(String branchlineId) { - Branchline branchline = loadEntity(BranchlineDto.class, Branchline.class, branchlineId); + Branchline branchline = loadEntity(BranchlineDto.class, branchlineId); boolean branchlineUsed = getTopiaPersistenceContext().getBranchlineDao().isUsed(branchline); return ! branchlineUsed; + } @Override public SaveResultDto save(SetLonglineDetailCompositionDto dto) { - SetLongline setLongline = dtoToEntity(SetLonglineDetailCompositionDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineDetailCompositionDto.class, SetLongline.class, dto); + + dataDtoToEntity(dto, entity); - setLongline = saveEntity(SetLongline.class, setLongline); + entity = saveFollowedEntity(SetLongline.class, entity); - for (Section section : setLongline.getSection()) { - section.setSetLongline(setLongline); + for (Section section : entity.getSection()) { + section.setSetLongline(entity); } - return SaveResultDtos.newSaveResult(setLongline.getTopiaId(), setLongline.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java index 7deb7a5..a4e3895 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java @@ -24,9 +24,9 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -36,24 +36,28 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class SetLonglineGlobalCompositionServiceTopia extends ObserveServiceTopia implements SetLonglineGlobalCompositionService { @Override - public FormDto<SetLonglineGlobalCompositionDto> loadForm(String setLonglineId) { + public Form<SetLonglineGlobalCompositionDto> loadForm(String setLonglineId) { - SetLongline setLongline = loadEntity(SetLonglineGlobalCompositionDto.class, SetLongline.class, setLonglineId); + SetLongline setLongline = loadEntity(SetLonglineGlobalCompositionDto.class, setLonglineId); - FormDto<SetLonglineGlobalCompositionDto> form = entityToEditFormDto(SetLonglineGlobalCompositionDto.class, - setLongline, - ObserveReferenceSetRequestDefinitions.SET_LONGLINE_GLOBAL_COMPOSITION_FORM); + Form<SetLonglineGlobalCompositionDto> form = dataEntityToForm(SetLonglineGlobalCompositionDto.class, + setLongline, + ReferenceSetRequestDefinitions.SET_LONGLINE_GLOBAL_COMPOSITION_FORM); return form; + } @Override - public SaveResultDto save(SetLonglineGlobalCompositionDto setLonglineGlobalCompositionDto) { + public SaveResultDto save(SetLonglineGlobalCompositionDto dto) { + + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineGlobalCompositionDto.class, SetLongline.class, dto); + + dataDtoToEntity(dto, entity); - SetLongline setLongline = dtoToEntity(SetLonglineGlobalCompositionDto.class, SetLongline.class, setLonglineGlobalCompositionDto); + entity = saveFollowedEntity(SetLongline.class, entity); - setLongline = saveEntity(SetLongline.class, setLongline); + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); - return SaveResultDtos.newSaveResult(setLongline.getTopiaId(), setLongline.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java index 723a5b0..368f5dd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java @@ -29,12 +29,13 @@ import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.longline.TripLonglineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.binder.data.DataBinderSupport; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.service.DataNotFoundException; @@ -49,48 +50,52 @@ import java.util.Set; public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetLonglineService { @Override - public FormDto<SetLonglineDto> loadForm(String setLonglineId) { + public Form<SetLonglineDto> loadForm(String setLonglineId) { - SetLongline setLongline = loadEntity(SetLonglineDto.class, SetLongline.class, setLonglineId); + SetLongline setLongline = loadEntity(SetLonglineDto.class, setLonglineId); - FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, - setLongline, - ObserveReferenceSetRequestDefinitions.SET_LONGLINE_FORM); + Form<SetLonglineDto> form = dataEntityToForm(SetLonglineDto.class, + setLongline, + ReferenceSetRequestDefinitions.SET_LONGLINE_FORM); ActivityLonglineTopiaDao activityLonglineDao = getTopiaPersistenceContext().getActivityLonglineDao(); ActivityLongline activityLongline = activityLonglineDao.forSetLonglineEquals(setLongline).findUnique(); - form.getForm().setOtherSets(getOtherSetLonglineDtos(activityLongline, setLongline)); + form.getObject().setOtherSets(getOtherSetLonglineDtos(activityLongline, setLongline)); return form; } @Override - public ReferenceDto<SetLonglineDto> loadReferenceToRead(String setLonglineId) { + public DataReference<SetLonglineDto> loadReferenceToRead(String setLonglineId) { - SetLongline setLongline = loadEntity(SetLonglineDto.class, SetLongline.class, setLonglineId); + SetLongline setLongline = loadEntity(SetLonglineDto.class, setLonglineId); - ReferenceDto<SetLonglineDto> referenceDto = entityToReferenceDto(SetLonglineDto.class, setLongline); + DataReference<SetLonglineDto> reference = toReference(setLongline); + return reference; - return referenceDto; } @Override public SetLonglineDto loadDto(String setLonglineId) { - return loadEntityToDto(SetLonglineDto.class, setLonglineId); + + return loadEntityToDataDto(SetLonglineDto.class, setLonglineId); + } @Override public boolean exists(String setLonglineId) { + return existsEntity(SetLongline.class, setLonglineId); + } @Override - public FormDto<SetLonglineDto> preCreate(String activityLonglineId) { + public Form<SetLonglineDto> preCreate(String activityLonglineId) { - ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); SetLongline preCreated = newEntity(SetLongline.class); @@ -112,43 +117,45 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL preCreated.setSettingStartLatitude(latitude); preCreated.setSettingStartLongitude(longitude); - FormDto<SetLonglineDto> form = entityToEditFormDto(SetLonglineDto.class, - preCreated, - ObserveReferenceSetRequestDefinitions.SET_LONGLINE_FORM); + Form<SetLonglineDto> form = dataEntityToForm(SetLonglineDto.class, + preCreated, + ReferenceSetRequestDefinitions.SET_LONGLINE_FORM); - form.getForm().setOtherSets(getOtherSetLonglineDtos(activityLongline, preCreated)); + form.getObject().setOtherSets(getOtherSetLonglineDtos(activityLongline, preCreated)); return form; } @Override - public SaveResultDto save(String activityLonglineId, SetLonglineDto setLonglineDto) { + public SaveResultDto save(String activityLonglineId, SetLonglineDto dto) { + + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); - ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineDto.class, SetLongline.class, dto); - SetLongline setLongline = dtoToEntity(SetLonglineDto.class, SetLongline.class, setLonglineDto); + dataDtoToEntity(dto, entity); - setLongline = saveEntity(SetLongline.class, setLongline); + entity = saveFollowedEntity(SetLongline.class, entity); - if (setLonglineDto.isNotPersisted()) { + if (dto.isNotPersisted()) { - activityLongline.setSetLongline(setLongline); + activityLongline.setSetLongline(entity); - saveEntity(ActivityLongline.class, activityLongline); + saveFollowedEntity(ActivityLongline.class, activityLongline); } - return SaveResultDtos.newSaveResult(setLongline.getTopiaId(), setLongline.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } @Override public void delete(String activityLonglineId, String setLonglineId) { - ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, ActivityLongline.class, activityLonglineId); + ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); - SetLongline setLongline = loadEntity(SetLonglineDto.class, SetLongline.class, setLonglineId); + SetLongline setLongline = loadEntity(SetLonglineDto.class, setLonglineId); if (!activityLongline.getSetLongline().equals(setLongline)) { @@ -168,6 +175,8 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL TripLongline tripLongline = tripLonglineDao.forActivityLonglineContains(currentActivityLongline).findUnique(); + DataBinderSupport<ActivityLongline, ActivityLonglineDto> binder = getDataBinder(ActivityLonglineDto.class); + for (ActivityLongline activityLongline : tripLongline.getActivityLongline()) { SetLongline otherSetLongline = activityLongline.getSetLongline(); @@ -178,7 +187,9 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL otherSetDto.setId(otherSetLongline.getTopiaId()); otherSetDto.setHomeId(otherSetLongline.getHomeId()); otherSetDto.setNumber(otherSetLongline.getNumber()); - otherSetDto.setActivityLongline(entityToReferenceDto(activityLongline)); + + DataReference<ActivityLonglineDto> reference = binder.toDataReference(getReferentialLocale(), activityLongline); + otherSetDto.setActivityLongline(reference); otherSetLonglineDtos.add(otherSetDto); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java index 5c817e3..788266b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java @@ -22,18 +22,11 @@ package fr.ird.observe.services.service.longline; * #L% */ -import fr.ird.observe.entities.longline.Basket; -import fr.ird.observe.entities.longline.Branchline; -import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.longline.BasketDto; -import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; -import fr.ird.observe.services.dto.longline.TdrDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -43,60 +36,61 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class TdrServiceTopia extends ObserveServiceTopia implements TdrService { @Override - public FormDto<SetLonglineTdrDto> loadForm(String setLonglineId) { + public Form<SetLonglineTdrDto> loadForm(String setLonglineId) { - SetLongline setLongline = loadEntity(SetLonglineTdrDto.class, SetLongline.class, setLonglineId); + SetLongline setLongline = loadEntity(SetLonglineTdrDto.class, setLonglineId); - FormDto<SetLonglineTdrDto> form = entityToEditFormDto( + Form<SetLonglineTdrDto> form = dataEntityToForm( SetLonglineTdrDto.class, setLongline, - ObserveReferenceSetRequestDefinitions.SET_LONGLINE_TDR_FORM + ReferenceSetRequestDefinitions.SET_LONGLINE_TDR_FORM //ImmutableMap.<String, Object>of(Section.PROPERTY_SET_LONGLINE, setLongline), //FIXME context ); - for(Section section : setLongline.getSection()) { - - for (Basket basket : section.getBasket()) { - - ReferenceDto<BasketDto> basketRef = form.getReferenceById(BasketDto.class, basket.getTopiaId()); - - basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, section.getTopiaId()); - - for (Branchline branchline : basket.getBranchline()) { - - ReferenceDto<BranchlineDto> branchlineRef = form.getReferenceById(BranchlineDto.class, branchline.getTopiaId()); - - branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, basket.getTopiaId()); - - } - - } - - } - - for (TdrDto tdrDto : form.getForm().getTdr()) { - - ReferenceDto<BasketDto> basketRef = tdrDto.getBasket(); - - if (basketRef != null) { - - ReferenceDto<BasketDto> basketRefLabel = form.getReferenceById(BasketDto.class, basketRef.getId()); - - basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, basketRefLabel.getPropertyValue(BasketDto.PROPERTY_SECTION)); - - } - - ReferenceDto<BranchlineDto> branchlineRef = tdrDto.getBranchline(); - - if (branchlineRef != null) { - - ReferenceDto<BranchlineDto> branchlineRefLabel = form.getReferenceById(BranchlineDto.class, branchlineRef.getId()); - - branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, branchlineRefLabel.getPropertyValue(BranchlineDto.PROPERTY_BASKET)); - - } - - } + //FIXME Faire ça dans l'ui +// for(Section section : setLongline.getSection()) { +// +// for (Basket basket : section.getBasket()) { +// +// ReferenceDto<BasketDto> basketRef = form.getReferenceById(BasketDto.class, basket.getTopiaId()); +// +// basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, section.getTopiaId()); +// +// for (Branchline branchline : basket.getBranchline()) { +// +// ReferenceDto<BranchlineDto> branchlineRef = form.getReferenceById(BranchlineDto.class, branchline.getTopiaId()); +// +// branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, basket.getTopiaId()); +// +// } +// +// } +// +// } +// +// for (TdrDto tdrDto : form.getForm().getTdr()) { +// +// ReferenceDto<BasketDto> basketRef = tdrDto.getBasket(); +// +// if (basketRef != null) { +// +// ReferenceDto<BasketDto> basketRefLabel = form.getReferenceById(BasketDto.class, basketRef.getId()); +// +// basketRef.addPropertyValue(BasketDto.PROPERTY_SECTION, basketRefLabel.getPropertyValue(BasketDto.PROPERTY_SECTION)); +// +// } +// +// ReferenceDto<BranchlineDto> branchlineRef = tdrDto.getBranchline(); +// +// if (branchlineRef != null) { +// +// ReferenceDto<BranchlineDto> branchlineRefLabel = form.getReferenceById(BranchlineDto.class, branchlineRef.getId()); +// +// branchlineRef.addPropertyValue(BranchlineDto.PROPERTY_BASKET, branchlineRefLabel.getPropertyValue(BranchlineDto.PROPERTY_BASKET)); +// +// } +// +// } return form; @@ -105,11 +99,13 @@ public class TdrServiceTopia extends ObserveServiceTopia implements TdrService { @Override public SaveResultDto save(SetLonglineTdrDto dto) { - SetLongline setLongline = dtoToEntity(SetLonglineTdrDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineTdrDto.class, SetLongline.class, dto); + + dataDtoToEntity(dto, entity); - setLongline = saveEntity(SetLongline.class, setLongline); + entity = saveFollowedEntity(SetLongline.class, entity); - return SaveResultDtos.newSaveResult(setLongline.getTopiaId(), setLongline.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java index 521d797..fcc6c6c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java @@ -25,9 +25,9 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.longline.TripLonglineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -37,29 +37,33 @@ import fr.ird.observe.services.dto.result.SaveResultDtos; public class TripLonglineGearUseServiceTopia extends ObserveServiceTopia implements TripLonglineGearUseService { @Override - public FormDto<TripLonglineGearUseDto> loadForm(String tripLonglineId) { + public Form<TripLonglineGearUseDto> loadForm(String tripLonglineId) { - TripLongline tripLongline = loadEntity(TripLonglineGearUseDto.class, TripLongline.class, tripLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineGearUseDto.class, tripLonglineId); - FormDto<TripLonglineGearUseDto> form = entityToEditFormDto( + Form<TripLonglineGearUseDto> form = dataEntityToForm( TripLonglineGearUseDto.class, tripLongline, - ObserveReferenceSetRequestDefinitions.TRIP_LONGLINE_GEAR_USE_FORM); + ReferenceSetRequestDefinitions.TRIP_LONGLINE_GEAR_USE_FORM); return form; + } @Override public SaveResultDto save(TripLonglineGearUseDto dto) { - TripLongline tripLongline = dtoToEntity(TripLonglineGearUseDto.class, TripLongline.class, dto); + TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(TripLonglineGearUseDto.class, TripLongline.class, dto); + + dataDtoToEntity(dto, entity); - tripLongline = saveEntity(TripLongline.class, tripLongline); + entity = saveFollowedEntity(TripLongline.class, entity); TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); - dao.updateEndDate(tripLongline); + dao.updateEndDate(entity); + + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); - return SaveResultDtos.newSaveResult(tripLongline.getTopiaId(), tripLongline.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java index a9266f9..b486d7b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java @@ -22,23 +22,19 @@ package fr.ird.observe.services.service.longline; * #L% */ -import com.google.common.base.Optional; -import com.google.common.collect.Sets; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.longline.TripLonglineTopiaDao; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.TripMapDtos; import fr.ird.observe.services.dto.TripMapPointDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -56,64 +52,38 @@ import java.util.List; public class TripLonglineServiceTopia extends ObserveServiceTopia implements TripLonglineService { @Override - public ReferenceSetDto<TripLonglineDto> getAllTripLongline() { - + public DataReferenceSet<TripLonglineDto> getAllTripLongline() { List<TripLongline> tripLonglines = loadEntities(TripLongline.class); - LinkedHashSet<ReferenceDto<TripLonglineDto>> stubs = Sets.newLinkedHashSet(); - - for (TripLongline tripLongline : tripLonglines) { - - ReferenceDto<TripLonglineDto> stub = entityToReferenceDto(TripLonglineDto.class, tripLongline); - - stubs.add(stub); + return toDataReferenceSet(TripLonglineDto.class, tripLonglines); - } - - Optional<Date> lastUpdateOptional = getLastUpdate(TripLongline.class); - ReferenceSetDto<TripLonglineDto> stubReferences = - ReferenceSetDtos.newReferenceSetDto(TripLonglineDto.class, stubs, lastUpdateOptional.orNull()); - - return stubReferences; } @Override - public ReferenceSetDto<TripLonglineDto> getTripLonglineByProgram(String programId) { - - ReferenceLocale referenceLocale = getReferenceLocale(); + public DataReferenceSet<TripLonglineDto> getTripLonglineByProgram(String programId) { - List<TripLongline> tripLonglines = getDao().findAllStubByProgramId(programId, referenceLocale); + List<TripLongline> tripLonglines = getDao().findAllStubByProgramId(programId, getReferentialLocale().ordinal()); - LinkedHashSet<ReferenceDto<TripLonglineDto>> stubs = Sets.newLinkedHashSet(); + return toDataReferenceSet(TripLonglineDto.class, tripLonglines); - for (TripLongline tripLongline : tripLonglines) { - - ReferenceDto<TripLonglineDto> stub = entityToReferenceDto(TripLonglineDto.class, tripLongline); - - stubs.add(stub); - - } - - Optional<Date> lastUpdateOptional = getLastUpdate(TripLongline.class); - ReferenceSetDto<TripLonglineDto> stubReferences = - ReferenceSetDtos.newReferenceSetDto(TripLonglineDto.class, stubs, lastUpdateOptional.orNull()); - - return stubReferences; } @Override public TripLonglineDto loadDto(String tripLonglineId) { - return loadEntityToDto(TripLonglineDto.class, tripLonglineId); + + TripLonglineDto dto = loadEntityToDataDto(TripLonglineDto.class, tripLonglineId); + return dto; + } @Override public int getTripLonglinePositionInProgram(String programId, String tripLonglineId) { int position = getDao().findPositionByProgramId(programId, tripLonglineId); - return position; + } @Override @@ -121,35 +91,38 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri LinkedHashSet<TripMapPointDto> points = getDao().extractTripMapActivityPoints(tripLonglineId); - TripMapDto tripMapDto = TripMapDtos.newTripMapDto(tripLonglineId, points); - return tripMapDto; + TripMapDto dto = TripMapDtos.newTripMapDto(tripLonglineId, points); + return dto; + } @Override - public ReferenceDto<TripLonglineDto> loadReferenceToRead(String tripLonglineId) { + public DataReference<TripLonglineDto> loadReferenceToRead(String tripLonglineId) { - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); - ReferenceDto<TripLonglineDto> referenceDto = entityToReferenceDto(TripLonglineDto.class, tripLongline); + DataReference<TripLonglineDto> reference = toReference(tripLongline); + return reference; - return referenceDto; } @Override public boolean exists(String tripLonglineId) { + return existsEntity(TripLongline.class, tripLonglineId); + } @Override - public FormDto<TripLonglineDto> loadForm(String tripLonglineId) { + public Form<TripLonglineDto> loadForm(String tripLonglineId) { - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); - FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, - tripLongline, - ObserveReferenceSetRequestDefinitions.TRIP_LONGLINE_FORM); + Form<TripLonglineDto> form = dataEntityToForm(TripLonglineDto.class, + tripLongline, + ReferenceSetRequestDefinitions.TRIP_LONGLINE_FORM); - TripLonglineDto tripLonglineDto = form.getForm(); + TripLonglineDto tripLonglineDto = form.getObject(); if (tripLonglineDto.getEndDate() == null) { Date date = DateUtil.getEndOfDay(now()); @@ -157,14 +130,15 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri } return form; + } @Override - public FormDto<TripLonglineDto> preCreate(String programId) { + public Form<TripLonglineDto> preCreate(String programId) { TripLongline tripLongline = newEntity(TripLongline.class); - Program program = loadEntity(ProgramDto.class, Program.class, programId); + Program program = loadEntity(ProgramDto.class, programId); Date date = DateUtil.getDay(now()); @@ -174,64 +148,73 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri tripLongline.setProgram(program); - FormDto<TripLonglineDto> form = entityToEditFormDto(TripLonglineDto.class, - tripLongline, - ObserveReferenceSetRequestDefinitions.TRIP_LONGLINE_FORM); + Form<TripLonglineDto> form = dataEntityToForm(TripLonglineDto.class, + tripLongline, + ReferenceSetRequestDefinitions.TRIP_LONGLINE_FORM); return form; + } @Override public SaveResultDto save(TripLonglineDto dto) { - TripLongline tripLongline = dtoToEntity(TripLonglineDto.class, TripLongline.class, dto); + TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(TripLonglineDto.class, TripLongline.class, dto); + + dataDtoToEntity(dto, entity); - tripLongline = saveEntity(TripLongline.class, tripLongline); + entity = saveFollowedEntity(TripLongline.class, entity); TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); - dao.updateEndDate(tripLongline); + dao.updateEndDate(entity); + + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); - return SaveResultDtos.newSaveResult(tripLongline.getTopiaId(), tripLongline.getLastUpdate()); } @Override public void delete(String tripLonglineId) { + deleteEntity(TripLonglineDto.class, TripLongline.class, Collections.singleton(tripLonglineId)); } @Override public int moveTripLonglineToProgram(String tripLonglineId, String programId) { - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); - Program program = loadEntity(ProgramDto.class, Program.class, programId); + + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); + Program program = loadEntity(ProgramDto.class, programId); tripLongline.setProgram(program); - saveEntity(TripLongline.class, tripLongline); + saveFollowedEntity(TripLongline.class, tripLongline); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); return getTripLonglinePositionInProgram(programId, tripLonglineId); + } @Override public List<Integer> moveTripLonglinesToProgram(List<String> tripLonglineIds, String programId) { - Program program = loadEntity(ProgramDto.class, Program.class, programId); + + Program program = loadEntity(ProgramDto.class, programId); List<Integer> result = new ArrayList<>(); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); for (String tripLonglineId : tripLonglineIds) { - TripLongline tripLongline = loadEntity(TripLonglineDto.class, TripLongline.class, tripLonglineId); + TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.setProgram(program); - saveEntity(TripLongline.class, tripLongline); + saveFollowedEntity(TripLongline.class, tripLongline); persistenceContext.flush(); result.add(getTripLonglinePositionInProgram(programId, tripLonglineId)); } return result; + } protected TripLonglineTopiaDao getDao() { diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java index a832f19..5ab8797 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java @@ -24,8 +24,8 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; @@ -36,13 +36,13 @@ import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia implements ActivitySeineObservedSystemService { @Override - public FormDto<ActivitySeineObservedSystemDto> loadForm(String activitySeineId) { + public Form<ActivitySeineObservedSystemDto> loadForm(String activitySeineId) { - ActivitySeine activitySeine = loadEntity(ActivitySeineObservedSystemDto.class, ActivitySeine.class, activitySeineId); + ActivitySeine activitySeine = loadEntity(ActivitySeineObservedSystemDto.class, activitySeineId); - FormDto<ActivitySeineObservedSystemDto> form = entityToEditFormDto(ActivitySeineObservedSystemDto.class, - activitySeine, - ObserveReferenceSetRequestDefinitions.ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM); + Form<ActivitySeineObservedSystemDto> form = dataEntityToForm(ActivitySeineObservedSystemDto.class, + activitySeine, + ReferenceSetRequestDefinitions.ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM); return form; } @@ -50,10 +50,12 @@ public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia @Override public SaveResultDto save(ActivitySeineObservedSystemDto dto) { - ActivitySeine activitySeine = dtoToEntity(ActivitySeineObservedSystemDto.class, ActivitySeine.class, dto); + ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(ActivitySeineObservedSystemDto.class, ActivitySeine.class, dto); - activitySeine = saveEntity(ActivitySeine.class, activitySeine); + dataDtoToEntity(dto, entity); - return SaveResultDtos.newSaveResult(activitySeine.getTopiaId(), activitySeine.getLastUpdate()); + entity = saveFollowedEntity(ActivitySeine.class, entity); + + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java index 43ffc06..c638f80 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java @@ -23,33 +23,27 @@ package fr.ird.observe.services.service.seine; */ import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.FpaZone; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.ActivitySeineTopiaDao; import fr.ird.observe.entities.seine.ActivitySeines; import fr.ird.observe.entities.seine.Route; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; -import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.type.CoordinateHelper; import org.nuiton.util.DateUtil; import java.util.ArrayList; import java.util.Date; -import java.util.LinkedHashSet; import java.util.List; /** @@ -58,39 +52,23 @@ import java.util.List; public class ActivitySeineServiceTopia extends ObserveServiceTopia implements ActivitySeineService { @Override - public ReferenceSetDto<ActivitySeineDto> getActivitySeineByRoute(String routeId) { + public DataReferenceSet<ActivitySeineDto> getActivitySeineByRoute(String routeId) { - ReferenceLocale referenceLocale = getReferenceLocale(); + ReferentialLocale referenceLocale = getReferentialLocale(); ActivitySeineTopiaDao dao = getTopiaPersistenceContext().getActivitySeineDao(); - List<ActivitySeine> allStubByTripId = dao.findAllStubByRouteId(routeId, referenceLocale); - - LinkedHashSet<ReferenceDto<ActivitySeineDto>> stubs = Sets.newLinkedHashSet(); - - for (ActivitySeine activitySeine : allStubByTripId) { - - ReferenceDto<ActivitySeineDto> stub = ReferenceDtos.newReferenceDto(ActivitySeineDto.class, - true, - Lists.newArrayList(ActivitySeineDto.PROPERTY_TIME, - ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, - ActivitySeineDto.PROPERTY_SET_SEINE)); - stub.setId(activitySeine.getTopiaId()); - stub.setPropertyValue(ActivitySeineDto.PROPERTY_TIME, new Date(activitySeine.getTime().getTime())); - stub.setPropertyValue(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, referenceLocale.getLabel(activitySeine.getVesselActivitySeine())); - if (activitySeine.getSetSeine() != null) { - stub.setPropertyValue(ActivitySeineDto.PROPERTY_SET_SEINE, entityToReferenceDto(SetSeineDto.class, activitySeine.getSetSeine())); - } + List<ActivitySeine> allStubByTripId = dao.findAllStubByRouteId(routeId, referenceLocale.ordinal()); - stubs.add(stub); - } + DataReferenceSet<ActivitySeineDto> dataReferenceSet = toDataReferenceSet(ActivitySeineDto.class, allStubByTripId); + return dataReferenceSet; - ReferenceSetDto<ActivitySeineDto> result = ReferenceSetDtos.newReferenceSetDto(ActivitySeineDto.class, stubs, null); - return result; } + + @Override public int getActivitySeinePositionInRoute(String routeId, String activitySeineId) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); + Route route = loadEntity(RouteDto.class, routeId); ActivitySeine activitySeine = route.getActivitySeineByTopiaId(activitySeineId); @@ -100,43 +78,47 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac } @Override - public ReferenceDto<ActivitySeineDto> loadReferenceToRead(String activitySeineId) { - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + public DataReference<ActivitySeineDto> loadReferenceToRead(String activitySeineId) { + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - ReferenceDto<ActivitySeineDto> referenceDto = entityToReferenceDto(ActivitySeineDto.class, activitySeine); + DataReference<ActivitySeineDto> reference = toReference(activitySeine); + return reference; - return referenceDto; } @Override public ActivitySeineDto loadDto(String activitySeineId) { - return loadEntityToDto(ActivitySeineDto.class, activitySeineId); + return loadEntityToDataDto(ActivitySeineDto.class, activitySeineId); } @Override public boolean exists(String activitySeineId) { + return existsEntity(ActivitySeine.class, activitySeineId); + } @Override - public FormDto<ActivitySeineDto> loadForm(String activitySeineId) { + public Form<ActivitySeineDto> loadForm(String activitySeineId) { - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - FormDto<ActivitySeineDto> form = entityToEditFormDto(ActivitySeineDto.class, - activitySeine, - ObserveReferenceSetRequestDefinitions.ACTIVITY_SEINE_FORM); + Form<ActivitySeineDto> form = dataEntityToForm(ActivitySeineDto.class, + activitySeine, + ReferenceSetRequestDefinitions.ACTIVITY_SEINE_FORM); - form.getForm().setObservedSystemEmpty(activitySeine.isObservedSystemEmpty()); - form.getForm().setFloatingObjectEmpty(activitySeine.isFloatingObjectEmpty()); + form.getObject().setObservedSystemEmpty(activitySeine.isObservedSystemEmpty()); + form.getObject().setFloatingObjectEmpty(activitySeine.isFloatingObjectEmpty()); return form; + } @Override - public FormDto<ActivitySeineDto> preCreate(String routeId) { + public Form<ActivitySeineDto> preCreate(String routeId) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); + Route route = loadEntity(RouteDto.class, routeId); ActivitySeine preCreated = newEntity(ActivitySeine.class); @@ -179,42 +161,46 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac preCreated.setTime(DateUtil.getTime(time, false, false)); preCreated.setCurrentFpaZone(currentFpaZone); - FormDto<ActivitySeineDto> form = entityToEditFormDto(ActivitySeineDto.class, - preCreated, - ObserveReferenceSetRequestDefinitions.ACTIVITY_SEINE_FORM); + Form<ActivitySeineDto> form = dataEntityToForm(ActivitySeineDto.class, + preCreated, + ReferenceSetRequestDefinitions.ACTIVITY_SEINE_FORM); - form.getForm().setObservedSystemEmpty(preCreated.isObservedSystemEmpty()); - form.getForm().setFloatingObjectEmpty(preCreated.isFloatingObjectEmpty()); + form.getObject().setObservedSystemEmpty(preCreated.isObservedSystemEmpty()); + form.getObject().setFloatingObjectEmpty(preCreated.isFloatingObjectEmpty()); return form; + } @Override - public SaveResultDto save(String routeId, ActivitySeineDto activitySeineDto) { + public SaveResultDto save(String routeId, ActivitySeineDto dto) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); + Route route = loadEntity(RouteDto.class, routeId); - ActivitySeine activitySeine = dtoToEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineDto); + ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(ActivitySeineDto.class, ActivitySeine.class, dto); - activitySeine = saveEntity(ActivitySeine.class, activitySeine); + dataDtoToEntity(dto, entity); - if (activitySeineDto.isNotPersisted()) { + entity = saveFollowedEntity(ActivitySeine.class, entity); - route.addActivitySeine(activitySeine); + if (dto.isNotPersisted()) { - saveEntity(Route.class, route); + route.addActivitySeine(entity); + + saveFollowedEntity(Route.class, route); } - return SaveResultDtos.newSaveResult(activitySeine.getTopiaId(), activitySeine.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + } @Override public void delete(String routeId, String activitySeineId) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); + Route route = loadEntity(RouteDto.class, routeId); - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); if (!route.containsActivitySeine(activitySeine)) { throw new DataNotFoundException(ActivitySeineDto.class, activitySeineId); @@ -226,31 +212,35 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac @Override public int moveActivitySeineToRoute(String activitySeineId, String routeId) { - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); - Route route = loadEntity(RouteDto.class, Route.class, routeId); + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); + Route route = loadEntity(RouteDto.class, routeId); route.addActivitySeine(activitySeine); - saveEntity(Route.class, route); + saveFollowedEntity(Route.class, route); return getActivitySeinePositionInRoute(route, activitySeine); + } @Override public List<Integer> moveActivitySeinesToRoute(List<String> activitySeineIds, String routeId) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); + + Route route = loadEntity(RouteDto.class, routeId); List<Integer> result = new ArrayList<>(); for (String activityId : activitySeineIds) { - ActivitySeine activity = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activityId); + ActivitySeine activity = loadEntity(ActivitySeineDto.class, activityId); route.addActivitySeine(activity); result.add(getActivitySeinePositionInRoute(routeId, activityId)); } - saveEntity(Route.class, route); + saveFollowedEntity(Route.class, route); return result; + } protected int getActivitySeinePositionInRoute(Route route, ActivitySeine activitySeine) { diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java index 6c8e3fa..aecc2d4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java @@ -23,19 +23,17 @@ package fr.ird.observe.services.service.seine; */ import com.google.common.collect.Sets; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.entities.seine.FloatingObjectTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; -import fr.ird.observe.services.dto.seine.FloatingObjectDtos; import fr.ird.observe.services.service.DataNotFoundException; import java.util.LinkedHashSet; @@ -47,46 +45,46 @@ import java.util.List; public class FloatingObjectServiceTopia extends ObserveServiceTopia implements FloatingObjectService { @Override - public ReferenceSetDto<FloatingObjectDto> getFloatingObjectByActivitySeine(String activitySeineId) { + public DataReferenceSet<FloatingObjectDto> getFloatingObjectByActivitySeine(String activitySeineId) { - ReferenceLocale referenceLocale = getReferenceLocale(); + ReferentialLocale referenceLocale = getReferentialLocale(); FloatingObjectTopiaDao dao = getTopiaPersistenceContext().getFloatingObjectDao(); - List<FloatingObject> allStubByActivityId = dao.findAllStubByActivityId(activitySeineId, referenceLocale); - - LinkedHashSet<ReferenceDto<FloatingObjectDto>> referenceDtos = Sets.newLinkedHashSet(); - - for (FloatingObject floatingObject : allStubByActivityId) { - - ReferenceDto<FloatingObjectDto> referenceDto = FloatingObjectDtos.newReferenceDto( - floatingObject.getTopiaId(), - referenceLocale.getLabel(floatingObject.getObjectType())); - - referenceDtos.add(referenceDto); - - } - - ReferenceSetDto<FloatingObjectDto> result = ReferenceSetDtos.newReferenceSetDto(FloatingObjectDto.class, referenceDtos, null); - return result; + List<FloatingObject> allStubByActivityId = dao.findAllStubByActivityId(activitySeineId, referenceLocale.ordinal()); + + LinkedHashSet<DataReference<FloatingObjectDto>> referenceDtos = Sets.newLinkedHashSet(); + +// for (FloatingObject floatingObject : allStubByActivityId) { +// +// ReferenceDto<FloatingObjectDto> referenceDto = FloatingObjectDtos.newReferenceDto( +// floatingObject.getTopiaId(), +// referenceLocale.getLabel(floatingObject.getObjectType())); +// +// referenceDtos.add(referenceDto); +// +// } + //FIXME DataReferenceSet +// ReferenceSetDto<FloatingObjectDto> result = ReferenceSetDtos.newReferenceSetDto(FloatingObjectDto.class, referenceDtos, null); + return null; } @Override - public ReferenceDto<FloatingObjectDto> loadReferenceToRead(String floatingObjectId) { + public DataReference<FloatingObjectDto> loadReferenceToRead(String floatingObjectId) { - ReferenceLocale referenceLocale = getReferenceLocale(); + ReferentialLocale referenceLocale = getReferentialLocale(); - FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectId); + FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, floatingObjectId); - ReferenceDto<FloatingObjectDto> referenceDto = FloatingObjectDtos.newReferenceDto( - floatingObject.getTopiaId(), - referenceLocale.getLabel(floatingObject.getObjectType())); - - return referenceDto; +// ReferenceDto<FloatingObjectDto> referenceDto = FloatingObjectDtos.newReferenceDto( +// floatingObject.getTopiaId(), +// referenceLocale.getLabel(floatingObject.getObjectType())); + //FIXME DataReferenceSet + return null; } @Override public FloatingObjectDto loadDto(String floatingObjectId) { - return loadEntityToDto(FloatingObjectDto.class, floatingObjectId); + return loadEntityToDataDto(FloatingObjectDto.class, floatingObjectId); } @Override @@ -95,55 +93,57 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F } @Override - public FormDto<FloatingObjectDto> loadForm(String floatingObjectId) { + public Form<FloatingObjectDto> loadForm(String floatingObjectId) { - FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectId); + FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, floatingObjectId); - FormDto<FloatingObjectDto> form = entityToEditFormDto(FloatingObjectDto.class, - floatingObject, - ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_FORM); + Form<FloatingObjectDto> form = dataEntityToForm(FloatingObjectDto.class, + floatingObject, + ReferenceSetRequestDefinitions.FLOATING_OBJECT_FORM); return form; } @Override - public FormDto<FloatingObjectDto> preCreate(String activitySeineId) { + public Form<FloatingObjectDto> preCreate(String activitySeineId) { FloatingObject floatingObject = newEntity(FloatingObject.class); - FormDto<FloatingObjectDto> form = entityToEditFormDto(FloatingObjectDto.class, - floatingObject, - ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_FORM); + Form<FloatingObjectDto> form = dataEntityToForm(FloatingObjectDto.class, + floatingObject, + ReferenceSetRequestDefinitions.FLOATING_OBJECT_FORM); return form; } @Override - public String save(String activitySeineId, FloatingObjectDto floatingObjectDto) { + public String save(String activitySeineId, FloatingObjectDto dto) { + + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectDto.class, FloatingObject.class, dto); - FloatingObject floatingObject = dtoToEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectDto); + dataDtoToEntity(dto, entity); - floatingObject = saveEntity(FloatingObject.class, floatingObject); + entity = saveFollowedEntity(FloatingObject.class, entity); - if (floatingObjectDto.isNotPersisted()) { + if (dto.isNotPersisted()) { - activitySeine.addFloatingObject(floatingObject); + activitySeine.addFloatingObject(entity); - saveEntity(ActivitySeine.class, activitySeine); + saveFollowedEntity(ActivitySeine.class, activitySeine); } - return floatingObject.getTopiaId(); + return entity.getTopiaId(); } @Override public void delete(String activitySeineId, String floatingObjectId) { - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, FloatingObject.class, floatingObjectId); + FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, floatingObjectId); if (!activitySeine.containsFloatingObject(floatingObject)) { throw new DataNotFoundException(FloatingObjectDto.class, floatingObjectId); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java index 228569a..50ddca0 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java @@ -34,8 +34,8 @@ import fr.ird.observe.entities.seine.NonTargetSample; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.NonTargetCatchDto; @@ -51,22 +51,22 @@ import java.util.Set; public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements NonTargetCatchService { @Override - public FormDto<SetSeineNonTargetCatchDto> loadForm(String setSeineId, String tripSeineId) { + public Form<SetSeineNonTargetCatchDto> loadForm(String setSeineId, String tripSeineId) { - SetSeine setSeine = loadEntity(SetSeineNonTargetCatchDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineNonTargetCatchDto.class, setSeineId); - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); Ocean ocean = tripSeine.getOcean(); - FormDto<SetSeineNonTargetCatchDto> form = entityToEditFormDto( + Form<SetSeineNonTargetCatchDto> form = dataEntityToForm( SetSeineNonTargetCatchDto.class, setSeine, - ObserveReferenceSetRequestDefinitions.SET_SEINE_FORM + ReferenceSetRequestDefinitions.SET_SEINE_FORM //ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), //FIXME context ); - SetSeineNonTargetCatchDto setSeineNonTargetCatchDto = form.getForm(); + SetSeineNonTargetCatchDto setSeineNonTargetCatchDto = form.getObject(); // on cherche si il y a des échantillons sur les captures if (setSeine.sizeNonTargetSample() > 0) { @@ -97,27 +97,29 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N @Override public SaveResultDto save(SetSeineNonTargetCatchDto dto) { - SetSeine setSeine = dtoToEntity(SetSeineNonTargetCatchDto.class, SetSeine.class, dto); + SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(SetSeineNonTargetCatchDto.class, SetSeine.class, dto); + + dataDtoToEntity(dto, entity); // mise a jour de la propriete nonTargetDiscarded boolean hasRejet = false; - for (NonTargetCatch nonTargetCatch : setSeine.getNonTargetCatch()) { + for (NonTargetCatch nonTargetCatch : entity.getNonTargetCatch()) { if (nonTargetCatch.getReasonForDiscard() != null) { // on a trouve un rejet de faune hasRejet = true; break; } } - setSeine.setNonTargetDiscarded(hasRejet); + entity.setNonTargetDiscarded(hasRejet); // on supprime les échantillons qui ne correspondent plus a des capture - if (setSeine.sizeNonTargetSample() > 0) { - NonTargetSample nonTargetSample = Iterables.get(setSeine.getNonTargetSample(), 0); + if (entity.sizeNonTargetSample() > 0) { + NonTargetSample nonTargetSample = Iterables.get(entity.getNonTargetSample(), 0); Set<Species> speciesCatchs = Sets.newHashSet(Iterables.transform( - setSeine.getNonTargetCatch(), + entity.getNonTargetCatch(), NonTargetCatchs.getSpeciesFunction())); Set<NonTargetLength> nonTargetLengthToDelete = Sets.newHashSet(); @@ -142,8 +144,8 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N } } - setSeine = saveEntity(SetSeine.class, setSeine); + entity = saveFollowedEntity(SetSeine.class, entity); - return SaveResultDtos.newSaveResult(setSeine.getTopiaId(), setSeine.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java index 5980335..0db4a2c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java @@ -29,16 +29,12 @@ import fr.ird.observe.entities.seine.NonTargetCatch; import fr.ird.observe.entities.seine.NonTargetSample; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; -import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import java.util.Collection; -import java.util.LinkedHashSet; import java.util.Set; /** @@ -49,7 +45,7 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements @Override public boolean canUseNonTargetSample(String setSeineId) { - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); return setSeine.canUseNonTargetSample(); } @@ -73,16 +69,16 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements } @Override - public FormDto<NonTargetSampleDto> loadForm(String setSeineId) { + public Form<NonTargetSampleDto> loadForm(String setSeineId) { - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); NonTargetSample nonTargetSample = getNonTargetSample(setSeine); - FormDto<NonTargetSampleDto> form = entityToEditFormDto( + Form<NonTargetSampleDto> form = dataEntityToForm( NonTargetSampleDto.class, nonTargetSample, - ObserveReferenceSetRequestDefinitions.SET_SEINE_NON_TARGET_CATCH_FORM); + ReferenceSetRequestDefinitions.SET_SEINE_NON_TARGET_CATCH_FORM); // on filtre la liste des espéces cibles Set<Species> speciesSet = Sets.newLinkedHashSet(); @@ -100,32 +96,36 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements } //FIXME request - LinkedHashSet<ReferenceDto<SpeciesDto>> speciesRefs = Sets.newLinkedHashSet(); - - for (Species species : speciesSet) { - speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); - } - - ReferenceSetDto<SpeciesDto> speciesRreferenceSetDto = form.getReferenceSetDto(SpeciesDto.class); - speciesRreferenceSetDto.setReference(speciesRefs); +// LinkedHashSet<ReferenceDto<SpeciesDto>> speciesRefs = Sets.newLinkedHashSet(); +// +// for (Species species : speciesSet) { +// speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); +// } +// +// ReferenceSetDto<SpeciesDto> speciesRreferenceSetDto = form.getReferenceSetDto(SpeciesDto.class); +// speciesRreferenceSetDto.setReference(speciesRefs); return form; } @Override - public String save(String setSeineId, NonTargetSampleDto nonTargetSampleDto) { + public String save(String setSeineId, NonTargetSampleDto dto) { + + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); + + checkLastUpdateDate(setSeine, dto); - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + NonTargetSample entity = loadOrCreateEntity(NonTargetSampleDto.class, NonTargetSample.class, dto); - NonTargetSample nonTargetSample = dtoToEntity(NonTargetSampleDto.class, NonTargetSample.class, nonTargetSampleDto); + dataDtoToEntity(dto, entity); - nonTargetSample = saveEntity(NonTargetSample.class, nonTargetSample); + entity = saveEntity(NonTargetSample.class, entity); - if (nonTargetSampleDto.isNotPersisted()) { + if (dto.isNotPersisted()) { - setSeine.addNonTargetSample(nonTargetSample); + setSeine.addNonTargetSample(entity); - saveEntity(SetSeine.class, setSeine); + saveFollowedEntity(SetSeine.class, setSeine); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java index 2dfed78..6031e11 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java @@ -24,8 +24,8 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; /** @@ -34,16 +34,16 @@ import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia implements ObjectObservedSpeciesService { @Override - public FormDto<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId) { + public Form<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId) { FloatingObject floatingObject = - loadEntity(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, floatingObjectId); + loadEntity(FloatingObjectObservedSpeciesDto.class, floatingObjectId); - FormDto<FloatingObjectObservedSpeciesDto> form = - entityToEditFormDto( + Form<FloatingObjectObservedSpeciesDto> form = + dataEntityToForm( FloatingObjectObservedSpeciesDto.class, floatingObject, - ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_OBSERVED_SPECIES_FORM); + ReferenceSetRequestDefinitions.FLOATING_OBJECT_OBSERVED_SPECIES_FORM); return form; } @@ -51,10 +51,12 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple @Override public String save(FloatingObjectObservedSpeciesDto dto) { - FloatingObject floatingObject = dtoToEntity(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, dto); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, dto); - floatingObject = saveEntity(FloatingObject.class, floatingObject); + dataDtoToEntity(dto, entity); - return floatingObject.getTopiaId(); + entity = saveFollowedEntity(FloatingObject.class, entity); + + return entity.getTopiaId(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java index 4179233..032922f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java @@ -24,13 +24,9 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; -import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; -import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; -import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -38,17 +34,17 @@ import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implements ObjectSchoolEstimateService { @Override - public FormDto<FloatingObjectSchoolEstimateDto> loadForm(String floatingObjectId) { + public Form<FloatingObjectSchoolEstimateDto> loadForm(String floatingObjectId) { FloatingObject floatingObject = - loadEntity(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, floatingObjectId); + loadEntity(FloatingObjectSchoolEstimateDto.class, floatingObjectId); - FormDto<FloatingObjectSchoolEstimateDto> form = - entityToEditFormDto( + Form<FloatingObjectSchoolEstimateDto> form = + dataEntityToForm( FloatingObjectSchoolEstimateDto.class, floatingObject, - ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_SCHOOL_ESTIMATE_FORM, - new ReferenceTypeName(ObjectSchoolEstimateDto.class, SpeciesDto.class, ObjectObservedSpeciesDto.PROPERTY_SPECIES)); + ReferenceSetRequestDefinitions.FLOATING_OBJECT_SCHOOL_ESTIMATE_FORM + ); return form; } @@ -56,11 +52,12 @@ public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implem @Override public String save(FloatingObjectSchoolEstimateDto dto) { - FloatingObject floatingObject = - dtoToEntity(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, dto); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, dto); + + dataDtoToEntity(dto, entity); - floatingObject = saveEntity(FloatingObject.class, floatingObject); + entity = saveFollowedEntity(FloatingObject.class, entity); - return floatingObject.getTopiaId(); + return entity.getTopiaId(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index b82c596..5dda21e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -22,9 +22,8 @@ package fr.ird.observe.services.service.seine; * #L% */ +import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; -import com.google.common.collect.Lists; -import com.google.common.collect.Sets; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.ActivitySeineImpl; @@ -34,11 +33,11 @@ import fr.ird.observe.entities.seine.Routes; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.entities.seine.TripSeineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.binder.data.DataBinderSupport; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; import fr.ird.observe.services.dto.seine.RouteDto; @@ -60,32 +59,31 @@ import java.util.Set; public class RouteServiceTopia extends ObserveServiceTopia implements RouteService { @Override - public ReferenceSetDto<RouteDto> getRouteByTripSeine(String tripSeineId) { + public DataReferenceSet<RouteDto> getRouteByTripSeine(String tripSeineId) { RouteTopiaDao dao = getTopiaPersistenceContext().getRouteDao(); List<Route> allStubByTripId = dao.findAllStubByTripId(tripSeineId); - LinkedHashSet<ReferenceDto<RouteDto>> stubs = Sets.newLinkedHashSet(); + ReferentialLocale referenceLocale = getReferentialLocale(); + + DataBinderSupport<Route, RouteDto> binder = getDataBinder(RouteDto.class); + + ImmutableSet.Builder<DataReference<RouteDto>> references = ImmutableSet.builder(); for (Route route : allStubByTripId) { - ReferenceDto<RouteDto> stub = ReferenceDtos.newReferenceDto(RouteDto.class, - Lists.newArrayList(RouteDto.PROPERTY_DATE)); - stub.setId(route.getTopiaId()); - stub.setPropertyValue(RouteDto.PROPERTY_DATE, route.getDate()); + DataReference<RouteDto> reference = binder.toDataReference(referenceLocale, route); + references.add(reference); - stubs.add(stub); } + return DataReferenceSet.of(RouteDto.class, references.build()); - ReferenceSetDto<RouteDto> result = ReferenceSetDtos.newReferenceSetDto(RouteDto.class, stubs, null); - - return result; } @Override public int getRoutePositionInTripSeine(String tripSeineId, String routeId) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); Route route = tripSeine.getRouteByTopiaId(routeId); @@ -104,7 +102,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi TopiaEntities.entityHasId(activitySeineDto.getId())); boolean isFindeVeille = activitySeine.getVesselActivitySeine() != null - && ActivitySeineImpl.ACTIVITY_FIN_DE_VEILLE.equals(activitySeine.getVesselActivitySeine().getCode()); + && ActivitySeineImpl.ACTIVITY_FIN_DE_VEILLE.equals(activitySeine.getVesselActivitySeine().getCode()); activitySeineDto.setActivityFinDeVeille(isFindeVeille); @@ -113,21 +111,21 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi } @Override - public ReferenceDto<RouteDto> loadReferenceToRead(String routeId) { + public DataReference<RouteDto> loadReferenceToRead(String routeId) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); + Route route = loadEntity(RouteDto.class, routeId); - ReferenceDto<RouteDto> referenceDto = entityToReferenceDto(RouteDto.class, route); + DataReference<RouteDto> reference = toReference(route); //FIXME // bindFindeVeilleProperties(route.getActivitySeine(), referenceDto.getForm().getActivitySeine()); + return reference; - return referenceDto; } @Override public RouteDto loadDto(String routeId) { - return loadEntityToDto(RouteDto.class, routeId); + return loadEntityToDataDto(RouteDto.class, routeId); } @Override @@ -136,21 +134,21 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi } @Override - public FormDto<RouteDto> loadForm(String routeId) { + public Form<RouteDto> loadForm(String routeId) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); + Route route = loadEntity(RouteDto.class, routeId); - FormDto<RouteDto> form = entityToEditFormDto(RouteDto.class, route, null); + Form<RouteDto> form = dataEntityToForm(RouteDto.class, route, null); - bindFindeVeilleProperties(route.getActivitySeine(), form.getForm().getActivitySeine()); + bindFindeVeilleProperties(route.getActivitySeine(), form.getObject().getActivitySeine()); return form; } @Override - public FormDto<RouteDto> preCreate(String tripSeineId) { + public Form<RouteDto> preCreate(String tripSeineId) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); Route preCreated = newEntity(Route.class); @@ -175,47 +173,49 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi preCreated.setDate(DateUtil.getDay(date)); - FormDto<RouteDto> form = entityToEditFormDto(RouteDto.class, preCreated, null); + Form<RouteDto> form = dataEntityToForm(RouteDto.class, preCreated, null); return form; } @Override - public TripChildSaveResultDto save(String tripSeineId, RouteDto routeDto) { + public TripChildSaveResultDto save(String tripSeineId, RouteDto dto) { TripChildSaveResultDto result = new TripChildSaveResultDto(); - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); Date oldRouteDate; - if (routeDto.isPersisted()) { - Route route = loadEntity(RouteDto.class, Route.class, routeDto.getId()); + if (dto.isPersisted()) { + Route route = loadEntity(RouteDto.class, dto.getId()); oldRouteDate = route.getDate(); } else { - oldRouteDate = routeDto.getDate(); + oldRouteDate = dto.getDate(); } - Route route = dtoToEntity(RouteDto.class, Route.class, routeDto); + Route entity = loadOrCreateEntityAndCheckLastUpdate(RouteDto.class, Route.class, dto); - route = saveEntity(Route.class, route); - result.setId(route.getTopiaId()); - result.setLastUpdate(route.getLastUpdate()); + dataDtoToEntity(dto, entity); - if (routeDto.isNotPersisted()) { + entity = saveFollowedEntity(Route.class, entity); + result.setId(entity.getTopiaId()); + result.setLastUpdate(entity.getLastUpdate()); - tripSeine.addRoute(route); + if (dto.isNotPersisted()) { + + tripSeine.addRoute(entity); - saveEntity(TripSeine.class, tripSeine); + saveFollowedEntity(TripSeine.class, tripSeine); } else { Date oldDate = DateUtil.getDay(oldRouteDate); // si le jour a change, il faut mettre à jour les dates des activitéset des sets - boolean dateHasChanged = !oldDate.equals(routeDto.getDate()); + boolean dateHasChanged = !oldDate.equals(dto.getDate()); if (dateHasChanged) { RouteTopiaDao dao = getTopiaPersistenceContext().getRouteDao(); - dao.updateActivitiesDate(route.getTopiaId()); + dao.updateActivitiesDate(entity.getTopiaId()); } } @@ -230,9 +230,9 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi @Override public boolean delete(String tripSeineId, String routeId) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); - Route route = loadEntity(RouteDto.class, Route.class, routeId); + Route route = loadEntity(RouteDto.class, routeId); if (!tripSeine.containsRoute(route)) { @@ -251,10 +251,10 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi @Override public int moveRouteToTripSeine(String routeId, String tripSeineId) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + Route route = loadEntity(RouteDto.class, routeId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); tripSeine.addRoute(route); - saveEntity(TripSeine.class, tripSeine); + saveFollowedEntity(TripSeine.class, tripSeine); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); @@ -264,18 +264,18 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi @Override public List<Integer> moveRoutesToTripSeine(List<String> routeIds, String tripSeineId) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); List<Integer> result = new ArrayList<>(); for (String routeId : routeIds) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); + Route route = loadEntity(RouteDto.class, routeId); tripSeine.addRoute(route); result.add(getRoutePositionInTripSeine(tripSeine, route)); } - saveEntity(TripSeine.class, tripSeine); + saveFollowedEntity(TripSeine.class, tripSeine); return result; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java index 8a7aa39..d5b7523 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java @@ -27,8 +27,8 @@ import fr.ird.observe.entities.seine.SchoolEstimate; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -38,18 +38,18 @@ import fr.ird.observe.services.dto.seine.TripSeineDto; public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements SchoolEstimateService { @Override - public FormDto<SetSeineSchoolEstimateDto> loadForm(String setSeineId, String tripSeineId) { + public Form<SetSeineSchoolEstimateDto> loadForm(String setSeineId, String tripSeineId) { - SetSeine setSeine = loadEntity(SetSeineSchoolEstimateDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineSchoolEstimateDto.class, setSeineId); - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); Ocean ocean = tripSeine.getOcean(); - FormDto<SetSeineSchoolEstimateDto> form = entityToEditFormDto( + Form<SetSeineSchoolEstimateDto> form = dataEntityToForm( SetSeineSchoolEstimateDto.class, setSeine, - ObserveReferenceSetRequestDefinitions.SET_SEINE_SCHOOL_ESTIMATE_FORM + ReferenceSetRequestDefinitions.SET_SEINE_SCHOOL_ESTIMATE_FORM //ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), //FIXME context ); @@ -59,14 +59,16 @@ public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements S @Override public String save(SetSeineSchoolEstimateDto dto) { - SetSeine setSeine = dtoToEntity(SetSeineSchoolEstimateDto.class, SetSeine.class, dto); + SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(SetSeineSchoolEstimateDto.class, SetSeine.class, dto); - for (SchoolEstimate schoolEstimate : setSeine.getSchoolEstimate()) { - schoolEstimate.setSetSeine(setSeine); + dataDtoToEntity(dto, entity); + + for (SchoolEstimate schoolEstimate : entity.getSchoolEstimate()) { + schoolEstimate.setSetSeine(entity); } - setSeine = saveEntity(SetSeine.class, setSeine); + entity = saveFollowedEntity(SetSeine.class, entity); - return setSeine.getTopiaId(); + return entity.getTopiaId(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java index f3a8116..fe53ef4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java @@ -27,9 +27,9 @@ import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.Route; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -44,18 +44,19 @@ import java.util.Date; public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSeineService { @Override - public ReferenceDto<SetSeineDto> loadReferenceToRead(String setSeineId) { + public DataReference<SetSeineDto> loadReferenceToRead(String setSeineId) { - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); - ReferenceDto<SetSeineDto> referenceDto = entityToReferenceDto(SetSeineDto.class, setSeine); + //FIXME DataReferenceSet +// ReferenceDto<SetSeineDto> referenceDto = entityToReferenceDto(SetSeineDto.class, setSeine); - return referenceDto; + return null; } @Override public SetSeineDto loadDto(String setSeineId) { - return loadEntityToDto(SetSeineDto.class, setSeineId); + return loadEntityToDataDto(SetSeineDto.class, setSeineId); } @Override @@ -64,23 +65,23 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein } @Override - public FormDto<SetSeineDto> loadForm(String setSeineId) { + public Form<SetSeineDto> loadForm(String setSeineId) { - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); - FormDto<SetSeineDto> form = entityToEditFormDto(SetSeineDto.class, - setSeine, - ObserveReferenceSetRequestDefinitions.SET_SEINE_FORM); + Form<SetSeineDto> form = dataEntityToForm(SetSeineDto.class, + setSeine, + ReferenceSetRequestDefinitions.SET_SEINE_FORM); return form; } @Override - public FormDto<SetSeineDto> preCreate(String routeId, String activitySeineId) { + public Form<SetSeineDto> preCreate(String routeId, String activitySeineId) { - Route route = loadEntity(RouteDto.class, Route.class, routeId); + Route route = loadEntity(RouteDto.class, routeId); - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); if (!route.containsActivitySeine(activitySeine)) { throw new DataNotFoundException(ActivitySeineDto.class, activitySeineId); @@ -107,40 +108,42 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein SchoolType schoolType = activitySeine.getSchoolType(); preCreated.setSchoolType(schoolType); - FormDto<SetSeineDto> form = entityToEditFormDto(SetSeineDto.class, - preCreated, - ObserveReferenceSetRequestDefinitions.SET_SEINE_FORM); + Form<SetSeineDto> form = dataEntityToForm(SetSeineDto.class, + preCreated, + ReferenceSetRequestDefinitions.SET_SEINE_FORM); return form; } @Override - public String save(String activitySeineId, SetSeineDto setSeineDto) { + public String save(String activitySeineId, SetSeineDto dto) { - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - SetSeine setSeine = dtoToEntity(SetSeineDto.class, SetSeine.class, setSeineDto); + SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(SetSeineDto.class, SetSeine.class, dto); - setSeine = saveEntity(SetSeine.class, setSeine); + dataDtoToEntity(dto, entity); - if (setSeineDto.isNotPersisted()) { + entity = saveFollowedEntity(SetSeine.class, entity); - activitySeine.setSetSeine(setSeine); + if (dto.isNotPersisted()) { - saveEntity(ActivitySeine.class, activitySeine); + activitySeine.setSetSeine(entity); + + saveFollowedEntity(ActivitySeine.class, activitySeine); } - return setSeine.getTopiaId(); + return entity.getTopiaId(); } @Override public void delete(String activitySeineId, String setSeineId) { - ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, ActivitySeine.class, activitySeineId); + ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); if (!activitySeine.getSetSeine().equals(setSeine)) { throw new DataNotFoundException(SetSeineDto.class, setSeineId); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java index ab6adc4..7fbfcf3 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java @@ -4,7 +4,6 @@ import com.google.common.base.Optional; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Sets; -import fr.ird.observe.entities.referentiel.Ocean; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.entities.seine.TargetCatch; @@ -14,8 +13,9 @@ import fr.ird.observe.entities.seine.TargetLength; import fr.ird.observe.entities.seine.TargetSample; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.binder.data.DataBinderSupport; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; @@ -34,22 +34,20 @@ import java.util.Set; public class TargetCatchServiceTopia extends ObserveServiceTopia implements TargetCatchService { @Override - public FormDto<SetSeineTargetCatchDto> loadForm(String setSeineId, boolean discarded, String tripSeineId) { + public Form<SetSeineTargetCatchDto> loadForm(String setSeineId, boolean discarded, String tripSeineId) { - SetSeine setSeine = loadEntity(SetSeineTargetCatchDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineTargetCatchDto.class, setSeineId); - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); - Ocean ocean = tripSeine.getOcean(); - - FormDto<SetSeineTargetCatchDto> form = entityToEditFormDto( + Form<SetSeineTargetCatchDto> form = dataEntityToForm( SetSeineTargetCatchDto.class, setSeine, - ObserveReferenceSetRequestDefinitions.SET_SEINE_TARGET_CATCH_FORM + ReferenceSetRequestDefinitions.SET_SEINE_TARGET_CATCH_FORM //ImmutableMap.<String, Object>of(Species.PROPERTY_OCEAN, ocean), //FIXME context ); - SetSeineTargetCatchDto setSeineTargetCatchDto = form.getForm(); + SetSeineTargetCatchDto setSeineTargetCatchDto = form.getObject(); setSeineTargetCatchDto.setDiscarded(discarded); @@ -93,9 +91,12 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ } // on conserve la liste des captures rejetées ou conservées - SetSeine setSeine = loadEntity(SetSeineTargetCatchDto.class, SetSeine.class, dto.getId()); + SetSeine entity = loadEntity(SetSeineTargetCatchDto.class, dto.getId()); + + checkLastUpdateDate(entity, dto); - SetSeineTargetCatchDto oldDto = entityToDto(SetSeineTargetCatchDto.class, SetSeine.class, setSeine); + DataBinderSupport<SetSeine, SetSeineTargetCatchDto> binder = getDataBinder(SetSeineTargetCatchDto.class); + SetSeineTargetCatchDto oldDto = binder.toData(getReferentialLocale(), entity); Collection<TargetCatchDto> allTargetCatchDtos = oldDto.getTargetCatch(); @@ -105,13 +106,13 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ dto.addAllTargetCatch(otherTargetCatchDtos); - setSeine = dtoToEntity(SetSeineTargetCatchDto.class, SetSeine.class, dto); + dataDtoToEntity(dto, entity); // on supprime les échantillons qui ne correspondent plus a des capture - TargetSample targetSample = setSeine.getTargetSample(dto.isDiscarded()); + TargetSample targetSample = entity.getTargetSample(dto.isDiscarded()); Iterable<TargetCatch> targetCatches = Iterables.filter( - setSeine.getTargetCatch(), + entity.getTargetCatch(), TargetCatchs.newDiscardedPredicate(dto.isDiscarded())); Set<Species> speciesCatchs = Sets.newHashSet(Iterables.transform( @@ -139,16 +140,16 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ } - for (TargetCatch targetCatch : setSeine.getTargetCatch()) { - targetCatch.setSetSeine(setSeine); + for (TargetCatch targetCatch : entity.getTargetCatch()) { + targetCatch.setSetSeine(entity); } - Optional<TargetCatch> targetCatchDiscardedOptional = Iterables.tryFind(setSeine.getTargetCatch(), TargetCatchs.newDiscardedPredicate(true)); - setSeine.setTargetDiscarded(targetCatchDiscardedOptional.isPresent()); + Optional<TargetCatch> targetCatchDiscardedOptional = Iterables.tryFind(entity.getTargetCatch(), TargetCatchs.newDiscardedPredicate(true)); + entity.setTargetDiscarded(targetCatchDiscardedOptional.isPresent()); - setSeine = saveEntity(SetSeine.class, setSeine); + entity = saveFollowedEntity(SetSeine.class, entity); - return SaveResultDtos.newSaveResult(setSeine.getTopiaId(), setSeine.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index 656ea17..2323636 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -29,20 +29,15 @@ import fr.ird.observe.entities.seine.TargetCatch; import fr.ird.observe.entities.seine.TargetLength; import fr.ird.observe.entities.seine.TargetSample; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; -import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.SetSeineDto; -import fr.ird.observe.services.dto.seine.TargetLengthDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import org.apache.commons.lang3.BooleanUtils; import java.util.Collection; -import java.util.LinkedHashSet; import java.util.Set; /** @@ -53,7 +48,7 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar @Override public boolean canUseTargetSample(String setSeineId, boolean discarded) { - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); return setSeine.canUseTargetSample(discarded); } @@ -73,17 +68,18 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } @Override - public FormDto<TargetSampleDto> loadForm(String setSeineId, boolean discarded) { + public Form<TargetSampleDto> loadForm(String setSeineId, boolean discarded) { - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); TargetSample targetSample = getTargetSample(setSeine, discarded); - FormDto<TargetSampleDto> form = entityToEditFormDto( + Form<TargetSampleDto> form = dataEntityToForm( TargetSampleDto.class, targetSample, - ObserveReferenceSetRequestDefinitions.TARGET_SAMPLE_FORM); + ReferenceSetRequestDefinitions.TARGET_SAMPLE_FORM); + //FIXME referentialReferenceSet (à faire côté UI) // on filtre la list des espéces cibles Set<Species> speciesSet = Sets.newLinkedHashSet(); @@ -107,40 +103,38 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } - LinkedHashSet<ReferenceDto<SpeciesDto>> speciesRefs = Sets.newLinkedHashSet(); - - for (Species species : speciesSet ) { - speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); - } - - ReferenceSetDto<SpeciesDto> speciesRreferenceSetDto = form.getReferenceSetDto(SpeciesDto.class, TargetLengthDto.PROPERTY_SPECIES); - speciesRreferenceSetDto.setReference(speciesRefs); - +// LinkedHashSet<ReferenceDto<SpeciesDto>> speciesRefs = Sets.newLinkedHashSet(); +// +// for (Species species : speciesSet ) { +// speciesRefs.add(entityToReferenceDto(SpeciesDto.class, species)); +// } return form; } @Override - public SaveResultDto save(String setSeineId, TargetSampleDto targetSampleDto) { + public SaveResultDto save(String setSeineId, TargetSampleDto dto) { - SetSeine setSeine = loadEntity(SetSeineDto.class, SetSeine.class, setSeineId); + SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); + checkLastUpdateDate(setSeine, dto); - TargetSample targetSample = dtoToEntity(TargetSampleDto.class, TargetSample.class, targetSampleDto); + TargetSample entity = loadOrCreateEntity(TargetSampleDto.class, TargetSample.class, dto); + dataDtoToEntity(dto, entity); - for (TargetLength targetLength : targetSample.getTargetLength()) { - targetLength.setTargetSample(targetSample); + for (TargetLength targetLength : entity.getTargetLength()) { + targetLength.setTargetSample(entity); } - targetSample = saveEntity(TargetSample.class, targetSample); + entity = saveEntity(TargetSample.class, entity); - if (targetSampleDto.isNotPersisted()) { + if (dto.isNotPersisted()) { - setSeine.addTargetSample(targetSample); + setSeine.addTargetSample(entity); - saveEntity(SetSeine.class, setSeine); + saveFollowedEntity(SetSeine.class, setSeine); } - return SaveResultDtos.newSaveResult(setSeine.getTopiaId(), setSeine.getLastUpdate()); + return SaveResultDtos.of(setSeine.getTopiaId(), setSeine.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java index 21429cb..da6db22 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java @@ -24,8 +24,8 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; /** @@ -34,28 +34,31 @@ import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia implements TransmittingBuoyOperationService { @Override - public FormDto<FloatingObjectTransmittingBuoyDto> loadForm(String floatingObjectId) { + public Form<FloatingObjectTransmittingBuoyDto> loadForm(String floatingObjectId) { FloatingObject floatingObject = - loadEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, floatingObjectId); + loadEntity(FloatingObjectTransmittingBuoyDto.class, floatingObjectId); - FormDto<FloatingObjectTransmittingBuoyDto> form = - entityToEditFormDto( + Form<FloatingObjectTransmittingBuoyDto> form = + dataEntityToForm( FloatingObjectTransmittingBuoyDto.class, floatingObject, - ObserveReferenceSetRequestDefinitions.FLOATING_OBJECT_TRANSMITTING_BUOY_FORM); + ReferenceSetRequestDefinitions.FLOATING_OBJECT_TRANSMITTING_BUOY_FORM); return form; + } @Override public String save(FloatingObjectTransmittingBuoyDto dto) { - FloatingObject floatingObject = - dtoToEntity(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, dto); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, dto); + + dataDtoToEntity(dto, entity); + + entity = saveFollowedEntity(FloatingObject.class, entity); - floatingObject = saveEntity(FloatingObject.class, floatingObject); + return entity.getTopiaId(); - return floatingObject.getTopiaId(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java index 63856c8..a838b11 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java @@ -25,8 +25,8 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.entities.seine.TripSeineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; @@ -37,28 +37,32 @@ import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; public class TripSeineGearUseServiceTopia extends ObserveServiceTopia implements TripSeineGearUseService { @Override - public FormDto<TripSeineGearUseDto> loadForm(String tripSeineId) { + public Form<TripSeineGearUseDto> loadForm(String tripSeineId) { - TripSeine tripSeine = loadEntity(TripSeineGearUseDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineGearUseDto.class, tripSeineId); - FormDto<TripSeineGearUseDto> form = entityToEditFormDto( + Form<TripSeineGearUseDto> form = dataEntityToForm( TripSeineGearUseDto.class, tripSeine, - ObserveReferenceSetRequestDefinitions.TRIP_SEINE_GEAR_USE_FORM); + ReferenceSetRequestDefinitions.TRIP_SEINE_GEAR_USE_FORM); return form; + } @Override public SaveResultDto save(TripSeineGearUseDto dto) { - TripSeine tripSeine = dtoToEntity(TripSeineGearUseDto.class, TripSeine.class, dto); + TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(TripSeineGearUseDto.class, TripSeine.class, dto); + + dataDtoToEntity(dto, entity); - tripSeine = saveEntity(TripSeine.class, tripSeine); + entity = saveFollowedEntity(TripSeine.class, entity); TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); - dao.updateEndDate(tripSeine); + dao.updateEndDate(entity); + + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); - return SaveResultDtos.newSaveResult(tripSeine.getTopiaId(), tripSeine.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index aed6e26..927b5a2 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -22,21 +22,18 @@ package fr.ird.observe.services.service.seine; * #L% */ -import com.google.common.collect.Sets; -import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.entities.seine.TripSeineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.TripMapDtos; import fr.ird.observe.services.dto.TripMapPointDto; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; @@ -59,49 +56,28 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe } @Override - public ReferenceSetDto<TripSeineDto> getAllTripSeine() { + public DataReferenceSet<TripSeineDto> getAllTripSeine() { List<TripSeine> tripSeines = loadEntities(TripSeine.class); - LinkedHashSet<ReferenceDto<TripSeineDto>> stubs = Sets.newLinkedHashSet(); + DataReferenceSet<TripSeineDto> dataReferenceSet = toDataReferenceSet(TripSeineDto.class, tripSeines); + return dataReferenceSet; - for (TripSeine tripSeine : tripSeines) { - - //FIXME Utiliser les définitions de références - ReferenceDto<TripSeineDto> stub = entityToReferenceDto(TripSeineDto.class, tripSeine); - - stubs.add(stub); - - } - - ReferenceSetDto<TripSeineDto> result = ReferenceSetDtos.newReferenceSetDto(TripSeineDto.class, stubs, null); - - return result; } @Override - public ReferenceSetDto<TripSeineDto> getTripSeineByProgram(String programId) { + public DataReferenceSet<TripSeineDto> getTripSeineByProgram(String programId) { - ReferenceLocale referenceLocale = getReferenceLocale(); + ReferentialLocale referenceLocale = getReferentialLocale(); // pour verifier l'existance du programme - loadEntity(ProgramDto.class, Program.class, programId); - - List<TripSeine> tripSeines = getDao().findAllStubByProgramId(programId, referenceLocale); - - LinkedHashSet<ReferenceDto<TripSeineDto>> stubs = Sets.newLinkedHashSet(); + loadEntity(ProgramDto.class, programId); - for (TripSeine tripSeine : tripSeines) { + List<TripSeine> tripSeines = getDao().findAllStubByProgramId(programId, referenceLocale.ordinal()); - //FIXME Utiliser les définitions de références - ReferenceDto<TripSeineDto> stub = entityToReferenceDto(TripSeineDto.class, tripSeine); - - stubs.add(stub); - - } + DataReferenceSet<TripSeineDto> dataReferenceSet = toDataReferenceSet(TripSeineDto.class, tripSeines); + return dataReferenceSet; - ReferenceSetDto<TripSeineDto> result = ReferenceSetDtos.newReferenceSetDto(TripSeineDto.class, stubs, null); - return result; } @Override @@ -111,15 +87,15 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe } @Override - public FormDto<TripSeineDto> loadForm(String tripSeineId) { + public Form<TripSeineDto> loadForm(String tripSeineId) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); - FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, - tripSeine, - ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM); + Form<TripSeineDto> form = dataEntityToForm(TripSeineDto.class, + tripSeine, + ReferenceSetRequestDefinitions.TRIP_SEINE_FORM); - TripSeineDto tripSeineDto = form.getForm(); + TripSeineDto tripSeineDto = form.getObject(); if (tripSeineDto.getEndDate() == null) { Date date = DateUtil.getEndOfDay(now()); @@ -132,7 +108,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe @Override public TripSeineDto loadDto(String tripSeineId) { - TripSeineDto dto = loadEntityToDto(TripSeineDto.class, tripSeineId); + TripSeineDto dto = loadEntityToDataDto(TripSeineDto.class, tripSeineId); return dto; } @@ -143,29 +119,32 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripMapDto tripMapDto = TripMapDtos.newTripMapDto(tripSeineId, points); return tripMapDto; - + } @Override - public ReferenceDto<TripSeineDto> loadReferenceToRead(String tripSeineId) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + public DataReference<TripSeineDto> loadReferenceToRead(String tripSeineId) { + + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); - ReferenceDto<TripSeineDto> referenceDto = entityToReferenceDto(TripSeineDto.class, tripSeine); + DataReference<TripSeineDto> reference = toReference(tripSeine); + return reference; - return referenceDto; } @Override public boolean exists(String tripSeineId) { + return existsEntity(TripSeine.class, tripSeineId); + } @Override - public FormDto<TripSeineDto> preCreate(String programId) { + public Form<TripSeineDto> preCreate(String programId) { TripSeine tripSeine = newEntity(TripSeine.class); - Program program = loadEntity(ProgramDto.class, Program.class, programId); + Program program = loadEntity(ProgramDto.class, programId); Date date = DateUtil.getDay(now()); @@ -175,24 +154,28 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe tripSeine.setProgram(program); - FormDto<TripSeineDto> form = entityToEditFormDto(TripSeineDto.class, - tripSeine, - ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM); + Form<TripSeineDto> form = dataEntityToForm(TripSeineDto.class, + tripSeine, + ReferenceSetRequestDefinitions.TRIP_SEINE_FORM); return form; + } @Override public SaveResultDto save(TripSeineDto dto) { - TripSeine tripSeine = dtoToEntity(TripSeineDto.class, TripSeine.class, dto); + TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(TripSeineDto.class, TripSeine.class, dto); - tripSeine = saveEntity(TripSeine.class, tripSeine); + dataDtoToEntity(dto, entity); + + saveFollowedEntity(TripSeine.class, entity); TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); - dao.updateEndDate(tripSeine); + dao.updateEndDate(entity); + + return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); - return SaveResultDtos.newSaveResult(tripSeine.getTopiaId(), tripSeine.getLastUpdate()); } @Override @@ -204,35 +187,37 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe @Override public int moveTripSeineToProgram(String tripSeineId, String programId) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); - Program program = loadEntity(ProgramDto.class, Program.class, programId); + + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); + Program program = loadEntity(ProgramDto.class, programId); tripSeine.setProgram(program); - saveEntity(TripSeine.class, tripSeine); + saveFollowedEntity(TripSeine.class, tripSeine); - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - persistenceContext.flush(); + getTopiaPersistenceContext().flush(); return getTripSeinePositionInProgram(programId, tripSeineId); + } @Override public List<Integer> moveTripSeinesToProgram(List<String> tripSeineIds, String programId) { - Program program = loadEntity(ProgramDto.class, Program.class, programId); + + Program program = loadEntity(ProgramDto.class, programId); List<Integer> result = new ArrayList<>(); - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); for (String tripSeineId : tripSeineIds) { - TripSeine tripSeine = loadEntity(TripSeineDto.class, TripSeine.class, tripSeineId); + TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); tripSeine.setProgram(program); - saveEntity(TripSeine.class, tripSeine); - persistenceContext.flush(); + saveFollowedEntity(TripSeine.class, tripSeine); + getTopiaPersistenceContext().flush(); result.add(getTripSeinePositionInProgram(programId, tripSeineId)); } return result; + } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java index 22a5b6b..56f6955 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java @@ -137,8 +137,6 @@ public class ApplicationContextResource implements TestRule { TestHelper.initTest(testClass); - ObserveServiceTopia.init(); - } protected void after(Description description) { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java index 7a4cec6..c4e7205 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java @@ -308,20 +308,21 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { if (log.isInfoEnabled()) { log.info("transform " + entity.getTopiaId() + " to " + dtoType.getName()); } - D dto = binderEngine.transformEntityToDataDto(ReferentialLocale.FR, entity); + D dto = binderEngine.transformEntityToDataDto(ReferentialLocale.FR, dtoType, entity); Assert.assertNotNull(dto); Assert.assertEquals(entity.getTopiaId(), dto.getId()); // Assert.assertEquals(entity.getTopiaCreateDate(), dto.getCreateDate()); // Assert.assertEquals(entity.getTopiaVersion(), dto.getVersion()); - E entity2 = binderEngine.transformDataDtoToEntity(ReferentialLocale.FR, dto); + E entity2 = dao.forTopiaIdEquals(entity.getTopiaId()).findUnique(); + binderEngine.copyDataDtoToEntity(ReferentialLocale.FR, dto, entity2); Assert.assertNotNull(entity2); Assert.assertEquals(entity.getTopiaId(), entity.getTopiaId()); // Assert.assertEquals(entity.getTopiaCreateDate(), entity.getTopiaCreateDate()); // Assert.assertEquals(entity.getTopiaVersion(), entity.getTopiaVersion()); - + } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/builder/DtoToEntityBuilderTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/builder/DtoToEntityBuilderTest.java deleted file mode 100644 index 8ab44b0..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/builder/DtoToEntityBuilderTest.java +++ /dev/null @@ -1,214 +0,0 @@ -package fr.ird.observe.services.builder; - -/* - * #%L - * ObServe :: Services ToPIA Implementation - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; -import fr.ird.observe.ObserveEntityEnum; -import fr.ird.observe.entities.referentiel.Organism; -import fr.ird.observe.entities.referentiel.Program; -import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; -import fr.ird.observe.entities.seine.GearUseFeaturesSeine; -import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.constants.GearType; -import fr.ird.observe.services.dto.constants.ReferenceStatus; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.I18nReferentialDto; -import fr.ird.observe.services.dto.referential.OrganismDto; -import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDtos; -import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; -import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.DateUtil; - -/** - * Created on 19/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class DtoToEntityBuilderTest { - - @BeforeClass - public static void setUp() throws Exception { - ObserveServiceTopia.init(); - } - - @Test - public void testCopy() { - - ObserveServiceTopia service = new ObserveServiceTopiaMock(); - - ProgramDto programDto = new ProgramDto(); - programDto.setCode("code"); - programDto.setNeedComment(true); - programDto.setStatus(ReferenceStatus.enabled); - programDto.setLabel1("label1"); - programDto.setLabel2("label2"); - programDto.setLabel3("label3"); - programDto.setLabel4("label4"); - programDto.setLabel5("label5"); - programDto.setLabel6("label6"); - programDto.setLabel7("label7"); - programDto.setLabel8("label8"); - programDto.setId("Program1"); - programDto.setStartDate(DateUtil.createDate(1, 1, 1)); - programDto.setEndDate(DateUtil.createDate(1, 1, 2)); - programDto.setGearType(GearType.seine); - programDto.setTargetDiscardsObservation(1); - - ReferentialReferenceDto organismDto = ReferentialReferenceDtos.newReferentialReferenceDto(OrganismDto.class, ReferentialLocale.FR, - ImmutableSet.of( - I18nReferentialDto.PROPERTY_LABEL2, - I18nReferentialDto.PROPERTY_CODE - )); - organismDto.setId("Organism1"); - organismDto.setPropertyValue(ReferentialLocale.FR, I18nReferentialDto.PROPERTY_LABEL2, "organism2"); - organismDto.setPropertyValue(I18nReferentialDto.PROPERTY_CODE, "organismCode"); - programDto.setOrganism(organismDto); - - DtoToEntityBuilder<ProgramDto, Program> builder = DtoToEntityBuilder.create(ProgramDto.class, Program.class, service); - - Program program = service.newEntity(Program.class); - builder.build(programDto, program); - - // On vérife que le program a bien été copié - Assert.assertEquals(programDto.getCode(), program.getCode()); - Assert.assertEquals(programDto.isNeedComment(), program.isNeedComment()); - Assert.assertNotNull(program.getStatus()); - Assert.assertEquals(programDto.getStatus().name(), program.getStatus().name()); - - Assert.assertEquals(programDto.getLabel1(), program.getLabel1()); - Assert.assertEquals(programDto.getLabel2(), program.getLabel2()); - Assert.assertEquals(programDto.getLabel3(), program.getLabel3()); - Assert.assertEquals(programDto.getLabel4(), program.getLabel4()); - Assert.assertEquals(programDto.getLabel5(), program.getLabel5()); - Assert.assertEquals(programDto.getLabel6(), program.getLabel6()); - Assert.assertEquals(programDto.getLabel7(), program.getLabel7()); - Assert.assertEquals(programDto.getLabel8(), program.getLabel8()); - Assert.assertEquals(programDto.getId(), program.getTopiaId()); - Assert.assertNotNull(program.getGearType()); - Assert.assertEquals(programDto.getGearType().name(), program.getGearType().name()); - Assert.assertEquals(programDto.getTargetDiscardsObservation(), program.getTargetDiscardsObservation()); - - // On vérife que la référence sur l'organisme a bien été trouvée - Organism organism = program.getOrganism(); - Assert.assertNotNull(organism); - Assert.assertEquals(organismDto.getId(), organism.getTopiaId()); - - } - - @Test - public void testCopyWithSubDto() { - - ObserveServiceTopia service = new ObserveServiceTopiaMock(); - - ReferentialReferenceDto<GearCaracteristicDto> gearCaracteristicDto = - ReferentialReferenceDtos.newReferentialReferenceDto( - GearCaracteristicDto.class, - ReferentialLocale.FR, - ImmutableSet.of( - I18nReferentialDto.PROPERTY_LABEL2, - I18nReferentialDto.PROPERTY_CODE - ) - ); - - gearCaracteristicDto.setId("gearCaracteristicId"); - gearCaracteristicDto.setPropertyValue(ReferentialLocale.FR, I18nReferentialDto.PROPERTY_LABEL2, "gearCaracteristicLabel2"); - gearCaracteristicDto.setPropertyValue(I18nReferentialDto.PROPERTY_CODE, "gearCaracteristicCode"); - - ReferentialReferenceDto<GearDto> gearDto = - ReferentialReferenceDtos.newReferentialReferenceDto( - GearDto.class, - ReferentialLocale.FR, - ImmutableSet.of( - I18nReferentialDto.PROPERTY_LABEL2, - I18nReferentialDto.PROPERTY_CODE - ) - ); - - gearDto.setId("gearId"); - gearDto.setPropertyValue(ReferentialLocale.FR, I18nReferentialDto.PROPERTY_LABEL2, "gearLabel2"); - gearDto.setPropertyValue(I18nReferentialDto.PROPERTY_CODE, "gearCode"); - - GearUseFeaturesMeasurementSeineDto measurementDto = new GearUseFeaturesMeasurementSeineDto(); - measurementDto.setId("gearUseFeaturesMeasurementSeineId"); - measurementDto.setGearCaracteristic(gearCaracteristicDto); - measurementDto.setMeasurementValue("15.2"); - - GearUseFeaturesSeineDto featuresDto = new GearUseFeaturesSeineDto(); - featuresDto.setId("gearUseFeatureSeineId"); - featuresDto.setNumber(28); - featuresDto.setUsedInTrip(true); - featuresDto.setGear(gearDto); - featuresDto.addGearUseFeaturesMeasurement(measurementDto); - - // transformation du DTO en entités - DtoToEntityBuilder<GearUseFeaturesSeineDto, GearUseFeaturesSeine> builder = DtoToEntityBuilder.create(GearUseFeaturesSeineDto.class, GearUseFeaturesSeine.class, service); - - GearUseFeaturesSeine features = service.newEntity(GearUseFeaturesSeine.class); - builder.build(featuresDto, features); - - // On vérife que l'entité a bien été copié - Assert.assertEquals(featuresDto.getId(), features.getTopiaId()); - Assert.assertEquals(featuresDto.getNumber(), features.getNumber()); - Assert.assertEquals(featuresDto.getUsedInTrip(), features.getUsedInTrip()); - - Assert.assertEquals(featuresDto.sizeGearUseFeaturesMeasurement(), features.sizeGearUseFeaturesMeasurement()); - GearUseFeaturesMeasurementSeine measurement = Iterables.get(features.getGearUseFeaturesMeasurement(), 0); - Assert.assertEquals(measurementDto.getId(), measurement.getTopiaId()); - Assert.assertEquals(measurementDto.getMeasurementValue(), measurement.getMeasurementValue()); - Assert.assertNotNull(measurement.getGearCaracteristic()); - Assert.assertEquals(measurementDto.getGearCaracteristic().getId(), measurement.getGearCaracteristic().getTopiaId()); - - } - - class ObserveServiceTopiaMock extends ObserveServiceTopia { - - @Override - public <D extends IdDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, Class<E> entityType, String id) { - E e = newEntity(entityType); - e.setTopiaId(id); - return e; - } - - @Override - public <E extends TopiaEntity> E newEntity(Class<E> entityType) { - - try { - return (E) ObserveEntityEnum.valueOf(entityType).getImplementation().newInstance(); - } catch (InstantiationException | IllegalAccessException e) { - throw new IllegalStateException("could not create instance of " + entityType.getName()); - } - } - }; - - -} \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToDtoBuilderTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToDtoBuilderTest.java deleted file mode 100644 index 16805b2..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToDtoBuilderTest.java +++ /dev/null @@ -1,250 +0,0 @@ -package fr.ird.observe.services.builder; - -/* - * #%L - * ObServe :: Services ToPIA Implementation - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import com.google.common.base.Function; -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Iterables; -import fr.ird.observe.entities.constants.GearType; -import fr.ird.observe.entities.constants.ReferenceStatus; -import fr.ird.observe.entities.referentiel.Gear; -import fr.ird.observe.entities.referentiel.GearCaracteristic; -import fr.ird.observe.entities.referentiel.GearCaracteristicImpl; -import fr.ird.observe.entities.referentiel.GearImpl; -import fr.ird.observe.entities.referentiel.Organism; -import fr.ird.observe.entities.referentiel.OrganismImpl; -import fr.ird.observe.entities.referentiel.Program; -import fr.ird.observe.entities.referentiel.ProgramImpl; -import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; -import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeineImpl; -import fr.ird.observe.entities.seine.GearUseFeaturesSeine; -import fr.ird.observe.entities.seine.GearUseFeaturesSeineImpl; -import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceTypeName; -import fr.ird.observe.services.dto.ReferenceValueNotFoundException; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.I18nReferentialDto; -import fr.ird.observe.services.dto.referential.OrganismDto; -import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; -import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.nuiton.util.DateUtil; - -/** - * Created on 17/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class EntityToDtoBuilderTest { - - @BeforeClass - public static void setUp() throws Exception { - ObserveServiceTopia.init(); - } - - @Test - public void testCopy() { - - Program program = new ProgramImpl(); - program.setCode("code"); - program.setNeedComment(true); - program.setStatus(ReferenceStatus.enabled); - program.setLabel1("label1"); - program.setLabel2("label2"); - program.setLabel3("label3"); - program.setLabel4("label4"); - program.setLabel5("label5"); - program.setLabel6("label6"); - program.setLabel7("label7"); - program.setLabel8("label8"); - program.setTopiaId("Program1"); - program.setStartDate(DateUtil.createDate(1, 1, 1)); - program.setEndDate(DateUtil.createDate(1, 1, 2)); - program.setGearType(GearType.seine); - program.setTargetDiscardsObservation(1); - Organism organism = new OrganismImpl(); - organism.setTopiaId("Organism1"); - organism.setLabel1("organism1"); - organism.setLabel2("organism2"); - organism.setLabel3("organism3"); - organism.setLabel4("organism4"); - organism.setLabel5("organism5"); - organism.setLabel6("organism6"); - organism.setLabel7("organism7"); - organism.setLabel8("organism8"); - organism.setCode("organismCode"); - program.setOrganism(organism); - - EntityToDtoBuilder<Program, ProgramDto> builder = EntityToDtoBuilder.create(Program.class, ProgramDto.class); - ProgramDto programDto = builder.build(ReferentialLocale.FR, program); - - ImmutableSet<ReferenceTypeName> referentialDtoTypes = builder.getReferenceTypesNames(); - - // On verifie les types de listes de labels détectées - Assert.assertNotNull(referentialDtoTypes); - Assert.assertEquals(1, referentialDtoTypes.size()); - - Assert.assertEquals(OrganismDto.class, Iterables.get(referentialDtoTypes, 0).getType()); - - // On vérife que le program a bien été copié - Assert.assertEquals(program.getCode(), programDto.getCode()); - Assert.assertEquals(program.isNeedComment(), programDto.isNeedComment()); - Assert.assertNotNull(programDto.getStatus()); - Assert.assertEquals(program.getStatus().name(), programDto.getStatus().name()); - - Assert.assertEquals(program.getLabel1(), programDto.getLabel1()); - Assert.assertEquals(program.getLabel2(), programDto.getLabel2()); - Assert.assertEquals(program.getLabel3(), programDto.getLabel3()); - Assert.assertEquals(program.getLabel4(), programDto.getLabel4()); - Assert.assertEquals(program.getLabel5(), programDto.getLabel5()); - Assert.assertEquals(program.getLabel6(), programDto.getLabel6()); - Assert.assertEquals(program.getLabel7(), programDto.getLabel7()); - Assert.assertEquals(program.getLabel8(), programDto.getLabel8()); - Assert.assertEquals(program.getTopiaId(), programDto.getId()); - Assert.assertNotNull(programDto.getGearType()); - Assert.assertEquals(program.getGearType().name(), programDto.getGearType().name()); - Assert.assertEquals(program.getTargetDiscardsObservation(), programDto.getTargetDiscardsObservation()); - - // On vérife que la référence sur l'organisme a bien été copiée - ReferenceDto organismDto = programDto.getOrganism(); - Assert.assertNotNull(organismDto); - Assert.assertEquals(organism.getTopiaId(), organismDto.getId()); - Assert.assertEquals(organism.getCode(), organismDto.getPropertyValue(ReferentialDto.PROPERTY_CODE)); - Assert.assertEquals(organism.getLabel2(), organismDto.getPropertyValue(ReferentialReferenceDto.PROPERTY_LABEL)); - - assertPropertyNameDoesNotFound(organismDto, I18nReferentialDto.PROPERTY_LABEL1); - assertPropertyNameDoesNotFound(organismDto, I18nReferentialDto.PROPERTY_LABEL2); - assertPropertyNameDoesNotFound(organismDto, I18nReferentialDto.PROPERTY_LABEL3); - assertPropertyNameDoesNotFound(organismDto, I18nReferentialDto.PROPERTY_LABEL4); - assertPropertyNameDoesNotFound(organismDto, I18nReferentialDto.PROPERTY_LABEL5); - assertPropertyNameDoesNotFound(organismDto, I18nReferentialDto.PROPERTY_LABEL6); - assertPropertyNameDoesNotFound(organismDto, I18nReferentialDto.PROPERTY_LABEL7); - assertPropertyNameDoesNotFound(organismDto, I18nReferentialDto.PROPERTY_LABEL8); - - } - - protected void assertPropertyNameDoesNotFound(ReferenceDto dto, String propertyName) { - - try { - dto.getPropertyValue(propertyName); - Assert.fail(); - } catch (ReferenceValueNotFoundException e) { - Assert.assertTrue(true); - } - - } - - @Test - public void testCopyWithSubDto() { - // creation des entitées - - GearCaracteristic gearCaracteristic = new GearCaracteristicImpl(); - gearCaracteristic.setTopiaId("gearCaracteristicId"); - gearCaracteristic.setCode("gearCaracteristicCode"); - gearCaracteristic.setLabel1("gearCaracteristicLabel1"); - gearCaracteristic.setLabel2("gearCaracteristicLabel2"); - gearCaracteristic.setLabel3("gearCaracteristicLabel3"); - gearCaracteristic.setLabel4("gearCaracteristicLabel4"); - gearCaracteristic.setLabel5("gearCaracteristicLabel5"); - gearCaracteristic.setLabel6("gearCaracteristicLabel6"); - gearCaracteristic.setLabel7("gearCaracteristicLabel7"); - gearCaracteristic.setLabel8("gearCaracteristicLabel8"); - gearCaracteristic.setNeedComment(true); - gearCaracteristic.setUri("gearCaracteristicUrl"); - gearCaracteristic.setUnit("m"); - gearCaracteristic.setStatus(ReferenceStatus.enabled); - - Gear gear = new GearImpl(); - gear.setTopiaId("gearId"); - gear.setCode("gearCode"); - gear.setLabel1("gearLabel1"); - gear.setLabel2("gearLabel2"); - gear.setLabel3("gearLabel3"); - gear.setLabel4("gearLabel4"); - gear.setLabel5("gearLabel5"); - gear.setLabel6("gearLabel6"); - gear.setLabel7("gearLabel7"); - gear.setLabel8("gearLabel8"); - gear.setNeedComment(true); - gear.setUri("gearUrl"); - gear.setStatus(ReferenceStatus.enabled); - gear.addGearCaracteristic(gearCaracteristic); - - GearUseFeaturesMeasurementSeine measurement = new GearUseFeaturesMeasurementSeineImpl(); - measurement.setTopiaId("gearUseFeaturesMeasurementSeineId"); - measurement.setGearCaracteristic(gearCaracteristic); - measurement.setMeasurementValue("15.2"); - - GearUseFeaturesSeine features = new GearUseFeaturesSeineImpl(); - features.setTopiaId("gearUseFeatureSeineId"); - features.setNumber(28); - features.setUsedInTrip(true); - features.setGear(gear); - features.addGearUseFeaturesMeasurement(measurement); - - - // transfomation en DTO - EntityToDtoBuilder<GearUseFeaturesSeine, GearUseFeaturesSeineDto> builder = EntityToDtoBuilder.create(GearUseFeaturesSeine.class, GearUseFeaturesSeineDto.class); - GearUseFeaturesSeineDto featuresDto = builder.build(ReferentialLocale.FR, features); - - ImmutableSet<ReferenceTypeName> referentialDtoTypes = builder.getReferenceTypesNames(); - - - // On verifie les types de listes de labels détectées - Assert.assertNotNull(referentialDtoTypes); - Assert.assertEquals(2, referentialDtoTypes.size()); - - Iterable<Class<? extends IdDto>> types = Iterables.transform(referentialDtoTypes, new Function<ReferenceTypeName, Class<? extends IdDto>>() { - @Override - public Class<? extends IdDto> apply(ReferenceTypeName referenceTypeName) { - return referenceTypeName.getType(); - } - }); - Assert.assertTrue(Iterables.contains(types, GearDto.class)); - Assert.assertTrue(Iterables.contains(types, GearCaracteristicDto.class)); - - // On vérife que l'entité a bien été copié - Assert.assertEquals(features.getTopiaId(), featuresDto.getId()); - Assert.assertEquals(features.getNumber(), featuresDto.getNumber()); - Assert.assertEquals(features.getUsedInTrip(), featuresDto.getUsedInTrip()); - - Assert.assertEquals(features.sizeGearUseFeaturesMeasurement(), featuresDto.sizeGearUseFeaturesMeasurement()); - GearUseFeaturesMeasurementSeineDto measurementDto = Iterables.get(featuresDto.getGearUseFeaturesMeasurement(), 0); - Assert.assertEquals(measurement.getTopiaId(), measurementDto.getId()); - Assert.assertEquals(measurement.getMeasurementValue(), measurementDto.getMeasurementValue()); - Assert.assertNotNull(measurementDto.getGearCaracteristic()); - Assert.assertEquals(measurement.getGearCaracteristic().getTopiaId(), measurementDto.getGearCaracteristic().getId()); - - } - - -} \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilderTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilderTest.java deleted file mode 100644 index 2f01251..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/builder/EntityToReferentialReferenceDtoBuilderTest.java +++ /dev/null @@ -1,90 +0,0 @@ -package fr.ird.observe.services.builder; - -import fr.ird.observe.entities.constants.GearType; -import fr.ird.observe.entities.constants.ReferenceStatus; -import fr.ird.observe.entities.referentiel.Program; -import fr.ird.observe.entities.referentiel.ProgramImpl; -import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; -import org.nuiton.util.DateUtil; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public class EntityToReferentialReferenceDtoBuilderTest { - - @BeforeClass - public static void setUp() throws Exception { - ObserveServiceTopia.init(); - } - - @Test - public void testCopy() { - - Program program = new ProgramImpl(); - program.setCode("code"); - program.setNeedComment(true); - program.setStatus(ReferenceStatus.enabled); - program.setLabel1("label1"); - program.setLabel2("label2"); - program.setLabel3("label3"); - program.setLabel4("label4"); - program.setLabel5("label5"); - program.setLabel6("label6"); - program.setLabel7("label7"); - program.setLabel8("label8"); - program.setTopiaId("Program1"); - program.setStartDate(DateUtil.createDate(1, 1, 1)); - program.setEndDate(DateUtil.createDate(1, 1, 2)); - program.setGearType(GearType.seine); - program.setTargetDiscardsObservation(1); - - ReferentialReferenceDto<ProgramDto> referenceProgramDto = EntityToReferentialReferenceDtoBuilder.build(ProgramDto.class, ReferentialLocale.FR, program); - - // On vérife que le program a bien été copié - Assert.assertEquals(program.getTopiaId(), referenceProgramDto.getId()); - Assert.assertEquals(program.getCode(), referenceProgramDto.getPropertyValue(ProgramDto.PROPERTY_CODE)); - Assert.assertEquals(program.getLabel2(), referenceProgramDto.getPropertyValue("label")); - Assert.assertEquals(fr.ird.observe.services.dto.constants.GearType.seine, referenceProgramDto.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE)); - - } - - @Test - public void testCopyWithNullProperty() { - - Program program = new ProgramImpl(); - program.setCode("code"); - program.setNeedComment(true); - program.setStatus(ReferenceStatus.enabled); - program.setLabel1("label1"); - program.setLabel2("label2"); - program.setLabel3("label3"); - program.setLabel4("label4"); - program.setLabel5("label5"); - program.setLabel6("label6"); - program.setLabel7("label7"); - program.setLabel8("label8"); - program.setTopiaId("Program1"); - program.setStartDate(DateUtil.createDate(1, 1, 1)); - program.setEndDate(DateUtil.createDate(1, 1, 2)); - program.setGearType(null); - program.setTargetDiscardsObservation(1); - - ReferentialReferenceDto<ProgramDto> referenceProgramDto = EntityToReferentialReferenceDtoBuilder.build(ProgramDto.class, ReferentialLocale.FR, program); - - // On vérife que le program a bien été copié et que la propriété a null est toujour presente - - Assert.assertEquals(program.getTopiaId(), referenceProgramDto.getId()); - Assert.assertEquals(program.getCode(), referenceProgramDto.getPropertyValue(ProgramDto.PROPERTY_CODE)); - Assert.assertEquals(program.getLabel2(), referenceProgramDto.getPropertyValue("label")); - Assert.assertNull(referenceProgramDto.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE)); - - - } - -} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java index a7b6ecf..68753aa 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java @@ -32,10 +32,10 @@ import fr.ird.observe.services.ObserveDataSourceConnectionTopiaTaiste; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -55,10 +55,10 @@ import java.util.Set; */ public abstract class AbstractServiceTopiaTest { - private static final Log log = LogFactory.getLog(AbstractServiceTopiaTest.class); - public static final String TRIP_SEINE_ID_1 = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; + public static final String TRIP_SEINE_ID_2 = "fr.ird.observe.entities.seine.TripSeine#1359280279156#0.41771067982188215"; + public static final String TRIP_SEINE_ID_3 = "fr.ird.observe.entities.seine.TripSeine#1360156698296#0.6097793743126777"; public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; @@ -66,18 +66,21 @@ public abstract class AbstractServiceTopiaTest { @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); - public abstract Set<String> getTestNamesChangeDataBase(); - public abstract String getScriptName(); + private static final Log log = LogFactory.getLog(AbstractServiceTopiaTest.class); @Rule public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, getTestNamesChangeDataBase(), getScriptName()); + public abstract Set<String> getTestNamesChangeDataBase(); + + public abstract String getScriptName(); + @Before public void setUp() throws Exception { File dataBaseDirectory = applicationContextResource.getDataBaseDirectory(); - if (! dataBaseDirectory.isDirectory()) { + if (!dataBaseDirectory.isDirectory()) { File dataBaseCommonRefDirectory = applicationContextResource.getDataBaseCommonRefDirectory(); @@ -95,7 +98,7 @@ public abstract class AbstractServiceTopiaTest { dataSourceResource.createCommonsDataSourceFromScript(scriptPath); } - if (! dataBaseCommonRefDirectory.equals(dataBaseDirectory)) { + if (!dataBaseCommonRefDirectory.equals(dataBaseDirectory)) { FileUtil.copyAndRenameRecursively(dataBaseCommonRefDirectory, dataBaseDirectory, false, (String) null, (String) null, false); @@ -128,7 +131,7 @@ public abstract class AbstractServiceTopiaTest { } - protected void assertEntityEqualsReferenceDto(TopiaEntity entity, ReferenceDto referenceDto) { + protected void assertEntityEqualsReferenceDto(TopiaEntity entity, ReferentialReference referenceDto) { if (entity == null) { Assert.assertNull(referenceDto); } else { @@ -137,7 +140,7 @@ public abstract class AbstractServiceTopiaTest { } - protected void assertReferenceDtoEqualsEntity(ReferenceDto referenceDto, TopiaEntity entity) { + protected void assertReferenceDtoEqualsEntity(ReferentialReference referenceDto, TopiaEntity entity) { if (referenceDto == null) { Assert.assertNull(entity); } else { @@ -157,12 +160,17 @@ public abstract class AbstractServiceTopiaTest { } - protected void loadReferenceSets(ReferenceSetService referenceSetService, FormDto<?> formDto) { - dataSourceResource.getReferentialCache().loadReferenceSets(referenceSetService, formDto); + protected void loadReferenceSets(ReferentialService referentialService, Form<?> form) { + dataSourceResource.getReferentialCache().loadReferenceSets(referentialService, form.getReferentialReferenceSetsRequestName()); } - protected <R extends ReferentialDto> ReferentialReferenceDto<R> getReference(FormDto<?> formDto, Class<R> type, String propertyName, int index) { - return (ReferentialReferenceDto<R>) formDto.getReferenceSetDto(type, propertyName).getReference(index); + protected <R extends ReferentialDto> ReferentialReference<R> getReference(Class<R> type, int index) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { + + ReferentialService referentialService = newService(ReferentialService.class); + ReferentialReferenceSet<R> referentialReferenceSet = dataSourceResource.getReferentialCache().getReferentialReferenceSet(referentialService, type); + ReferentialReference<R> reference = referentialReferenceSet.getReferenceByPosition(index); + return reference; + } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java index 1b733ff..1286cf0 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java @@ -25,6 +25,7 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; import org.junit.Assert; import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import java.util.Set; @@ -33,7 +34,9 @@ import java.util.Set; * Created on 26/08/15. * * @author Tony Chemit - chemit@codelutin.com + * FIXME IT tests */ +@Ignore public class DataSourceDumpProducerServiceTopiaTest extends AbstractServiceTopiaTest { protected DataSourceDumpProducerService service; diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java index 72a69fa..8ba9cee 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java @@ -39,22 +39,23 @@ import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Before; import org.junit.ClassRule; +import org.junit.Ignore; import org.junit.Rule; import org.junit.Test; import java.io.File; import java.io.IOException; +import java.util.Date; /** * Created on 23/08/15. * * @author Tony Chemit - chemit@codelutin.com + * FIXME IT tests */ +@Ignore public class DataSourceServiceTopiaTest { - /** Logger. */ - private static final Log log = LogFactory.getLog(DataSourceServiceTopiaTest.class); - @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); @@ -66,6 +67,9 @@ public class DataSourceServiceTopiaTest { "testCreateDataSourceFromImportReferential", "testCreateDataSourceFromImportReferentialAndData"); + /** Logger. */ + private static final Log log = LogFactory.getLog(DataSourceServiceTopiaTest.class); + @Rule public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, TEST_NAMES_CHANGE_DATA_BASE, "dataSourceTest"); @@ -131,7 +135,7 @@ public class DataSourceServiceTopiaTest { // La base n'est pas encore lockée ReferentialService referentialService = applicationContextResource.newService(dataSourceConnection, ReferentialService.class); - referentialService.getReferentialReferenceSet(GearDto.class); + referentialService.getReferenceSet(GearDto.class, new Date()); // Base déjà en cours d'utilisation try { @@ -165,19 +169,6 @@ public class DataSourceServiceTopiaTest { } - protected void closeDatabase(ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration) throws InterruptedException { - - service.close(); - - File lockFile = dataSourceConfiguration.getLockFile(); - while (lockFile.exists()) { - if (log.isInfoEnabled()) { - log.info("Database lock " + lockFile + " still exist... Wait "); - } - Thread.sleep(100); - } - } - @Test public void testCreateEmptyDataSource() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -254,4 +245,17 @@ public class DataSourceServiceTopiaTest { applicationContextResource.assertEntitiesExist(createdDatabaseTopiaApplicationContext, AbstractServiceTopiaTest.TRIP_SEINE_ID_1); } + protected void closeDatabase(ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration) throws InterruptedException { + + service.close(); + + File lockFile = dataSourceConfiguration.getLockFile(); + while (lockFile.exists()) { + if (log.isInfoEnabled()) { + log.info("Database lock " + lockFile + " still exist... Wait "); + } + Thread.sleep(100); + } + } + } \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java deleted file mode 100644 index 58b1820..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceTopiaTest.java +++ /dev/null @@ -1,57 +0,0 @@ -package fr.ird.observe.services.service; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; -import fr.ird.observe.services.dto.reference.ObserveReferentialReference; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; -import org.junit.Assert; -import org.junit.Test; - -import java.util.Date; -import java.util.Set; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferenceSetServiceTopiaTest extends AbstractServiceTopiaTest { - - protected ReferenceSetService service; - - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of(); - } - - @Override - public String getScriptName() { - return "referentiel"; - } - - @Override - public void setUp() throws Exception { - super.setUp(); - - service = newService(ReferenceSetService.class); - - } - - @Test - public void testGetTripSeineRequest() throws Exception { - - String requestName = ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name(); - ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); - request.setRequestName(requestName); - request.setLastUpdateDates(ImmutableMap.<String, Date>of()); - - ObserveReferenceSetResult<ObserveReferentialReference> referentialLabelSet = service.loadReferentialReferenceSets(request); - Assert.assertNotNull(referentialLabelSet); - Assert.assertEquals(requestName, referentialLabelSet.getRequestName()); - Assert.assertNotNull(referentialLabelSet.getReferenceSets()); - - } - -} \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java index 1c64cd4..f75da3c 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java @@ -26,24 +26,21 @@ import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.LengthWeightParameter; import fr.ird.observe.entities.referentiel.Program; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.services.binder.BinderEngine; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.VesselDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Test; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.util.DateUtil; -import java.util.Calendar; import java.util.Date; -import java.util.Map; import java.util.Set; /** @@ -77,90 +74,13 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - public void testGetReferentialLabelSet() throws Exception { + public void testLoadForm() throws Exception { ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); - for (Map.Entry<Class<?>, Class<?>> entry : ReferentialServiceTopia.getDtoTypes()) { - Class dtoType = entry.getKey(); - if (!ReferentialDto.class.isAssignableFrom(dtoType)) { - continue; - } - Class entityType = entry.getValue(); - - TopiaDao dao = persistenceContext.getDao(entityType); - long expectedCount = dao.count(); - - if (log.isInfoEnabled()) { - log.info("Test referential of type: " + dtoType.getSimpleName() + " expected count: " + expectedCount); - } - - ReferenceSetDto referentialLabelSet = service.getReferentialReferenceSet(dtoType); - Assert.assertNotNull(referentialLabelSet); - Assert.assertEquals(expectedCount, referentialLabelSet.sizeReference()); - Assert.assertNotNull(referentialLabelSet.getLastUpdate()); - - } - - } - - @Test - public void testgetReferentialReferenceSetIfModify() { - - Date updateAfter = DateUtil.createDate(1,1, 2015); - - ReferenceSetDto<VesselDto> vesselReferenceSet = service.getReferentialReferenceSetIfModify(VesselDto.class, updateAfter); - - Assert.assertNotNull(vesselReferenceSet); - Assert.assertNotNull(vesselReferenceSet.getLastUpdate()); - Assert.assertTrue(vesselReferenceSet.sizeReference() > 0); - - updateAfter = vesselReferenceSet.getLastUpdate(); - - vesselReferenceSet = service.getReferentialReferenceSetIfModify(VesselDto.class, updateAfter); - Assert.assertNull(vesselReferenceSet); - - Calendar calendar = Calendar.getInstance(); - calendar.setTime(updateAfter); - calendar.add(Calendar.DATE, 1); - updateAfter = calendar.getTime(); - - vesselReferenceSet = service.getReferentialReferenceSetIfModify(VesselDto.class, updateAfter); - Assert.assertNull(vesselReferenceSet); - - } - - @Test - public void testLoadToRead() throws Exception { - - ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); - - for (Map.Entry<Class<?>, Class<?>> entry : ReferentialServiceTopia.getDtoTypes()) { - - Class dtoType = entry.getKey(); - if (!ReferentialDto.class.isAssignableFrom(dtoType)) { - continue; - } - Class entityType = entry.getValue(); - loadToRead(persistenceContext, dtoType, entityType); - - } - - } + for (Class<? extends ReferentialDto> dtoType : ReferentialServiceTopia.getReferentialDtoTypes()) { - @Test - public void testLoadToEdit() throws Exception { - - ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); - - for (Map.Entry<Class<?>, Class<?>> entry : ReferentialServiceTopia.getDtoTypes()) { - - Class dtoType = entry.getKey(); - Class entityType = entry.getValue(); - if (!ReferentialDto.class.isAssignableFrom(dtoType)) { - continue; - } - loadToEdit(persistenceContext, dtoType, entityType); + loadToEdit(persistenceContext, dtoType); } @@ -176,65 +96,31 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } - protected void loadToRead(ObserveTopiaPersistenceContext persistenceContext, Class dtoType, Class entityType) { - TopiaDao<?> dao = persistenceContext.getDao(entityType); - long expectedCount = dao.count(); - - if (log.isInfoEnabled()) { - log.info("Test referential of type: " + dtoType.getSimpleName() + " expected count: " + expectedCount); - } - - for (TopiaEntity o : dao) { + protected <D extends ReferentialDto, E extends ReferenceEntity> void loadToEdit(ObserveTopiaPersistenceContext persistenceContext, Class<D> dtoType) { - if (log.isDebugEnabled()) { - log.debug("Load to read entity: " + o.getTopiaId()); - } + Class<E> entityType = BinderEngine.get().getReferentialEntityType(dtoType); - FormDto formDto = service.loadToRead(dtoType, o.getTopiaId()); - Assert.assertNotNull(formDto); - Assert.assertEquals(dtoType, formDto.getType()); - - IdDto form = formDto.getForm(); - Assert.assertNotNull(form); - Assert.assertEquals(o.getTopiaId(), form.getId()); - - for (ReferenceSetDto labelSetDto : formDto.getLabels()) { - Assert.assertTrue(labelSetDto.isReferenceEmpty()); - } - - } - } - - protected void loadToEdit(ObserveTopiaPersistenceContext persistenceContext, Class dtoType, Class entityType) { - TopiaDao<?> dao = persistenceContext.getDao(entityType); + TopiaDao<E> dao = persistenceContext.getDao(entityType); long expectedCount = dao.count(); if (log.isInfoEnabled()) { log.info("Test referential of type: " + dtoType.getSimpleName() + " expected count: " + expectedCount); } - for (TopiaEntity o : dao) { + for (E o : dao) { if (log.isDebugEnabled()) { log.debug("Load to edit entity: " + o.getTopiaId()); } - FormDto formDto = service.loadToEdit(dtoType, o.getTopiaId()); + Form formDto = service.loadForm(dtoType, o.getTopiaId()); Assert.assertNotNull(formDto); Assert.assertEquals(dtoType, formDto.getType()); - IdDto form = formDto.getForm(); + IdDto form = formDto.getObject(); Assert.assertNotNull(form); Assert.assertEquals(o.getTopiaId(), form.getId()); - for (ReferenceSetDto labelSetDto : formDto.getLabels()) { - - Class refEntityType = ReferentialServiceTopia.getEntityType(labelSetDto.getType()); - long refExpected = persistenceContext.getDao(refEntityType).count(); - Assert.assertEquals(refExpected, labelSetDto.sizeReference()); - - } - } } @@ -248,10 +134,10 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { log.info("Test delete: " + entity.getTopiaId()); } - FormDto formDto = service.loadToRead(dtoType, entity.getTopiaId()); - Assert.assertNotNull(formDto); - Assert.assertNotNull(formDto.getForm()); - Assert.assertNotNull(formDto.getForm().getId()); + Form form = service.loadForm(dtoType, entity.getTopiaId()); + Assert.assertNotNull(form); + Assert.assertNotNull(form.getObject()); + Assert.assertNotNull(form.getObject().getId()); Date lastUpdateBefore = getLastUpdate(entityType); @@ -263,7 +149,7 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); try { - service.loadToRead(dtoType, entity.getTopiaId()); + service.loadForm(dtoType, entity.getTopiaId()); Assert.fail(); } catch (DataNotFoundException e) { Assert.assertTrue(true); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java index cb707bc..13603bc 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/RigthTest.java @@ -10,7 +10,7 @@ import fr.ird.observe.services.ObserveSpeciesListConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaPG; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.UnauthorizedException; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.ProgramDto; @@ -29,6 +29,7 @@ import java.util.Locale; * FIXME Ca sert à quoi ? et je comprends pas le mot rigth ? * * @author Sylvain Bavencoff - bavencoff@codelutin.com + * FIXME IT tests */ @Ignore public class RigthTest { @@ -156,9 +157,9 @@ public class RigthTest { TripSeineService service = newService(dataSourceConnection, TripSeineService.class); - FormDto<TripSeineDto> tripSeineDtoFormDto = service.loadForm(TRIP_SEINE_ID); + Form<TripSeineDto> tripSeineDtoForm = service.loadForm(TRIP_SEINE_ID); - service.save(tripSeineDtoFormDto.getForm()); + service.save(tripSeineDtoForm.getObject()); } protected void testReadReferential(String login) throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { @@ -167,7 +168,7 @@ public class RigthTest { ReferentialService service = newService(dataSourceConnection, ReferentialService.class); - service.loadToRead(ProgramDto.class, PROGRAM_ID); + service.loadForm(ProgramDto.class, PROGRAM_ID); } protected void testWriteReferential(String login) throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { @@ -176,9 +177,9 @@ public class RigthTest { ReferentialService service = newService(dataSourceConnection, ReferentialService.class); - FormDto<ProgramDto> formDto = service.loadToEdit(ProgramDto.class, PROGRAM_ID); + Form<ProgramDto> form = service.loadForm(ProgramDto.class, PROGRAM_ID); - service.save(formDto.getForm()); + service.save(form.getObject()); } @Test diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java index e250b36..f7f8196 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java @@ -24,7 +24,7 @@ package fr.ird.observe.services.service.actions.report; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportRequest; @@ -142,7 +142,7 @@ public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopi if (variableName.equals(variable.getName())) { - Object value = Iterables.find(variable.getValues(), ReferenceDtos.newIdPredicate(id)); + Object value = Iterables.find(variable.getValues(), AbstractReference.newIdPredicate(id)); variable.setSelectedValue(value); @@ -201,11 +201,15 @@ public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopi int rows, int columns, String[] columnsHeader, - String[] rowsHeader) { + String... rowsHeader) { Assert.assertEquals(rows, report.getRows()); Assert.assertEquals(columns, report.getColumns()); Assert.assertArrayEquals(columnsHeader, report.getColumnHeaders()); - Assert.assertArrayEquals(rowsHeader, report.getRowHeaders()); + if (report.getRowHeaders() == null) { + Assert.assertTrue(rowsHeader.length == 0); + } else { + Assert.assertArrayEquals(rowsHeader, report.getRowHeaders()); + } } protected void assertReportNbRequests(Report report, int nbRequests) { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAccessoryCatchByGroupTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAccessoryCatchByGroupTest.java index 2f9851c..809ddfa 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAccessoryCatchByGroupTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAccessoryCatchByGroupTest.java @@ -58,8 +58,7 @@ public class ReportAccessoryCatchByGroupTest extends AbstractReportServiceTopiaT "Cuve", "Cuisine", "Autre" - }, - null + } ); assertReportNbRequests(report, 1); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAccessoryCatchTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAccessoryCatchTest.java index fc6c124..2e93314 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAccessoryCatchTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAccessoryCatchTest.java @@ -52,8 +52,7 @@ public class ReportAccessoryCatchTest extends AbstractReportServiceTopiaTest { new String[]{"Espèce", "Banc libre", "Banc objet", - }, - null + } ); assertReportNbRequests(report, 3); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportActivityWithCommentTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportActivityWithCommentTest.java index 6547513..37919e1 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportActivityWithCommentTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportActivityWithCommentTest.java @@ -58,8 +58,7 @@ public class ReportActivityWithCommentTest extends AbstractReportServiceTopiaTes "Longitude", "Activité", "Commentaire" - }, - null + } ); assertReportNbRequests(report, 1); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAllActivitysTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAllActivitysTest.java index 435812e..fd39969 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAllActivitysTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportAllActivitysTest.java @@ -54,8 +54,7 @@ public class ReportAllActivitysTest extends AbstractReportServiceTopiaTest { -1, 5, new String[]{"Jour - Heure observation", "Latitude", "Longitude", "Activité", "Commentaire", - }, - null + } ); assertReportNbRequests(report, 1); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportDailySetAndCatchTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportDailySetAndCatchTest.java index e647329..51f1453 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportDailySetAndCatchTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportDailySetAndCatchTest.java @@ -56,8 +56,7 @@ public class ReportDailySetAndCatchTest extends AbstractReportServiceTopiaTest { new String[]{"Jour observation", "Nombre de calées", "Captures thon" - }, - null + } ); assertReportNbRequests(report, 1); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportDcpUsageTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportDcpUsageTest.java index 82b1e7a..b457533 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportDcpUsageTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportDcpUsageTest.java @@ -59,8 +59,7 @@ public class ReportDcpUsageTest extends AbstractReportServiceTopiaTest { "Nombre renforcés par radeau balisé", "Récupéré sans pêche", "Nombre de tortues associées" - }, - null + } ); assertReportNbRequests(report, 7); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociationTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociationTest.java index 0b9900e..2daa3da 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociationTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociationTest.java @@ -58,8 +58,7 @@ public class ReportSetByAssociationTest extends AbstractReportServiceTopiaTest { "BO sans requin-baleine", "Total" }, - new String[]{"Coups positifs", "Coups nuls", "Total"} - ); + "Coups positifs", "Coups nuls", "Total"); assertReportNbRequests(report, 8); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportTargetCatchByAssociationTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportTargetCatchByAssociationTest.java index c27a4ca..d630fca 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportTargetCatchByAssociationTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportTargetCatchByAssociationTest.java @@ -60,13 +60,11 @@ public class ReportTargetCatchByAssociationTest extends AbstractReportServiceTop "Autres", "Total" }, - new String[]{"BL sans baleine", - "BL avec baleine", - "BO avec requin-baleine", - "BO sans requin-baleine", - "Total" - } - ); + "BL sans baleine", + "BL avec baleine", + "BO avec requin-baleine", + "BO sans requin-baleine", + "Total"); assertReportNbRequests(report, 4); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportTargetDiscardedByAssociationTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportTargetDiscardedByAssociationTest.java index 66c45b6..006c906 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportTargetDiscardedByAssociationTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportTargetDiscardedByAssociationTest.java @@ -60,13 +60,11 @@ public class ReportTargetDiscardedByAssociationTest extends AbstractReportServic "Autres", "Total" }, - new String[]{"BL sans baleine", - "BL avec baleine", - "BO avec requin-baleine", - "BO sans requin-baleine", - "Total" - } - ); + "BL sans baleine", + "BL avec baleine", + "BO avec requin-baleine", + "BO sans requin-baleine", + "Total"); assertReportNbRequests(report, 4); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java index 17cb00f..88a6c1e 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java @@ -27,12 +27,12 @@ import fr.ird.observe.entities.longline.Basket; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; @@ -78,11 +78,11 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic @Test public void loadToEditTest() { - FormDto<SetLonglineDetailCompositionDto> formDto = service.loadForm(SET_LONGLINE_ID); + Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID); - Assert.assertNotNull(formDto); + Assert.assertNotNull(form); - SetLonglineDetailCompositionDto compositionDto = formDto.getForm(); + SetLonglineDetailCompositionDto compositionDto = form.getObject(); Assert.assertNotNull(compositionDto); Assert.assertEquals(18, compositionDto.sizeSection()); @@ -105,8 +105,8 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic @Test public void saveTest() { - FormDto<SetLonglineDetailCompositionDto> formDto = service.loadForm(SET_LONGLINE_ID); - SetLonglineDetailCompositionDto compositionDto = formDto.getForm(); + Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID); + SetLonglineDetailCompositionDto compositionDto = form.getObject(); SectionDto sectionDto = compositionDto.getSection(4); @@ -118,10 +118,13 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic branchlineDto.setBranchlineLength(1.2f); branchlineDto.setTracelineLength(2.8f); - ReferentialReferenceDto<LineTypeDto> topType = formDto.getReferentialReferenceById(LineTypeDto.class, BranchlineDto.PROPERTY_TOP_TYPE, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.1"); - branchlineDto.setTopType(topType); - ReferentialReferenceDto<LineTypeDto> tracelineType = formDto.getReferentialReferenceById(LineTypeDto.class, BranchlineDto.PROPERTY_TRACELINE_TYPE, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.3"); - branchlineDto.setTracelineType(tracelineType); + //FIXME +// ReferentialReference<LineTypeDto> topType = formDto.getReferentialReferenceById(LineTypeDto.class, BranchlineDto.PROPERTY_TOP_TYPE, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.1"); + ReferentialReference<LineTypeDto> topType = null; +// branchlineDto.setTopType(topType); +// ReferentialReference<LineTypeDto> tracelineType = formDto.getReferentialReferenceById(LineTypeDto.class, BranchlineDto.PROPERTY_TRACELINE_TYPE, "fr.ird.observe.entities.referentiel.longline.LineType#1239832686157#0.3"); + ReferentialReference<LineTypeDto> tracelineType = null; +// branchlineDto.setTracelineType(tracelineType); branchlineDto.setDepthRecorder(true); branchlineDto.setHookLost(false); branchlineDto.setTraceCutOff(false); @@ -133,17 +136,22 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic branchlineDto.setWeightedSwivel(true); branchlineDto.setSwivelWeight(0.45f); - ReferentialReferenceDto<HookTypeDto> hookType = formDto.getReferentialReferenceById(HookTypeDto.class, BranchlineDto.PROPERTY_HOOK_TYPE, "fr.ird.observe.entities.referentiel.longline.HookType#1239832686152#0.2"); - branchlineDto.setHookType(hookType); - ReferentialReferenceDto<HookSizeDto> hookSize = formDto.getReferentialReferenceById(HookSizeDto.class, BranchlineDto.PROPERTY_HOOK_SIZE, "fr.ird.observe.entities.referentiel.longline.HookSize#1239832686151#0.6"); - branchlineDto.setHookSize(hookSize); + ReferentialReference<HookTypeDto> hookType = null; +// ReferentialReference<HookTypeDto> hookType = formDto.getReferentialReferenceById(HookTypeDto.class, BranchlineDto.PROPERTY_HOOK_TYPE, "fr.ird.observe.entities.referentiel.longline.HookType#1239832686152#0.2"); +// branchlineDto.setHookType(hookType); +// ReferentialReference<HookSizeDto> hookSize = formDto.getReferentialReferenceById(HookSizeDto.class, BranchlineDto.PROPERTY_HOOK_SIZE, "fr.ird.observe.entities.referentiel.longline.HookSize#1239832686151#0.6"); + ReferentialReference<HookSizeDto> hookSize = null; +// branchlineDto.setHookSize(hookSize); branchlineDto.setHookOffset(24); - ReferentialReferenceDto<BaitTypeDto> baitType = formDto.getReferentialReferenceById(BaitTypeDto.class, BranchlineDto.PROPERTY_BAIT_TYPE, "fr.ird.observe.entities.referentiel.longline.BaitType#1239832686124#0.8"); - branchlineDto.setBaitType(baitType); - ReferentialReferenceDto<BaitSettingStatusDto> baitSettingStatus = formDto.getReferentialReferenceById(BaitSettingStatusDto.class, BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, "fr.ird.observe.entities.referentiel.longline.BaitSettingStatus#1239832686123#0.1"); - branchlineDto.setBaitSettingStatus(baitSettingStatus); - ReferentialReferenceDto<BaitHaulingStatusDto> baitHaulingStatus = formDto.getReferentialReferenceById(BaitHaulingStatusDto.class, BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, "fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus#1239832686122#0.4"); - branchlineDto.setBaitHaulingStatus(baitHaulingStatus); +// ReferentialReference<BaitTypeDto> baitType = formDto.getReferentialReferenceById(BaitTypeDto.class, BranchlineDto.PROPERTY_BAIT_TYPE, "fr.ird.observe.entities.referentiel.longline.BaitType#1239832686124#0.8"); + ReferentialReference<BaitTypeDto> baitType = null; +// branchlineDto.setBaitType(baitType); +// ReferentialReference<BaitSettingStatusDto> baitSettingStatus = formDto.getReferentialReferenceById(BaitSettingStatusDto.class, BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, "fr.ird.observe.entities.referentiel.longline.BaitSettingStatus#1239832686123#0.1"); + ReferentialReference<BaitSettingStatusDto> baitSettingStatus = null; +// branchlineDto.setBaitSettingStatus(baitSettingStatus); +// ReferentialReference<BaitHaulingStatusDto> baitHaulingStatus = formDto.getReferentialReferenceById(BaitHaulingStatusDto.class, BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, "fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus#1239832686122#0.4"); + ReferentialReference<BaitHaulingStatusDto> baitHaulingStatus = null; +// branchlineDto.setBaitHaulingStatus(baitHaulingStatus); service.save(compositionDto); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java index 7a8b6f3..001be0a 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.seine; */ import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import org.junit.Assert; @@ -60,10 +60,10 @@ public class RouteServiceTopiaTest extends AbstractServiceTopiaTest{ @Test public void preCreateTest() { - FormDto<RouteDto> formDto = service.preCreate(TRIP_SEINE_ID_1); + Form<RouteDto> form = service.preCreate(TRIP_SEINE_ID_1); - Assert.assertNotNull(formDto); - RouteDto routeDto = formDto.getForm(); + Assert.assertNotNull(form); + RouteDto routeDto = form.getObject(); Assert.assertNotNull(routeDto); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java index e5eac64..dfb2fee 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java @@ -23,11 +23,7 @@ package fr.ird.observe.services.service.seine; */ import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.referential.SpeciesDto; -import fr.ird.observe.services.dto.seine.TargetLengthDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import org.junit.Assert; @@ -73,20 +69,21 @@ public class TargetSampleServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void loadForEditTest() { - FormDto<TargetSampleDto> formDto = service.loadForm(SET_SEINE_ID, false); + Form<TargetSampleDto> form = service.loadForm(SET_SEINE_ID, false); - Assert.assertNotNull(formDto); + Assert.assertNotNull(form); - TargetSampleDto targetSampleDto = formDto.getForm(); + TargetSampleDto targetSampleDto = form.getObject(); Assert.assertNotNull(targetSampleDto); Assert.assertFalse(targetSampleDto.getDiscarded()); Assert.assertTrue(targetSampleDto.isTargetLengthEmpty()); - ReferenceSetDto<SpeciesDto> speciesDtoReferenceSetDto = formDto.getReferenceSetDto(SpeciesDto.class, TargetLengthDto.PROPERTY_SPECIES); - Assert.assertEquals(1, speciesDtoReferenceSetDto.sizeReference()); - ReferenceDto referenceDto = speciesDtoReferenceSetDto.getReference(0); - Assert.assertEquals("fr.ird.observe.entities.referentiel.Species#1239832685474#0.8943253454598569", referenceDto.getId()); + //FIXME +// ReferenceSetDto<SpeciesDto> speciesDtoReferenceSetDto = formDto.getReferenceSetDto(SpeciesDto.class, TargetLengthDto.PROPERTY_SPECIES); +// Assert.assertEquals(1, speciesDtoReferenceSetDto.sizeReference()); +// ReferenceDto referenceDto = speciesDtoReferenceSetDto.getReferences(0); +// Assert.assertEquals("fr.ird.observe.entities.referentiel.Species#1239832685474#0.8943253454598569", referenceDto.getId()); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java index 7e08406..ad6bd6f 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java @@ -27,12 +27,8 @@ import com.google.common.collect.Iterables; import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; import fr.ird.observe.entities.seine.GearUseFeaturesSeine; import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; -import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.GearDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; @@ -84,10 +80,10 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); - FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); - Assert.assertNotNull(formDto); - TripSeineGearUseDto tripSeineGearUseDto = formDto.getForm(); + Assert.assertNotNull(form); + TripSeineGearUseDto tripSeineGearUseDto = form.getObject(); Assert.assertEquals(tripSeine.getTopiaId(), tripSeineGearUseDto.getId()); Assert.assertEquals(tripSeine.sizeGearUseFeaturesSeine(), tripSeineGearUseDto.sizeGearUseFeaturesSeine()); @@ -112,55 +108,56 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(measurementSeine.getMeasurementValue(), measurementSeineDto.getMeasurementValue()); } - Assert.assertNotNull(formDto.getLabels()); - - Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); - Assert.assertTrue(types.contains(GearDto.class)); - Assert.assertTrue(types.contains(GearCaracteristicDto.class)); - Assert.assertEquals(2, formDto.sizeLabels()); - - for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { - - Assert.assertTrue(referenceSetDto.sizeReference() > 0); - - } + //FIXME Topia test +// Assert.assertNotNull(formDto.getLabels()); +// +// Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); +// Assert.assertTrue(types.contains(GearDto.class)); +// Assert.assertTrue(types.contains(GearCaracteristicDto.class)); +// Assert.assertEquals(2, formDto.sizeLabels()); +// +// for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { +// +// Assert.assertTrue(referenceSetDto.sizeReference() > 0); +// +// } } @Test public void saveUpdateTest() { - FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); - TripSeineGearUseDto tripSeineGearUseDto = formDto.getForm(); + TripSeineGearUseDto tripSeineGearUseDto = form.getObject(); - GearUseFeaturesSeineDto featuresSeineDto = Iterables.find(tripSeineGearUseDto.getGearUseFeaturesSeine(), IdDtos.newIdPredicate(GEAR_USE_FEATURES_SEINE_ID)); + GearUseFeaturesSeineDto gearUseFeaturesSeineDto = Iterables.find(tripSeineGearUseDto.getGearUseFeaturesSeine(), IdDtos.newIdPredicate(GEAR_USE_FEATURES_SEINE_ID)); - featuresSeineDto.setNumber(12); - featuresSeineDto.setComment("Un Commentaire"); - for (GearUseFeaturesMeasurementSeineDto measurementSeineDto : featuresSeineDto.getGearUseFeaturesMeasurement()) { - if ("fr.ird.observe.entities.referentiel.GearCaracteristic#1239832686124#0.20".equals(measurementSeineDto.getGearCaracteristic().getId())) { - measurementSeineDto.setMeasurementValue("4"); - } else if ("fr.ird.observe.entities.referentiel.GearCaracteristic#1239832686124#0.21".equals(measurementSeineDto.getGearCaracteristic().getId())) { - measurementSeineDto.setMeasurementValue("false"); - } else if ("fr.ird.observe.entities.referentiel.GearCaracteristic#1239832686124#0.22".equals(measurementSeineDto.getGearCaracteristic().getId())) { - measurementSeineDto.setMeasurementValue("true"); + gearUseFeaturesSeineDto.setNumber(12); + gearUseFeaturesSeineDto.setComment("Un Commentaire"); + for (GearUseFeaturesMeasurementSeineDto gearUseFeaturesMeasurementSeineDto : gearUseFeaturesSeineDto.getGearUseFeaturesMeasurement()) { + if ("fr.ird.observe.entities.referentiel.GearCaracteristic#1239832686124#0.20".equals(gearUseFeaturesMeasurementSeineDto.getGearCaracteristic().getId())) { + gearUseFeaturesMeasurementSeineDto.setMeasurementValue("4"); + } else if ("fr.ird.observe.entities.referentiel.GearCaracteristic#1239832686124#0.21".equals(gearUseFeaturesMeasurementSeineDto.getGearCaracteristic().getId())) { + gearUseFeaturesMeasurementSeineDto.setMeasurementValue("false"); + } else if ("fr.ird.observe.entities.referentiel.GearCaracteristic#1239832686124#0.22".equals(gearUseFeaturesMeasurementSeineDto.getGearCaracteristic().getId())) { + gearUseFeaturesMeasurementSeineDto.setMeasurementValue("true"); } } service.save(tripSeineGearUseDto); - GearUseFeaturesSeine featuresSeine = dataSourceResource.findById(GearUseFeaturesSeine.class, GEAR_USE_FEATURES_SEINE_ID); + GearUseFeaturesSeine gearUseFeaturesSeine = dataSourceResource.findById(GearUseFeaturesSeine.class, GEAR_USE_FEATURES_SEINE_ID); - Assert.assertEquals(featuresSeineDto.getId(), featuresSeine.getTopiaId()); - assertReferenceDtoEqualsEntity(featuresSeineDto.getGear(), featuresSeine.getGear()); - Assert.assertEquals(featuresSeineDto.getNumber(), featuresSeine.getNumber()); - Assert.assertEquals(featuresSeineDto.getUsedInTrip(), featuresSeine.getUsedInTrip()); - Assert.assertEquals(featuresSeineDto.getComment(), featuresSeine.getComment()); + Assert.assertEquals(gearUseFeaturesSeineDto.getId(), gearUseFeaturesSeine.getTopiaId()); + assertReferenceDtoEqualsEntity(gearUseFeaturesSeineDto.getGear(), gearUseFeaturesSeine.getGear()); + Assert.assertEquals(gearUseFeaturesSeineDto.getNumber(), gearUseFeaturesSeine.getNumber()); + Assert.assertEquals(gearUseFeaturesSeineDto.getUsedInTrip(), gearUseFeaturesSeine.getUsedInTrip()); + Assert.assertEquals(gearUseFeaturesSeineDto.getComment(), gearUseFeaturesSeine.getComment()); - Assert.assertEquals(featuresSeineDto.sizeGearUseFeaturesMeasurement(), featuresSeine.sizeGearUseFeaturesMeasurement()); + Assert.assertEquals(gearUseFeaturesSeineDto.sizeGearUseFeaturesMeasurement(), gearUseFeaturesSeine.sizeGearUseFeaturesMeasurement()); - for (GearUseFeaturesMeasurementSeineDto measurementSeineDto : featuresSeineDto.getGearUseFeaturesMeasurement()) { + for (GearUseFeaturesMeasurementSeineDto measurementSeineDto : gearUseFeaturesSeineDto.getGearUseFeaturesMeasurement()) { GearUseFeaturesMeasurementSeine measurementSeine = Iterables.find( - featuresSeine.getGearUseFeaturesMeasurement(), + gearUseFeaturesSeine.getGearUseFeaturesMeasurement(), TopiaEntities.entityHasId(measurementSeineDto.getId())); assertReferenceDtoEqualsEntity(measurementSeineDto.getGearCaracteristic(), measurementSeine.getGearCaracteristic()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java index 3879f16..bb9a2a3 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java @@ -25,21 +25,21 @@ package fr.ird.observe.services.service.seine; import com.google.common.collect.ImmutableSet; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceContextTopiaTaiste; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; import fr.ird.observe.services.dto.referential.HarbourDto; import fr.ird.observe.services.dto.referential.OceanDto; import fr.ird.observe.services.dto.referential.PersonDto; -import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.VesselDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.ConcurrentModificationException; -import fr.ird.observe.services.service.ReferenceSetService; +import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; +import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ReferentialService; import org.junit.Assert; import org.junit.Test; @@ -58,8 +58,6 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { protected ReferentialService referentialService; - protected ReferenceSetService referenceSetService; - @Override public Set<String> getTestNamesChangeDataBase() { return ImmutableSet.of( @@ -80,20 +78,19 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { service = newService(TripSeineService.class); referentialService = newService(ReferentialService.class); - referenceSetService = newService(ReferenceSetService.class); } @Test public void getTripSeineByProgramTest() { - ReferenceSetDto<TripSeineDto> stubDtos = service.getTripSeineByProgram(PROGRAM_ID); + DataReferenceSet<TripSeineDto> stubDtos = service.getTripSeineByProgram(PROGRAM_ID); Assert.assertNotNull(stubDtos); Assert.assertEquals(3, stubDtos.sizeReference()); - ReferenceDto tripSeineStubDto = stubDtos.getReference(0); + DataReference<TripSeineDto> tripSeineStubDto = stubDtos.getReferenceByPosition(0); TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); Assert.assertEquals(tripSeine.getTopiaId(), tripSeineStubDto.getId()); @@ -102,7 +99,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeine.getVessel().getLabel2(), tripSeineStubDto.getPropertyValue(TripSeineDto.PROPERTY_VESSEL)); Assert.assertEquals(tripSeine.getObserverLabel(), tripSeineStubDto.getPropertyValue(TripSeineDto.PROPERTY_OBSERVER)); - tripSeineStubDto = stubDtos.getReference(1); + tripSeineStubDto = stubDtos.getReferenceByPosition(1); tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_2); Assert.assertEquals(tripSeine.getTopiaId(), tripSeineStubDto.getId()); @@ -111,7 +108,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeine.getVessel().getLabel2(), tripSeineStubDto.getPropertyValue(TripSeineDto.PROPERTY_VESSEL)); Assert.assertEquals(tripSeine.getObserverLabel(), tripSeineStubDto.getPropertyValue(TripSeineDto.PROPERTY_OBSERVER)); - tripSeineStubDto = stubDtos.getReference(2); + tripSeineStubDto = stubDtos.getReferenceByPosition(2); tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_3); Assert.assertEquals(tripSeine.getTopiaId(), tripSeineStubDto.getId()); @@ -126,10 +123,10 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { public void loadFormTest() throws Exception { TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); - FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); - Assert.assertNotNull(formDto); - TripSeineDto tripSeineDto = formDto.getForm(); + Assert.assertNotNull(form); + TripSeineDto tripSeineDto = form.getObject(); assertEntityEqualsReferenceDto(tripSeine.getCaptain(), tripSeineDto.getCaptain()); assertEntityEqualsReferenceDto(tripSeine.getObserver(), tripSeineDto.getObserver()); @@ -146,24 +143,25 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeine.getComment(), tripSeineDto.getComment()); Assert.assertEquals(tripSeine.getLastUpdate(), tripSeineDto.getLastUpdate()); - loadReferenceSets(referenceSetService, formDto); - - assertTripFormLabels(formDto); - - for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { + loadReferenceSets(referentialService, form); - Assert.assertTrue(referenceSetDto.sizeReference() > 0); - - } + //FIXME Topia test +// assertTripFormLabels(formDto); +// +// for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { +// +// Assert.assertTrue(referenceSetDto.sizeReference() > 0); +// +// } } @Test public void preCreateTest() { - FormDto<TripSeineDto> formDto = service.preCreate(PROGRAM_ID); + Form<TripSeineDto> form = service.preCreate(PROGRAM_ID); - Assert.assertNotNull(formDto); - TripSeineDto tripSeineDto = formDto.getForm(); + Assert.assertNotNull(form); + TripSeineDto tripSeineDto = form.getObject(); Assert.assertNull(tripSeineDto.getCaptain()); Assert.assertNull(tripSeineDto.getObserver()); @@ -180,33 +178,34 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNull(tripSeineDto.getComment()); Assert.assertNull(tripSeineDto.getLastUpdate()); - assertTripFormLabels(formDto); - - for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { - - Assert.assertTrue(referenceSetDto.sizeReference() > 0); - - } + //FIXME Topia test +// assertTripFormLabels(formDto); +// +// for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { +// +// Assert.assertTrue(referenceSetDto.sizeReference() > 0); +// +// } } @Test - public void saveCreateTest() { + public void saveCreateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - FormDto<TripSeineDto> formDto = service.preCreate(PROGRAM_ID); + Form<TripSeineDto> form = service.preCreate(PROGRAM_ID); - TripSeineDto tripSeineDto = formDto.getForm(); + TripSeineDto tripSeineDto = form.getObject(); - tripSeineDto.setCaptain(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_CAPTAIN, 0)); - tripSeineDto.setObserver(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_OBSERVER, 0)); - tripSeineDto.setDataEntryOperator(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, 0)); + tripSeineDto.setCaptain(getReference(PersonDto.class, 0)); + tripSeineDto.setObserver(getReference(PersonDto.class, 0)); + tripSeineDto.setDataEntryOperator(getReference(PersonDto.class, 0)); - tripSeineDto.setVessel(getReference(formDto, VesselDto.class, TripSeine.PROPERTY_VESSEL, 0)); + tripSeineDto.setVessel(getReference(VesselDto.class, 0)); - tripSeineDto.setOcean(getReference(formDto, OceanDto.class, TripSeine.PROPERTY_OCEAN, 0)); + tripSeineDto.setOcean(getReference(OceanDto.class, 0)); - tripSeineDto.setDepartureHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_DEPARTURE_HARBOUR, 0)); - tripSeineDto.setLandingHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_LANDING_HARBOUR, 0)); + tripSeineDto.setDepartureHarbour(getReference(HarbourDto.class, 0)); + tripSeineDto.setLandingHarbour(getReference(HarbourDto.class, 0)); tripSeineDto.setErsId("ersid"); @@ -220,7 +219,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Date lastUpdateBefore = getLastUpdate(TripSeine.class); - SaveResultDto saveResult = service.save(formDto.getForm()); + SaveResultDto saveResult = service.save(form.getObject()); TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, saveResult.getId()); @@ -244,21 +243,21 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - public void saveUpdateTest() { + public void saveUpdateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); - loadReferenceSets(referenceSetService, formDto); + loadReferenceSets(referentialService, form); - TripSeineDto tripSeineDto = formDto.getForm(); + TripSeineDto tripSeineDto = form.getObject(); - tripSeineDto.setCaptain(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_CAPTAIN, 0)); - tripSeineDto.setDataEntryOperator(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, 0)); + tripSeineDto.setCaptain(getReference(PersonDto.class, 0)); + tripSeineDto.setDataEntryOperator(getReference(PersonDto.class, 0)); - tripSeineDto.setOcean(getReference(formDto, OceanDto.class, TripSeine.PROPERTY_OCEAN, 0)); + tripSeineDto.setOcean(getReference(OceanDto.class, 0)); - tripSeineDto.setDepartureHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_DEPARTURE_HARBOUR, 0)); - tripSeineDto.setLandingHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_LANDING_HARBOUR, 0)); + tripSeineDto.setDepartureHarbour(getReference(HarbourDto.class, 0)); + tripSeineDto.setLandingHarbour(getReference(HarbourDto.class, 0)); tripSeineDto.setErsId("ersid"); @@ -272,7 +271,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Date lastUpdateBefore = getLastUpdate(TripSeine.class); - service.save(formDto.getForm()); + service.save(form.getObject()); TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); @@ -298,21 +297,21 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test(expected = ConcurrentModificationException.class) - public void saveConcurrentTest() { + public void saveConcurrentTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); - TripSeineDto tripSeineDto = formDto.getForm(); + TripSeineDto tripSeineDto = form.getObject(); - loadReferenceSets(referenceSetService, formDto); + loadReferenceSets(referentialService, form); - tripSeineDto.setCaptain(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_CAPTAIN, 0)); - tripSeineDto.setDataEntryOperator(getReference(formDto, PersonDto.class, TripSeine.PROPERTY_DATA_ENTRY_OPERATOR, 0)); + tripSeineDto.setCaptain(getReference(PersonDto.class, 0)); + tripSeineDto.setDataEntryOperator(getReference(PersonDto.class, 0)); - tripSeineDto.setOcean(getReference(formDto, OceanDto.class, TripSeine.PROPERTY_OCEAN, 0)); + tripSeineDto.setOcean(getReference(OceanDto.class, 0)); - tripSeineDto.setDepartureHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_DEPARTURE_HARBOUR, 0)); - tripSeineDto.setLandingHarbour(getReference(formDto, HarbourDto.class, TripSeine.PROPERTY_LANDING_HARBOUR, 0)); + tripSeineDto.setDepartureHarbour(getReference(HarbourDto.class, 0)); + tripSeineDto.setLandingHarbour(getReference(HarbourDto.class, 0)); // on fait croire que notre version est plus ancienne Calendar calendar = Calendar.getInstance(); @@ -320,7 +319,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { calendar.add(Calendar.HOUR, -1); tripSeineDto.setLastUpdate(calendar.getTime()); - service.save(formDto.getForm()); + service.save(form.getObject()); } @@ -331,7 +330,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { service.delete(TRIP_SEINE_ID_1); - ReferenceSetDto<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(PROGRAM_ID); + DataReferenceSet<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(PROGRAM_ID); Assert.assertEquals(2, tripSeineByProgram.sizeReference()); @@ -342,18 +341,19 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } - protected <T extends IdDto> void assertTripFormLabels(FormDto<T> formDto) { - - Assert.assertNotNull(formDto.getLabels()); - - Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); - Assert.assertTrue(types.contains(PersonDto.class)); - Assert.assertTrue(types.contains(VesselDto.class)); - Assert.assertTrue(types.contains(OceanDto.class)); - Assert.assertTrue(types.contains(HarbourDto.class)); - Assert.assertTrue(types.contains(ProgramDto.class)); - Assert.assertEquals(5, types.size()); - Assert.assertEquals(8, formDto.sizeLabels()); + protected <T extends IdDto> void assertTripFormLabels(Form<T> form) { + + //FIXME Topia test +// Assert.assertNotNull(formDto.getLabels()); +// +// Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); +// Assert.assertTrue(types.contains(PersonDto.class)); +// Assert.assertTrue(types.contains(VesselDto.class)); +// Assert.assertTrue(types.contains(OceanDto.class)); +// Assert.assertTrue(types.contains(HarbourDto.class)); +// Assert.assertTrue(types.contains(ProgramDto.class)); +// Assert.assertEquals(5, types.size()); +// Assert.assertEquals(8, formDto.sizeLabels()); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 60e6f607efc13ae61c776af73a4ee5da04908136 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:18:04 2015 +0100 Impact des modifications de l'API sur le module rest + pour le moment j'ai commenté une partie des tests, on les réactivera lorsque tout ira mieux --- .../services/service/AbstractServiceRestTest.java | 81 +++++++++--------- .../service/ReferenceSetServiceRestTest.java | 96 ---------------------- .../service/ReferenceValuesSetServiceRestTest.java | 90 ++++++++++++++++++++ .../service/ReferentialServiceRestTest.java | 22 ++--- .../report/AbstractReportServiceRestTest.java | 4 +- .../seine/TripSeineGearUseServiceRestTest.java | 32 ++++---- .../service/seine/TripSeineServiceRestTest.java | 72 ++++++++-------- 7 files changed, 187 insertions(+), 210 deletions(-) diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/AbstractServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/AbstractServiceRestTest.java index d26f735..85aa99d 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/AbstractServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/AbstractServiceRestTest.java @@ -27,18 +27,13 @@ import fr.ird.observe.services.TestClassResource; import fr.ird.observe.services.TestMethodResource; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.ReferenceSetDtos; import org.junit.After; -import org.junit.Assert; import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; -import java.util.Set; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -83,44 +78,46 @@ public abstract class AbstractServiceRestTest { return testClassResource.newService(dataSourceConnection, serviceType); } - protected <T extends IdDto> void assertEditLabels(FormDto<T> formDto, int expectedLabels, Class<?>... expectedTypes) { - - Assert.assertNotNull(formDto.getLabels()); - - Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); - - Assert.assertEquals(expectedTypes.length, types.size()); - - for (Class<?> expectedType : expectedTypes) { - Assert.assertTrue(types.contains(expectedType)); - } - Assert.assertEquals(expectedLabels, formDto.sizeLabels()); - - for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { - - Assert.assertTrue(referenceSetDto.sizeReference() > 0); - - } + protected <T extends IdDto> void assertEditLabels(Form<T> form, int expectedLabels, Class<?>... expectedTypes) { + + //FIXME Rest test +// Assert.assertNotNull(formDto.getLabels()); +// +// Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); +// +// Assert.assertEquals(expectedTypes.length, types.size()); +// +// for (Class<?> expectedType : expectedTypes) { +// Assert.assertTrue(types.contains(expectedType)); +// } +// Assert.assertEquals(expectedLabels, formDto.sizeLabels()); +// +// for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { +// +// Assert.assertTrue(referenceSetDto.sizeReference() > 0); +// +// } } - protected <T extends IdDto> void assertReadLabels(FormDto<T> formDto, int expectedLabels, Class<?>... expectedTypes) { - - Assert.assertNotNull(formDto.getLabels()); - - Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); - - Assert.assertEquals(expectedTypes.length, types.size()); - - for (Class<?> expectedType : expectedTypes) { - Assert.assertTrue(types.contains(expectedType)); - } - Assert.assertEquals(expectedLabels, formDto.sizeLabels()); - - for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { - - Assert.assertTrue(referenceSetDto.isReferenceEmpty()); - - } + protected <T extends IdDto> void assertReadLabels(Form<T> form, int expectedLabels, Class<?>... expectedTypes) { + + //FIXME Rest test +// Assert.assertNotNull(formDto.getLabels()); +// +// Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); +// +// Assert.assertEquals(expectedTypes.length, types.size()); +// +// for (Class<?> expectedType : expectedTypes) { +// Assert.assertTrue(types.contains(expectedType)); +// } +// Assert.assertEquals(expectedLabels, formDto.sizeLabels()); +// +// for (ReferenceSetDto referenceSetDto : formDto.getLabels()) { +// +// Assert.assertTrue(referenceSetDto.isReferenceEmpty()); +// +// } } } diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceRestTest.java deleted file mode 100644 index e8a6eb2..0000000 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferenceSetServiceRestTest.java +++ /dev/null @@ -1,96 +0,0 @@ -package fr.ird.observe.services.service; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.TestClassResource; -import fr.ird.observe.services.TestMethodResource; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; -import fr.ird.observe.services.configuration.ObserveDataSourceConnection; -import fr.ird.observe.services.dto.reference.ObserveReferenceSet; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; -import fr.ird.observe.services.dto.reference.ObserveReferentialReference; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinition; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestDefinitions; -import fr.ird.observe.services.dto.reference.definition.ObserveReferenceSetRequestKeyDefinition; -import org.junit.Assert; -import org.junit.Before; -import org.junit.ClassRule; -import org.junit.Rule; -import org.junit.Test; - -import java.util.Date; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferenceSetServiceRestTest { - - @ClassRule - public static final TestClassResource testClassResource = new TestClassResource(); - - @Rule - public final TestMethodResource testMethodResource = new TestMethodResource(testClassResource); - - - protected ReferenceSetService service; - - @Before - public void setUp() throws Exception { - - ObserveDataSourceConfigurationRest dataSourceConfiguration = testMethodResource.getDataSourceConfiguration().clone(); - DataSourceService dataSourceService = testClassResource.newService(dataSourceConfiguration, DataSourceService.class); - ObserveDataSourceConnection connection = dataSourceService.open(dataSourceConfiguration); - - service = testClassResource.newService(connection, ReferenceSetService.class); - - } - - @Test - public void testGetTripSeineRequest() throws Exception { - - String requestName = ObserveReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name(); - - ObserveReferenceSetRequest request = new ObserveReferenceSetRequest(); - request.setRequestName(requestName); - request.setLastUpdateDates(ImmutableMap.<String, Date>of()); - - ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult = service.loadReferentialReferenceSets(request); - Assert.assertNotNull(referenceSetResult); - Assert.assertEquals(requestName, referenceSetResult.getRequestName()); - ImmutableMap<String, ObserveReferenceSet<?, ObserveReferentialReference>> referenceSetsMap = referenceSetResult.getReferenceSets(); - Assert.assertNotNull(referenceSetsMap); - - ObserveReferenceSetRequestDefinition definition = ObserveReferenceSetRequestDefinitions.get(requestName); - - ImmutableSet<ObserveReferenceSetRequestKeyDefinition> keys = definition.getKeys(); - for (ObserveReferenceSetRequestKeyDefinition key : keys) { - - String name = key.getName(); - Assert.assertTrue(referenceSetsMap.containsKey(name)); - - } - Assert.assertEquals(keys.size(), referenceSetsMap.size()); - - ImmutableMap<String, Date> lastUpdateDates = referenceSetResult.getLastUpdateDates(); - - request.setRequestName(requestName); - request.setLastUpdateDates(lastUpdateDates); - - // Re run the request, should receive no data - - ObserveReferenceSetResult<ObserveReferentialReference> referenceSetResult2 = service.loadReferentialReferenceSets(request); - Assert.assertNotNull(referenceSetResult2); - Assert.assertEquals(requestName, referenceSetResult2.getRequestName()); - ImmutableMap<String, ObserveReferenceSet<?, ObserveReferentialReference>> referenceSetsMap2 = referenceSetResult2.getReferenceSets(); - Assert.assertNotNull(referenceSetsMap2); - Assert.assertTrue(referenceSetsMap2.isEmpty()); - - - - - } - -} \ No newline at end of file diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferenceValuesSetServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferenceValuesSetServiceRestTest.java new file mode 100644 index 0000000..5312f27 --- /dev/null +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferenceValuesSetServiceRestTest.java @@ -0,0 +1,90 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.services.TestClassResource; +import fr.ird.observe.services.TestMethodResource; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; +import fr.ird.observe.services.configuration.ObserveDataSourceConnection; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import org.junit.Assert; +import org.junit.Before; +import org.junit.ClassRule; +import org.junit.Rule; +import org.junit.Test; + +import java.util.Date; + +/** + * Created on 13/11/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReferenceValuesSetServiceRestTest { + + @ClassRule + public static final TestClassResource testClassResource = new TestClassResource(); + + @Rule + public final TestMethodResource testMethodResource = new TestMethodResource(testClassResource); + + + protected ReferentialService service; + + @Before + public void setUp() throws Exception { + + ObserveDataSourceConfigurationRest dataSourceConfiguration = testMethodResource.getDataSourceConfiguration().clone(); + DataSourceService dataSourceService = testClassResource.newService(dataSourceConfiguration, DataSourceService.class); + ObserveDataSourceConnection connection = dataSourceService.open(dataSourceConfiguration); + + service = testClassResource.newService(connection, ReferentialService.class); + + } + + @Test + public void testGetTripSeineRequest() throws Exception { + + //FIXME + String requestName = ReferenceSetRequestDefinitions.TRIP_SEINE_FORM.name(); + + //FIXME + ReferenceSetsRequest request = new ReferenceSetsRequest(); + request.setRequestName(requestName); + request.setLastUpdateDates(ImmutableMap.<Class<?>, Date>of()); + + ImmutableSet<ReferentialReferenceSet<?>> referenceSetResult = service.getReferentialReferenceSets(request); + Assert.assertNotNull(referenceSetResult); + Assert.assertEquals(5, referenceSetResult.size()); + + //FIXME +// +// ObserveReferenceSetRequestDefinition definition = ObserveReferenceSetRequestDefinitions.get(requestName); +// +// ImmutableSet<ObserveReferenceSetRequestKeyDefinition> keys = definition.getKeys(); +// for (ObserveReferenceSetRequestKeyDefinition key : keys) { +// +// String name = key.getName(); +// Assert.assertTrue(referenceSetsMap.containsKey(name)); +// +// } +// Assert.assertEquals(keys.size(), referenceSetsMap.size()); +// +// ImmutableMap<String, Date> lastUpdateDates = referenceSetResult.getLastUpdateDates(); +// +// request.setRequestName(requestName); +// request.setLastUpdateDates(lastUpdateDates); +// +// // Re run the request, should receive no data +// +// ObserveReferenceSetResult<ObserveReferentialReferenceValues> referenceSetResult2 = service.getReferentialReferenceSetDefinitions(request); +// Assert.assertNotNull(referenceSetResult2); +// Assert.assertEquals(requestName, referenceSetResult2.getRequestName()); +// ImmutableMap<String, ObserveReferenceSet<?, ObserveReferentialReferenceValues>> referenceSetsMap2 = referenceSetResult2.getReferenceSets(); +// Assert.assertNotNull(referenceSetsMap2); +// Assert.assertTrue(referenceSetsMap2.isEmpty()); + + } + +} \ No newline at end of file diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferentialServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferentialServiceRestTest.java index 66b2c99..400b967 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferentialServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/ReferentialServiceRestTest.java @@ -1,20 +1,20 @@ package fr.ird.observe.services.service; +import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.TestClassResource; import fr.ird.observe.services.TestMethodResource; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import org.junit.Assert; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; import java.io.IOException; -import java.util.LinkedHashSet; +import java.util.Date; import java.util.List; /** @@ -39,16 +39,16 @@ public class ReferentialServiceRestTest { ReferentialService referentialService = testClassResource.newService(connection, ReferentialService.class); - ReferenceSetDto<ProgramDto> referentialReferenceSet = referentialService.getReferentialReferenceSet(ProgramDto.class); + ReferentialReferenceSet<ProgramDto> referentialReferenceSet = referentialService.getReferenceSet(ProgramDto.class, new Date()); Assert.assertNotNull(referentialReferenceSet); - LinkedHashSet<ReferenceDto<ProgramDto>> reference = referentialReferenceSet.getReference(); + ImmutableSet<ReferentialReference<ProgramDto>> reference = referentialReferenceSet.getReferences(); Assert.assertNotNull(reference); Assert.assertEquals(28, reference.size()); - for (ReferenceDto<ProgramDto> referenceDto : reference) { + for (ReferentialReference<ProgramDto> referenceDto : reference) { List<String> propertyNames = referenceDto.getPropertyNames(); Assert.assertNotNull(propertyNames); @@ -58,14 +58,6 @@ public class ReferentialServiceRestTest { Assert.assertEquals(ProgramDto.PROPERTY_GEAR_TYPE_PREFIX, propertyNames.get(2)); Assert.assertEquals(ProgramDto.PROPERTY_LABEL, propertyNames.get(3)); - Class[] types = referenceDto.getLabelPropertyTypes(); - Assert.assertNotNull(types); - Assert.assertEquals(4, types.length); - Assert.assertEquals(String.class, types[0]); - Assert.assertEquals(GearType.class, types[1]); - Assert.assertEquals(String.class, types[2]); - Assert.assertEquals(String.class, types[3]); - } } diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceRestTest.java index 826d10b..1832b95 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceRestTest.java @@ -23,7 +23,7 @@ package fr.ird.observe.services.service.actions.report; import com.google.common.collect.Iterables; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportRequest; @@ -130,7 +130,7 @@ public abstract class AbstractReportServiceRestTest extends AbstractServiceRestT if (variableName.equals(variable.getName())) { - Object value = Iterables.find(variable.getValues(), ReferenceDtos.newIdPredicate(id)); + Object value = Iterables.find(variable.getValues(), AbstractReference.newIdPredicate(id)); variable.setSelectedValue(value); diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java index 4f6ec04..57b6585 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceRestTest.java @@ -23,10 +23,10 @@ package fr.ird.observe.services.service.seine; */ import com.google.common.collect.Iterables; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -60,16 +60,16 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { public void loadToReadTest() { - ReferenceSetDto<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); + DataReferenceSet<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); - Map<String, ReferenceDto<TripSeineDto>> tripIds = IdDtos.splitById(allTripSeine.getReference()); + Map<String, DataReference<TripSeineDto>> tripIds = DataReference.splitById(allTripSeine.getReferences()); Assume.assumeTrue("Marée " + TRIP_SEINE_ID_1 + " non trouvée dans cette base. Test annulé", tripIds.containsKey(TRIP_SEINE_ID_1)); - FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); - Assert.assertNotNull(formDto); + Assert.assertNotNull(form); - TripSeineGearUseDto tripSeineGearUseDto = formDto.getForm(); + TripSeineGearUseDto tripSeineGearUseDto = form.getObject(); Assert.assertEquals(TRIP_SEINE_ID_1, tripSeineGearUseDto.getId()); //FIXME @@ -122,14 +122,14 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { @Test public void loadToEditTest() { - ReferenceSetDto<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); + DataReferenceSet<TripSeineDto> allTripSeine = newService(TripSeineService.class).getAllTripSeine(); - Map<String, ReferenceDto<TripSeineDto>> tripIds = IdDtos.splitById(allTripSeine.getReference()); + Map<String, DataReference<TripSeineDto>> tripIds = DataReference.splitById(allTripSeine.getReferences()); Assume.assumeTrue("Marée " + TRIP_SEINE_ID_1 + " non trouvée dans cette base. Test annulé", tripIds.containsKey(TRIP_SEINE_ID_1)); - FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); - Assert.assertNotNull(formDto); + Assert.assertNotNull(form); //FIXME // assertReadLabels(formDto, 2, // GearDto.class, @@ -189,9 +189,9 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { @Ignore @Test public void saveUpdateTest() { - FormDto<TripSeineGearUseDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); - TripSeineGearUseDto tripSeineGearUseDto = formDto.getForm(); + TripSeineGearUseDto tripSeineGearUseDto = form.getObject(); GearUseFeaturesSeineDto featuresSeineDto = Iterables.find(tripSeineGearUseDto.getGearUseFeaturesSeine(), IdDtos.newIdPredicate(GEAR_USE_FEATURES_SEINE_ID_1)); @@ -209,9 +209,9 @@ public class TripSeineGearUseServiceRestTest extends AbstractServiceRestTest { service.save(tripSeineGearUseDto); - FormDto<TripSeineGearUseDto> formDtoAfterSave = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineGearUseDto> formAfterSave = service.loadForm(TRIP_SEINE_ID_1); - tripSeineGearUseDto = formDtoAfterSave.getForm(); + tripSeineGearUseDto = formAfterSave.getObject(); GearUseFeaturesSeineDto feature1 = Iterables.find(tripSeineGearUseDto.getGearUseFeaturesSeine(), IdDtos.newIdPredicate(GEAR_USE_FEATURES_SEINE_ID_1)); diff --git a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceRestTest.java b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceRestTest.java index 9f17864..d2eced3 100644 --- a/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceRestTest.java +++ b/observe-services-rest/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceRestTest.java @@ -23,16 +23,13 @@ package fr.ird.observe.services.service.seine; */ import com.google.common.collect.Iterables; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.HarbourDto; import fr.ird.observe.services.dto.referential.OceanDto; import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; import fr.ird.observe.services.dto.referential.VesselDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.AbstractServiceRestTest; @@ -59,14 +56,13 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { @Test public void getTripSeineByProgramTest() { - ReferenceSetDto<TripSeineDto> stubDtos = service.getTripSeineByProgram(PROGRAM_ID); + DataReferenceSet<TripSeineDto> stubDtos = service.getTripSeineByProgram(PROGRAM_ID); Assert.assertNotNull(stubDtos); Assert.assertEquals(134, stubDtos.sizeReference()); - ReferenceDto<TripSeineDto> tripSeineStub1Dto = Iterables.find(stubDtos.getReference(), - ReferenceDtos.newIdPredicate(TRIP_SEINE_ID_1)); + DataReference<TripSeineDto> tripSeineStub1Dto = DataReference.find(stubDtos.getReferences(), TRIP_SEINE_ID_1); Assert.assertEquals(TRIP_SEINE_ID_1, tripSeineStub1Dto.getId()); Assert.assertEquals(DateUtil.createDate(25, 1, 2013), tripSeineStub1Dto.getPropertyValue(TripSeineDto.PROPERTY_START_DATE)); @@ -74,8 +70,7 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { Assert.assertEquals("BERNICA", tripSeineStub1Dto.getPropertyValue(TripSeineDto.PROPERTY_VESSEL)); Assert.assertEquals("Varenne Fanchon", tripSeineStub1Dto.getPropertyValue(TripSeineDto.PROPERTY_OBSERVER)); - ReferenceDto<TripSeineDto> tripSeineStub2Dto = Iterables.find(stubDtos.getReference(), - ReferenceDtos.newIdPredicate(TRIP_SEINE_ID_2)); + DataReference<TripSeineDto> tripSeineStub2Dto = DataReference.find(stubDtos.getReferences(), TRIP_SEINE_ID_2); Assert.assertEquals(TRIP_SEINE_ID_2, tripSeineStub2Dto.getId()); Assert.assertEquals(DateUtil.createDate(26, 1, 2013), tripSeineStub2Dto.getPropertyValue(TripSeineDto.PROPERTY_START_DATE)); @@ -83,8 +78,7 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { Assert.assertEquals("VIA EUROS", tripSeineStub2Dto.getPropertyValue(TripSeineDto.PROPERTY_VESSEL)); Assert.assertEquals("Protat Martin", tripSeineStub2Dto.getPropertyValue(TripSeineDto.PROPERTY_OBSERVER)); - ReferenceDto<TripSeineDto> tripSeineStub3Dto = Iterables.find(stubDtos.getReference(), - ReferenceDtos.newIdPredicate(TRIP_SEINE_ID_3)); + DataReference<TripSeineDto> tripSeineStub3Dto = DataReference.find(stubDtos.getReferences(), TRIP_SEINE_ID_3); Assert.assertEquals(TRIP_SEINE_ID_3, tripSeineStub3Dto.getId()); Assert.assertEquals(DateUtil.createDate(1, 2, 2013), tripSeineStub3Dto.getPropertyValue(TripSeineDto.PROPERTY_START_DATE)); @@ -97,10 +91,10 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { @Test public void loadFormTest() throws Exception { - FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); - Assert.assertNotNull(formDto); - TripSeineDto tripSeineDto = formDto.getForm(); + Assert.assertNotNull(form); + TripSeineDto tripSeineDto = form.getObject(); Assert.assertNull(tripSeineDto.getCaptain()); @@ -123,7 +117,7 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { Assert.assertNull(tripSeineDto.getReportsUrl()); Assert.assertTrue(tripSeineDto.getComment().startsWith("Caractéristiques de la senne")); - assertEditLabels(formDto, 8, + assertEditLabels(form, 8, ProgramDto.class, PersonDto.class, VesselDto.class, @@ -134,10 +128,10 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { @Test public void preCreateTest() { - FormDto<TripSeineDto> formDto = service.preCreate(PROGRAM_ID); + Form<TripSeineDto> form = service.preCreate(PROGRAM_ID); - Assert.assertNotNull(formDto); - TripSeineDto tripSeineDto = formDto.getForm(); + Assert.assertNotNull(form); + TripSeineDto tripSeineDto = form.getObject(); Assert.assertNull(tripSeineDto.getCaptain()); Assert.assertNull(tripSeineDto.getObserver()); @@ -153,7 +147,7 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { Assert.assertNull(tripSeineDto.getReportsUrl()); Assert.assertNull(tripSeineDto.getComment()); - assertEditLabels(formDto, 8, + assertEditLabels(form, 8, ProgramDto.class, PersonDto.class, VesselDto.class, @@ -167,21 +161,21 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { @Test public void saveUpdateTest() { - FormDto<TripSeineDto> formDto = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); - TripSeineDto tripSeineDto = formDto.getForm(); + TripSeineDto tripSeineDto = form.getObject(); - ReferenceSetDto<PersonDto> personRefs = formDto.getReferenceSetDto(PersonDto.class); - ReferenceSetDto<OceanDto> oceanRefs = formDto.getReferenceSetDto(OceanDto.class); - ReferenceSetDto<HarbourDto> harbourRefs = formDto.getReferenceSetDto(HarbourDto.class); - - tripSeineDto.setCaptain((ReferentialReferenceDto<PersonDto>) personRefs.getReference(0)); - tripSeineDto.setDataEntryOperator((ReferentialReferenceDto<PersonDto>) personRefs.getReference(2)); - - tripSeineDto.setOcean((ReferentialReferenceDto<OceanDto>) oceanRefs.getReference(0)); - - tripSeineDto.setDepartureHarbour((ReferentialReferenceDto<HarbourDto>) harbourRefs.getReference(0)); - tripSeineDto.setLandingHarbour((ReferentialReferenceDto<HarbourDto>) harbourRefs.getReference(1)); +// ReferenceSetDto<PersonDto> personRefs = formDto.getReferenceSetDto(PersonDto.class); +// ReferenceSetDto<OceanDto> oceanRefs = formDto.getReferenceSetDto(OceanDto.class); +// ReferenceSetDto<HarbourDto> harbourRefs = formDto.getReferenceSetDto(HarbourDto.class); +// +// tripSeineDto.setCaptain((ReferentialReference<PersonDto>) personRefs.getReferences(0)); +// tripSeineDto.setDataEntryOperator((ReferentialReference<PersonDto>) personRefs.getReferences(2)); +// +// tripSeineDto.setOcean((ReferentialReference<OceanDto>) oceanRefs.getReferences(0)); +// +// tripSeineDto.setDepartureHarbour((ReferentialReference<HarbourDto>) harbourRefs.getReferences(0)); +// tripSeineDto.setLandingHarbour((ReferentialReference<HarbourDto>) harbourRefs.getReferences(1)); tripSeineDto.setErsId("ersid"); @@ -193,10 +187,10 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { tripSeineDto.setComment("Un commentaire"); - service.save(formDto.getForm()); + service.save(form.getObject()); - FormDto<TripSeineDto> formDtoReload = service.loadForm(TRIP_SEINE_ID_1); - TripSeineDto tripSeineDtoReload = formDtoReload.getForm(); + Form<TripSeineDto> formReload = service.loadForm(TRIP_SEINE_ID_1); + TripSeineDto tripSeineDtoReload = formReload.getObject(); Assert.assertEquals(tripSeineDto.getCaptain().getId(), tripSeineDtoReload.getCaptain().getId()); Assert.assertEquals(tripSeineDto.getObserver().getId(), tripSeineDtoReload.getObserver().getId()); @@ -220,11 +214,11 @@ public class TripSeineServiceRestTest extends AbstractServiceRestTest { service.delete(TRIP_SEINE_ID_1); - ReferenceSetDto<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(PROGRAM_ID); + DataReferenceSet<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(PROGRAM_ID); Assert.assertEquals(2, tripSeineByProgram.sizeReference()); - Assert.assertTrue(Iterables.isEmpty(IdDtos.filterById(tripSeineByProgram.getReference(), TRIP_SEINE_ID_1))); + Assert.assertTrue(Iterables.isEmpty(DataReference.filterById(tripSeineByProgram.getReferences(), TRIP_SEINE_ID_1))); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 6205763c8d0ba6344cce744bfed119c2ac30f2d5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:19:07 2015 +0100 Impact des modifications sur l'application web --- .../v1/ReferenceSetServiceController.java | 30 ------------------ .../v1/ReferentialServiceController.java | 36 +++++++++------------- .../ActivityLongLineEncouterServiceController.java | 4 +-- ...ctivityLongLineSensorUsedServiceController.java | 4 +-- .../ActivityLonglineServiceController.java | 14 ++++----- .../v1/longline/BranchlineServiceController.java | 4 +-- .../SetLonglineCatchServiceController.java | 4 +-- ...LonglineDetailCompositionServiceController.java | 4 +-- ...LonglineGlobalCompositionServiceController.java | 4 +-- .../v1/longline/SetLonglineServiceController.java | 10 +++--- .../v1/longline/TdrServiceController.java | 4 +-- .../TripLonglineGearUseServiceController.java | 4 +-- .../v1/longline/TripLonglineServiceController.java | 16 +++++----- ...tivitySeineObservedSystemServiceController.java | 4 +-- .../v1/seine/ActivitySeineServiceController.java | 14 ++++----- .../v1/seine/FloatingObjectServiceController.java | 14 ++++----- .../v1/seine/NonTargetCatchServiceController.java | 4 +-- .../v1/seine/NonTargetSampleServiceController.java | 4 +-- .../ObjectObservedSpeciesServiceController.java | 4 +-- .../ObjectSchoolEstimateServiceController.java | 4 +-- .../v1/seine/RouteServiceController.java | 14 ++++----- .../v1/seine/SchoolEstimateServiceController.java | 4 +-- .../v1/seine/SetSeineServiceController.java | 10 +++--- .../v1/seine/TargetCatchServiceController.java | 4 +-- .../v1/seine/TargetSampleServiceController.java | 4 +-- ...TransmittingBuoyOperationServiceController.java | 4 +-- .../seine/TripSeineGearUseServiceController.java | 4 +-- .../v1/seine/TripSeineServiceController.java | 16 +++++----- .../ObserveReferenceSetRequestInjector.java | 8 ++--- 29 files changed, 108 insertions(+), 146 deletions(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java deleted file mode 100644 index ee5c30c..0000000 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferenceSetServiceController.java +++ /dev/null @@ -1,30 +0,0 @@ -package fr.ird.observe.application.web.controller.v1; - -import fr.ird.observe.services.dto.reference.ObserveReference; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; -import fr.ird.observe.services.dto.reference.ObserveReferentialReference; -import fr.ird.observe.services.service.ReferenceSetService; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetResult; - -/** - * Created on 11/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferenceSetServiceController extends ObserveAuthenticatedServiceControllerSupport<ReferenceSetService> implements ReferenceSetService { - - public ReferenceSetServiceController() { - super(ReferenceSetService.class); - } - - @Override - public ObserveReferenceSetResult<ObserveReference> loadDataReferenceSets(ObserveReferenceSetRequest request) { - return service.loadDataReferenceSets(request); - } - - @Override - public ObserveReferenceSetResult<ObserveReferentialReference> loadReferentialReferenceSets(ObserveReferenceSetRequest request) { - return service.loadReferentialReferenceSets(request); - } - -} diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java index 464e0ee..8044135 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java @@ -22,13 +22,15 @@ package fr.ird.observe.application.web.controller.v1; * #L% */ +import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.DtoMap; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.service.DataNotFoundException; +import fr.ird.observe.services.service.ReferenceSetsRequest; import fr.ird.observe.services.service.ReferentialService; import java.util.Collection; @@ -46,18 +48,13 @@ public class ReferentialServiceController extends ObserveAuthenticatedServiceCon } @Override - public <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSetWithTechnicalInformations(Class<R> type) { - return service.getReferentialReferenceSetWithTechnicalInformations(type); + public <R extends ReferentialDto> ReferentialReferenceSet<R> getReferenceSet(Class<R> type, Date lastUpdateDate) { + return service.getReferenceSet(type, lastUpdateDate); } @Override - public <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSet(Class<R> type) { - return service.getReferentialReferenceSet(type); - } - - @Override - public <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSetIfModify(Class<R> type, Date updateAfter) { - return service.getReferentialReferenceSetIfModify(type, updateAfter); + public ImmutableSet<ReferentialReferenceSet<?>> getReferentialReferenceSets(ReferenceSetsRequest request) { + return service.getReferentialReferenceSets(request); } @Override @@ -66,22 +63,17 @@ public class ReferentialServiceController extends ObserveAuthenticatedServiceCon } @Override - public <R extends ReferentialDto> FormDto<R> loadToRead(Class<R> type, String id) throws DataNotFoundException { - return service.loadToRead(type, id); - } - - @Override - public <R extends ReferentialDto> ReferenceDto<R> loadReferenceToRead(Class<R> programDtoClass, String id) throws DataNotFoundException { - return service.loadReferenceToRead(programDtoClass, id); + public <R extends ReferentialDto> Form<R> loadForm(Class<R> type, String id) throws DataNotFoundException { + return service.loadForm(type, id); } @Override - public <R extends ReferentialDto> FormDto<R> loadToEdit(Class<R> type, String id) throws DataNotFoundException { - return service.loadToEdit(type, id); + public <R extends ReferentialDto> ReferentialReference<R> loadReference(Class<R> type, String id) throws DataNotFoundException { + return service.loadReference(type, id); } @Override - public <R extends ReferentialDto> FormDto<R> preCreate(Class<R> type) { + public <R extends ReferentialDto> Form<R> preCreate(Class<R> type) { return service.preCreate(type); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java index cda5cd4..21c67f2 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineEncouterServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.ActivityLongLineEncouterService; @@ -38,7 +38,7 @@ public class ActivityLongLineEncouterServiceController extends ObserveAuthentica } @Override - public FormDto<ActivityLonglineEncouterDto> loadForm(String activityLonglineId) { + public Form<ActivityLonglineEncouterDto> loadForm(String activityLonglineId) { return service.loadForm(activityLonglineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineSensorUsedServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineSensorUsedServiceController.java index 95bf586..e4908fa 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineSensorUsedServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLongLineSensorUsedServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.ActivityLongLineSensorUsedService; @@ -38,7 +38,7 @@ public class ActivityLongLineSensorUsedServiceController extends ObserveAuthenti } @Override - public FormDto<ActivityLonglineSensorUsedDto> loadForm(String activityLonglineId) { + public Form<ActivityLonglineSensorUsedDto> loadForm(String activityLonglineId) { return service.loadForm(activityLonglineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java index cd4466d..fdc0681 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/ActivityLonglineServiceController.java @@ -23,9 +23,9 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.service.longline.ActivityLonglineService; @@ -42,7 +42,7 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi } @Override - public ReferenceSetDto<ActivityLonglineDto> getActivityLonglineByTripLongline(String tripLonglineId) { + public DataReferenceSet<ActivityLonglineDto> getActivityLonglineByTripLongline(String tripLonglineId) { return service.getActivityLonglineByTripLongline(tripLonglineId); } @@ -52,7 +52,7 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi } @Override - public FormDto<ActivityLonglineDto> loadForm(String activityLonglineId) { + public Form<ActivityLonglineDto> loadForm(String activityLonglineId) { return service.loadForm(activityLonglineId); } @@ -62,7 +62,7 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi } @Override - public ReferenceDto<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId) { + public DataReference<ActivityLonglineDto> loadReferenceToRead(String activityLonglineId) { return service.loadReferenceToRead(activityLonglineId); } @@ -72,7 +72,7 @@ public class ActivityLonglineServiceController extends ObserveAuthenticatedServi } @Override - public FormDto<ActivityLonglineDto> preCreate(String tripLonglineId) { + public Form<ActivityLonglineDto> preCreate(String tripLonglineId) { return service.preCreate(tripLonglineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java index ce38864..ad6e4e5 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java @@ -1,7 +1,7 @@ package fr.ird.observe.application.web.controller.v1.longline; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.service.longline.BranchlineService; @@ -15,7 +15,7 @@ public class BranchlineServiceController extends ObserveAuthenticatedServiceCont } @Override - public FormDto<BranchlineDto> loadForm(String branchlineId) { + public Form<BranchlineDto> loadForm(String branchlineId) { return service.loadForm(branchlineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineCatchServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineCatchServiceController.java index 8ed0131..c8ff9a6 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineCatchServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineCatchServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.SetLonglineCatchService; @@ -38,7 +38,7 @@ public class SetLonglineCatchServiceController extends ObserveAuthenticatedServi } @Override - public FormDto<SetLonglineCatchDto> loadForm(String setLonglineId) { + public Form<SetLonglineCatchDto> loadForm(String setLonglineId) { return service.loadForm(setLonglineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineDetailCompositionServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineDetailCompositionServiceController.java index 15b43ec..28c513e 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineDetailCompositionServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineDetailCompositionServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.SetLonglineDetailCompositionService; @@ -38,7 +38,7 @@ public class SetLonglineDetailCompositionServiceController extends ObserveAuthen } @Override - public FormDto<SetLonglineDetailCompositionDto> loadForm(String setLonglineId) { + public Form<SetLonglineDetailCompositionDto> loadForm(String setLonglineId) { return service.loadForm(setLonglineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineGlobalCompositionServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineGlobalCompositionServiceController.java index 3fca427..e469ba9 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineGlobalCompositionServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineGlobalCompositionServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.SetLonglineGlobalCompositionService; @@ -38,7 +38,7 @@ public class SetLonglineGlobalCompositionServiceController extends ObserveAuthen } @Override - public FormDto<SetLonglineGlobalCompositionDto> loadForm(String setLonglineId) { + public Form<SetLonglineGlobalCompositionDto> loadForm(String setLonglineId) { return service.loadForm(setLonglineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java index 8230595..e409cbf 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/SetLonglineServiceController.java @@ -23,8 +23,8 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.SetLonglineService; @@ -39,7 +39,7 @@ public class SetLonglineServiceController extends ObserveAuthenticatedServiceCon } @Override - public FormDto<SetLonglineDto> loadForm(String setLonglineId) { + public Form<SetLonglineDto> loadForm(String setLonglineId) { return service.loadForm(setLonglineId); } @@ -49,7 +49,7 @@ public class SetLonglineServiceController extends ObserveAuthenticatedServiceCon } @Override - public ReferenceDto<SetLonglineDto> loadReferenceToRead(String setLonglineId) { + public DataReference<SetLonglineDto> loadReferenceToRead(String setLonglineId) { return service.loadReferenceToRead(setLonglineId); } @@ -59,7 +59,7 @@ public class SetLonglineServiceController extends ObserveAuthenticatedServiceCon } @Override - public FormDto<SetLonglineDto> preCreate(String activityLonglineId) { + public Form<SetLonglineDto> preCreate(String activityLonglineId) { return service.preCreate(activityLonglineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TdrServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TdrServiceController.java index b63e6cc..e698270 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TdrServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TdrServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.TdrService; @@ -38,7 +38,7 @@ public class TdrServiceController extends ObserveAuthenticatedServiceControllerS } @Override - public FormDto<SetLonglineTdrDto> loadForm(String setLonglineId) { + public Form<SetLonglineTdrDto> loadForm(String setLonglineId) { return service.loadForm(setLonglineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineGearUseServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineGearUseServiceController.java index 7d28e5c..86ffc23 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineGearUseServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineGearUseServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.TripLonglineGearUseService; @@ -38,7 +38,7 @@ public class TripLonglineGearUseServiceController extends ObserveAuthenticatedSe } @Override - public FormDto<TripLonglineGearUseDto> loadForm(String tripLonglineId) { + public Form<TripLonglineGearUseDto> loadForm(String tripLonglineId) { return service.loadForm(tripLonglineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java index 17808e3..08968a9 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/TripLonglineServiceController.java @@ -23,9 +23,9 @@ package fr.ird.observe.application.web.controller.v1.longline; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.result.SaveResultDto; @@ -43,12 +43,12 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override - public ReferenceSetDto<TripLonglineDto> getAllTripLongline() { + public DataReferenceSet<TripLonglineDto> getAllTripLongline() { return service.getAllTripLongline(); } @Override - public ReferenceSetDto<TripLonglineDto> getTripLonglineByProgram(String programId) { + public DataReferenceSet<TripLonglineDto> getTripLonglineByProgram(String programId) { return service.getTripLonglineByProgram(programId); } @@ -63,7 +63,7 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override - public FormDto<TripLonglineDto> loadForm(String tripLonglineId) { + public Form<TripLonglineDto> loadForm(String tripLonglineId) { return service.loadForm(tripLonglineId); } @@ -73,7 +73,7 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override - public ReferenceDto<TripLonglineDto> loadReferenceToRead(String tripLonglineId) { + public DataReference<TripLonglineDto> loadReferenceToRead(String tripLonglineId) { return service.loadReferenceToRead(tripLonglineId); } @@ -83,7 +83,7 @@ public class TripLonglineServiceController extends ObserveAuthenticatedServiceCo } @Override - public FormDto<TripLonglineDto> preCreate(String programId) { + public Form<TripLonglineDto> preCreate(String programId) { return service.preCreate(programId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java index ae3d1ad..69ff042 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineObservedSystemServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.service.seine.ActivitySeineObservedSystemService; @@ -38,7 +38,7 @@ public class ActivitySeineObservedSystemServiceController extends ObserveAuthent } @Override - public FormDto<ActivitySeineObservedSystemDto> loadForm(String activitySeineId) { + public Form<ActivitySeineObservedSystemDto> loadForm(String activitySeineId) { return service.loadForm(activitySeineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java index 70ad39d..7d97c12 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ActivitySeineServiceController.java @@ -23,9 +23,9 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.service.seine.ActivitySeineService; @@ -42,7 +42,7 @@ public class ActivitySeineServiceController extends ObserveAuthenticatedServiceC } @Override - public ReferenceSetDto<ActivitySeineDto> getActivitySeineByRoute(String routeId) { + public DataReferenceSet<ActivitySeineDto> getActivitySeineByRoute(String routeId) { return service.getActivitySeineByRoute(routeId); } @@ -52,7 +52,7 @@ public class ActivitySeineServiceController extends ObserveAuthenticatedServiceC } @Override - public FormDto<ActivitySeineDto> loadForm(String activitySeineId) { + public Form<ActivitySeineDto> loadForm(String activitySeineId) { return service.loadForm(activitySeineId); } @@ -62,7 +62,7 @@ public class ActivitySeineServiceController extends ObserveAuthenticatedServiceC } @Override - public ReferenceDto<ActivitySeineDto> loadReferenceToRead(String activitySeineId) { + public DataReference<ActivitySeineDto> loadReferenceToRead(String activitySeineId) { return service.loadReferenceToRead(activitySeineId); } @@ -72,7 +72,7 @@ public class ActivitySeineServiceController extends ObserveAuthenticatedServiceC } @Override - public FormDto<ActivitySeineDto> preCreate(String routeId) { + public Form<ActivitySeineDto> preCreate(String routeId) { return service.preCreate(routeId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java index 5f9dcad..7014276 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java @@ -23,9 +23,9 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.service.seine.FloatingObjectService; @@ -39,12 +39,12 @@ public class FloatingObjectServiceController extends ObserveAuthenticatedService } @Override - public ReferenceSetDto<FloatingObjectDto> getFloatingObjectByActivitySeine(String activitySeineId) { + public DataReferenceSet<FloatingObjectDto> getFloatingObjectByActivitySeine(String activitySeineId) { return service.getFloatingObjectByActivitySeine(activitySeineId); } @Override - public FormDto<FloatingObjectDto> loadForm(String floatingObjectId) { + public Form<FloatingObjectDto> loadForm(String floatingObjectId) { return service.loadForm(floatingObjectId); } @@ -54,7 +54,7 @@ public class FloatingObjectServiceController extends ObserveAuthenticatedService } @Override - public ReferenceDto<FloatingObjectDto> loadReferenceToRead(String floatingObjectId) { + public DataReference<FloatingObjectDto> loadReferenceToRead(String floatingObjectId) { return service.loadReferenceToRead(floatingObjectId); } @@ -64,7 +64,7 @@ public class FloatingObjectServiceController extends ObserveAuthenticatedService } @Override - public FormDto<FloatingObjectDto> preCreate(String activitySeineId) { + public Form<FloatingObjectDto> preCreate(String activitySeineId) { return service.preCreate(activitySeineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetCatchServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetCatchServiceController.java index 5741cfa..cd82162 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetCatchServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetCatchServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; import fr.ird.observe.services.service.seine.NonTargetCatchService; @@ -38,7 +38,7 @@ public class NonTargetCatchServiceController extends ObserveAuthenticatedService } @Override - public FormDto<SetSeineNonTargetCatchDto> loadForm(String setSeineId, String tripSeineId) { + public Form<SetSeineNonTargetCatchDto> loadForm(String setSeineId, String tripSeineId) { return service.loadForm(setSeineId, tripSeineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java index fda1ecd..3448203 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.service.seine.NonTargetSampleService; @@ -42,7 +42,7 @@ public class NonTargetSampleServiceController extends ObserveAuthenticatedServic } @Override - public FormDto<NonTargetSampleDto> loadForm(String setSeineId) { + public Form<NonTargetSampleDto> loadForm(String setSeineId) { return service.loadForm(setSeineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java index c12d497..a1a112d 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; import fr.ird.observe.services.service.seine.ObjectObservedSpeciesService; @@ -37,7 +37,7 @@ public class ObjectObservedSpeciesServiceController extends ObserveAuthenticated } @Override - public FormDto<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId) { + public Form<FloatingObjectObservedSpeciesDto> loadForm(String floatingObjectId) { return service.loadForm(floatingObjectId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java index 5a4410c..0754a74 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.service.seine.ObjectSchoolEstimateService; @@ -37,7 +37,7 @@ public class ObjectSchoolEstimateServiceController extends ObserveAuthenticatedS } @Override - public FormDto<FloatingObjectSchoolEstimateDto> loadForm(String floatingObjectId) { + public Form<FloatingObjectSchoolEstimateDto> loadForm(String floatingObjectId) { return service.loadForm(floatingObjectId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java index 2e1475b..807f599 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/RouteServiceController.java @@ -23,9 +23,9 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.RouteService; @@ -42,7 +42,7 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle } @Override - public ReferenceSetDto<RouteDto> getRouteByTripSeine(String tripSeineId) { + public DataReferenceSet<RouteDto> getRouteByTripSeine(String tripSeineId) { return service.getRouteByTripSeine(tripSeineId); } @@ -52,7 +52,7 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle } @Override - public FormDto<RouteDto> loadForm(String routeId) { + public Form<RouteDto> loadForm(String routeId) { return service.loadForm(routeId); } @@ -62,7 +62,7 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle } @Override - public ReferenceDto<RouteDto> loadReferenceToRead(String routeId) { + public DataReference<RouteDto> loadReferenceToRead(String routeId) { return service.loadReferenceToRead(routeId); } @@ -72,7 +72,7 @@ public class RouteServiceController extends ObserveAuthenticatedServiceControlle } @Override - public FormDto<RouteDto> preCreate(String tripSeineId) { + public Form<RouteDto> preCreate(String tripSeineId) { return service.preCreate(tripSeineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java index 8ddb8fb..bec5d5c 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.service.seine.SchoolEstimateService; @@ -37,7 +37,7 @@ public class SchoolEstimateServiceController extends ObserveAuthenticatedService } @Override - public FormDto<SetSeineSchoolEstimateDto> loadForm(String setSeineId, String tripSeineId) { + public Form<SetSeineSchoolEstimateDto> loadForm(String setSeineId, String tripSeineId) { return service.loadForm(setSeineId, tripSeineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java index abdf5c4..22b6633 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java @@ -23,8 +23,8 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.service.seine.SetSeineService; @@ -38,7 +38,7 @@ public class SetSeineServiceController extends ObserveAuthenticatedServiceContro } @Override - public FormDto<SetSeineDto> loadForm(String setSeineId) { + public Form<SetSeineDto> loadForm(String setSeineId) { return service.loadForm(setSeineId); } @@ -48,7 +48,7 @@ public class SetSeineServiceController extends ObserveAuthenticatedServiceContro } @Override - public ReferenceDto<SetSeineDto> loadReferenceToRead(String setSeineId) { + public DataReference<SetSeineDto> loadReferenceToRead(String setSeineId) { return service.loadReferenceToRead(setSeineId); } @@ -58,7 +58,7 @@ public class SetSeineServiceController extends ObserveAuthenticatedServiceContro } @Override - public FormDto<SetSeineDto> preCreate(String routeId, String activitySeineId) { + public Form<SetSeineDto> preCreate(String routeId, String activitySeineId) { return service.preCreate(routeId, activitySeineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetCatchServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetCatchServiceController.java index d49eb00..cf613f5 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetCatchServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetCatchServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; import fr.ird.observe.services.service.seine.TargetCatchService; @@ -38,7 +38,7 @@ public class TargetCatchServiceController extends ObserveAuthenticatedServiceCon } @Override - public FormDto<SetSeineTargetCatchDto> loadForm(String setSeineId, boolean discarded, String tripSeineId) { + public Form<SetSeineTargetCatchDto> loadForm(String setSeineId, boolean discarded, String tripSeineId) { return service.loadForm(setSeineId, discarded, tripSeineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java index f425ee5..d9128bd 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TargetSampleServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.service.seine.TargetSampleService; @@ -43,7 +43,7 @@ public class TargetSampleServiceController extends ObserveAuthenticatedServiceCo } @Override - public FormDto<TargetSampleDto> loadForm(String setSeineId, boolean discarded) { + public Form<TargetSampleDto> loadForm(String setSeineId, boolean discarded) { return service.loadForm(setSeineId, discarded); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java index fbc55e8..c9a861f 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.service.seine.TransmittingBuoyOperationService; @@ -37,7 +37,7 @@ public class TransmittingBuoyOperationServiceController extends ObserveAuthentic } @Override - public FormDto<FloatingObjectTransmittingBuoyDto> loadForm(String floatingObjectId) { + public Form<FloatingObjectTransmittingBuoyDto> loadForm(String floatingObjectId) { return service.loadForm(floatingObjectId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineGearUseServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineGearUseServiceController.java index e31c6ff..0d4e1c5 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineGearUseServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineGearUseServiceController.java @@ -23,7 +23,7 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; import fr.ird.observe.services.service.seine.TripSeineGearUseService; @@ -38,7 +38,7 @@ public class TripSeineGearUseServiceController extends ObserveAuthenticatedServi } @Override - public FormDto<TripSeineGearUseDto> loadForm(String tripSeineId) { + public Form<TripSeineGearUseDto> loadForm(String tripSeineId) { return service.loadForm(tripSeineId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java index b30bfb6..a7be8d0 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TripSeineServiceController.java @@ -23,9 +23,9 @@ package fr.ird.observe.application.web.controller.v1.seine; */ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -43,12 +43,12 @@ public class TripSeineServiceController extends ObserveAuthenticatedServiceContr } @Override - public ReferenceSetDto<TripSeineDto> getAllTripSeine() { + public DataReferenceSet<TripSeineDto> getAllTripSeine() { return service.getAllTripSeine(); } @Override - public ReferenceSetDto<TripSeineDto> getTripSeineByProgram(String programId) { + public DataReferenceSet<TripSeineDto> getTripSeineByProgram(String programId) { return service.getTripSeineByProgram(programId); } @@ -63,7 +63,7 @@ public class TripSeineServiceController extends ObserveAuthenticatedServiceContr } @Override - public FormDto<TripSeineDto> loadForm(String tripSeineId) { + public Form<TripSeineDto> loadForm(String tripSeineId) { return service.loadForm(tripSeineId); } @@ -73,7 +73,7 @@ public class TripSeineServiceController extends ObserveAuthenticatedServiceContr } @Override - public ReferenceDto<TripSeineDto> loadReferenceToRead(String tripSeineId) { + public DataReference<TripSeineDto> loadReferenceToRead(String tripSeineId) { return service.loadReferenceToRead(tripSeineId); } @@ -83,7 +83,7 @@ public class TripSeineServiceController extends ObserveAuthenticatedServiceContr } @Override - public FormDto<TripSeineDto> preCreate(String programId) { + public Form<TripSeineDto> preCreate(String programId) { return service.preCreate(programId); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveReferenceSetRequestInjector.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveReferenceSetRequestInjector.java index 61edb8e..a5e6447 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveReferenceSetRequestInjector.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/injector/ObserveReferenceSetRequestInjector.java @@ -2,7 +2,7 @@ package fr.ird.observe.application.web.injector; import com.google.common.base.Preconditions; import com.google.gson.Gson; -import fr.ird.observe.services.dto.reference.ObserveReferenceSetRequest; +import fr.ird.observe.services.service.ReferenceSetsRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.debux.webmotion.server.call.Call; @@ -30,14 +30,14 @@ public class ObserveReferenceSetRequestInjector implements ExecutorParametersInj @Override public Object getValue(Mapping mapping, Call call, String name, Class<?> type, Type generic) { - ObserveReferenceSetRequest referenceSetRequest = null; - if (type.equals(ObserveReferenceSetRequest.class)) { + ReferenceSetsRequest referenceSetRequest = null; + if (type.equals(ReferenceSetsRequest.class)) { Call.ParameterTree parameterTree = call.getParameterTree().getObject().get(name); Preconditions.checkNotNull(parameterTree, "Le paramètre " + name + " n'as pas été trouvé, recompiler (parameter)!"); String gsonContent = ((String[]) parameterTree.getValue())[0]; - referenceSetRequest = gson.fromJson(gsonContent, ObserveReferenceSetRequest.class); + referenceSetRequest = gson.fromJson(gsonContent, ReferenceSetsRequest.class); if (log.isInfoEnabled()) { log.info("Inject referenceSetRequest: " + referenceSetRequest); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 4d874c511a5292ffa19434b42b25cb5c399665e2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 15:19:58 2015 +0100 Impact des modifications sur l'application swing + début de revue de code sur la partie gestion de l'arbre de navigation, reste encore pas mal de boulot --- .../observe/ObserveSwingApplicationContext.java | 40 +- .../fr/ird/observe/db/ObserveSwingDataSource.java | 99 ++-- .../java/fr/ird/observe/ui/DecoratorService.java | 388 ++++++++------- .../src/main/java/fr/ird/observe/ui/UIHelper.java | 10 +- .../ird/observe/ui/actions/ShowConfigAction.java | 42 +- .../shared/MoveActivityLonglinesUIAction.java | 15 +- .../actions/shared/MoveActivitySeinesUIAction.java | 11 +- .../ui/actions/shared/MoveRoutesUIAction.java | 17 +- .../actions/shared/MoveTripLonglinesUIAction.java | 4 +- .../ui/actions/shared/MoveTripSeinesUIAction.java | 4 +- .../ui/actions/shared/MoveTripsUIAction.java | 38 +- .../observe/ui/actions/shared/ReOpenUIAction.java | 5 +- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 33 +- .../ui/admin/consolidate/ConsolidateUIHandler.java | 14 +- .../ird/observe/ui/admin/export/ExportModel.java | 35 +- .../observe/ui/admin/export/ExportUIHandler.java | 18 +- .../fr/ird/observe/ui/admin/export/TripEntry.java | 13 +- .../ui/admin/export/TripToExportTableModel.java | 13 +- .../observe/ui/admin/report/ReportUIHandler.java | 32 +- .../validate/ValidateEntityListCellRenderer.java | 21 +- .../observe/ui/admin/validate/ValidateModel.java | 11 +- .../ui/admin/validate/ValidateUIHandler.java | 26 +- .../ird/observe/ui/content/ContentUIHandler.java | 525 +++++++++++++-------- .../observe/ui/content/ContentUIInitializer.java | 401 ++++++++-------- .../fr/ird/observe/ui/content/ContentUIModel.java | 118 +++-- .../ui/content/impl/longline/BranchlineUI.jaxx | 16 +- .../LonglineDetailCompositionUIHandler.java | 13 +- .../impl/longline/LonglineGlobalCompositionUI.css | 2 +- .../impl/longline/LonglineGlobalCompositionUI.jaxx | 5 +- .../LonglineGlobalCompositionUIHandler.java | 24 +- .../ui/content/impl/longline/SetLonglineUI.jaxx | 10 +- .../impl/longline/SetLonglineUIHandler.java | 22 +- .../impl/seine/ActivitySeineObservedSystemUI.css | 2 +- .../impl/seine/ActivitySeineObservedSystemUI.jaxx | 6 +- .../ActivitySeineObservedSystemUIHandler.java | 8 +- .../FloatingObjectTransmittingBuoyOperationUI.jaxx | 15 +- ...ngObjectTransmittingBuoyOperationUIHandler.java | 24 +- .../ui/content/impl/seine/FloatingObjectUI.jaxx | 8 +- .../impl/seine/FloatingObjectUIHandler.java | 21 +- .../observe/ui/content/impl/seine/SetSeineUI.jaxx | 4 +- .../ui/content/impl/seine/SetSeineUIHandler.java | 32 +- .../ird/observe/ui/content/list/ContentListUI.css | 2 +- .../ird/observe/ui/content/list/ContentListUI.jaxx | 15 +- .../ui/content/list/ContentListUIHandler.java | 23 +- .../ui/content/list/ContentListUIModel.java | 21 +- .../impl/longline/ActivityLonglinesUIHandler.java | 20 +- .../list/impl/longline/TripLonglinesUI.jaxx | 1 - .../list/impl/longline/TripLonglinesUIHandler.java | 18 +- .../list/impl/longline/TripLonglinesUIModel.java | 4 +- .../list/impl/seine/ActivitySeinesUIHandler.java | 18 +- .../content/list/impl/seine/RoutesUIHandler.java | 18 +- .../ui/content/list/impl/seine/TripSeinesUI.jaxx | 1 - .../list/impl/seine/TripSeinesUIHandler.java | 18 +- .../content/list/impl/seine/TripSeinesUIModel.java | 9 + .../ui/content/open/ContentOpenableUIHandler.java | 2 +- .../open/impl/longline/ActivityLonglineUI.jaxx | 6 +- .../impl/longline/ActivityLonglineUIHandler.java | 12 +- .../impl/longline/ActivityLonglineUIModel.java | 4 +- .../content/open/impl/longline/TripLonglineUI.jaxx | 18 +- .../open/impl/longline/TripLonglineUIHandler.java | 114 +++-- .../content/open/impl/seine/ActivitySeineUI.jaxx | 18 +- .../open/impl/seine/ActivitySeineUIHandler.java | 21 +- .../open/impl/seine/ActivitySeineUIModel.java | 4 +- .../ui/content/open/impl/seine/RouteUIHandler.java | 21 +- .../ui/content/open/impl/seine/TripSeineUI.jaxx | 16 +- .../open/impl/seine/TripSeineUIHandler.java | 112 +++-- .../observe/ui/content/ref/ContentReferenceUI.css | 2 +- .../observe/ui/content/ref/ContentReferenceUI.jaxx | 6 +- .../ui/content/ref/ContentReferenceUIHandler.java | 151 ++---- .../ui/content/ref/impl/GearCaracteristicUI.jaxx | 4 +- .../fr/ird/observe/ui/content/ref/impl/GearUI.css | 2 +- .../fr/ird/observe/ui/content/ref/impl/GearUI.jaxx | 6 +- .../observe/ui/content/ref/impl/GearUIHandler.java | 6 +- .../ird/observe/ui/content/ref/impl/HarbourUI.jaxx | 4 +- .../content/ref/impl/LengthWeightParameterUI.jaxx | 8 +- .../ref/impl/LengthWeightParameterUIHandler.java | 4 +- .../observe/ui/content/ref/impl/OrganismUI.jaxx | 4 +- .../ird/observe/ui/content/ref/impl/PersonUI.jaxx | 4 +- .../ird/observe/ui/content/ref/impl/ProgramUI.jaxx | 6 +- .../ui/content/ref/impl/ProgramUIHandler.java | 4 +- .../observe/ui/content/ref/impl/SpeciesListUI.css | 2 +- .../observe/ui/content/ref/impl/SpeciesListUI.jaxx | 8 +- .../ui/content/ref/impl/SpeciesListUIHandler.java | 4 +- .../ird/observe/ui/content/ref/impl/SpeciesUI.css | 2 +- .../ird/observe/ui/content/ref/impl/SpeciesUI.jaxx | 10 +- .../ui/content/ref/impl/SpeciesUIHandler.java | 4 +- .../ird/observe/ui/content/ref/impl/VesselUI.jaxx | 8 +- .../ui/content/ref/impl/VesselUIHandler.java | 4 +- .../content/ref/impl/seine/WeightCategoryUI.jaxx | 4 +- .../ui/content/table/ContentTableUIHandler.java | 18 +- .../table/impl/longline/BaitsCompositionUI.jaxx | 6 +- .../impl/longline/BranchlinesCompositionUI.jaxx | 6 +- .../table/impl/longline/CatchLonglineUI.css | 2 +- .../table/impl/longline/CatchLonglineUI.jaxx | 38 +- .../impl/longline/CatchLonglineUIHandler.java | 386 ++++++++------- .../content/table/impl/longline/EncounterUI.jaxx | 6 +- .../table/impl/longline/EncounterUIHandler.java | 8 +- .../impl/longline/FloatlinesCompositionUI.jaxx | 4 +- .../GearUseFeaturesLonglineTableModel.java | 4 +- .../impl/longline/GearUseFeaturesLonglineUI.jaxx | 4 +- .../longline/GearUseFeaturesLonglineUIHandler.java | 241 +++++----- ...rUseFeaturesMeasurementLonglinesTableModel.java | 4 +- .../table/impl/longline/HooksCompositionUI.jaxx | 6 +- .../impl/longline/LonglinePositionHelper.java | 111 ++--- .../content/table/impl/longline/SensorUsedUI.jaxx | 8 +- .../table/impl/longline/SensorUsedUIHandler.java | 8 +- .../impl/longline/SizeMeasuresTableModel.java | 4 +- .../ui/content/table/impl/longline/TdrUI.css | 2 +- .../ui/content/table/impl/longline/TdrUI.jaxx | 21 +- .../content/table/impl/longline/TdrUIHandler.java | 16 +- .../impl/longline/WeightMeasuresTableModel.java | 4 +- .../seine/GearUseFeatureMeasurementCellEditor.java | 8 +- .../GearUseFeatureMeasurementCellRenderer.java | 8 +- ...GearUseFeaturesMeasurementSeinesTableModel.java | 4 +- .../impl/seine/GearUseFeaturesSeineTableModel.java | 4 +- .../table/impl/seine/GearUseFeaturesSeineUI.jaxx | 5 +- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 243 +++++----- .../content/table/impl/seine/NonTargetCatchUI.jaxx | 9 +- .../table/impl/seine/NonTargetCatchUIHandler.java | 31 +- .../table/impl/seine/NonTargetCatchUIModel.java | 22 +- .../table/impl/seine/NonTargetSampleUI.jaxx | 9 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 16 +- .../table/impl/seine/ObjectObservedSpeciesUI.jaxx | 7 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 8 +- .../table/impl/seine/ObjectSchoolEstimateUI.jaxx | 5 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 8 +- .../content/table/impl/seine/SchoolEstimateUI.jaxx | 5 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 23 +- .../ui/content/table/impl/seine/TargetCatchUI.jaxx | 7 +- .../table/impl/seine/TargetCatchUIHandler.java | 32 +- .../table/impl/seine/TargetDiscardCatchUI.jaxx | 9 +- .../impl/seine/TargetDiscardCatchUIHandler.java | 104 ++-- .../content/table/impl/seine/TargetSampleUI.jaxx | 5 +- .../table/impl/seine/TargetSampleUIHandler.java | 12 +- .../ird/observe/ui/storage/ObstunaAdminAction.java | 4 +- .../ui/storage/StorageBackupUILauncher.java | 8 +- .../ird/observe/ui/storage/StorageUIHandler.java | 10 +- .../ui/storage/tabs/DataSelectionModel.java | 81 ++-- .../ui/tree/AbstractObserveTreeCellRenderer.java | 29 +- ...pport.java => AbstrctReferenceNodeSupport.java} | 63 +-- .../ird/observe/ui/tree/ActivityLonglineNode.java | 10 +- .../fr/ird/observe/ui/tree/ActivitySeineNode.java | 15 +- ...eSupport.java => DataReferenceNodeSupport.java} | 79 +--- .../ui/tree/DataSelectionTreeCellRenderer.java | 16 +- .../ui/tree/DataSelectionTreeSelectionModel.java | 35 +- .../observe/ui/tree/FloatingObjectSeineNode.java | 13 +- .../fr/ird/observe/ui/tree/ObserveTreeBridge.java | 2 +- .../fr/ird/observe/ui/tree/ObserveTreeHelper.java | 131 +++-- .../ird/observe/ui/tree/ProgramLonglineNode.java | 10 +- .../fr/ird/observe/ui/tree/ProgramSeineNode.java | 10 +- .../ui/tree/ReferentialReferenceNodeSupport.java | 84 ++++ .../fr/ird/observe/ui/tree/RouteSeineNode.java | 10 +- .../fr/ird/observe/ui/tree/SetLonglineNode.java | 10 +- .../java/fr/ird/observe/ui/tree/SetSeineNode.java | 10 +- .../fr/ird/observe/ui/tree/TripLonglineNode.java | 10 +- .../java/fr/ird/observe/ui/tree/TripSeineNode.java | 10 +- .../loadors/AbstractDataReferenceChildLoador.java | 17 + .../loadors/AbstractReferenceDtoChildLoador.java | 17 - .../loadors/ActivityLonglineNodeChildLoador.java | 8 +- .../loadors/ActivityLonglinesNodeChildLoador.java | 19 +- .../tree/loadors/ActivitySeineNodeChildLoador.java | 22 +- .../loadors/ActivitySeinesNodeChildLoador.java | 20 +- .../loadors/FloatingObjectNodeChildLoador.java | 2 +- .../loadors/ProgramLonglineNodeChildLoador.java | 24 +- .../tree/loadors/ProgramSeineNodeChildLoador.java | 24 +- .../loadors/ReferenceCommonNodeChildLoador.java | 6 +- .../loadors/ReferenceLonglineNodeChildLoador.java | 6 +- .../loadors/ReferenceSeineNodeChildLoador.java | 6 +- .../ui/tree/loadors/RootNodeChildLoador.java | 21 +- .../ui/tree/loadors/RoutesNodeChildLoador.java | 19 +- .../MoveActivityLonglineNodeMenuPopulator.java | 5 +- .../menu/MoveActivitySeineNodeMenuPopulator.java | 5 +- .../ui/tree/menu/MoveRouteNodeMenuPopulator.java | 5 +- .../ui/tree/menu/MoveTripNodeMenuPopulator.java | 5 +- .../ird/observe/ui/util/DecoratedNodeEntity.java | 5 +- .../ui/util/decorator/DataReferenceDecorator.java | 45 ++ .../ui/util/decorator/ObserveDecorator.java | 14 +- ...tor.java => ReferentialReferenceDecorator.java} | 14 +- .../dto/AbstractEspeceFieldDtoValidator.java | 6 +- .../dto/SetLonglineUniqueHomeIdDtoValidator.java | 8 +- .../dto/SetLonglineUniqueNumberDtoValidator.java | 4 +- 181 files changed, 2775 insertions(+), 2611 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java index 16ac1f0..73c9c02 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveSwingApplicationContext.java @@ -38,6 +38,8 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopia import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.ReferenceBinderEngine; +import fr.ird.observe.services.dto.reference.ReferenceBinderEngineSupplier; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; @@ -200,6 +202,8 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im public static final JAXXContextEntryDef<List<String>> NODE_TO_RESELECT_ENTRY_DEF = UIHelper.newListContextEntryDef("nodeToReselect"); + protected final ReferenceBinderEngine referenceBinderEngine = new ReferenceBinderEngineSupplier().get(); + public ObserveSwingApplicationConfig getConfig() { return CONFIG_ENTRY_DEF.getContextValue(this); } @@ -247,6 +251,11 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im return dataSource; } + public ReferenceBinderEngine getReferenceBinderEngine() { + + return referenceBinderEngine; + } + protected List<ObserveSwingDataSource> getAllDataSource() { List<ObserveSwingDataSource> dataSources = SWING_DATA_SOURCE_LIST_ENTRY_DEF.getContextValue(this); if (dataSources == null) { @@ -352,37 +361,6 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im return service; } - public final ObserveSwingBinderService getBinderService() { - ObserveSwingBinderService service = BINDER_SERVICE_ENTRY_DEF.getContextValue(this); - if (service == null) { - service = new ObserveSwingBinderService(); - BINDER_SERVICE_ENTRY_DEF.setContextValue(this, service); - } - return service; - } - - public final GPSService getGPSService() { - GPSService service = - GPS_SERVICE_ENTRY_DEF.getContextValue(this); - if (service == null) { - service = new GPSService(); - GPS_SERVICE_ENTRY_DEF.setContextValue(this, service); - } - return service; - } - - //FIXME -// public ConsolidateDataService getConsolidateDataService() { -// -// ConsolidateDataService service = -// CONSOLIDATE_DATA_SERVICE_ENTRY_DEF.getContextValue(this); -// if (service == null) { -// service = new ConsolidateDataService(); -// CONSOLIDATE_DATA_SERVICE_ENTRY_DEF.setContextValue(this, service); -// } -// return service; -// } - public final DataContext getDataContext() { DataContext result = DATA_CONTEXT_ENTRY_DEF.getContextValue(this); if (result == null) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java index 6d1312d..738ede9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/ObserveSwingDataSource.java @@ -2,6 +2,7 @@ package fr.ird.observe.db; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableList; +import com.google.common.collect.ImmutableMap; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.event.ObserveSwingDataSourceEvent; @@ -19,16 +20,18 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; -import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.ObserveDbUserDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ObserveReferentialCache; -import fr.ird.observe.services.service.ReferenceSetService; +import fr.ird.observe.services.service.ReferentialService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; @@ -260,12 +263,20 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } - public void loadReferenceSets(FormDto<?> formDto) { + public ImmutableMap<Class<?>, ReferentialReferenceSet<?>> updateReferentialReferenceSetsCache(String referentialReferenceSetsRequestName) { + + ReferentialService referentialService = newService(ReferentialService.class); + return referentialCache.loadReferenceSets(referentialService, referentialReferenceSetsRequestName); + + } + + public <D extends ReferentialDto> Set<ReferentialReference<D>> getReferentialReferences(Class<D> type) { checkIsOpen(); - ReferenceSetService referenceSetService = newService(ReferenceSetService.class); - referentialCache.loadReferenceSets(referenceSetService, formDto); + ReferentialService referentialService = newService(ReferentialService.class); + ReferentialReferenceSet<D> referentialReferenceSet = referentialCache.getReferentialReferenceSet(referentialService, type); + return referentialReferenceSet.getReferences(); } @@ -283,41 +294,6 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return service; } - protected ObserveServiceInitializer getObserveServiceInitializer() { - - ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); - - ObserveSwingApplicationConfig config = context.getConfig(); - - Locale locale = config.getLocale(); - - File tmpDirectory = config.getTmpDirectory(); - - ReferentialLocale referentialLocale = ReferentialLocale.valueOf(locale); - - ObserveDataSourceConfigurationAndConnection configurationAndConnection = new ObserveDataSourceConfigurationAndConnection(configuration, connection); - - ObserveSpeciesListConfiguration speciesListConfiguration = new ObserveSpeciesListConfiguration(); - speciesListConfiguration.setSpeciesListLonglineCatchId(config.getSpeciesListLonglineCatchId()); - speciesListConfiguration.setSpeciesListLonglineDepredatorId(config.getSpeciesListLonglineDepredatorId()); - speciesListConfiguration.setSpeciesListLonglineEncounterId(config.getSpeciesListLonglineEncounterId()); - speciesListConfiguration.setSpeciesListSeineNonTargetCatchId(config.getSpeciesListSeineNonTargetCatchId()); - speciesListConfiguration.setSpeciesListSeineObjectObservedSpeciesId(config.getSpeciesListSeineObjectObservedSpeciesId()); - speciesListConfiguration.setSpeciesListSeineObjectSchoolEstimateId(config.getSpeciesListSeineObjectSchoolEstimateId()); - speciesListConfiguration.setSpeciesListSeineSchoolEstimateId(config.getSpeciesListSeineSchoolEstimateId()); - speciesListConfiguration.setSpeciesListSeineTargetCatchId(config.getSpeciesListSeineTargetCatchId()); - - ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( - locale, - referentialLocale, - tmpDirectory, - speciesListConfiguration, - configurationAndConnection); - - return observeServiceInitializer; - } - - public ObserveDataSourceInformation checkCanConnect() throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { checkIsNotAlreadyOpen(); @@ -342,11 +318,14 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return configuration instanceof ObserveDataSourceConfigurationRest; } - public void addObserveSwingDataSourceListener(ObserveSwingDataSourceListener listener) { listenerList.add(ObserveSwingDataSourceListener.class, listener); } + public ObserveSwingDataSourceListener[] getObserveSwingDataSourceListener() { + return listenerList.getListeners(ObserveSwingDataSourceListener.class); + } + // public boolean containsObserveSwingDataSourceListener(ObserveSwingDataSourceListener listener) { // ObserveSwingDataSourceListener[] listeners = getObserveSwingDataSourceListener(); // for (ObserveSwingDataSourceListener l : listeners) { @@ -357,10 +336,6 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements // return false; // } - public ObserveSwingDataSourceListener[] getObserveSwingDataSourceListener() { - return listenerList.getListeners(ObserveSwingDataSourceListener.class); - } - public void removeObserveSwingDataSourceListener(ObserveSwingDataSourceListener listener) { if (log.isInfoEnabled()) { log.info("removing listener " + listener); @@ -386,6 +361,40 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } } + protected ObserveServiceInitializer getObserveServiceInitializer() { + + ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); + + ObserveSwingApplicationConfig config = context.getConfig(); + + Locale locale = config.getLocale(); + + File tmpDirectory = config.getTmpDirectory(); + + ReferentialLocale referentialLocale = ReferentialLocale.valueOf(locale); + + ObserveDataSourceConfigurationAndConnection configurationAndConnection = new ObserveDataSourceConfigurationAndConnection(configuration, connection); + + ObserveSpeciesListConfiguration speciesListConfiguration = new ObserveSpeciesListConfiguration(); + speciesListConfiguration.setSpeciesListLonglineCatchId(config.getSpeciesListLonglineCatchId()); + speciesListConfiguration.setSpeciesListLonglineDepredatorId(config.getSpeciesListLonglineDepredatorId()); + speciesListConfiguration.setSpeciesListLonglineEncounterId(config.getSpeciesListLonglineEncounterId()); + speciesListConfiguration.setSpeciesListSeineNonTargetCatchId(config.getSpeciesListSeineNonTargetCatchId()); + speciesListConfiguration.setSpeciesListSeineObjectObservedSpeciesId(config.getSpeciesListSeineObjectObservedSpeciesId()); + speciesListConfiguration.setSpeciesListSeineObjectSchoolEstimateId(config.getSpeciesListSeineObjectSchoolEstimateId()); + speciesListConfiguration.setSpeciesListSeineSchoolEstimateId(config.getSpeciesListSeineSchoolEstimateId()); + speciesListConfiguration.setSpeciesListSeineTargetCatchId(config.getSpeciesListSeineTargetCatchId()); + + ObserveServiceInitializer observeServiceInitializer = ObserveServiceInitializer.create( + locale, + referentialLocale, + tmpDirectory, + speciesListConfiguration, + configurationAndConnection); + + return observeServiceInitializer; + } + protected void fireOpening() { ObserveSwingDataSourceEvent evt = new ObserveSwingDataSourceEvent(this); for (ObserveSwingDataSourceListener listener : getObserveSwingDataSourceListener()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java index 172ea36..db34b07 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java @@ -24,8 +24,9 @@ package fr.ird.observe.ui; import com.google.common.collect.Lists; import fr.ird.observe.entities.longline.SectionTemplate; import fr.ird.observe.services.dto.AbstractObserveDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.BasketDto; @@ -48,7 +49,7 @@ import fr.ird.observe.services.dto.referential.OrganismDto; import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.SpeciesGroupDto; @@ -109,12 +110,13 @@ import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TargetLengthDto; import fr.ird.observe.services.dto.seine.TransmittingBuoyDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import fr.ird.observe.ui.util.decorator.LengthWeightParameterDecorator; import fr.ird.observe.ui.util.decorator.NonTargetCatchDecorator; import fr.ird.observe.ui.util.decorator.NonTargetLengthDecorator; import fr.ird.observe.ui.util.decorator.ObjectObservedSpeciesDecorator; import fr.ird.observe.ui.util.decorator.ObserveDecorator; -import fr.ird.observe.ui.util.decorator.ReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.ui.util.decorator.SpeciesDecorator; import fr.ird.observe.ui.util.decorator.TargetCatchDecorator; import fr.ird.observe.ui.util.decorator.TripLonglineDecorator; @@ -238,16 +240,8 @@ public class DecoratorService extends DecoratorProvider { } public String decorate(Object o) { - //FIXME - if (o == null) { - return null; - } - Decorator<Object> decorator = getDecorator(o); - String result = ""; - if (decorator != null) { - result = decorator.toString(o); - } - return result; + return decorate(null, o); + } public String decorate(String context, Object o) { @@ -421,140 +415,143 @@ public class DecoratorService extends DecoratorProvider { Locale locale = referentialLocale.getLocale(); String libelle = referentialLocale.getLibelle(); - registerReferenceDtoDecorator(ProgramDto.class, - "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${" + libelle + "}$s", - "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${label}$s"); - registerReferenceDtoDecorator(RouteDto.class, "${date}$td/%1$tm/%1$tY"); - registerReferenceDtoDecorator(ActivitySeineDto.class, - "${time}$tH:%1$tM##${vesselActivitySeine/label}$s", - "${time}$tH:%1$tM##${vesselActivitySeine}$s", - " - "); - registerObserveDecorator(ActivitySeineStubDto.class, "${time}$tH:%1$tM"); - - registerReferenceDtoDecorator(ActivityLonglineDto.class, - "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline/label}$s", - "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline}$s", - " - "); - registerReferenceDtoDecorator(PersonDto.class, "${lastName}$s##${firstName}$s"); - registerReferentialReferenceDtoDecorator(SexDto.class, libelle); + + registerReferentialAndReferentialReferenceDecorator(ProgramDto.class, + "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${" + libelle + "}$s", + "[${gearTypePrefix}$s] " + t("observe.common.program") + " ${label}$s"); + registerReferentialAndReferentialReferenceDecorator(PersonDto.class, "${lastName}$s##${firstName}$s"); + registerReferentialAndReferentialReferenceDecorator(VesselSizeCategoryDto.class, "${code}$s##${gaugeLabel}$s##${capacityLabel}$s"); + registerReferentialAndReferentialReferenceDecorator(WindDto.class, "${code}$s##${label}$s##${speedRange}$s"); + + registerReferentialAndReferentialReferenceDecorator(SensorBrandDto.class, "${code}$s##${brandName}$s"); + registerReferentialAndReferentialReferenceDecorator(HarbourDto.class, "${code}$s##${name}$s##${locode}$s"); + // Species decorator + String oldCode = l(locale, "observe.common.oldCode3L"); + registerDecorator(new SpeciesDecorator(oldCode)); + registerReferentialReferenceDecorator(SpeciesDto.class, + "${faoCode}$s##${scientificLabel}$s##" + oldCode + " ${homeId}$s"); + // LengthWeightParameter decorator + registerDecorator(new LengthWeightParameterDecorator()); + registerReferentialReferenceDecorator(LengthWeightParameterDto.class, + "${sex/label}$s##${ocean/label}$s##${species/scientificLabel}$s##" + t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s"); + + registerDefaultReferentialAndReferentialReferenceDecorator(SexDto.class, libelle); //FIXME Use startDate - endDate - registerReferentialReferenceDtoDecorator(FpaZoneDto.class, libelle); - registerReferentialReferenceDtoDecorator(OceanDto.class, libelle); - registerReferentialReferenceDtoDecorator(DetectionModeDto.class, libelle); - registerReferentialReferenceDtoDecorator(VesselDto.class, libelle); - registerReferentialReferenceDtoDecorator(CountryDto.class, libelle); - registerReferenceDtoDecorator(VesselSizeCategoryDto.class, "${code}$s##${gaugeLabel}$s##${capacityLabel}$s"); - registerReferentialReferenceDtoDecorator(VesselTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(VesselActivitySeineDto.class, libelle); - registerReferentialReferenceDtoDecorator(SurroundingActivityDto.class, libelle); - registerReferentialReferenceDtoDecorator(ObservedSystemDto.class, libelle); - registerReferenceDtoDecorator(WindDto.class, "${code}$s##${label}$s##${speedRange}$s"); - registerReferenceDtoDecorator(FloatingObjectDto.class, "DCP ${objectType/" + libelle + "}$s", "DCP ${objectType}$s", " - "); + registerDefaultReferentialAndReferentialReferenceDecorator(FpaZoneDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(OceanDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(DetectionModeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(VesselDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(CountryDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(VesselTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(VesselActivitySeineDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SurroundingActivityDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ObservedSystemDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ObjectFateDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(OrganismDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ObjectTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ObjectOperationDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesStatusDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(TransmittingBuoyTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(TransmittingBuoyOperationDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForNullSetDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForNoFishingDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(WeightCategoryDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ReasonForDiscardDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesFateDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesGroupDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SpeciesListDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(BaitHaulingStatusDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(BaitSettingStatusDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(BaitTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(CatchFateLonglineDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(EncounterTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(HealthnessDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(HookPositionDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(HookSizeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(HookTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ItemVerticalPositionDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(ItemHorizontalPositionDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(LightsticksColorDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(LightsticksTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(LineTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(MaturityStatusDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(MitigationTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SensorDataFormatDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SensorTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SettingShapeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(SizeMeasureTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(StomacFullnessDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(TripTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(VesselActivityLonglineDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(WeightMeasureTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(GearCaracteristicTypeDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(GearCaracteristicDto.class, libelle); + registerDefaultReferentialAndReferentialReferenceDecorator(GearDto.class, libelle); + + // Data decorators + + registerDataAndDataReferenceDecorator(RouteDto.class, "${date}$td/%1$tm/%1$tY"); + registerDataAndDataReferenceDecorator(ActivitySeineDto.class, + "${time}$tH:%1$tM##${vesselActivitySeine/label}$s", + "${time}$tH:%1$tM##${vesselActivitySeine}$s", + " - "); + registerDataAndDataReferenceDecorator(ActivitySeineStubDto.class, "${time}$tH:%1$tM"); + + registerDataAndDataReferenceDecorator(ActivityLonglineDto.class, + "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline/label}$s", + "${timeStamp}$td/%1$tm/%1$tY %1$tH:%1$tM##${vesselActivityLongline}$s", + " - "); //FIXME Remove this - registerReferenceDtoDecorator(SetSeineDto.class, t("observe.common.setSeine")); + registerDataAndDataReferenceDecorator(SetSeineDto.class, t("observe.common.setSeine")); //FIXME Remove this - registerReferenceDtoDecorator(SetLonglineDto.class, t("observe.common.setLongline")); - registerReferentialReferenceDtoDecorator(ObjectFateDto.class, libelle); - registerReferentialReferenceDtoDecorator(OrganismDto.class, libelle); - registerReferentialReferenceDtoDecorator(ObjectTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(ObjectOperationDto.class, libelle); - registerReferentialReferenceDtoDecorator(SpeciesStatusDto.class, libelle); - registerReferentialReferenceDtoDecorator(TransmittingBuoyTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(TransmittingBuoyOperationDto.class, libelle); - registerReferentialReferenceDtoDecorator(ReasonForNullSetDto.class, libelle); - registerReferentialReferenceDtoDecorator(ReasonForNoFishingDto.class, libelle); - registerReferentialReferenceDtoDecorator(WeightCategoryDto.class, libelle); - registerReferentialReferenceDtoDecorator(ReasonForDiscardDto.class, libelle); - registerReferentialReferenceDtoDecorator(SpeciesFateDto.class, libelle); - registerReferentialReferenceDtoDecorator(SpeciesGroupDto.class, libelle); - registerReferentialReferenceDtoDecorator(SpeciesListDto.class, libelle); - - registerReferentialReferenceDtoDecorator(BaitHaulingStatusDto.class, libelle); - registerReferentialReferenceDtoDecorator(BaitSettingStatusDto.class, libelle); - registerReferentialReferenceDtoDecorator(BaitTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(CatchFateLonglineDto.class, libelle); - registerReferentialReferenceDtoDecorator(EncounterTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(HealthnessDto.class, libelle); - registerReferentialReferenceDtoDecorator(HookPositionDto.class, libelle); - registerReferentialReferenceDtoDecorator(HookSizeDto.class, libelle); - registerReferentialReferenceDtoDecorator(HookTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(ItemVerticalPositionDto.class, libelle); - registerReferentialReferenceDtoDecorator(ItemHorizontalPositionDto.class, libelle); - registerReferentialReferenceDtoDecorator(LightsticksColorDto.class, libelle); - registerReferentialReferenceDtoDecorator(LightsticksTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(LineTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(MaturityStatusDto.class, libelle); - registerReferentialReferenceDtoDecorator(MitigationTypeDto.class, libelle); - registerReferenceDtoDecorator(SensorBrandDto.class, "${code}$s##${brandName}$s"); - registerReferentialReferenceDtoDecorator(SensorDataFormatDto.class, libelle); - registerReferentialReferenceDtoDecorator(SensorTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(SettingShapeDto.class, libelle); - registerReferentialReferenceDtoDecorator(SizeMeasureTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(StomacFullnessDto.class, libelle); - registerReferentialReferenceDtoDecorator(TripTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(VesselActivityLonglineDto.class, libelle); - registerReferentialReferenceDtoDecorator(WeightMeasureTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(GearCaracteristicTypeDto.class, libelle); - registerReferentialReferenceDtoDecorator(GearCaracteristicDto.class, libelle); - registerReferentialReferenceDtoDecorator(GearDto.class, libelle); - - registerReferenceDtoDecorator(HarbourDto.class, "${code}$s##${name}$s##${locode}$s"); - - registerReferenceDtoDecorator(ObjectSchoolEstimateDto.class, - "${species/scientificLabel}$s##${weight}$d", - "${species}$s##${weight}$d"); - registerReferenceDtoDecorator(SchoolEstimateDto.class, - "${species/scientificLabel}$s##${totalWeight}$d##${meanWeight}$d", - "${species}$s##${totalWeight}$d##${meanWeight}$d"); - - registerReferenceDtoDecorator( - TargetLengthDto.class, - "${species/scientificLabel}$s##${length}$f##${count}$d", - "${species}$s##${length}$f##${count}$d"); - - registerObserveDecorator( - TransmittingBuoyDto.class, - "${transmittingBuoyType/label}$s##${transmittingBuoyOperation/label}$s##${code}$s"); + registerDataAndDataReferenceDecorator(SetLonglineDto.class, t("observe.common.setLongline")); + + registerDataAndDataReferenceDecorator(ObjectSchoolEstimateDto.class, + "${species/scientificLabel}$s##${weight}$d", + "${species}$s##${weight}$d"); + registerDataAndDataReferenceDecorator(SchoolEstimateDto.class, + "${species/scientificLabel}$s##${totalWeight}$d##${meanWeight}$d", + "${species}$s##${totalWeight}$d##${meanWeight}$d"); + + registerDataAndDataReferenceDecorator(TargetLengthDto.class, + "${species/scientificLabel}$s##${length}$f##${count}$d", + "${species}$s##${length}$f##${count}$d"); + + registerObserveDecorator(TransmittingBuoyDto.class, + "${transmittingBuoyType/label}$s##${transmittingBuoyOperation/label}$s##${code}$s"); + + registerDataAndDataReferenceDecorator(FloatingObjectDto.class, + "DCP ${objectType/" + libelle + "}$s", "DCP ${objectType}$s", " - "); String settingIdentifier = l(locale, "observe.common.settingIdentifier"); String haulingIdentifier = l(locale, "observe.common.haulingIdentifier"); - registerReferenceDtoDecorator( - SectionDto.class, - " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); + registerDataAndDataReferenceDecorator(SectionDto.class, + " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); - registerReferenceDtoDecorator( - BasketDto.class, - " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); + registerDataAndDataReferenceDecorator(BasketDto.class, + " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); - registerReferenceDtoDecorator( - BranchlineDto.class, - " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); + registerDataAndDataReferenceDecorator(BranchlineDto.class, + " ${settingIdentifier}$s (" + settingIdentifier + ")##${haulingIdentifier}$s (" + haulingIdentifier + ")"); - registerReferenceDtoDecorator(HAULING_IDENTIFIER, SectionDto.class, "${haulingIdentifier}$s"); - registerReferenceDtoDecorator(HAULING_IDENTIFIER, BasketDto.class, "${haulingIdentifier}$s"); - registerReferenceDtoDecorator(HAULING_IDENTIFIER, BranchlineDto.class, "${haulingIdentifier}$s"); + registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, SectionDto.class, "${haulingIdentifier}$s"); + registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, BasketDto.class, "${haulingIdentifier}$s"); + registerDataAndDataReferenceDecorator(HAULING_IDENTIFIER, BranchlineDto.class, "${haulingIdentifier}$s"); // TripSeine decorator registerDecorator(new TripSeineDecorator()); - registerDecorator(TripSeineDto.class.getSimpleName(), - new ReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); + registerDataReferenceDecorator(TripSeineDto.class, + "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s"); // TripLongline decorator registerDecorator(new TripLonglineDecorator()); - registerDecorator(TripLonglineDto.class.getSimpleName(), - new ReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); + registerDataReferenceDecorator(TripLonglineDto.class, + "${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s"); // Trip commun decorator registerDecorator(TRIP_CONTEXT, - new ReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); - - - // Species decorator - String oldCode = l(locale, "observe.common.oldCode3L"); - registerDecorator(new SpeciesDecorator(oldCode)); - registerDecorator(SpeciesDto.class.getSimpleName(), - new ReferenceDecorator("${faoCode}$s##${scientificLabel}$s##" + oldCode + " ${homeId}$s")); + new DataReferenceDecorator("${startDate}$td/%1$tm/%1$tY##${endDate}$td/%2$tm/%2$tY##${vessel}$s##${observer}$s")); // ObjectObservedSpecies decorator registerDecorator(new ObjectObservedSpeciesDecorator()); @@ -564,17 +561,22 @@ public class DecoratorService extends DecoratorProvider { // NonTargetCatch decorator registerDecorator(new NonTargetCatchDecorator()); - registerDecorator(NonTargetCatchDto.class.getSimpleName(), - new ReferenceDecorator("${species}$s##${speciesFate}$s")); + registerDataReferenceDecorator(NonTargetCatchDto.class, "${species}$s##${speciesFate}$s"); // NonTargetLength decorator registerDecorator(new NonTargetLengthDecorator()); - // LengthWeightParameter decorator - registerDecorator(new LengthWeightParameterDecorator()); - registerDecorator(LengthWeightParameterDto.class.getSimpleName(), - new ReferenceDecorator("${sex/label}$s##${ocean/label}$s##${species/scientificLabel}$s##" + - t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s")); + registerDataAndDataReferenceDecorator(CatchLonglineDto.class, "${homeId}$s"); + + registerDataAndDataReferenceDecorator(TdrDto.class, "${homeId}$s"); + + //FIXME how to decorate ? + registerObserveDecorator(GearUseFeaturesMeasurementSeineDto.class, "${id}$s"); + + registerDataAndDataReferenceDecorator(EncounterDto.class, + "${encounterType/label}$s##${species/label}$s", + "${encounterType}$s##${species}$s", + " - "); // gps decorators registerObserveDecorator("activity-gps", @@ -593,73 +595,105 @@ public class DecoratorService extends DecoratorProvider { registerObserveDecorator(SectionTemplate.class, "${id}$s##${floatlineLengths}$s", " "); - registerReferenceDtoDecorator(CatchLonglineDto.class, "${homeId}$s"); - - registerReferenceDtoDecorator(TdrDto.class, "${homeId}$s"); - - //FIXME how to decorate ? - registerObserveDecorator(GearUseFeaturesMeasurementSeineDto.class, "${id}$s"); - - registerReferenceDtoDecorator(EncounterDto.class, - "${encounterType/label}$s##${species/label}$s", - "${encounterType}$s##${species}$s", - " - "); - } - public <T extends ReferentialDto> Decorator<ReferentialReferenceDto<T>> getReferentialReferenceDecorator(Class<T> referenceType) { - Decorator decorator = getDecoratorByType(ReferenceDto.class, referenceType.getSimpleName()); + public <T extends ReferentialDto> ReferentialReferenceDecorator<T> getReferentialReferenceDecorator(Class<T> referenceType) { + ReferentialReferenceDecorator<T> decorator = (ReferentialReferenceDecorator) getDecoratorByType(ReferentialReference.class, referenceType.getSimpleName()); return decorator; - } - public <T extends IdDto> Decorator<ReferenceDto<T>> getReferenceDecorator(Class<T> referenceType) { - Decorator decorator = getDecoratorByType(ReferenceDto.class, referenceType.getSimpleName()); + public <T extends DataDto> DataReferenceDecorator<T> getDataReferenceDecorator(Class<T> referenceType) { + DataReferenceDecorator<T> decorator = (DataReferenceDecorator) getDecoratorByType(DataReference.class, referenceType.getSimpleName()); return decorator; + } + public <T extends DataDto> DataReferenceDecorator<T> getDataReferenceDecorator(Class<T> referenceType, String context) { + DataReferenceDecorator<T> decorator = (DataReferenceDecorator) getDecoratorByType(DataReference.class, referenceType.getSimpleName()+ context); + return decorator; } - protected <T extends ReferentialDto> void registerReferentialReferenceDtoDecorator(Class<T> referenceType, - String libelle) { - registerDecorator(referenceType.getSimpleName(), new ReferenceDecorator("${code}$s##${label}$s")); + protected <T extends ReferentialDto> void registerDefaultReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String libelle) { + registerReferentialReferenceDecorator(referenceType, "${code}$s##${label}$s"); registerObserveDecorator(referenceType, "${code}$s##${" + libelle + "}$s", " "); } + protected <T extends ReferentialDto> void registerReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String expression) { + registerReferentialReferenceDecorator(referenceType, expression); + registerObserveDecorator(referenceType, expression); + } + + protected <T extends ReferentialDto> void registerReferentialAndReferentialReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression) { + registerReferentialReferenceDecorator(referenceType, referenceExpression); + registerObserveDecorator(referenceType, expression); + } - protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, String expression) { - registerReferenceDtoDecorator(referenceType, expression, expression); + protected <T extends ReferentialDto> void registerReferentialReferenceDecorator(Class<T> referenceType, String referenceExpression) { + registerDecorator(referenceType.getSimpleName(), new ReferentialReferenceDecorator<>(referenceExpression)); } - protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, - String expression, - String referenceExpression) { - registerReferenceDtoDecorator(referenceType, expression, referenceExpression, " "); + protected <T extends IdDto> void registerDataAndDataReferenceDecorator(String context, Class<T> referenceType, String expression) { + registerDataReferenceDecorator(context, referenceType, expression); + registerObserveDecorator(context, referenceType, expression, " "); } - protected <T extends IdDto> void registerReferenceDtoDecorator(String context, - Class<T> referenceType, - String expression) { - registerReferenceDtoDecorator(context, referenceType, expression, expression, " "); + protected <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression) { + registerDataReferenceDecorator(referenceType, expression); + registerObserveDecorator(referenceType, expression, " "); } - protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, - String expression, - String referenceExpression, - String separator) { - registerDecorator(referenceType.getSimpleName(), new ReferenceDecorator(referenceExpression)); + protected <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression) { + registerDataReferenceDecorator(referenceType, referenceExpression); + registerObserveDecorator(referenceType, referenceExpression, " "); + } + + protected <T extends IdDto> void registerDataAndDataReferenceDecorator(Class<T> referenceType, String expression, String referenceExpression, String separator) { + registerDataReferenceDecorator(referenceType, referenceExpression); registerObserveDecorator(referenceType, expression, separator); } - protected <T extends IdDto> void registerReferenceDtoDecorator(String context, - Class<T> referenceType, - String expression, - String referenceExpression, - String separator) { - registerDecorator(referenceType.getSimpleName() + context, new ReferenceDecorator(referenceExpression)); - registerObserveDecorator(context, referenceType, expression, separator); + protected <T extends IdDto> void registerDataReferenceDecorator(Class<T> referenceType, String referenceExpression) { + registerDataReferenceDecorator(null, referenceType, referenceExpression); + } + + protected <T extends IdDto> void registerDataReferenceDecorator(String context, Class<T> referenceType, String referenceExpression) { + registerDecorator(referenceType.getSimpleName() + (context == null ? "" : context), new DataReferenceDecorator<>(referenceExpression)); } +// protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, String expression) { +// registerReferenceDtoDecorator(referenceType, expression, expression); +// } +// +// protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, +// String expression, +// String referenceExpression) { +// registerReferenceDtoDecorator(referenceType, expression, referenceExpression, " "); +// } +// +// protected <T extends IdDto> void registerReferenceDtoDecorator(String context, +// Class<T> referenceType, +// String expression) { +// registerReferenceDtoDecorator(context, referenceType, expression, expression, " "); +// } +// +// protected <T extends IdDto> void registerReferenceDtoDecorator(Class<T> referenceType, +// String expression, +// String referenceExpression, +// String separator) { +// registerDecorator(referenceType.getSimpleName(), new ReferenceDecorator(referenceExpression)); +// registerObserveDecorator(referenceType, expression, separator); +// } +// +// protected <T extends IdDto> void registerReferenceDtoDecorator(String context, +// Class<T> referenceType, +// String expression, +// String referenceExpression, +// String separator) { +// registerDecorator(referenceType.getSimpleName() + context, new ReferenceDecorator(referenceExpression)); +// registerObserveDecorator(context, referenceType, expression, separator); +// } + + protected <T> void registerObserveDecorator(Class<T> referenceType, String expression) { registerDecorator(new ObserveDecorator<>(referenceType, expression)); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java index cb1c9ef..bc3220a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/UIHelper.java @@ -22,6 +22,7 @@ package fr.ird.observe.ui; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.ui.util.table.ObserveBooleanTableCellRenderer; @@ -353,8 +354,15 @@ public class UIHelper extends SwingUtil { return new DecoratorTableCellRenderer(renderer, decorator); } + public static <T extends DataDto> DecoratorTableCellRenderer newDataReferenceDecorateTableCellRenderer(TableCellRenderer renderer, + Class<T> entityClass, + String context) { + Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDataReferenceDecorator(entityClass,context); + return new DecoratorTableCellRenderer(renderer, decorator); + } + public static <T extends ReferentialDto> DecoratorTableCellRenderer newReferentialReferenceDecorateTableCellRenderer(TableCellRenderer renderer, - Class<T> entityClass) { + Class<T> entityClass) { Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(entityClass); return new DecoratorTableCellRenderer(renderer, decorator); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java index bcda0e6..356bca6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/ShowConfigAction.java @@ -27,15 +27,12 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.configuration.ObserveSwingApplicationConfigOption; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesListDto; -import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.ObserveMainUIHandler; import fr.ird.observe.ui.ObserveUICallback; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import jaxx.runtime.SwingUtil; import jaxx.runtime.swing.config.ConfigUIHelper; import jaxx.runtime.swing.config.model.ConfigUIModelBuilder; @@ -122,12 +119,11 @@ public class ShowConfigAction extends AbstractAction { if (dataSource != null) { - ReferentialService service = dataSource.newService(ReferentialService.class); - ReferenceSetDto<SpeciesListDto> referentialReferenceSet = service.getReferentialReferenceSet(SpeciesListDto.class); - Set<ReferentialReferenceDto<SpeciesListDto>> speciesLists = (Set) referentialReferenceSet.getReference(); - Map<String, ReferentialReferenceDto<SpeciesListDto>> speciesListMap = IdDtos.splitById(speciesLists); + Set<ReferentialReference<SpeciesListDto>> speciesLists = dataSource.getReferentialReferences(SpeciesListDto.class); - Decorator<ReferentialReferenceDto<SpeciesListDto>> referenceDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(SpeciesListDto.class); + Map<String, ReferentialReference<SpeciesListDto>> speciesListMap = ReferentialReference.splitById(speciesLists); + + ReferentialReferenceDecorator<SpeciesListDto> referenceDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(SpeciesListDto.class); editor = new SpeciesListTableCellEditor(speciesLists, speciesListMap, referenceDecorator); renderer = new SpeciesListsTableCellRenderer(speciesListMap, referenceDecorator); @@ -413,11 +409,11 @@ public class ShowConfigAction extends AbstractAction { private static final long serialVersionUID = 1L; - private final Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap; + private final Map<String, ReferentialReference<SpeciesListDto>> entityMap; - private final Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator; + private final Decorator<ReferentialReference<SpeciesListDto>> decorator; - public SpeciesListsTableCellRenderer(Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap, Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator) { + public SpeciesListsTableCellRenderer(Map<String, ReferentialReference<SpeciesListDto>> entityMap, Decorator<ReferentialReference<SpeciesListDto>> decorator) { this.entityMap = entityMap; this.decorator = decorator; } @@ -428,7 +424,7 @@ public class ShowConfigAction extends AbstractAction { int row, int column) { String speciesListId = String.valueOf(value); - ReferenceDto<SpeciesListDto> speciesList = entityMap.get(speciesListId); + ReferentialReference<SpeciesListDto> speciesList = entityMap.get(speciesListId); return super.getTableCellRendererComponent(table, decorator.toString(speciesList), isSelected, hasFocus, row, column); } @@ -438,23 +434,23 @@ public class ShowConfigAction extends AbstractAction { private static final long serialVersionUID = 1L; - private final Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap; + private final Map<String, ReferentialReference<SpeciesListDto>> entityMap; - private final Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator; + private final ReferentialReferenceDecorator<SpeciesListDto> decorator; - protected SpeciesListTableCellEditor(Collection<ReferentialReferenceDto<SpeciesListDto>> entities, - Map<String, ReferentialReferenceDto<SpeciesListDto>> entityMap, - Decorator<ReferentialReferenceDto<SpeciesListDto>> decorator) { + protected SpeciesListTableCellEditor(Collection<ReferentialReference<SpeciesListDto>> entities, + Map<String, ReferentialReference<SpeciesListDto>> entityMap, + ReferentialReferenceDecorator<SpeciesListDto> decorator) { super(new JComboBox()); this.entityMap = entityMap; this.decorator = decorator; - final BeanFilterableComboBox<ReferentialReferenceDto<SpeciesListDto>> component = new BeanFilterableComboBox<>(); + final BeanFilterableComboBox<ReferentialReference<SpeciesListDto>> component = new BeanFilterableComboBox<>(); component.setI18nPrefix("observe.common."); component.setShowReset(true); - component.setBeanType((Class) ReferenceDto.class); + component.setBeanType((Class) ReferentialReference.class); setClickCountToStart(1); @@ -476,8 +472,8 @@ public class ShowConfigAction extends AbstractAction { public Object getCellEditorValue() { String result = null; Object selectedItem = component.getSelectedItem(); - if (selectedItem != null && ReferenceDto.class.isInstance(selectedItem)) { - ReferenceDto reference = (ReferenceDto) selectedItem; + if (selectedItem != null && ReferentialReference.class.isInstance(selectedItem)) { + ReferentialReference reference = (ReferentialReference) selectedItem; result = reference.getId(); } return result; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java index 0880e1b..ab3614e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivityLonglinesUIAction.java @@ -24,22 +24,21 @@ package fr.ird.observe.ui.actions.shared; import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.ActivityLonglineService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; -import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.content.list.impl.longline.ActivityLonglinesUI; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.tree.TripLonglineNode; import fr.ird.observe.ui.util.DecoratedNodeEntity; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -95,6 +94,8 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { if (!(ui instanceof ActivityLonglinesUI)) { throw new IllegalStateException("Can not come here!"); } + ActivityLonglinesUI activityLonglinesUI = (ActivityLonglinesUI) ui; + // get current triplongline id ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); @@ -107,8 +108,8 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { if (tripLonglineId != null) { // change the tripLongline of the selected activities - List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); - List<String> activityIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + List<DataReference<ActivityLonglineDto>> selectedDatas = activityLonglinesUI.getModel().getSelectedDatas(); + List<String> activityIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); ActivityLonglineService service = ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); List<Integer> positions = service.moveActivityLonglinesToTripLongline(activityIds, tripLonglineId); @@ -127,7 +128,7 @@ public class MoveActivityLonglinesUIAction extends AbstractUIAction { int tripLonglineNb = programNode.getChildCount(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto<TripLonglineDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(TripLonglineDto.class); + DataReferenceDecorator<TripLonglineDto> decorator = applicationContext.getDecoratorService().getDataReferenceDecorator(TripLonglineDto.class); //on crée un tableau avec une marée en moins car on ne propose pas la marée actuelle DecoratedNodeEntity[] decoratedTripLonglines = new DecoratedNodeEntity[tripLonglineNb - 1]; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java index ae5a511..4d9f92e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveActivitySeinesUIAction.java @@ -24,8 +24,7 @@ package fr.ird.observe.ui.actions.shared; import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.ActivitySeineService; @@ -38,9 +37,9 @@ import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.tree.RouteSeineNode; import fr.ird.observe.ui.util.DecoratedNodeEntity; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -108,8 +107,8 @@ public class MoveActivitySeinesUIAction extends AbstractUIAction { if (routeId != null) { // change the route of the selected activities - List<ReferenceDto<ActivitySeineDto>> selectedDatas = ((ActivitySeinesUIModel) ui.getModel()).getSelectedDatas(); - List<String> activityIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + List<DataReference<ActivitySeineDto>> selectedDatas = ((ActivitySeinesUIModel) ui.getModel()).getSelectedDatas(); + List<String> activityIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); ActivitySeineService service = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); List<Integer> positions = service.moveActivitySeinesToRoute(activityIds, routeId); @@ -128,7 +127,7 @@ public class MoveActivitySeinesUIAction extends AbstractUIAction { int routeNb = routesNode.getChildCount(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto<RouteDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(RouteDto.class); + DataReferenceDecorator<RouteDto> decorator = applicationContext.getDecoratorService().getDataReferenceDecorator(RouteDto.class); //on crée un tableau avec une route en moins car on ne propose pas la route actuel DecoratedNodeEntity[] decoratedRoutes = new DecoratedNodeEntity[routeNb - 1]; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java index 8c94322..ec2f97b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveRoutesUIAction.java @@ -24,22 +24,21 @@ package fr.ird.observe.ui.actions.shared; import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.RouteService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; -import fr.ird.observe.ui.content.list.ContentListUIModel; import fr.ird.observe.ui.content.list.impl.seine.RoutesUI; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.tree.TripSeineNode; import fr.ird.observe.ui.util.DecoratedNodeEntity; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -96,6 +95,8 @@ public class MoveRoutesUIAction extends AbstractUIAction { throw new IllegalStateException("Can not come here!"); } + RoutesUI theUi = (RoutesUI) ui; + // get current tripseine id ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); ObserveNode oldRoutesNode = treeHelper.getSelectedNode(); @@ -103,12 +104,12 @@ public class MoveRoutesUIAction extends AbstractUIAction { String oldTripSeineId = oldTripSeineNode.getId(); // choose the new tripseine - String tripSeineId = chooseNewTripSeine(ui, oldTripSeineNode); + String tripSeineId = chooseNewTripSeine(theUi, oldTripSeineNode); if (tripSeineId != null) { // change the tripseine of the selected routes - List<ReferenceDto> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); - List<String> routeIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + List<DataReference<RouteDto>> selectedDatas = theUi.getModel().getSelectedDatas(); + List<String> routeIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); List<Integer> positions = service.moveRoutesToTripSeine(routeIds, tripSeineId); @@ -127,7 +128,7 @@ public class MoveRoutesUIAction extends AbstractUIAction { int tripSeineNb = programNode.getChildCount(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - Decorator<ReferenceDto<TripSeineDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(TripSeineDto.class); + DataReferenceDecorator<TripSeineDto> decorator = applicationContext.getDecoratorService().getDataReferenceDecorator(TripSeineDto.class); //on crée un tableau avec une marée en moins car on ne propose pas la marée actuel DecoratedNodeEntity[] decoratedTripSeines = new DecoratedNodeEntity[tripSeineNb - 1]; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java index 35a9577..71027f8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripLonglinesUIAction.java @@ -1,7 +1,7 @@ package fr.ird.observe.ui.actions.shared; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.TripLonglineService; @@ -56,7 +56,7 @@ public class MoveTripLonglinesUIAction extends MoveTripsUIAction<TripLonglineDto protected void updateModelData(ContentUI<?> ui) { TripLonglinesUI tripLonglinesUI = (TripLonglinesUI) ui; TripLonglinesUIModel model = tripLonglinesUI.getModel(); - List<ReferenceDto<TripLonglineDto>> data = new ArrayList<>(model.getData()); + List<DataReference<TripLonglineDto>> data = new ArrayList<>(model.getData()); data.removeAll(model.getSelectedDatas()); model.setData(data); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java index 7981613..005fd57 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripSeinesUIAction.java @@ -1,7 +1,7 @@ package fr.ird.observe.ui.actions.shared; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.TripSeineService; @@ -56,7 +56,7 @@ public class MoveTripSeinesUIAction extends MoveTripsUIAction<TripSeineDto> { protected void updateModelData(ContentUI<?> ui) { TripSeinesUI tripSeinesUI = (TripSeinesUI) ui; TripSeinesUIModel model = tripSeinesUI.getModel(); - List<ReferenceDto<TripSeineDto>> data = new ArrayList<>(model.getData()); + List<DataReference<TripSeineDto>> data = new ArrayList<>(model.getData()); data.removeAll(model.getSelectedDatas()); model.setData(data); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java index b9881aa..b314d72 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/MoveTripsUIAction.java @@ -24,9 +24,8 @@ package fr.ird.observe.ui.actions.shared; import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.ui.ObserveMainUI; @@ -36,9 +35,9 @@ import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.tree.menu.MoveTripNodeMenuPopulator; import fr.ird.observe.ui.util.DecoratedNodeEntity; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -56,7 +55,7 @@ import static org.nuiton.i18n.I18n.t; * @author Kevin Morin (Code Lutin) * @since 5.0 */ -public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIAction { +public abstract class MoveTripsUIAction<T extends DataDto> extends AbstractUIAction { private static final long serialVersionUID = 1L; @@ -105,8 +104,8 @@ public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIActio if (programId != null) { // change the program of the selected trips - List<ReferenceDto<T>> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); - List<String> tripIds = Lists.transform(selectedDatas, ReferenceDtos.getIdFunction()); + List<DataReference<T>> selectedDatas = ((ContentListUIModel) ui.getModel()).getSelectedDatas(); + List<String> tripIds = Lists.transform(selectedDatas, DataReference.getIdFunction()); List<Integer> positions = getPositions(tripIds, programId); // update the tree @@ -121,29 +120,6 @@ public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIActio protected String chooseNewProgram(ContentUI<?> ui, String oldProgramId) { ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); -// -// LinkedHashSet<ReferenceDto> allPrograms = applicationContext.newService(ReferentialService.class) -// .getReferentialReferenceSet(ProgramDto.class) -// .getReference(); -// -// GearType gearType = getGearType(ui); -// -// List<ReferenceDto> filteredPrograms = Lists.newArrayList(ProgramDtos.filterReferencesByGearType(allPrograms, gearType)); -// List<ReferenceDto<ProgramDto>> programs = new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(filteredPrograms)); -// ObserveTreeHelper.sortPrograms(programs); -// -// Decorator<ReferenceDto> decorator = applicationContext.getDecorator(ReferenceDto.class, -// ProgramDto.class.getSimpleName()); -// -// //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel -// DecoratedProgram[] decoratedPrograms = new DecoratedProgram[programs.size() - 1]; -// -// int j = 0; -// for (ReferenceDto program : programs) { -// if (!oldProgramId.equals(program.getId())) { -// decoratedPrograms[j++] = new DecoratedProgram(program.getId(), decorator.toString(program)); -// } -// } ObserveTreeHelper treeHelper = getMainUI().getTreeHelper(); @@ -152,7 +128,7 @@ public abstract class MoveTripsUIAction<T extends IdDto> extends AbstractUIActio // racine ObserveNode rootNode = treeHelper.getRootNode(); - Decorator<ReferenceDto<ProgramDto>> decorator = applicationContext.getDecoratorService().getReferenceDecorator(ProgramDto.class); + ReferentialReferenceDecorator<ProgramDto> decorator = applicationContext.getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); //on crée un tableau avec un programme en moins car on ne propose pas le programme actuel List<DecoratedNodeEntity> decoratedProgramList = new ArrayList<>(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java index 00ca65b..e427021 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/actions/shared/ReOpenUIAction.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.actions.shared; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.content.ContentUI; import fr.ird.observe.ui.content.list.ContentListUI; @@ -81,8 +81,7 @@ public class ReOpenUIAction extends AbstractUIAction { openUI = (ContentOpenableUI<?>) ui; } else if (ui instanceof ContentListUI<?, ?>) { - IdDto selectedData = - ((ContentListUI<?, ?>) ui).getSelectedData(); + DataReference<?> selectedData = ((ContentListUI<?, ?>) ui).getSelectedData(); String id = selectedData.getId(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java index dbbcef8..c18e63c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIModel.java @@ -29,9 +29,9 @@ import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DbMode; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -126,6 +126,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { protected EnumSet<DbMode> availableIncomingModes; PropertyChangeListener listenStepChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -222,6 +223,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenValidationModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { ValidateModel source = (ValidateModel) evt.getSource(); @@ -241,6 +243,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenReportModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { ReportModel source = (ReportModel) evt.getSource(); @@ -255,6 +258,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenerSelectedDataForReport = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -268,6 +272,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenConsolidateModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { ConsolidateModel source = (ConsolidateModel) evt.getSource(); @@ -282,6 +287,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenGPSModified = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { if (log.isDebugEnabled()) { @@ -294,6 +300,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { }; PropertyChangeListener listenSaveLocalChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { @@ -404,14 +411,14 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { return false; } - public ReferenceDto getSelectedTrip() { - Set<ReferenceDto> data = getSelectionDataModel().getSelectedData(); + public DataReference getSelectedTrip() { + Set<DataReference> data = getSelectionDataModel().getSelectedData(); if (data.isEmpty()) { // pas de Trip selectionne return null; } - ReferenceDto dto = data.iterator().next(); + DataReference dto = data.iterator().next(); if (IdDtos.isTrip(dto)) { return dto; } @@ -528,7 +535,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (log.isDebugEnabled()) { log.debug("Close previous source " + - previousSource.getLabel()); + previousSource.getLabel()); } doCloseSource(previousSource, false); } @@ -635,6 +642,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (log.isDebugEnabled()) { centralSourceModel.addPropertyChangeListener(new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { String name = evt.getPropertyName(); @@ -757,6 +765,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { if (log.isDebugEnabled()) { localSourceModel.addPropertyChangeListener(new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { String name = evt.getPropertyName(); @@ -1113,7 +1122,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { // validate &= centralSourceModel.isValid() && // centralSourceModel.getPgConfig().isCanWriteData(); validate &= centralSourceModel.getDataSourceInformation() != null - && centralSourceModel.getDataSourceInformation().canWriteData(); + && centralSourceModel.getDataSourceInformation().canWriteData(); } if (containsOperation(AdminStep.IMPORT_GPS)) { @@ -1319,15 +1328,15 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { protected void computeExistingTrips(ObserveSwingDataSource source) { - List<ReferenceDto> existingTrip = Lists.newArrayList(); + List<DataReference<?>> existingTrip = Lists.newArrayList(); TripSeineService tripSeineService = source.newService(TripSeineService.class); - ReferenceSetDto<TripSeineDto> tripSeineSet = tripSeineService.getAllTripSeine(); - existingTrip.addAll(tripSeineSet.getReference()); + DataReferenceSet<TripSeineDto> tripSeineSet = tripSeineService.getAllTripSeine(); + existingTrip.addAll(tripSeineSet.getReferences()); TripLonglineService tripLonglineService = source.newService(TripLonglineService.class); - ReferenceSetDto<TripLonglineDto> tripLonglineSet = tripLonglineService.getAllTripLongline(); - existingTrip.addAll(tripLonglineSet.getReference()); + DataReferenceSet<TripLonglineDto> tripLonglineSet = tripLonglineService.getAllTripLongline(); + existingTrip.addAll(tripLonglineSet.getReferences()); getExportModel().setExistingTripIds(existingTrip); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java index 31e1e31..92d26de 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/consolidate/ConsolidateUIHandler.java @@ -24,9 +24,7 @@ package fr.ird.observe.ui.admin.consolidate; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.service.actions.consolidate.ConsolidateActivitySeineDataResult; import fr.ird.observe.services.service.actions.consolidate.ConsolidateDataService; import fr.ird.observe.services.service.actions.consolidate.ConsolidateTripSeineDataRequest; @@ -87,6 +85,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { ui.getStepUI(AdminStep.SELECT_DATA); PropertyChangeListener listener = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { AdminUIModel model = (AdminUIModel) evt.getSource(); @@ -112,6 +111,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { addAdminWorker( ((ConsolidateUI) ui).getStartButton().getToolTipText(), new Callable<WizardState>() { + @Override public WizardState call() throws Exception { return doAction(); @@ -132,11 +132,11 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { // une erreur ou une annulation return init; } - Set<ReferenceDto> trips = model.getSelectionDataModel().getSelectedData(); + Set<DataReference> trips = model.getSelectionDataModel().getSelectedData(); ImmutableSet<String> tripIds = ImmutableSet.copyOf( Iterables.transform( - Iterables.filter(trips, IdDtos.<ReferenceDto>newTripSeinePredicate()), - ReferenceDtos.getIdFunction())); + Iterables.filter(trips, DataReference.newTripSeinePredicate()), + DataReference.getIdFunction())); ObserveSwingDataSource dataSource = getStepModel().getSource(); @@ -175,7 +175,7 @@ public class ConsolidateUIHandler extends AdminTabUIHandler { } sendMessage(t("observe.message.consolidate.operation.done", - new Date())); + new Date())); } finally { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java index 4b79bbe..8b8f901 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportModel.java @@ -24,14 +24,17 @@ package fr.ird.observe.ui.admin.export; import com.google.common.collect.ImmutableList; import com.google.common.collect.Lists; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.admin.AdminActionModel; import fr.ird.observe.ui.admin.AdminStep; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -49,16 +52,16 @@ public class ExportModel extends AdminActionModel { protected int[] exportDataSelectedIndex; /** les ids des marées déjà existante sur la base distante lors d'un export */ - protected List<ReferenceDto> existingTrips; + protected List<DataReference<?>> existingTrips; /** les données exportables */ protected List<TripEntry> data; - protected Decorator<ReferenceDto> programDecorator; + protected ReferentialReferenceDecorator<ProgramDto> programDecorator; - protected Decorator<ReferenceDto> tripSeineDecorator; + protected DataReferenceDecorator<TripSeineDto> tripSeineDecorator; - protected Decorator<ReferenceDto> tripLonglineDecorator; + protected DataReferenceDecorator<TripLonglineDto> tripLonglineDecorator; protected ObserveSwingDataSource source; @@ -72,11 +75,11 @@ public class ExportModel extends AdminActionModel { this.exportDataSelectedIndex = exportDataSelectedIndex; } - public List<ReferenceDto> getExistingTrips() { + public List<DataReference<?>> getExistingTrips() { return existingTrips; } - public void setExistingTripIds(List<ReferenceDto> existingTrips) { + public void setExistingTripIds(List<DataReference<?>> existingTrips) { this.existingTrips = existingTrips; } @@ -102,11 +105,11 @@ public class ExportModel extends AdminActionModel { List<TripEntry> tripEntries = Lists.newArrayList(); - for (Map.Entry<ReferenceDto<ProgramDto>, List<ReferenceDto>> entry : selectionModel.getSelectedDataByProgram().entrySet()) { + for (Map.Entry<ReferentialReference<ProgramDto>, List<DataReference>> entry : selectionModel.getSelectedDataByProgram().entrySet()) { - ReferenceDto<ProgramDto> program = entry.getKey(); + ReferentialReference<ProgramDto> program = entry.getKey(); - for (ReferenceDto trip : entry.getValue()) { + for (DataReference trip : entry.getValue()) { boolean exists = existingTrips.contains(trip); @@ -136,20 +139,20 @@ public class ExportModel extends AdminActionModel { this.centralSource = centralSource; } - public void setProgramDecorator(Decorator<ReferenceDto> programDecorator) { + public void setProgramDecorator(ReferentialReferenceDecorator<ProgramDto> programDecorator) { this.programDecorator = programDecorator; } - public void setTripSeineDecorator(Decorator<ReferenceDto> mareeDecorator) { + public void setTripSeineDecorator(DataReferenceDecorator<TripSeineDto> mareeDecorator) { this.tripSeineDecorator = mareeDecorator; } - public void setTripLonglineDecorator(Decorator<ReferenceDto> tripLonglineDecorator) { + public void setTripLonglineDecorator(DataReferenceDecorator<TripLonglineDto> tripLonglineDecorator) { this.tripLonglineDecorator = tripLonglineDecorator; } - public String decorate(ReferenceDto referenceDto) { - String decor= null; + public String decorate(AbstractReference referenceDto) { + String decor = null; if (ProgramDto.class.isAssignableFrom(referenceDto.getType())) { decor = programDecorator.toString(referenceDto); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java index 8b6d885..d6a0891 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/ExportUIHandler.java @@ -22,9 +22,10 @@ package fr.ird.observe.ui.admin.export; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.services.service.seine.TripSeineService; @@ -37,11 +38,12 @@ import fr.ird.observe.ui.admin.AdminUI; import fr.ird.observe.ui.admin.AdminUIModel; import fr.ird.observe.ui.admin.config.SelectDataUI; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import jaxx.runtime.swing.editor.MyDefaultCellEditor; import jaxx.runtime.swing.wizard.ext.WizardState; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; @@ -128,7 +130,7 @@ public class ExportUIHandler extends AdminTabUIHandler { UIHelper.setTableColumnRenderer(table4, 0, UIHelper.newBooleanTableCellRenderer(renderer5)); UIHelper.setTableColumnRenderer(table4, 1, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer5, ProgramDto.class)); - UIHelper.setTableColumnRenderer(table4, 2, UIHelper.newDecorateTableCellRenderer(renderer5, ReferenceDto.class, DecoratorService.TRIP_CONTEXT)); + UIHelper.setTableColumnRenderer(table4, 2, UIHelper.newDecorateTableCellRenderer(renderer5, DataReference.class, DecoratorService.TRIP_CONTEXT)); UIHelper.setTableColumnRenderer(table4, 3, UIHelper.newBooleanTableCellRenderer(renderer5)); UIHelper.setTableColumnEditor(table4, 0, MyDefaultCellEditor.newBooleanEditor(false)); @@ -201,9 +203,9 @@ public class ExportUIHandler extends AdminTabUIHandler { DecoratorService decoratorProvider = getDecoratorService(); ExportModel stepModel = model.getExportModel(); - Decorator<ReferenceDto> pDecorator = decoratorProvider.getDecoratorByType(ReferenceDto.class, ProgramDto.class.getSimpleName()); - Decorator<ReferenceDto> tripLonglineDecorator = decoratorProvider.getDecoratorByType(ReferenceDto.class, TripLonglineDto.class.getSimpleName()); - Decorator<ReferenceDto> tripSeineDecorator = decoratorProvider.getDecoratorByType(ReferenceDto.class, TripSeineDto.class.getSimpleName()); + ReferentialReferenceDecorator<ProgramDto> pDecorator = decoratorProvider.getReferentialReferenceDecorator(ProgramDto.class); + DataReferenceDecorator<TripLonglineDto> tripLonglineDecorator = decoratorProvider.getDataReferenceDecorator(TripLonglineDto.class); + DataReferenceDecorator<TripSeineDto> tripSeineDecorator = decoratorProvider.getDataReferenceDecorator(TripSeineDto.class); stepModel.setProgramDecorator(pDecorator); stepModel.setTripSeineDecorator(tripSeineDecorator); stepModel.setTripLonglineDecorator(tripLonglineDecorator); @@ -274,8 +276,8 @@ public class ExportUIHandler extends AdminTabUIHandler { ObserveSwingDataSource centralSource = stepModel.getCentralSource(); ObserveSwingDataSource source = stepModel.getSource(); - ReferenceDto<ProgramDto> program = tripEntry.getProgram(); - ReferenceDto trip = tripEntry.getTrip(); + ReferentialReference<ProgramDto> program = tripEntry.getProgram(); + DataReference trip = tripEntry.getTrip(); String tripId = trip.getId(); String tripDecorated = stepModel.decorate(trip); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java index 32a35bf..27f2e32 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripEntry.java @@ -21,8 +21,9 @@ */ package fr.ird.observe.ui.admin.export; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import java.io.Serializable; @@ -31,23 +32,23 @@ public class TripEntry implements Serializable { private static final long serialVersionUID = 1L; - protected final ReferenceDto<ProgramDto> program; + protected final ReferentialReference<ProgramDto> program; - protected final ReferenceDto trip; + protected final DataReference trip; protected final boolean exist; - public TripEntry(ReferenceDto<ProgramDto> program, ReferenceDto trip, boolean exist) { + public TripEntry(ReferentialReference<ProgramDto> program, DataReference trip, boolean exist) { this.program = program; this.trip = trip; this.exist = exist; } - public ReferenceDto<ProgramDto> getProgram() { + public ReferentialReference<ProgramDto> getProgram() { return program; } - public ReferenceDto getTrip() { + public DataReference getTrip() { return trip; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java index 7a9f61b..385d870 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/export/TripToExportTableModel.java @@ -21,7 +21,8 @@ */ package fr.ird.observe.ui.admin.export; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.referential.ReferentialReference; import javax.swing.table.AbstractTableModel; import java.util.HashSet; @@ -39,8 +40,8 @@ public class TripToExportTableModel extends AbstractTableModel { protected static final Class<?>[] COLUMN_CLASSES = { Boolean.class, - ReferenceDto.class, //program - ReferenceDto.class, // trip + ReferentialReference.class, //program + DataReference.class, // trip Boolean.class }; @@ -53,7 +54,7 @@ public class TripToExportTableModel extends AbstractTableModel { protected boolean selectAll; public TripToExportTableModel() { - selected = new HashSet<Integer>(); + selected = new HashSet<>(); } @Override @@ -123,9 +124,7 @@ public class TripToExportTableModel extends AbstractTableModel { value = tripEntry.isExist(); break; default: - throw new IllegalStateException( - "can not get value for row " + rowIndex + - ", col " + columnIndex); + throw new IllegalStateException("can not get value for row " + rowIndex + ", col " + columnIndex); } } return value; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java index ce401f2..f8d4ab0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/report/ReportUIHandler.java @@ -24,11 +24,12 @@ package fr.ird.observe.ui.admin.report; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportVariable; +import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.service.actions.report.ReportService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.admin.AdminStep; @@ -81,9 +82,11 @@ public class ReportUIHandler extends AdminTabUIHandler { /** Logger */ private static final Log log = LogFactory.getLog(ReportUIHandler.class); + private static final TimeLog timeLog = new TimeLog(ReportUIHandler.class, 0, 1000); final Runnable revalidateTabUI = new Runnable() { + @Override public void run() { getUi().revalidate(); @@ -108,6 +111,7 @@ public class ReportUIHandler extends AdminTabUIHandler { ReportModel stepModel = getStepModel(); stepModel.addPropertyChangeListener(new PropertyChangeListener() { + @SuppressWarnings({"unchecked"}) @Override public void propertyChange(PropertyChangeEvent evt) { @@ -215,6 +219,7 @@ public class ReportUIHandler extends AdminTabUIHandler { final SelectDataUI selectTabUI = (SelectDataUI) ui.getStepUI(AdminStep.SELECT_DATA); ui.getModel().addPropertyChangeListener(AdminUIModel.SELECTION_MODEL_CHANGED_PROPERTY_NAME, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { AdminUIModel model = (AdminUIModel) evt.getSource(); @@ -360,8 +365,10 @@ public class ReportUIHandler extends AdminTabUIHandler { combo.setShowReset(true); variablesPanel.add(combo); Decorator decorator; - if (IdDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { - decorator = getDecoratorService().getDecoratorByType(ReferenceDto.class, variable.getType().getSimpleName()); + if (ReferentialDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { + decorator = getDecoratorService().getReferentialReferenceDecorator(variable.getType()); + } else if (DataDto.class.isAssignableFrom(variable.getType()) && !universe.isEmpty()) { + decorator = getDecoratorService().getDataReferenceDecorator(variable.getType()); } else { decorator = getDecoratorService().getDecoratorByType(variable.getType()); } @@ -369,6 +376,7 @@ public class ReportUIHandler extends AdminTabUIHandler { JComboBox jComboBox = combo.getCombobox(); jComboBox.putClientProperty(VARIABLE_NAME, variableName); jComboBox.addItemListener(new ItemListener() { + @Override public void itemStateChanged(ItemEvent e) { @@ -400,8 +408,7 @@ public class ReportUIHandler extends AdminTabUIHandler { } } - protected void onVariablesChanges(ReportModel model, - Map<String, Object> variables) { + protected void onVariablesChanges(ReportModel model, Map<String, Object> variables) { Report report = model.getSelectedReport(); if (report != null) { @@ -426,13 +433,12 @@ public class ReportUIHandler extends AdminTabUIHandler { try { - Report report = model.getSelectedReport();; + Report report = model.getSelectedReport(); - ReferenceDto trip = getModel().getSelectedTrip(); + DataReference trip = getModel().getSelectedTrip(); if (log.isDebugEnabled()) { - log.debug("Build result for report [" + report.getName() + - "] on " + trip); + log.debug("Build result for report [" + report.getName() + "] on " + trip); } Map<String, Object> variables = model.getVariables(); @@ -467,8 +473,7 @@ public class ReportUIHandler extends AdminTabUIHandler { copyReportToClipBoard(report, model.getResultModel(), model.isCopyRowHeaders(), - model.isCopyColumnHeaders() - ); + model.isCopyColumnHeaders()); } } catch (Exception e) { @@ -490,8 +495,7 @@ public class ReportUIHandler extends AdminTabUIHandler { return model.getReportModel(); } - protected void updateValidState(Report report, - Map<String, Object> variables) { + protected void updateValidState(Report report, Map<String, Object> variables) { boolean canExecute = report != null && report.canExecute(variables); getStepModel().setValid(canExecute); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateEntityListCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateEntityListCellRenderer.java index ae4cf28..abc1777 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateEntityListCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateEntityListCellRenderer.java @@ -22,7 +22,8 @@ package fr.ird.observe.ui.admin.validate; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.actions.validate.ValidateResultForDto; import fr.ird.observe.services.service.actions.validate.ValidateResultForDtos; import fr.ird.observe.ui.DecoratorService; @@ -48,8 +49,7 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl private static final long serialVersionUID = 1L; /** Logger */ - private static final Log log = - LogFactory.getLog(ValidateEntityListCellRenderer.class); + private static final Log log = LogFactory.getLog(ValidateEntityListCellRenderer.class); protected final ValidateModel model; @@ -59,7 +59,7 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl public ValidateEntityListCellRenderer(ValidateModel model) { this.model = model; - renderCache = new HashMap<Object, String>(); + renderCache = new HashMap<>(); // on ecoute les modifications de messages sur le model this.model.addPropertyChangeListener(ValidateModel.PROPERTY_MESSAGES, this); } @@ -106,14 +106,13 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl if (value instanceof Class<?>) { value = renderCache.get(value); } else { - value = valueFromRefDto(decoratorService, (ReferenceDto) value); + value = valueFromRefDto(decoratorService, (AbstractReference) value); } } return super.getListCellRendererComponent(list, value, index, isSelected, cellHasFocus); } - public Object valueFromRefDto(DecoratorService decoratorService, - ReferenceDto value) { + public Object valueFromRefDto(DecoratorService decoratorService, AbstractReference value) { String s = renderCache.get(value); if (s != null) { return s; @@ -130,7 +129,12 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl StringBuilder buffer = new StringBuilder(); - Decorator<?> decorator = decoratorService.getDecoratorByType(ReferenceDto.class, value.getType().getSimpleName()); + Decorator<?> decorator; + if (value instanceof ReferentialReference) { + decorator = decoratorService.getReferentialReferenceDecorator(value.getType()); + } else { + decorator = decoratorService.getDataReferenceDecorator(value.getType()); + } buffer.append(decorator.toString(value)); buffer.append(" ("); @@ -151,6 +155,5 @@ public class ValidateEntityListCellRenderer extends DefaultListCellRenderer impl return s; } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateModel.java index d945487..0e1d4d6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateModel.java @@ -25,8 +25,8 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; +import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.service.actions.validate.ValidateResultForDto; import fr.ird.observe.services.service.actions.validate.ValidateResultForDtoType; import fr.ird.observe.services.service.actions.validate.ValidatorDto; @@ -101,7 +101,7 @@ public class ValidateModel extends AdminActionModel { public ValidateModel() { super(AdminStep.VALIDATE); scopes = EnumSet.noneOf(NuitonValidatorScope.class); - messages = new TreeMap<Class<? extends IdDto>, ValidateResultForDtoType>(); + messages = new TreeMap<>(); } /** @@ -195,7 +195,6 @@ public class ValidateModel extends AdminActionModel { return messages; } - public void setMessages(Map<Class<? extends IdDto>, ValidateResultForDtoType> messages) { Object oldValue = this.messages; this.messages = messages; @@ -214,9 +213,9 @@ public class ValidateModel extends AdminActionModel { return result; } - public List<ReferenceDto> getMessagesDto(Class dtoType) { + public List<AbstractReference> getMessagesDto(Class dtoType) { - List<ReferenceDto> result = Lists.newArrayList(); + List<AbstractReference> result = Lists.newArrayList(); if (messages != null) { @@ -232,7 +231,7 @@ public class ValidateModel extends AdminActionModel { return result; } - public ValidateResultForDto getMessages(ReferenceDto referenceDto) { + public ValidateResultForDto getMessages(AbstractReference referenceDto) { ValidateResultForDto result = null; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java index 5f633e6..d51fe50 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/validate/ValidateUIHandler.java @@ -27,9 +27,9 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Maps; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.actions.validate.ValidateDataRequest; @@ -156,6 +156,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { final SelectDataUI selectTabUI = (SelectDataUI) ui.getStepUI(AdminStep.SELECT_DATA); getModel().getValidateModel().addPropertyChangeListener(ValidateModel.PROPERTY_MODEL_MODE, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { ValidationModelMode value = (ValidationModelMode) evt.getNewValue(); @@ -188,6 +189,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { }); selectTabUI.getModel().addPropertyChangeListener(AdminUIModel.SELECTION_MODEL_CHANGED_PROPERTY_NAME, new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { AdminUIModel model = (AdminUIModel) evt.getSource(); @@ -280,8 +282,8 @@ public class ValidateUIHandler extends AdminTabUIHandler { Class<?> type = (Class<?>) o; - List<ReferenceDto> refs = tabUI.getStepModel().getMessagesDto(type); - for (ReferenceDto ref : Iterables.limit(refs, 100)) { + List<AbstractReference> refs = tabUI.getStepModel().getMessagesDto(type); + for (AbstractReference ref : Iterables.limit(refs, 100)) { if (log.isDebugEnabled()) { log.debug("add ref = " + ref); } @@ -313,7 +315,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { return; } - ReferenceDto ref = (ReferenceDto) o; + AbstractReference ref = (AbstractReference) o; if (log.isDebugEnabled()) { log.debug(ref); @@ -333,6 +335,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { addAdminWorker( ((ValidateUI) ui).getStartButton().getToolTipText(), new Callable<WizardState>() { + @Override public WizardState call() throws Exception { return doAction(); @@ -361,8 +364,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { // pas de validation ou bien pas d'erreurs rencontrées sendMessage(t("observe.message.validation.nothing.to.do")); - sendMessage( - t("observe.message.validation.operation.done", new Date())); + sendMessage(t("observe.message.validation.operation.done", new Date())); return WizardState.SUCCESSED; } @@ -393,7 +395,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { Set<ValidatorDto> validators = validationModel.getValidators(); sendMessage(t("observe.message.validation.use.storage", - source.getLabel())); + source.getLabel())); sendMessage(t("observe.message.validation.prepare.validators")); @@ -422,7 +424,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { ObserveSwingDataSource dataSourceToValidate = model.getLocalSource(); - if (! dataSourceToValidate.isOpen()) { + if (!dataSourceToValidate.isOpen()) { dataSourceToValidate.open(); } @@ -449,7 +451,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { // validation des donnees observateur selectionnee ValidateDataRequest request = new ValidateDataRequest(); - request.setDataIds(ImmutableSet.copyOf(Iterables.transform(dataModel.getSelectedData(), IdDtos.getIdFunction()))); + request.setDataIds(ImmutableSet.copyOf(Iterables.transform(dataModel.getSelectedData(), DataReference.getIdFunction()))); request.setScopes(ImmutableSet.copyOf(stepModel.getScopes())); request.setValidationContext(stepModel.getContextName()); @@ -487,6 +489,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { } } + //FIXME A remplacer par une template public void generateReportFile(ValidateModel validationModel) throws IOException { File reportFile = validationModel.getReportFile(); if (log.isInfoEnabled()) { @@ -511,7 +514,7 @@ public class ValidateUIHandler extends AdminTabUIHandler { ImmutableSet<ValidateResultForDto> validateResultForDtos = validateResultForDtoType.getValidateResultForDto(); for (ValidateResultForDto validateResultForDto : validateResultForDtos) { - ReferenceDto referenceDto = validateResultForDto.getDto(); + AbstractReference referenceDto = validateResultForDto.getDto(); String refStr = service.decorate(referenceDto); @@ -545,7 +548,6 @@ public class ValidateUIHandler extends AdminTabUIHandler { } - // ------------------------------------------------------------------------ // -- ValidateConfgUI methods // ------------------------------------------------------------------------ diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index 1e00947..5c69bd9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -22,20 +22,26 @@ package fr.ird.observe.ui.content; import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.ObserveSwingBinderService; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.AbstractObserveDto; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinition; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestKeyDefinition; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.actions.shared.AbstractUIAction; @@ -43,6 +49,8 @@ import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; import fr.ird.observe.ui.tree.AbstractObserveTreeCellRenderer; import fr.ird.observe.ui.tree.ObserveNode; import fr.ird.observe.ui.tree.ObserveTreeHelper; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.validation.ValidationContext; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.ErrorDialogUI; @@ -74,7 +82,7 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Collections; -import java.util.LinkedHashSet; +import java.util.LinkedList; import java.util.List; import java.util.Set; @@ -102,17 +110,6 @@ public abstract class ContentUIHandler<E extends IdDto> { /** l'interface graphique que le controleur utilise */ protected ObserveContentUI<E> ui; - public ContentUIHandler(ObserveContentUI<E> ui, DataContextType parentType, DataContextType type) { - this.ui = ui; - this.parentType = parentType; - this.type = type; - prefix = "[" + ui.getClass().getSimpleName() + "] "; - if (log.isDebugEnabled()) { - log.debug("New handler [" + this + "] for ui " + prefix); - } - errorIcon = UIManager.getIcon("action.error"); - } - public static <E extends IdDto> ContentUIHandler<E> newHandler(ObserveContentUI<E> ui) { String uiName = ui.getClass().getName(); @@ -250,37 +247,15 @@ public abstract class ContentUIHandler<E extends IdDto> { model.removeMessages((JComponent) ui, null); } - /** - * Calcule le mode de l'écran. - * - * @param dataContext le context de données - * @return {@code null} si l'écran est éditable, autrement le mode - * restreint READ @param dataContext le context de données - */ - protected abstract ContentMode getContentMode(DataContext dataContext); - - /** - * Pour calculer la propriete {@code canWrite} du modèle. - * - * @param dataSsource la base source de l'ui - * @return {@code true} si on peut écrire (donc éditer), {@code false} autrement. - */ - protected abstract boolean computeCanWrite(ObserveSwingDataSource dataSsource); - - protected final String getSelectedParentId() { - String s = null; - if (parentType != null) { - s = parentType.getSelectedId(getDataContext()); - } - return s; - } - - protected final String getSelectedId() { - String s = null; - if (type != null) { - s = type.getSelectedId(getDataContext()); + public ContentUIHandler(ObserveContentUI<E> ui, DataContextType parentType, DataContextType type) { + this.ui = ui; + this.parentType = parentType; + this.type = type; + prefix = "[" + ui.getClass().getSimpleName() + "] "; + if (log.isDebugEnabled()) { + log.debug("New handler [" + this + "] for ui " + prefix); } - return s; + errorIcon = UIManager.getIcon("action.error"); } public ObserveContentUI<E> getUi() { @@ -302,39 +277,21 @@ public abstract class ContentUIHandler<E extends IdDto> { return bean; } - protected DataContext getDataContext() { - DataContext dataContext = ui.getDataContext(); - return dataContext; - } - public DecoratorService getDecoratorService() { DecoratorService result = ObserveSwingApplicationContext.get().getDecoratorService(); return result; } - public ObserveSwingBinderService getBinderService() { - return ObserveSwingApplicationContext.get().getBinderService(); - } - - protected ObserveSwingDataSource getDataSource() { - return ObserveSwingApplicationContext.get().getDataSource(); - } - - protected ObserveOpenDataManager getOpenDataManager() { - ObserveOpenDataManager openDataManager = ObserveSwingApplicationContext.get().getOpenDataManager(); - return openDataManager; - } - public void initUI() throws Exception { final ContentUIInitializer<E, ObserveContentUI<E>> uiInitializer = new ContentUIInitializer<>(ui); uiInitializer.initUI(); - getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { + getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - updateReferenceSets(true); + updateUiWithReferenceSetsFromModel(); } }); @@ -490,16 +447,6 @@ public abstract class ContentUIHandler<E extends IdDto> { } } - protected boolean doSave(E bean) throws Exception { - return false; - } - - protected void afterSave(boolean refresh) { - - // mettre les validateurs en mode non modifié - SwingValidatorUtil.setValidatorChanged(ui, false); - } - public final boolean closeUI() throws Exception { boolean b = checkEdit(ui); if (log.isDebugEnabled()) { @@ -511,27 +458,6 @@ public abstract class ContentUIHandler<E extends IdDto> { return b; } - protected void closeSafeUI() { - - removeAllMessages(ui); - ContentUIModel<E> model = getModel(); - - boolean create = model.isCreatingMode(); - if (create && model.isEditable()) { - // remove node - ObserveTreeHelper treehelper = getTreeHelper(ui); - ObserveNode node = treehelper.getSelectedNode(); - - ObserveNode parentNode = node.getParent(); - if (parentNode != null) { - // node still attached, so remove it - treehelper.removeNode(node); - treehelper.selectNode(parentNode); - } - } - - } - public final void deleteUI() { boolean ok = false; ui.stopEdit(); @@ -552,30 +478,7 @@ public abstract class ContentUIHandler<E extends IdDto> { } } - protected boolean doDelete(E bean) throws Exception { - return false; - } - - protected boolean askToDelete(E bean) { - boolean accept = - UIHelper.confirmForEntityDelete(ui, getBeanType(), bean); - - return !accept; - } - - protected void afterDelete() { - ui.stopEdit(); - removeAllMessages(ui); - if (!(getBean() instanceof ReferentialDto)) { - - ObserveTreeHelper treeHelper = getTreeHelper(ui); - ObserveNode node = treeHelper.getSelectedNode(); - ObserveNode parentNode = treeHelper.removeNode(node); - treeHelper.selectNode(parentNode); - } - } - - public void gotoChild(IdDto entity) { + public <C extends DataDto> void gotoChild(DataReference<C> entity) { if (entity == null) { // rien a faire @@ -625,6 +528,149 @@ public abstract class ContentUIHandler<E extends IdDto> { } } + public String updateTitle(String title) { + if (ContentReferenceUIHandler.class.isAssignableFrom(getClass())) { + return DecoratorService.getEntityLabel(getBeanType()); + } + return title; + } + + protected void loadReferentialReferenceSetsInModel(Form<E> form) { + + String requestName = form.getReferentialReferenceSetsRequestName(); + + // mettre à jour le cache de référentiel + ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); + + // calculer les listes de référentiels à utiliser dans le modèle + + ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); + + ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); + + for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { + + if (!propertyDefinition.isReferential()) { + continue; + } + + String propertyName = propertyDefinition.getName(); + ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); + ReferentialReferenceSet filtredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + + modelReferentialReferenceSets.put(propertyName, filtredReferentialReferenceSet); + + } + + getModel().setReferentialReferenceSets(modelReferentialReferenceSets.build()); + + } + + protected <D extends ReferentialDto> Iterable<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) { + return incomingReferences; + } + + /** + * Calcule le mode de l'écran. + * + * @param dataContext le context de données + * @return {@code null} si l'écran est éditable, autrement le mode + * restreint READ @param dataContext le context de données + */ + protected abstract ContentMode getContentMode(DataContext dataContext); + + /** + * Pour calculer la propriete {@code canWrite} du modèle. + * + * @param dataSsource la base source de l'ui + * @return {@code true} si on peut écrire (donc éditer), {@code false} autrement. + */ + protected abstract boolean computeCanWrite(ObserveSwingDataSource dataSsource); + + protected final String getSelectedParentId() { + String s = null; + if (parentType != null) { + s = parentType.getSelectedId(getDataContext()); + } + return s; + } + + protected final String getSelectedId() { + String s = null; + if (type != null) { + s = type.getSelectedId(getDataContext()); + } + return s; + } + + protected DataContext getDataContext() { + DataContext dataContext = ui.getDataContext(); + return dataContext; + } + + protected ObserveSwingDataSource getDataSource() { + return ObserveSwingApplicationContext.get().getDataSource(); + } + + protected ObserveOpenDataManager getOpenDataManager() { + ObserveOpenDataManager openDataManager = ObserveSwingApplicationContext.get().getOpenDataManager(); + return openDataManager; + } + + protected boolean doSave(E bean) throws Exception { + return false; + } + + protected void afterSave(boolean refresh) { + + // mettre les validateurs en mode non modifié + SwingValidatorUtil.setValidatorChanged(ui, false); + } + + protected void closeSafeUI() { + + removeAllMessages(ui); + ContentUIModel<E> model = getModel(); + + boolean create = model.isCreatingMode(); + if (create && model.isEditable()) { + // remove node + ObserveTreeHelper treehelper = getTreeHelper(ui); + ObserveNode node = treehelper.getSelectedNode(); + + ObserveNode parentNode = node.getParent(); + if (parentNode != null) { + // node still attached, so remove it + treehelper.removeNode(node); + treehelper.selectNode(parentNode); + } + } + + } + + protected boolean doDelete(E bean) throws Exception { + return false; + } + + protected boolean askToDelete(E bean) { + boolean accept = + UIHelper.confirmForEntityDelete(ui, getBeanType(), bean); + + return !accept; + } + + protected void afterDelete() { + ui.stopEdit(); + removeAllMessages(ui); + if (!(getBean() instanceof ReferentialDto)) { + + ObserveTreeHelper treeHelper = getTreeHelper(ui); + ObserveNode node = treeHelper.getSelectedNode(); + ObserveNode parentNode = treeHelper.removeNode(node); + treeHelper.selectNode(parentNode); + } + } + protected void addInfoMessage(String message) { addMessage(ui, NuitonValidatorScope.INFO, @@ -742,13 +788,6 @@ public abstract class ContentUIHandler<E extends IdDto> { getModel().setMode(newMode); } - public String updateTitle(String title) { - if (ContentReferenceUIHandler.class.isAssignableFrom(getClass())) { - return DecoratorService.getEntityLabel(getBeanType()); - } - return title; - } - //FIXME Do it in jaxx protected void resetQuadrant(CoordinatesEditor editor) { @@ -776,30 +815,9 @@ public abstract class ContentUIHandler<E extends IdDto> { } /** - * Pour mettre à jour les referencesSets liés au formulaire et rafraichir les ui en conséquence. + * Pour mettre à jour les composants graphiques avec les référentiels chargés dans le modèle */ - protected void updateReferenceSets() { - - getDataSource().loadReferenceSets(getModel().getFormDto()); - - updateReferenceSets(false); - - } - - /** - * Pour mettre à jour les referenceSets liés au formulaire si le drapeau est à vrai et que l'écran est en édition. - * - * On rafraichit dans tous les cas l'ui (pour vider par exemple les combobox, si les referenceSets sont vides). - * - * @param reloadReferenceSets pour tenter de recharger les referenceSets - */ - protected void updateReferenceSets(boolean reloadReferenceSets) { - - if (reloadReferenceSets && ContentMode.READ != getModel().getMode()) { - - getDataSource().loadReferenceSets(getModel().getFormDto()); - - } + protected void updateUiWithReferenceSetsFromModel() { for (String name : ui.get$objectMap().keySet()) { Object o = ui.getObjectById(name); @@ -809,17 +827,44 @@ public abstract class ContentUIHandler<E extends IdDto> { } if (o instanceof BeanComboBox) { - updateData((BeanComboBox) o); + + BeanComboBox beanComboBox = (BeanComboBox) o; + + Class dtoClass = getDtoClass(beanComboBox); + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + updateReferentialBeanComboBox(dtoClass, beanComboBox); + } else { + updateDataBeanComboBox(dtoClass, beanComboBox); + } + continue; } if (o instanceof BeanListHeader) { - updateData((BeanListHeader) o); + + BeanListHeader beanListHeader = (BeanListHeader) o; + + Class dtoClass = getDtoClass(beanListHeader); + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + updateReferentialBeanListHeader(dtoClass, beanListHeader); + } else { + updateDataBeanListHeader(dtoClass, beanListHeader); + } + continue; } if (o instanceof FilterableDoubleList) { - updateData((FilterableDoubleList) o); + + FilterableDoubleList filterableDoubleList = (FilterableDoubleList) o; + + Class dtoClass = getDtoClass(filterableDoubleList); + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + updateReferentialFilterableDoubleList(dtoClass, filterableDoubleList); + } else { + updateDataFilterableDoubleList(dtoClass, filterableDoubleList); + } + continue; } @@ -827,98 +872,168 @@ public abstract class ContentUIHandler<E extends IdDto> { } - protected <R extends IdDto> void updateData(FilterableDoubleList<ReferenceDto<R>> list) { + protected <R extends DataDto> void updateDataFilterableDoubleList(Class<R> dtoClass, FilterableDoubleList<DataReference<R>> list) { - Class<R> dtoClass = getDtoClass(list); - FormDto<E> formDto = getModel().getFormDto(); - List<ReferenceDto<R>> data; + List<DataReference<R>> data; - if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { + if (getModel().getForm() == null) { + data = Collections.emptyList(); + } else { - //FIXME Bien vérifier que cela fonctionne - Set<ReferentialDto> referenceSetDto = getModel().getReferentialReferences((Class) dtoClass, list.getModel().getProperty()); + Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(dtoClass, list.getModel().getProperty()); + data = new ArrayList<>(referenceSetDto); - data = new ArrayList(referenceSetDto); + } + // sort data from first decorator context + DataReferenceDecorator<R> decorator = getDataReferenceDecorator(dtoClass); + DecoratorUtil.sort(decorator, data, 0); + + //FIXME A finir (bien vérifier que la sélection n'est plus dans l'univers) + List<DataReference<R>> selected = list.getModel().getSelected(); + list.setUniverse(data); + list.setSelected(selected); + + list.putClientProperty("data", data); + } + + protected <R extends ReferentialDto> void updateReferentialFilterableDoubleList(Class<R> dtoClass, FilterableDoubleList<ReferentialReference<R>> list) { + + List<ReferentialReference<R>> data; + + if (getModel().getForm() == null) { + data = Collections.emptyList(); } else { - data = new ArrayList<>(); + Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(dtoClass, list.getModel().getProperty()); + data = new ArrayList<>(referenceSetDto); } // sort data from first decorator context - Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); + ReferentialReferenceDecorator<R> decorator = getReferentialReferenceDecorator(dtoClass); + DecoratorUtil.sort(decorator, data, 0); //FIXME A finir (bien vérifier que la sélection n'est plus dans l'univers) - List<ReferenceDto<R>> selected = list.getModel().getSelected(); + List<ReferentialReference<R>> selected = list.getModel().getSelected(); list.setUniverse(data); list.setSelected(selected); list.putClientProperty("data", data); } - protected <R extends IdDto> void updateData(BeanListHeader<ReferenceDto<R>> list) { + protected <R extends ReferentialDto> void updateReferentialBeanListHeader(Class<R> dtoClass, BeanListHeader<ReferentialReference<R>> list) { - Class<R> dtoClass = getDtoClass(list); - FormDto<E> formDto = getModel().getFormDto(); - List<ReferenceDto<R>> data; + List<ReferentialReference<R>> data; - if (formDto != null && ReferentialDto.class.isAssignableFrom(dtoClass)) { + if (getModel().getForm() == null) { + data = Collections.emptyList(); + } else { - ReferenceSetDto<R> referenceSetDto = formDto.getReferenceSetDto(dtoClass); - data = new ArrayList<>(referenceSetDto.getReference()); + Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(dtoClass, list.getName()); + data = new ArrayList<>(referenceSetDto); - } else { - data = new ArrayList<>(); } // sort data from first decorator context - Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); + ReferentialReferenceDecorator<R> decorator = getReferentialReferenceDecorator(dtoClass); + DecoratorUtil.sort(decorator, data, 0); list.setData(data); list.putClientProperty("data", data); + } + protected <R extends DataDto> void updateDataBeanListHeader(Class<R> dtoClass, BeanListHeader<DataReference<R>> list) { + + List<DataReference<R>> data; - protected <R extends IdDto> void updateData(BeanComboBox<ReferenceDto<R>> comboBox) { + if (getModel().getForm() == null) { + data = Collections.emptyList(); + } else { - Class<R> dtoClass = getDtoClass(comboBox); + Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(dtoClass, list.getName()); + data = new ArrayList<>(referenceSetDto); - Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + } + + // sort data from first decorator context + DataReferenceDecorator<R> decorator = getDataReferenceDecorator(dtoClass); + DecoratorUtil.sort(decorator, data, 0); + + list.setData(data); + list.putClientProperty("data", data); + + } - List<ReferenceDto<R>> data; - FormDto<E> formDto = getModel().getFormDto(); + protected <R extends ReferentialDto> void updateReferentialBeanComboBox(Class<R> dtoClass, BeanComboBox<ReferentialReference<R>> comboBox) { + Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); String propertyName = comboBox.getProperty(); - if (BooleanUtils.isTrue(noLoad) || formDto == null) { + List<ReferentialReference<R>> data; + + if (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null) { if (log.isInfoEnabled()) { - log.info(String.format("Skip loading of entity list [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); + log.info(String.format("Skip loading of comboBox [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); } data = Collections.emptyList(); } else { - data = new ArrayList<>(); + Optional<Set<ReferentialReference<R>>> optionalReferenceSetDto = getModel().tryToGetReferentialReferenceSet(dtoClass, propertyName); + + if (optionalReferenceSetDto.isPresent()) { + + Set<ReferentialReference<R>> references = optionalReferenceSetDto.get(); + data = Lists.newArrayList(references); - // get complete data list from service - Optional<ReferenceSetDto<R>> optionalReferenceSetDto = formDto.tryToGetReferenceSetDto(dtoClass, propertyName); + } else { + data = Collections.emptyList(); + } + + } + + if (log.isInfoEnabled()) { + log.info(String.format("comboBox [%s-%s] : %d", dtoClass.getSimpleName(), propertyName, data.size())); + } + + comboBox.setData(data); + + } + + protected <R extends DataDto> void updateDataBeanComboBox(Class<R> dtoClass, BeanComboBox<DataReference<R>> comboBox) { + + Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + String propertyName = comboBox.getProperty(); + + List<DataReference<R>> data; + + if (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null) { + + if (log.isInfoEnabled()) { + log.info(String.format("Skip loading of comboBox [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); + } + data = Collections.emptyList(); + + } else { + + Optional<Set<DataReference<R>>> optionalReferenceSetDto = getModel().tryToGetDataReferenceSet(dtoClass, propertyName); if (optionalReferenceSetDto.isPresent()) { - ReferenceSetDto<R> referenceSetDto = optionalReferenceSetDto.get(); - LinkedHashSet<ReferenceDto<R>> reference = referenceSetDto.getReference(); - data.addAll(reference); + Set<DataReference<R>> references = optionalReferenceSetDto.get(); + data = Lists.newArrayList(references); + } else { + data = Collections.emptyList(); } } if (log.isInfoEnabled()) { - log.info(String.format("entity list [%s-%s] : %d", dtoClass.getSimpleName(), propertyName, data.size())); + log.info(String.format("entity comboBox [%s-%s] : %d", dtoClass.getSimpleName(), propertyName, data.size())); } comboBox.setData(data); @@ -929,14 +1044,28 @@ public abstract class ContentUIHandler<E extends IdDto> { return (Class<R>) clientProperty; } - protected <R extends IdDto> Decorator<ReferenceDto<R>> getReferenceDecorator(Class<R> dtoType) { - Decorator<ReferenceDto<R>> decorator = getDecoratorService().getReferenceDecorator(dtoType); - return decorator; + protected <R extends DataDto> DataReferenceDecorator<R> getDataReferenceDecorator(Class<R> dtoType) { + return getDecoratorService().getDataReferenceDecorator(dtoType); + } + + protected <R extends ReferentialDto> ReferentialReferenceDecorator<R> getReferentialReferenceDecorator(Class<R> dtoType) { + return getDecoratorService().getReferentialReferenceDecorator(dtoType); } - protected <R extends ReferentialDto> Decorator<ReferentialReferenceDto<R>> getReferentialReferenceDecorator(Class<R> dtoType) { - Decorator<ReferentialReferenceDto<R>> decorator = getDecoratorService().getReferentialReferenceDecorator(dtoType); - return decorator; + private final <D extends ReferentialDto> ReferentialReferenceSet<D> filtredReferentialReferenceSet(ReferenceSetRequestKeyDefinition<D> propertyDefinition, + ReferentialReferenceSet<D> incomingReferentialReferenceSet) { + + Class<D> dtoType = propertyDefinition.getType(); + String propertyName = propertyDefinition.getName(); + + LinkedList<ReferentialReference<D>> incomingReferences = Lists.newLinkedList(incomingReferentialReferenceSet.getReferences()); + + Iterable<ReferentialReference<D>> filtredReferentialReferences = filterReferentialReferences(dtoType, propertyName, incomingReferences); + + ImmutableSet<ReferentialReference<D>> references1 = ImmutableSet.copyOf(filtredReferentialReferences); + ReferentialReferenceSet<D> filtredReferentialReferenceSet = ReferentialReferenceSet.of(dtoType, references1, incomingReferentialReferenceSet.getLastUpdate()); + return filtredReferentialReferenceSet; + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java index cbc63b3..b6b4729 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java @@ -24,15 +24,18 @@ package fr.ird.observe.ui.content; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; -import fr.ird.observe.ui.UIHelper; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.actions.shared.AbstractUIAction; import fr.ird.observe.ui.util.BooleanEditor; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.ui.util.tripMap.ObserveMapPane; import fr.ird.observe.validation.ObserveSwingValidator; import jaxx.runtime.JAXXValidator; @@ -54,7 +57,6 @@ import org.jdesktop.swingx.JXMonthView; import org.jdesktop.swingx.autocomplete.ComboBoxCellEditor; import org.jdesktop.swingx.autocomplete.ObjectToStringConverter; import org.nuiton.decorator.Decorator; -import org.nuiton.decorator.JXPathDecorator; import org.nuiton.jaxx.application.bean.JavaBeanObjectUtil; import org.nuiton.jaxx.widgets.datetime.DateTimeEditor; import org.nuiton.jaxx.widgets.datetime.TimeEditor; @@ -89,8 +91,6 @@ import java.awt.event.ItemEvent; import java.awt.event.ItemListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; -import java.beans.PropertyChangeEvent; -import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Collections; import java.util.Date; @@ -123,8 +123,11 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E protected final UI ui; + protected final DecoratorService decoratorService; + public ContentUIInitializer(UI ui) { this.ui = ui; + this.decoratorService = ObserveSwingApplicationContext.get().getDecoratorService(); } public static TableCellEditor newFloatColumnEditor(JTable table) { @@ -186,8 +189,8 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E } - protected FormDto<E> getFormDto() { - return ui.getModel().getFormDto(); + protected Form<E> getFormDto() { + return ui.getModel().getForm(); } public void initUI() throws Exception { @@ -351,17 +354,24 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E editor.init(); } - @SuppressWarnings("unchecked") protected void init(BeanComboBox beanComboBox) { if (log.isDebugEnabled()) { log.debug("init combobox for " + beanComboBox.getBeanType()); } beanComboBox.setI18nPrefix("observe.common."); beanComboBox.setMinimumSize(new Dimension(0, 24)); - prepareBeanComboBox(beanComboBox); + + Class dtoClass = getDtoClass(beanComboBox); + + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + prepareReferentialBeanComboBox(dtoClass, beanComboBox); + } else { + prepareDataBeanComboBox(dtoClass, beanComboBox); + } + } - protected <E extends IdDto> void init(BeanListHeader<ReferenceDto<E>> beanList) { + protected void init(BeanListHeader beanList) { beanList.setI18nPrefix("observe.common."); @@ -369,33 +379,16 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E log.info("init list for " + beanList.getBeanType()); } - Class<E> dtoClass = (Class<E>) beanList.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - prepareEntityList(dtoClass, beanList); - - JList jlist = beanList.getList(); + Class dtoClass = getDtoClass(beanList); - Object init = jlist.getClientProperty("addDecorator"); - if (init != null) { - Class<? extends IdDto> klass = (Class<? extends IdDto>) init; - if (log.isDebugEnabled()) { - log.debug("addDecorator to list " + - jlist.getName()); - } - Decorator<? extends IdDto> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecoratorByType(klass); - jlist.putClientProperty("decorator", decorator); + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + prepareReferentialEntityList(dtoClass, beanList); + } else { + prepareDataEntityList(dtoClass, beanList); } - init = jlist.getClientProperty("addToogleListSelectionModel"); - if (init != null && init instanceof Boolean && (Boolean) init) { - if (log.isDebugEnabled()) { - log.debug("addToogleListSelectionModel to list " + - jlist.getName()); - } - prepareToogleListSelectionModel(jlist); - } } - @SuppressWarnings("unchecked") protected void init(FilterableDoubleList beanList) { beanList.setI18nPrefix("observe.common."); @@ -404,7 +397,13 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E log.info("init list for " + beanList.getBeanType()); } - prepareEntityList(beanList); + Class dtoClass = getDtoClass(beanList); + + if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + prepareReferentialFilterableDoubleList(dtoClass, beanList); + } else { + prepareDataFilterableDoubleList(dtoClass, beanList); + } } @@ -586,9 +585,8 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E /** * Ajoute à une liste graphique donnée le comportement de * sélection-déselection en un seul click. - * <p/> - * TODO: il faudrait que cela ne perturbe pas le comportement des raccourcis - * clavier. + * + * TODO: il faudrait que cela ne perturbe pas le comportement des raccourcis clavier. * * @param list la liste graphique à traiter */ @@ -604,39 +602,25 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E * type donné sur un service de persistance donné. * * @param list le component graphique à initialiser - * @si un problème lors de la récupération - * des entités * @since 1.5 */ - protected <E extends IdDto> void prepareEntityList(FilterableDoubleList<ReferenceDto<E>> list) { + protected <D extends DataDto> void prepareDataFilterableDoubleList(Class<D> dtoClass, FilterableDoubleList<DataReference<D>> list) { - ObserveSwingApplicationContext tx = ObserveSwingApplicationContext.get(); - - Class<E> dtoClass = (Class<E>) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - // init list - Decorator<ReferenceDto<E>> decorator = tx.getDecoratorService().getReferenceDecorator(dtoClass); + DataReferenceDecorator<D> decorator = decoratorService.getDataReferenceDecorator(dtoClass); if (log.isDebugEnabled()) { log.debug("Will use decorator " + decorator); } list.putClientProperty("decorator", decorator); - // set datas to list and init renderer - list.init((JXPathDecorator<ReferenceDto<E>>) decorator, new ArrayList<ReferenceDto<E>>(), new ArrayList<ReferenceDto<E>>()); + list.init(decorator, new ArrayList<DataReference<D>>(), new ArrayList<DataReference<D>>()); - // get the renderer initialized - ListCellRenderer renderer = list.getSelectedList().getCellRenderer(); + JList<AbstractReference<D>> selectedList = list.getSelectedList(); + ListCellRenderer<? super AbstractReference<D>> renderer = selectedList.getCellRenderer(); - // add the specific renderer - list.getSelectedList().setCellRenderer(new ReferentielListCellRenderer(renderer)); - list.getUniverseList().setCellRenderer(new ReferentielListCellRenderer(renderer)); + selectedList.setCellRenderer(new ReferentielListCellRenderer<>(renderer)); + list.getUniverseList().setCellRenderer(new ReferentielListCellRenderer<>(renderer)); - //FIXME - // listen on cache modification -// EntityDoubleListPropertyChangeListener<E> listener = -// new EntityDoubleListPropertyChangeListener<E>(entityClass, list); -// DataService service = ObserveContext.get().getDataService(); -// service.addReferentielPropertyChangeListener(entityClass, listener); } /** @@ -644,109 +628,122 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E * type donné sur un service de persistance donné. * * @param list le component graphique à initialiser - * @si un problème lors de la récupération - * des entités * @since 1.5 */ - protected <E extends IdDto> void prepareEntityList(Class<E> dtoClass, - BeanListHeader<ReferenceDto<E>> list) { + protected <D extends ReferentialDto> void prepareReferentialFilterableDoubleList(Class<D> dtoClass, FilterableDoubleList<ReferentialReference<D>> list) { + + ReferentialReferenceDecorator<D> decorator = decoratorService.getReferentialReferenceDecorator(dtoClass); + if (log.isDebugEnabled()) { + log.debug("Will use decorator " + decorator); + } + + list.putClientProperty("decorator", decorator); + + list.init(decorator, new ArrayList<ReferentialReference<D>>(), new ArrayList<ReferentialReference<D>>()); + + JList<AbstractReference<D>> selectedList = list.getSelectedList(); + ListCellRenderer<? super AbstractReference<D>> renderer = selectedList.getCellRenderer(); + + selectedList.setCellRenderer(new ReferentielListCellRenderer<>(renderer)); + list.getUniverseList().setCellRenderer(new ReferentielListCellRenderer<>(renderer)); + + } - ObserveSwingApplicationContext tx = ObserveSwingApplicationContext.get(); + /** + * Remplit le modèle d'une liste graphique avec la liste des entités d'un + * type donné sur un service de persistance donné. + * + * @param list le component graphique à initialiser + * @since 1.5 + */ + protected <D extends DataDto> void prepareDataEntityList(Class<D> dtoClass, BeanListHeader<DataReference<D>> list) { - // init list - Decorator<ReferenceDto<E>> decorator = tx.getDecoratorService().getReferenceDecorator(dtoClass); + DataReferenceDecorator<D> decorator = decoratorService.getDataReferenceDecorator(dtoClass); if (log.isDebugEnabled()) { log.debug("Will use decorator " + decorator); } list.putClientProperty("decorator", decorator); - // set datas to list and init renderer - list.init((JXPathDecorator<ReferenceDto<E>>) decorator, Collections.<ReferenceDto<E>>emptyList()); + list.init(decorator, Collections.<DataReference<D>>emptyList()); + + JList<AbstractReference<D>> list1 = list.getList(); + ListCellRenderer<? super AbstractReference<D>> renderer = list1.getCellRenderer(); + list1.setCellRenderer(new ReferentielListCellRenderer<>(renderer)); + + } + + /** + * Remplit le modèle d'une liste graphique avec la liste des entités d'un + * type donné sur un service de persistance donné. + * + * @param list le component graphique à initialiser + * @since 1.5 + */ + protected <D extends ReferentialDto> void prepareReferentialEntityList(Class<D> dtoClass, BeanListHeader<ReferentialReference<D>> list) { + + ReferentialReferenceDecorator<D> decorator = decoratorService.getReferentialReferenceDecorator(dtoClass); + if (log.isDebugEnabled()) { + log.debug("Will use decorator " + decorator); + } + + list.putClientProperty("decorator", decorator); - // get the renderer initialized - ListCellRenderer renderer = list.getList().getCellRenderer(); + list.init(decorator, Collections.<ReferentialReference<D>>emptyList()); - // add the specific renderer - list.getList().setCellRenderer(new ReferentielListCellRenderer(renderer)); + JList<AbstractReference<D>> list1 = list.getList(); + ListCellRenderer<? super AbstractReference<D>> renderer = list1.getCellRenderer(); + list1.setCellRenderer(new ReferentielListCellRenderer<>(renderer)); - //FIXME - // listen on cache modification -// EntityListPropertyChangeListener<E> listener = -// new EntityListPropertyChangeListener<E>(dtoClass, list); -// DataService service = ObserveContext.get().getDataService(); -// service.addReferentielPropertyChangeListener(entityClass, listener); } /** - * Prépare un component de choix d'entités pour un type d'entité donné et - * pour un service de persistance donné. + * Prépare un component de choix d'entités pour un type d'entité donné et pour un service de persistance donné. * - * @param <E> le type de l'entité + * @param <D> le type de l'entité * @param comboBox le component graphique à initialiser - * @si un pb pendant la récupération des - * entités */ - protected <E extends IdDto> void prepareBeanComboBox(BeanComboBox<ReferenceDto<E>> comboBox) { + protected <D extends DataDto> void prepareDataBeanComboBox(Class<D> dtoClass, BeanComboBox<DataReference<D>> comboBox) { - ObserveSwingApplicationContext context = ObserveSwingApplicationContext.get(); + DataReferenceDecorator<D> decorator = decoratorService.getDataReferenceDecorator(dtoClass); - // init combobox - Class<E> dtoClass = (Class<E>) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); - Decorator<ReferenceDto<E>> decorator = context.getDecoratorService().getReferenceDecorator(dtoClass); + comboBox.init(decorator, Collections.<DataReference<D>>emptyList()); - // add data list to combo box - comboBox.init((JXPathDecorator<ReferenceDto<E>>) decorator, Collections.<ReferenceDto<E>>emptyList()); + JComboBox<DataReference<D>> combobox = comboBox.getCombobox(); - final ListCellRenderer renderer = comboBox.getCombobox().getRenderer(); + ListCellRenderer<DataReference<D>> toolTipRenderer = new ComboBoxListCellRenderer<>(combobox.getRenderer()); + combobox.setRenderer(toolTipRenderer); + if (log.isDebugEnabled()) { + log.debug("combo list [" + dtoClass.getName() + "] : " + comboBox.getData().size()); + } - ListCellRenderer toolTipRenderer = new ListCellRenderer() { + } - @Override - public Component getListCellRendererComponent(JList list, - Object value, - int index, - boolean isSelected, - boolean cellHasFocus) { - Component comp = renderer.getListCellRendererComponent( - list, - value, - index, - isSelected, - cellHasFocus - ); - if (comp instanceof JLabel) { - JLabel jcomp = (JLabel) comp; - jcomp.setToolTipText(jcomp.getText()); - } - return comp; - } - }; + /** + * Prépare un component de choix d'entités pour un type d'entité donné et pour un service de persistance donné. + * + * @param <D> le type de l'entité + * @param comboBox le component graphique à initialiser + */ + protected <D extends ReferentialDto> void prepareReferentialBeanComboBox(Class<D> dtoClass, BeanComboBox<ReferentialReference<D>> comboBox) { + + ReferentialReferenceDecorator<D> decorator = decoratorService.getReferentialReferenceDecorator(dtoClass); + + comboBox.init(decorator, Collections.<ReferentialReference<D>>emptyList()); - comboBox.getCombobox().setRenderer(toolTipRenderer); + JComboBox<ReferentialReference<D>> combobox = comboBox.getCombobox(); + + ListCellRenderer<ReferentialReference<D>> toolTipRenderer = new ComboBoxListCellRenderer<>(combobox.getRenderer()); + combobox.setRenderer(toolTipRenderer); if (log.isDebugEnabled()) { - log.debug("combo list [" + dtoClass.getName() + "] : " + - comboBox.getData().size()); - } - -// if (referentialEntity) { - //FIXME - - // listen on cache modification -// BeanComboBoxPropertyChangeListener listener = -// new BeanComboBoxPropertyChangeListener(realEntityClass, comboBox) { -// @Override -// public void propertyChange(PropertyChangeEvent evt) { -// if (log.isDebugEnabled()) { -// log.debug("entity list [" + evt.getPropertyName() + "]"); -// } -// super.propertyChange(evt); -// } -// }; -// service.addReferentielPropertyChangeListener(entityClass, listener); + log.debug("combo list [" + dtoClass.getName() + "] : " + comboBox.getData().size()); + } -// } + } + protected <D extends IdDto> Class<D> getDtoClass(JComponent list) { + Object clientProperty = list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_ENTITY_CLASS); + return (Class<D>) clientProperty; } /** @@ -756,7 +753,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E * @author Tony Chemit - chemit@codelutin.com * @since 1.2 */ - public static class ReferentielListCellRenderer implements ListCellRenderer { + public static class ReferentielListCellRenderer<D extends IdDto> implements ListCellRenderer<AbstractReference<D>> { /** la couleur normal pour les entites non desactivees */ protected Color normalColor; @@ -764,18 +761,14 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E /** la couleur a utiliser pour les entites desactivees */ protected Color disableColor = Color.LIGHT_GRAY; - protected ListCellRenderer delegate; + protected ListCellRenderer<? super AbstractReference<D>> delegate; - public ReferentielListCellRenderer(ListCellRenderer delegate) { + public ReferentielListCellRenderer(ListCellRenderer<? super AbstractReference<D>> delegate) { this.delegate = delegate; } @Override - public Component getListCellRendererComponent(JList list, - Object value, - int index, - boolean isSelected, - boolean cellHasFocus) { + public Component getListCellRendererComponent(JList<? extends AbstractReference<D>> list, AbstractReference<D> value, int index, boolean isSelected, boolean cellHasFocus) { JComponent comp; comp = (JComponent) delegate.getListCellRendererComponent( list, @@ -792,19 +785,13 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E // par defaut, on utilise la couleur normale Color col = normalColor; - if (value != null && - (value instanceof ReferentialDto || value instanceof ReferenceDto)) { + if (value != null) { boolean enabled = true; - if (value instanceof ReferentialDto) { - - ReferentialDto e = (ReferentialDto) value; - enabled = e.isEnabled(); - - } else if (value instanceof ReferentialReferenceDto) { + if (value instanceof ReferentialReference<?>) { - ReferentialReferenceDto e = (ReferentialReferenceDto) value; + ReferentialReference e = (ReferentialReference) value; enabled = e.isEnabled(); } @@ -820,61 +807,79 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E comp.setToolTipText(tip); return comp; } +// +// @Override +// public Component getListCellRendererComponent(JList<? extends D> list, +// D value, +// int index, +// boolean isSelected, +// boolean cellHasFocus) { +// JComponent comp; +// comp = (JComponent) delegate.getListCellRendererComponent( +// list, +// value, +// index, +// isSelected, +// cellHasFocus); +// if (normalColor == null) { +// // premiere fois, on intialise la couleur dite normale +// normalColor = comp.getForeground(); +// } +// +// String tip = null; +// +// // par defaut, on utilise la couleur normale +// Color col = normalColor; +// if (value != null) { +// +// boolean enabled = true; +// +// if (value instanceof ReferentialReference<?>) { +// +// ReferentialReference e = (ReferentialReference) value; +// enabled = e.isEnabled(); +// +// } +// +// if (!enabled) { +// // l'entite est desactivee +// // on la grise pour bien la differencier +// col = disableColor; +// tip = t("observe.common.obsolete.entity", ((JLabel) comp).getText()); +// } +// } +// comp.setForeground(col); +// comp.setToolTipText(tip); +// return comp; +// } } - /** - * Un écouteur de changement des entités d'un type donnés contenues dans le - * modèle d'une liste déroulante graphique donnée. - * - * @param <E> le type des entités - */ - protected static class BeanComboBoxPropertyChangeListener - <E extends ReferentialDto> implements PropertyChangeListener { - - /** le type des entités à écouter */ - private final Class<E> entityClass; + private static class ComboBoxListCellRenderer<E> implements ListCellRenderer<E> { - /** la liste à choix graphique */ - private final BeanComboBox<E> comboBox; + private final ListCellRenderer<? super E> renderer; - public BeanComboBoxPropertyChangeListener(Class<E> entityClass, BeanComboBox<E> comboBox) { - this.entityClass = entityClass; - this.comboBox = comboBox; + public ComboBoxListCellRenderer(ListCellRenderer<? super E> renderer) { + this.renderer = renderer; } - @SuppressWarnings({"unchecked"}) @Override - public void propertyChange(PropertyChangeEvent evt) { - - // recuperation de la liste des entites - //TC-20100209 : on veut une copie de la liste puisqu'on peut la - // modifer via le filtre sur les entites sur le caractère actif - List<E> newValue = new ArrayList<E>((List<E>) evt.getNewValue()); - - if (log.isDebugEnabled()) { - log.debug("reloading entities list for [" + entityClass + - "], size : " + newValue.size()); - } - //TC-20100208 : on ne veut pas voir les elements du referentiel non actif - ReferentialDtos.filterReferentialListByStatus(newValue); - - E selectedItem = (E) comboBox.getSelectedItem(); - - comboBox.setData(newValue); - - if (selectedItem != null) { - - // obtain back the selected item from the new list - - E newSelectedItem = UIHelper.getEntity(newValue, selectedItem); - - comboBox.setSelectedItem(null); - - if (newSelectedItem != null) { - comboBox.setSelectedItem(newSelectedItem); - } + public Component getListCellRendererComponent(JList<? extends E> list, + E value, + int index, + boolean isSelected, + boolean cellHasFocus) { + Component comp = renderer.getListCellRendererComponent( + list, + value, + index, + isSelected, + cellHasFocus + ); + if (comp instanceof JLabel) { + JLabel jcomp = (JLabel) comp; + jcomp.setToolTipText(jcomp.getText()); } + return comp; } } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java index e6a47de..b8d0a20 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java @@ -21,18 +21,21 @@ */ package fr.ird.observe.ui.content; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMap; import fr.ird.observe.ObserveSwingTechnicalException; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; -import java.util.LinkedHashSet; import java.util.Set; /** @@ -65,10 +68,11 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab public static final String PROPERTY_CAN_WRITE = "canWrite"; - public static final String PROPERTY_FORM_DTO = "formDto"; + public static final String PROPERTY_FORM = "form"; /** Logger */ static private final Log log = LogFactory.getLog(ContentUIModel.class); + private static final long serialVersionUID = 1L; protected final Class<E> beanType; @@ -76,7 +80,7 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab //FIXME // protected TopiaEntityBinder<E> loadBinder; - protected FormDto<E> formDto; + protected Form<E> form; protected E bean; @@ -94,19 +98,7 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab protected boolean canWrite; - public ContentUIModel(Class<E> beanType) { - this.beanType = beanType; - try { - setBean(beanType.newInstance()); - - } catch (Exception e) { - // ne devrait jamain arrive - if (log.isErrorEnabled()) { - log.error(e); - } - } - - } + private ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName; public static <E extends IdDto> ContentUIModel<E> newModel(ObserveContentUI<E> ui) { @@ -125,6 +117,20 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab } + public ContentUIModel(Class<E> beanType) { + this.beanType = beanType; + try { + setBean(beanType.newInstance()); + + } catch (Exception e) { + // ne devrait jamain arrive + if (log.isErrorEnabled()) { + log.error(e); + } + } + + } + public E getBean() { return bean; } @@ -135,14 +141,14 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab firePropertyChange(PROPERTY_EDIT_BEAN, oldValue, bean); } - public FormDto<E> getFormDto() { - return formDto; + public Form<E> getForm() { + return form; } - public void setFormDto(FormDto<E> formDto) { - Object oldValue = getFormDto(); - this.formDto = formDto; - firePropertyChange(PROPERTY_FORM_DTO, oldValue, formDto); + public void setForm(Form<E> form) { + Object oldValue = getForm(); + this.form = form; + firePropertyChange(PROPERTY_FORM, oldValue, form); } public ContentMode getMode() { @@ -246,36 +252,70 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab firePropertyChange(PROPERTY_CAN_WRITE, oldValue, canWrite); } - public <D extends ReferentialDto> Set<ReferentialReferenceDto<D>> getReferentialReferences(Class<D> type, String name) { + public <D extends ReferentialDto> Set<ReferentialReference<D>> getReferentialReferences(Class<D> type, String name) { - ReferenceSetDto<D> referenceSetDto1 = formDto.getReferenceSetDto(type, name); - LinkedHashSet<ReferentialReferenceDto<D>> reference = (LinkedHashSet)referenceSetDto1.getReference(); - return reference; + //FIXME A mettre dans ce modèle +// ReferenceSetDto<D> referenceSetDto1 = formDto.getReferenceSetDto(type, name); +// LinkedHashSet<ReferentialReference<D>> reference = (LinkedHashSet) referenceSetDto1.getReferences(); +// return reference; + return null; + + } + + public <D extends DataDto> Set<DataReference<D>> getDataReferences(Class<D> type, String name) { + + //FIXME A mettre dans ce modèle +// ReferenceSetDto<D> referenceSetDto1 = formDto.getReferenceSetDto(type, name); +// LinkedHashSet<ReferentialReference<D>> reference = (LinkedHashSet) referenceSetDto1.getReferences(); +// return reference; + return null; } - public <D extends IdDto> ReferenceSetDto<D> getReferenceSet(Class<D> type, String name) { + public <D extends DataDto> DataReferenceSet<D> getDataReferenceSet(Class<D> type, String name) { - ReferenceSetDto<D> referenceSetDto = formDto.getReferenceSetDto(type, name); - return referenceSetDto; + //FIXME A mettre dans ce modèle +// ReferenceSetDto<D> referenceSetDto = formDto.getReferenceSetDto(type, name); +// return referenceSetDto; + return null; } - public <D extends ReferentialDto> ReferentialReferenceDto<D> getReferentialReferenceById(Class<D> type, String name, String id) { + public <D extends ReferentialDto> ReferentialReference<D> getReferentialReferenceById(Class<D> type, String name, String id) { + + ReferentialReferenceSet<D> referentialReferenceSet = getReferentialReferenceSet(name); - ReferentialReferenceDto<D> referenceSetDto = (ReferentialReferenceDto<D>) formDto.getReferenceById(type, name, id); - return referenceSetDto; + ReferentialReference<D> reference = null; + if (referentialReferenceSet != null) { + reference = referentialReferenceSet.getReferenceById(id); + } + return reference; } - public <D extends IdDto> ReferenceDto<D> getReferenceById(Class<D> type, String name, String id) { + public void setReferentialReferenceSets(ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName) { + this.referentialReferenceSetsByPropertyName = referentialReferenceSetsByPropertyName; + } - ReferenceDto<D> referenceSetDto = formDto.getReferenceById(type, name, id); - return referenceSetDto; + protected <R extends DataDto> Optional<Set<DataReference<R>>> tryToGetDataReferenceSet(Class<R> dtoClass, String propertyName) { + //FIXME A mettre dans ce modèle + return null; + } + protected <R extends ReferentialDto> Optional<Set<ReferentialReference<R>>> tryToGetReferentialReferenceSet(Class<R> dtoClass, String propertyName) { + ReferentialReferenceSet<R> referentialReferenceSet = getReferentialReferenceSet(propertyName); + Set<ReferentialReference<R>> references = null; + if (referentialReferenceSet != null) { + references = referentialReferenceSet.getReferences(); + } + return Optional.fromNullable(references); } protected void firePropertyChange(String propertyName, Object newValue) { firePropertyChange(propertyName, null, newValue); } + + private <R extends ReferentialDto> ReferentialReferenceSet<R> getReferentialReferenceSet(String propertyName) { + return (ReferentialReferenceSet<R>) referentialReferenceSetsByPropertyName.get(propertyName); + } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx index 9d82cf9..74ec41d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/BranchlineUI.jaxx @@ -25,7 +25,7 @@ <import> fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.BranchlineDto - fr.ird.observe.services.dto.ReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.LineTypeDto fr.ird.observe.services.dto.referential.longline.BaitTypeDto fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto @@ -90,7 +90,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='topTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='topType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='topType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -100,7 +100,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='tracelineTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -180,7 +180,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='hookTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='hookType' constructorParams='this' genericType='ReferenceDto<HookTypeDto>' _entityClass='HookTypeDto.class'/> + <BeanComboBox id='hookType' constructorParams='this' genericType='ReferentialReference<HookTypeDto>' _entityClass='HookTypeDto.class'/> </cell> </row> @@ -190,7 +190,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='hookSizeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='hookSize' constructorParams='this' genericType='ReferenceDto<HookSizeDto>' _entityClass='HookSizeDto.class'/> + <BeanComboBox id='hookSize' constructorParams='this' genericType='ReferentialReference<HookSizeDto>' _entityClass='HookSizeDto.class'/> </cell> </row> @@ -210,7 +210,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='baitTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitType' constructorParams='this' genericType='ReferenceDto<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> + <BeanComboBox id='baitType' constructorParams='this' genericType='ReferentialReference<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> </cell> </row> @@ -220,7 +220,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='baitSettingStatusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferenceDto<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> + <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferentialReference<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> </cell> </row> @@ -230,7 +230,7 @@ public void edit(BranchlineDto branchline) { getHandler().edit(branchline); } <JLabel id='baitHaulingStatusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferenceDto<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> + <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferentialReference<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java index 1478989..608d4fe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java @@ -31,8 +31,7 @@ import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.entities.longline.SectionTemplate; import fr.ird.observe.entities.longline.SectionWithTemplate; import fr.ird.observe.entities.longline.SectionWithTemplates; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.FormDtos; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -412,16 +411,16 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong SetLonglineDetailCompositionService setLonglineService = getSetLonglineDetailCompositionService(); - FormDto<SetLonglineDetailCompositionDto> setLonglineDtoFormDto = setLonglineService.loadForm(setId); - getModel().setFormDto(setLonglineDtoFormDto); + Form<SetLonglineDetailCompositionDto> setLonglineDtoForm = setLonglineService.loadForm(setId); + getModel().setForm(setLonglineDtoForm); SetLonglineDetailCompositionDto bean = getBean(); - SetLonglineDetailCompositionDtos.copySetLonglineDetailCompositionDto(setLonglineDtoFormDto.getForm(), bean); + SetLonglineDetailCompositionDtos.copySetLonglineDetailCompositionDto(setLonglineDtoForm.getObject(), bean); //FIXME Voir comment gérer ça - FormDto<BranchlineDto> branchlineDtoFormDto = FormDtos.newFormDto(BranchlineDto.class, null, null, null); + Form<BranchlineDto> branchlineDtoForm = Form.newFormDto(BranchlineDto.class, null, null, null); - getUi().getBranchlineDetailUI().getModel().setFormDto(branchlineDtoFormDto); + getUi().getBranchlineDetailUI().getModel().setForm(branchlineDtoForm); //FIXME Validate this default date if (log.isInfoEnabled()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.css index bd7fb4a..c826cfb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.css @@ -54,7 +54,7 @@ #mitigationType { bean:{bean}; property: {SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE}; - selected:{bean.getMitigationType()}; + selected:{(Collection)bean.getMitigationType()}; _validatorLabel: {t("observe.longlineGlobalComposition.mitigationType")}; showListLabel: true; universeLabel:{t("observe.longlineGlobalComposition.availableMitigationType")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx index c017aa1..27c7475 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUI.jaxx @@ -26,8 +26,8 @@ <import> fr.ird.observe.ObserveSwingApplicationContext fr.ird.observe.services.dto.CommentableDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.MitigationTypeDto fr.ird.observe.ui.actions.shared.ResetEditUIAction fr.ird.observe.ui.actions.shared.SaveEditUIAction @@ -44,6 +44,7 @@ java.awt.Dimension javax.swing.JLabel + java.util.Collection static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n @@ -113,7 +114,7 @@ <Table fill='both' constraints='BorderLayout.NORTH'> <row> <cell weighty="1" weightx="1"> - <FilterableDoubleList id='mitigationType' genericType='ReferentialReferenceDto<MitigationTypeDto>' _entityClass='MitigationTypeDto.class'/> + <FilterableDoubleList id='mitigationType' genericType='ReferentialReference<MitigationTypeDto>' _entityClass='MitigationTypeDto.class'/> </cell> </row> </Table> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java index 2144003..54620da 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java @@ -26,7 +26,7 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDtos; @@ -143,9 +143,9 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong ContentMode mode = computeContentMode(); // update mode - FormDto<SetLonglineGlobalCompositionDto> formDto = getSetLonglineGlobalCompositionService().loadForm(setId); - getModel().setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), getBean()); + Form<SetLonglineGlobalCompositionDto> form = getSetLonglineGlobalCompositionService().loadForm(setId); + getModel().setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), getBean()); // utilisation du mode requis setContentMode(mode); @@ -157,8 +157,8 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // open floatlinesComposition tab FloatlinesCompositionUIModel floatlinesCompositionModel = getUi().getFloatlinesCompositionModel(); - floatlinesCompositionModel.setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), floatlinesCompositionModel.getBean()); + floatlinesCompositionModel.setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), floatlinesCompositionModel.getBean()); FloatlinesCompositionUI compositionUI = getUi().getFloatlinesCompositionUI(); compositionUI.open(); @@ -168,8 +168,8 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // open branchlinesComposition tab BranchlinesCompositionUIModel branchlinesCompositionModel = getUi().getBranchlinesCompositionModel(); - branchlinesCompositionModel.setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), branchlinesCompositionModel.getBean()); + branchlinesCompositionModel.setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), branchlinesCompositionModel.getBean()); BranchlinesCompositionUI compositionUI = getUi().getBranchlinesCompositionUI(); compositionUI.open(); @@ -179,8 +179,8 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // open hooksComposition tab HooksCompositionUIModel hooksCompositionModel = getUi().getHooksCompositionModel(); - hooksCompositionModel.setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), hooksCompositionModel.getBean()); + hooksCompositionModel.setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), hooksCompositionModel.getBean()); HooksCompositionUI compositionUI = getUi().getHooksCompositionUI(); compositionUI.open(); @@ -190,8 +190,8 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong { // open baitsComposition tab BaitsCompositionUIModel baitsCompositionModel = getUi().getBaitsCompositionModel(); - baitsCompositionModel.setFormDto(formDto); - SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(formDto.getForm(), baitsCompositionModel.getBean()); + baitsCompositionModel.setForm(form); + SetLonglineGlobalCompositionDtos.copySetLonglineGlobalCompositionDto(form.getObject(), baitsCompositionModel.getBean()); BaitsCompositionUI compositionUI = getUi().getBaitsCompositionUI(); compositionUI.open(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx index 8ff2397..dc21bf8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUI.jaxx @@ -23,9 +23,9 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='SetLonglineDto' contentTitle='{n("observe.setLongline.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.SetLonglineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.SettingShapeDto fr.ird.observe.services.dto.referential.longline.LineTypeDto fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto @@ -167,7 +167,7 @@ <JLabel id='settingShapeLabel'/> </cell> <cell columns="2" fill="both"> - <BeanComboBox id='settingShape' constructorParams='this' genericType='ReferenceDto<SettingShapeDto>' _entityClass='SettingShapeDto.class'/> + <BeanComboBox id='settingShape' constructorParams='this' genericType='ReferentialReference<SettingShapeDto>' _entityClass='SettingShapeDto.class'/> </cell> </row> <!-- line type --> @@ -176,7 +176,7 @@ <JLabel id='lineTypeLabel'/> </cell> <cell columns="2"> - <BeanComboBox id='lineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='lineType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -186,7 +186,7 @@ <JLabel id='lightsticksTypeLabel'/> </cell> <cell columns="2"> - <BeanComboBox id='lightsticksType' constructorParams='this' genericType='ReferenceDto<LightsticksTypeDto>' _entityClass='LightsticksTypeDto.class'/> + <BeanComboBox id='lightsticksType' constructorParams='this' genericType='ReferentialReference<LightsticksTypeDto>' _entityClass='LightsticksTypeDto.class'/> </cell> </row> @@ -196,7 +196,7 @@ <JLabel id='lightsticksColorLabel'/> </cell> <cell columns="2"> - <BeanComboBox id='lightsticksColor' constructorParams='this' genericType='ReferenceDto<LightsticksColorDto>' _entityClass='LightsticksColorDto.class'/> + <BeanComboBox id='lightsticksColor' constructorParams='this' genericType='ReferentialReference<LightsticksColorDto>' _entityClass='LightsticksColorDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java index 1467bb2..ef90f9c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java @@ -22,14 +22,12 @@ package fr.ird.observe.ui.content.impl.longline; * #L% */ -import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.db.constants.DataContextType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDtos; @@ -216,21 +214,21 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { SetLonglineDto bean = getBean(); - FormDto<SetLonglineDto> formDto; + Form<SetLonglineDto> form; if (setId == null) { // create mode - formDto = getSetLonglineService().preCreate(activityId); + form = getSetLonglineService().preCreate(activityId); } else { // update mode - formDto = getSetLonglineService().loadForm(setId); + form = getSetLonglineService().loadForm(setId); } - getModel().setFormDto(formDto); - SetLonglineDtos.copySetLonglineDto(formDto.getForm(), bean); + getModel().setForm(form); + SetLonglineDtos.copySetLonglineDto(form.getObject(), bean); getUi().getSettingStartCoordinates().setLatitudeAndLongitude(bean.getSettingStartLatitude(), bean.getSettingStartLongitude()); getUi().getSettingEndCoordinates().setLatitudeAndLongitude(bean.getSettingEndLatitude(), bean.getSettingEndLongitude()); @@ -367,7 +365,9 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { // remove old node and recreate new node ObserveNode parentNode = treeHelper.removeNode(node); - ReferenceDto<SetLonglineDto> refBean = ReferenceDtos.newReferenceDto(bean, ImmutableSet.<String>of()); + //FIXME DataReference +// DataReference<SetLonglineDto> refBean = ReferenceDtos.newReferenceDto(bean, ImmutableSet.<String>of()); + DataReference<SetLonglineDto> refBean = null; node = treeHelper.addSetLongline(parentNode, refBean); stopEditUI(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css index 0be8c63..7bde865 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.css @@ -35,7 +35,7 @@ #observedSystem { bean:{bean}; property: {ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM}; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getObservedSystem())}; + selected:{(Collection)bean.getObservedSystem()}; _validatorLabel: {t("observe.common.observedSystem")}; showListLabel: true; universeLabel:{t("observe.activityObservedSystem.availableObservedSystem")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx index 0fa035b..fe6310f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUI.jaxx @@ -23,9 +23,8 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='ActivitySeineObservedSystemDto' contentTitle='{n("observe.activitySeineObservedSystem.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.ObservedSystemDto fr.ird.observe.ui.actions.shared.ResetEditUIAction fr.ird.observe.ui.actions.shared.SaveEditUIAction @@ -35,6 +34,7 @@ java.util.List java.util.ArrayList + java.util.Collection java.awt.Dimension @@ -72,7 +72,7 @@ <cell columns="2" fill="both" weighty="0.7"> <JScrollPane id='observedSystemPane' onFocusGained='observedSystem.requestFocus()'> <FilterableDoubleList id='observedSystem' - genericType='ReferenceDto<ObservedSystemDto>' + genericType='ReferentialReference<ObservedSystemDto>' _entityClass='ObservedSystemDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java index 0591cab..1153c7d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.content.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; @@ -89,9 +89,9 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ getModel().setMode(mode); - FormDto<ActivitySeineObservedSystemDto> formDto = getActivitySeineObservedSystemService().loadForm(activityId); - getModel().setFormDto(formDto); - ActivitySeineObservedSystemDtos.copyActivitySeineObservedSystemDto(formDto.getForm(), getBean()); + Form<ActivitySeineObservedSystemDto> form = getActivitySeineObservedSystemService().loadForm(activityId); + getModel().setForm(form); + ActivitySeineObservedSystemDtos.copyActivitySeineObservedSystemDto(form.getObject(), getBean()); if (mode == ContentMode.UPDATE) { getUi().startEdit(null); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx index fc99f0d..063d22f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUI.jaxx @@ -24,13 +24,12 @@ contentTitle='{n("observe.floatingObjectTransmittingBuoyOperation.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto fr.ird.observe.services.dto.seine.TransmittingBuoyDto fr.ird.observe.services.dto.constants.seine.Ownership fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation fr.ird.observe.services.dto.referential.CountryDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto fr.ird.observe.ui.actions.shared.ResetEditUIAction @@ -143,7 +142,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='transmittingBuoyOperation1' constructorParams='this' - genericType='ReferentialReferenceDto<TransmittingBuoyOperationDto>' + genericType='ReferentialReference<TransmittingBuoyOperationDto>' _entityClass='TransmittingBuoyOperationDto.class'/> </cell> </row> @@ -153,7 +152,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='transmittingBuoyType1' constructorParams='this' - genericType='ReferentialReferenceDto<TransmittingBuoyTypeDto>' + genericType='ReferentialReference<TransmittingBuoyTypeDto>' _entityClass='TransmittingBuoyTypeDto.class'/> </cell> </row> @@ -172,7 +171,7 @@ <JLabel id='country1Label'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country1' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country1' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> <row> @@ -202,7 +201,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='transmittingBuoyOperation2' constructorParams='this' - genericType='ReferentialReferenceDto<TransmittingBuoyOperationDto>' + genericType='ReferentialReference<TransmittingBuoyOperationDto>' _entityClass='TransmittingBuoyOperationDto.class'/> </cell> </row> @@ -212,7 +211,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='transmittingBuoyType2' constructorParams='this' - genericType='ReferentialReferenceDto<TransmittingBuoyTypeDto>' + genericType='ReferentialReference<TransmittingBuoyTypeDto>' _entityClass='TransmittingBuoyTypeDto.class'/> </cell> </row> @@ -231,7 +230,7 @@ <JLabel id='country2Label'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country2' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country2' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index 3ef90fc..9bac199 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -26,10 +26,10 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.Ownership; import fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; @@ -119,10 +119,10 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH getModel().setEditing(false); - FormDto<FloatingObjectTransmittingBuoyDto> formDto = getTransmittingBuoyOperationService().loadForm(dcpId); + Form<FloatingObjectTransmittingBuoyDto> form = getTransmittingBuoyOperationService().loadForm(dcpId); - getModel().setFormDto(formDto); - FloatingObjectTransmittingBuoyDtos.copyFloatingObjectTransmittingBuoyDto(formDto.getForm(), bean); + getModel().setForm(form); + FloatingObjectTransmittingBuoyDtos.copyFloatingObjectTransmittingBuoyDto(form.getObject(), bean); if (bean.sizeTransmittingBuoy() >= 1) { TransmittingBuoyDtos.copyTransmittingBuoyDto( @@ -205,7 +205,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH return operation != null && "3".equals(operation.getCode()); } - public boolean isBalisePose(ReferentialReferenceDto<TransmittingBuoyOperationDto> operation) { + public boolean isBalisePose(ReferentialReference<TransmittingBuoyOperationDto> operation) { return operation != null && "3".equals(operation.getPropertyValue(TransmittingBuoyOperationDto.PROPERTY_CODE)); } @@ -253,11 +253,11 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH editorPanel.removeAll(); String[] codeOperations = typeOperation.getCodeOperation(); - List<ReferentialReferenceDto<TransmittingBuoyOperationDto>> operations = + List<ReferentialReference<TransmittingBuoyOperationDto>> operations = ui.getTransmittingBuoyOperation1().getData(); TransmittingBuoyDto transmittingBuoy; - ReferentialReferenceDto<TransmittingBuoyOperationDto> objectOperation; + ReferentialReference<TransmittingBuoyOperationDto> objectOperation; switch (nbBalises) { case 0: // no balise @@ -317,7 +317,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH } protected void bindEditBalise(TransmittingBuoyDto editBean, - ReferentialReferenceDto<TransmittingBuoyOperationDto> transmittingBuoyOperation, + ReferentialReference<TransmittingBuoyOperationDto> transmittingBuoyOperation, TransmittingBuoyDto transmittingBuoy) { //FIXME @@ -348,10 +348,10 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH bean.getTransmittingBuoy().add(editBean); } - protected ReferentialReferenceDto<TransmittingBuoyOperationDto> getObjectOperation(List<ReferentialReferenceDto<TransmittingBuoyOperationDto>> objectOperations, + protected ReferentialReference<TransmittingBuoyOperationDto> getObjectOperation(List<ReferentialReference<TransmittingBuoyOperationDto>> objectOperations, String codeOperation) { - ReferentialReferenceDto<TransmittingBuoyOperationDto> objectOperation = null; - for (ReferentialReferenceDto<TransmittingBuoyOperationDto> op : objectOperations) { + ReferentialReference<TransmittingBuoyOperationDto> objectOperation = null; + for (ReferentialReference<TransmittingBuoyOperationDto> op : objectOperations) { if (codeOperation.equals(op.getPropertyValue(TransmittingBuoyOperationDto.PROPERTY_CODE))) { objectOperation = op; break; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx index 96942fc..029265f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUI.jaxx @@ -23,8 +23,8 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='FloatingObjectDto' contentTitle='{n("observe.floatingObject.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.FloatingObjectDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.ObjectFateDto fr.ird.observe.services.dto.referential.seine.ObjectOperationDto fr.ird.observe.services.dto.referential.seine.ObjectTypeDto @@ -64,7 +64,7 @@ <JLabel id='objectOperationLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='objectOperation' constructorParams='this' genericType='ReferenceDto<ObjectOperationDto>' _entityClass='ObjectOperationDto.class'/> + <BeanComboBox id='objectOperation' constructorParams='this' genericType='ReferentialReference<ObjectOperationDto>' _entityClass='ObjectOperationDto.class'/> </cell> </row> <row> @@ -72,7 +72,7 @@ <JLabel id='objectTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='objectType' constructorParams='this' genericType='ReferenceDto<ObjectTypeDto>' _entityClass='ObjectTypeDto.class'/> + <BeanComboBox id='objectType' constructorParams='this' genericType='ReferentialReference<ObjectTypeDto>' _entityClass='ObjectTypeDto.class'/> </cell> </row> <row> @@ -80,7 +80,7 @@ <JLabel id='objectFateLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='objectFate' constructorParams='this' genericType='ReferenceDto<ObjectFateDto>' _entityClass='ObjectFateDto.class'/> + <BeanComboBox id='objectFate' constructorParams='this' genericType='ReferentialReference<ObjectFateDto>' _entityClass='ObjectFateDto.class'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index d0b926e..29f70a6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -23,10 +23,10 @@ package fr.ird.observe.ui.content.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.db.constants.DataContextType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.FloatingObjectDtos; @@ -110,21 +110,21 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> FloatingObjectDto bean = getBean(); - FormDto<FloatingObjectDto> formDto; + Form<FloatingObjectDto> form; if (dcpId == null) { // create mode - formDto = getFloatingObjectService().preCreate(activityId); + form = getFloatingObjectService().preCreate(activityId); } else { // update mode - formDto = getFloatingObjectService().loadForm(dcpId); + form = getFloatingObjectService().loadForm(dcpId); } - getModel().setFormDto(formDto); - FloatingObjectDtos.copyFloatingObjectDto(formDto.getForm(), bean); + getModel().setForm(form); + FloatingObjectDtos.copyFloatingObjectDto(form.getObject(), bean); // utilisation du mode requis setContentMode(mode); @@ -186,7 +186,8 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> // remove old node and recreate new node ObserveNode parentNode = treeHelper.removeNode(node); - ReferenceDto<FloatingObjectDto> beanRef = FloatingObjectDtos.newReferenceDto(bean); + + DataReference<FloatingObjectDto> beanRef = ObserveSwingApplicationContext.get().getReferenceBinderEngine().transformDataDtoToReference(getDecoratorService().getReferentialLocale(), bean); node = treeHelper.addFloatingObject(parentNode, beanRef); stopEditUI(); if (refresh) { @@ -215,6 +216,6 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> } protected FloatingObjectService getFloatingObjectService() { - return ObserveSwingApplicationContext.get().newService(FloatingObjectService.class); + return getDataSource().newService(FloatingObjectService.class); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx index 3f0f532..f5bfefa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUI.jaxx @@ -23,9 +23,9 @@ <fr.ird.observe.ui.content.ContentUI superGenericType='SetSeineDto' contentTitle='{n("observe.setSeine.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto fr.ird.observe.ui.actions.shared.CancelCreateUIAction fr.ird.observe.ui.actions.shared.DeleteDataUIAction @@ -93,7 +93,7 @@ <JLabel id='reasonForNullSetLabel'/> </cell> <cell anchor='east' fill='both'> - <BeanComboBox id='reasonForNullSet' genericType='ReferenceDto<ReasonForNullSetDto>' _entityClass='ReasonForNullSetDto.class' constructorParams='this'/> + <BeanComboBox id='reasonForNullSet' genericType='ReferentialReference<ReasonForNullSetDto>' _entityClass='ReasonForNullSetDto.class' constructorParams='this'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index 6ac234a..7252aec 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -21,15 +21,13 @@ */ package fr.ird.observe.ui.content.impl.seine; -import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.db.constants.ConstantsI18n; -import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.db.constants.ConstantsI18n; +import fr.ird.observe.db.constants.DataContextType; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.SchoolType; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; @@ -170,33 +168,33 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { SetSeineDto bean = getBean(); - FormDto<SetSeineDto> formDto; + Form<SetSeineDto> form; if (setId == null) { // create mode - formDto = getSetSeineService().preCreate(selectedRouteId, activityId); + form = getSetSeineService().preCreate(selectedRouteId, activityId); } else { // update mode - formDto = getSetSeineService().loadForm(setId); + form = getSetSeineService().loadForm(setId); } // utilisation du mode requis setContentMode(mode); - getModel().setFormDto(formDto); - SetSeineDtos.copySetSeineDto(formDto.getForm(), bean); + getModel().setForm(form); + SetSeineDtos.copySetSeineDto(form.getObject(), bean); RouteService routeService = ObserveSwingApplicationContext.get().newService(RouteService.class); //FIXME ! Pourquoi donc récupérer le formulaire d'une route ici ? juste remonter la donnée dont on a //FIXME besoin depuis le service - FormDto<RouteDto> route = routeService.loadForm(selectedRouteId); + Form<RouteDto> route = routeService.loadForm(selectedRouteId); Date time = bean.getStartTime(); - Date date = route.getForm().getDate(); + Date date = route.getObject().getDate(); Date dateAndTime = DateUtil.getDateAndTime(date, time, false, false); @@ -274,9 +272,11 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { // remove old node and recreate new node ObserveNode parentNode = treeHelper.removeNode(node); - ReferenceDto<SetSeineDto> refBean = ReferenceDtos.newReferenceDto(SetSeineDto.class, ImmutableSet.of(SetSeineDto.PROPERTY_ID)); - refBean.setId(bean.getId()); - refBean.setPropertyValue(SetSeineDto.PROPERTY_ID, bean.getId()); + //FIXME DataReference + DataReference<SetSeineDto> refBean = null; +// ReferenceDtos.newReferenceDto(SetSeineDto.class, ImmutableSet.of(SetSeineDto.PROPERTY_ID)); +// refBean.setId(bean.getId()); +// refBean.setPropertyValue(SetSeineDto.PROPERTY_ID, bean.getId()); node = treeHelper.addSetSeine(parentNode, refBean); stopEditUI(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css index d919ca3..967e396 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css @@ -29,7 +29,7 @@ } #listHeader { - beanType:{(Class)ReferenceDto.class}; + beanType:{(Class)DataReference.class}; _doInit:{getModel().getChildType()}; showReset:true; list:{list}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx index 42adbab..d5d3801 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.jaxx @@ -23,14 +23,15 @@ <fr.ird.observe.ui.content.ContentUI abstract='true' superGenericType='E' - genericType='E extends IdDto, C extends IdDto'> + genericType='E extends IdDto, C extends DataDto'> <import> fr.ird.observe.ui.actions.shared.ReOpenUIAction fr.ird.observe.ui.actions.shared.SelectNodeUIAction - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.IdDto + fr.ird.observe.services.dto.DataDto + fr.ird.observe.services.dto.DataReference jaxx.runtime.swing.editor.bean.BeanListHeader @@ -57,12 +58,12 @@ <script><![CDATA[ -public final ReferenceDto<C> getSelectedData() { - return (ReferenceDto<C>) getSelectedBean(list); +public final DataReference<C> getSelectedData() { + return (DataReference<C>) getSelectedBean(list); } -public final List<ReferenceDto<C>> getSelectedDatas() { - return (List<ReferenceDto<C>>) list.getSelectedValuesList(); +public final List<DataReference<C>> getSelectedDatas() { + return (List<DataReference<C>>) list.getSelectedValuesList(); } ]]></script> @@ -75,7 +76,7 @@ public final List<ReferenceDto<C>> getSelectedDatas() { <JList id='list' onMouseClicked='getHandler().onDataSelected(event)'/> - <BeanListHeader id='listHeader' genericType='ReferenceDto< C >' _entityClass="getModel().getChildType()"/> + <BeanListHeader id='listHeader' genericType='DataReference< C >' _entityClass="getModel().getChildType()"/> </JScrollPane> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java index b6db1fe..bb87833 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIHandler.java @@ -21,10 +21,11 @@ */ package fr.ird.observe.ui.content.list; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.db.constants.DataContextType; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.actions.shared.SelectNodeUIAction; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; @@ -35,8 +36,14 @@ import jaxx.runtime.swing.editor.bean.BeanListHeader; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.*; -import java.awt.*; +import javax.swing.DefaultListCellRenderer; +import javax.swing.Icon; +import javax.swing.JButton; +import javax.swing.JLabel; +import javax.swing.JList; +import javax.swing.ListCellRenderer; +import java.awt.Color; +import java.awt.Component; import java.awt.event.MouseEvent; import java.util.List; @@ -46,7 +53,7 @@ import static org.nuiton.i18n.I18n.t; * @author Tony Chemit - chemit@codelutin.com * @since 1.5 */ -public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> extends ContentUIHandler<E> { +public abstract class ContentListUIHandler<E extends IdDto, C extends DataDto> extends ContentUIHandler<E> { /** Logger */ static private Log log = LogFactory.getLog(ContentListUIHandler.class); @@ -64,7 +71,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> ext * @param bean the container of entities to display * @return the list of entities to display */ - protected abstract List<ReferenceDto<C>> getChilds(E bean); + protected abstract List<DataReference<C>> getChilds(E bean); @Override protected boolean computeCanWrite(ObserveSwingDataSource source) { @@ -130,7 +137,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> ext loadParentBean(); E bean = getBean(); - List<ReferenceDto<C>> data = getChilds(bean); + List<DataReference<C>> data = getChilds(bean); model.setData(data); @@ -155,7 +162,7 @@ public abstract class ContentListUIHandler<E extends IdDto, C extends IdDto> ext * @param event the mouse event fired */ public void onDataSelected(MouseEvent event) { - ReferenceDto<C> selectedData = getUi().getSelectedData(); + DataReference<C> selectedData = getUi().getSelectedData(); if (event.getClickCount() > 1) { gotoChild(selectedData); return; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java index e3a1958..069a31c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUIModel.java @@ -21,8 +21,9 @@ */ package fr.ird.observe.ui.content.list; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.content.ContentUIModel; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; @@ -36,7 +37,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since .14 */ -public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> extends ContentUIModel<E> { +public abstract class ContentListUIModel<E extends IdDto, C extends DataDto> extends ContentUIModel<E> { public static final String PROPERTY_DATA = "data"; @@ -55,10 +56,10 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten protected final Class<C> childType; /** liste des entites */ - protected List<ReferenceDto<C>> data; + protected List<DataReference<C>> data; /** entités sélectionnées dans la liste */ - protected List<ReferenceDto<C>> selectedDatas; + protected List<DataReference<C>> selectedDatas; /** un drapeau pour savoir si on peut reouvrir l'un des données de la liste. */ protected boolean canReopen; @@ -72,11 +73,11 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten return childType; } - public List<ReferenceDto<C>> getData() { + public List<DataReference<C>> getData() { return data; } - public void setData(List<ReferenceDto<C>> data) { + public void setData(List<DataReference<C>> data) { boolean wasEmpty = isEmpty(); this.data = data; // on force toujours la propagation de la liste @@ -85,16 +86,16 @@ public abstract class ContentListUIModel<E extends IdDto, C extends IdDto> exten setSelectedDatas(null); } - public ReferenceDto<C> getSelectedData() { + public DataReference<C> getSelectedData() { return CollectionUtils.isNotEmpty(selectedDatas) ? selectedDatas.get(0) : null; } - public List<ReferenceDto<C>> getSelectedDatas() { + public List<DataReference<C>> getSelectedDatas() { return selectedDatas; } - public void setSelectedDatas(List<ReferenceDto<C>> selectedDatas) { - List<ReferenceDto<C>> old = getSelectedDatas(); + public void setSelectedDatas(List<DataReference<C>> selectedDatas) { + List<DataReference<C>> old = getSelectedDatas(); this.selectedDatas = selectedDatas; if (log.isDebugEnabled()) { log.debug("New selected datas : " + selectedDatas); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java index d20e932..62ff0cb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java @@ -25,9 +25,9 @@ package fr.ird.observe.ui.content.list.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDtos; @@ -114,24 +114,24 @@ public class ActivityLonglinesUIHandler extends ContentListUIHandler<TripLonglin } @Override - protected List<ReferenceDto<ActivityLonglineDto>> getChilds(TripLonglineDto bean) { + protected List<DataReference<ActivityLonglineDto>> getChilds(TripLonglineDto bean) { ActivityLonglineService service = ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); - ReferenceSetDto<ActivityLonglineDto> activityLonglineStubByRoute = service.getActivityLonglineByTripLongline(bean.getId()); + DataReferenceSet<ActivityLonglineDto> activityLonglineStubByRoute = service.getActivityLonglineByTripLongline(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + activityLonglineStubByRoute.sizeReference() + " activities."); } - return new ArrayList<>(activityLonglineStubByRoute.getReference()); + return new ArrayList<>(activityLonglineStubByRoute.getReferences()); } @Override protected void loadParentBean() { - TripLonglineService service = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - FormDto<TripLonglineDto> tripLonglineDtoFormDto = service.loadForm(getSelectedParentId()); - getModel().setFormDto(tripLonglineDtoFormDto); - TripLonglineDtos.copyTripLonglineDto(tripLonglineDtoFormDto.getForm(), getBean()); + TripLonglineService service = getDataSource().newService(TripLonglineService.class); + Form<TripLonglineDto> form = service.loadForm(getSelectedParentId()); + getModel().setForm(form); + TripLonglineDtos.copyTripLonglineDto(form.getObject(), getBean()); } } \ No newline at end of file diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx index d94773e..182fbb2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUI.jaxx @@ -24,7 +24,6 @@ emptyListMessage='{n("observe.message.no.trip.for.program")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.ActivityLonglineDto fr.ird.observe.services.dto.longline.TripLonglineDto fr.ird.observe.services.dto.referential.ProgramDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java index 620bcab..d69a402 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java @@ -25,9 +25,9 @@ package fr.ird.observe.ui.content.list.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramDtos; @@ -97,24 +97,24 @@ public class TripLonglinesUIHandler extends ContentListUIHandler<ProgramDto, Tri } @Override - protected List<ReferenceDto<TripLonglineDto>> getChilds(ProgramDto bean) { + protected List<DataReference<TripLonglineDto>> getChilds(ProgramDto bean) { TripLonglineService service = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - ReferenceSetDto<TripLonglineDto> tripLonglineByProgram = service.getTripLonglineByProgram(bean.getId()); + DataReferenceSet<TripLonglineDto> tripLonglineByProgram = service.getTripLonglineByProgram(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + tripLonglineByProgram.sizeReference() + " trips."); } - return new ArrayList<>(tripLonglineByProgram.getReference()); + return new ArrayList<>(tripLonglineByProgram.getReferences()); } @Override protected void loadParentBean() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - FormDto<ProgramDto> programDtoFormDto = service.loadToRead(ProgramDto.class, getSelectedParentId()); - getModel().setFormDto(programDtoFormDto); - ProgramDtos.copyProgramDto(programDtoFormDto.getForm(), getBean()); + Form<ProgramDto> programDtoForm = service.loadForm(ProgramDto.class, getSelectedParentId()); + getModel().setForm(programDtoForm); + ProgramDtos.copyProgramDto(programDtoForm.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java index d81c3fe..ae7b15b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIModel.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.content.list.impl.longline; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.ui.content.list.ContentListUIModel; @@ -44,7 +44,7 @@ public class TripLonglinesUIModel extends ContentListUIModel<ProgramDto, TripLon } @Override - public void setData(List<ReferenceDto<TripLonglineDto>> data) { + public void setData(List<DataReference<TripLonglineDto>> data) { super.setData(data); setSelectedDatas(null); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java index 7adb4c1..5121191 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java @@ -24,9 +24,9 @@ package fr.ird.observe.ui.content.list.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.RouteDtos; @@ -112,23 +112,23 @@ public class ActivitySeinesUIHandler extends ContentListUIHandler<RouteDto, Acti } @Override - protected List<ReferenceDto<ActivitySeineDto>> getChilds(RouteDto bean) { + protected List<DataReference<ActivitySeineDto>> getChilds(RouteDto bean) { ActivitySeineService service = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); - ReferenceSetDto<ActivitySeineDto> activitySeineByRoute = service.getActivitySeineByRoute(bean.getId()); + DataReferenceSet<ActivitySeineDto> activitySeineByRoute = service.getActivitySeineByRoute(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + activitySeineByRoute.sizeReference() + " activities."); } - return new ArrayList<>(activitySeineByRoute.getReference()); + return new ArrayList<>(activitySeineByRoute.getReferences()); } @Override protected void loadParentBean() { RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); - FormDto<RouteDto> routeDtoFormDto = service.loadForm(getSelectedParentId()); - getModel().setFormDto(routeDtoFormDto); - RouteDtos.copyRouteDto(routeDtoFormDto.getForm(), getBean()); + Form<RouteDto> routeDtoForm = service.loadForm(getSelectedParentId()); + getModel().setForm(routeDtoForm); + RouteDtos.copyRouteDto(routeDtoForm.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java index 0392ab5..e569cac 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java @@ -24,9 +24,9 @@ package fr.ird.observe.ui.content.list.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDtos; @@ -109,24 +109,24 @@ public class RoutesUIHandler extends ContentListUIHandler<TripSeineDto, RouteDto } @Override - protected List<ReferenceDto<RouteDto>> getChilds(TripSeineDto bean) { + protected List<DataReference<RouteDto>> getChilds(TripSeineDto bean) { RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); - ReferenceSetDto<RouteDto> routeByTripSeine = service.getRouteByTripSeine(bean.getId()); + DataReferenceSet<RouteDto> routeByTripSeine = service.getRouteByTripSeine(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + routeByTripSeine.sizeReference() + " routes."); } - return new ArrayList<>(routeByTripSeine.getReference()); + return new ArrayList<>(routeByTripSeine.getReferences()); } @Override protected void loadParentBean() { TripSeineService service = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - FormDto<TripSeineDto> tripSeineDtoFormDto = service.loadForm(getSelectedParentId()); - getModel().setFormDto(tripSeineDtoFormDto); - TripSeineDtos.copyTripSeineDto(tripSeineDtoFormDto.getForm(), getBean()); + Form<TripSeineDto> tripSeineDtoForm = service.loadForm(getSelectedParentId()); + getModel().setForm(tripSeineDtoForm); + TripSeineDtos.copyTripSeineDto(tripSeineDtoForm.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx index aa5089a..a3a18fe 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUI.jaxx @@ -25,7 +25,6 @@ emptyListMessage='{n("observe.message.no.trip.for.program")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.ActivitySeineDto fr.ird.observe.services.dto.seine.TripSeineDto fr.ird.observe.services.dto.seine.RouteDto diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java index f978250..1dbf48f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java @@ -24,9 +24,9 @@ package fr.ird.observe.ui.content.list.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -94,24 +94,24 @@ public class TripSeinesUIHandler extends ContentListUIHandler<ProgramDto, TripSe } @Override - protected List<ReferenceDto<TripSeineDto>> getChilds(ProgramDto bean) { + protected List<DataReference<TripSeineDto>> getChilds(ProgramDto bean) { TripSeineService service = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - ReferenceSetDto<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(bean.getId()); + DataReferenceSet<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(bean.getId()); if (log.isDebugEnabled()) { log.debug("Will use " + tripSeineByProgram.sizeReference() + " trips."); } - return new ArrayList<>(tripSeineByProgram.getReference()); + return new ArrayList<>(tripSeineByProgram.getReferences()); } @Override protected void loadParentBean() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - FormDto<ProgramDto> programDtoFormDto = service.loadToRead(ProgramDto.class, getSelectedParentId()); - getModel().setFormDto(programDtoFormDto); - ProgramDtos.copyProgramDto(programDtoFormDto.getForm(), getBean()); + Form<ProgramDto> programDtoForm = service.loadForm(ProgramDto.class, getSelectedParentId()); + getModel().setForm(programDtoForm); + ProgramDtos.copyProgramDto(programDtoForm.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java index f28ed51..a245b37 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIModel.java @@ -22,10 +22,13 @@ package fr.ird.observe.ui.content.list.impl.seine; * #L% */ +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.content.list.ContentListUIModel; +import java.util.List; + /** * Created on 9/26/14. * @@ -40,4 +43,10 @@ public class TripSeinesUIModel extends ContentListUIModel<ProgramDto, TripSeineD super(ProgramDto.class, TripSeineDto.class); } + @Override + public void setData(List<DataReference<TripSeineDto>> data) { + super.setData(data); + setSelectedDatas(null); + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java index 9d39bfe..7f43399 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/ContentOpenableUIHandler.java @@ -101,7 +101,7 @@ public abstract class ContentOpenableUIHandler<E extends IdDto> extends ContentU ContentOpenableUI<E> ui = getUi(); // On charge les ensembles de références utilisées dans les combobox - updateReferenceSets(); + updateUiWithReferenceSetsFromModel(); // on repaint le parent (le program devient alors ouvert) ObserveTreeHelper treeHelper = getTreeHelper(ui); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx index 77486f9..35e1fd6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUI.jaxx @@ -26,10 +26,10 @@ <style source="../../../Common.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.ActivityLonglineDto fr.ird.observe.services.dto.longline.SetLonglineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.FpaZoneDto fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto fr.ird.observe.ui.actions.shared.DeleteDataUIAction @@ -93,7 +93,7 @@ <JLabel id='vesselActivityLonglineLabel'/> </cell> <cell anchor='east' fill="both"> - <BeanComboBox id='vesselActivityLongline' genericType='ReferenceDto<VesselActivityLonglineDto>' _entityClass='VesselActivityLonglineDto.class' constructorParams='this'/> + <BeanComboBox id='vesselActivityLongline' genericType='ReferentialReference<VesselActivityLonglineDto>' _entityClass='VesselActivityLonglineDto.class' constructorParams='this'/> </cell> </row> @@ -102,7 +102,7 @@ <JLabel id='fpaZoneLabel'/> </cell> <cell anchor='east' fill="both"> - <BeanComboBox id='fpaZone' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class' constructorParams='this'/> + <BeanComboBox id='fpaZone' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index e0424d7..8b7a80c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -25,7 +25,7 @@ package fr.ird.observe.ui.content.open.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDtos; import fr.ird.observe.services.dto.longline.TripLonglineDto; @@ -172,22 +172,22 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity boolean create = activityId == null; - FormDto<ActivityLonglineDto> formDto; + Form<ActivityLonglineDto> form; if (create) { // create mode - formDto = getActivityLonglineService().preCreate(tripId); + form = getActivityLonglineService().preCreate(tripId); } else { // update mode - formDto = getActivityLonglineService().loadForm(activityId); + form = getActivityLonglineService().loadForm(activityId); } setContentMode(mode); - getModel().setFormDto(formDto); - ActivityLonglineDtos.copyActivityLonglineDto(formDto.getForm(), bean); + getModel().setForm(form); + ActivityLonglineDtos.copyActivityLonglineDto(form.getObject(), bean); if (log.isDebugEnabled()) { log.debug(" long - lat = " + bean.getLongitude() + diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIModel.java index b32227c..a490de1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIModel.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.content.open.impl.longline; import fr.ird.observe.ObserveSwingBinderService; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; import fr.ird.observe.ui.content.open.ContentOpenableUIModel; import org.nuiton.util.DateUtil; @@ -54,7 +54,7 @@ public class ActivityLonglineUIModel extends ContentOpenableUIModel<ActivityLong } public boolean isSetOperation() { - ReferentialReferenceDto<VesselActivityLonglineDto> vesselActivityLongline = bean.getVesselActivityLongline(); + ReferentialReference<VesselActivityLonglineDto> vesselActivityLongline = bean.getVesselActivityLongline(); return vesselActivityLongline != null && VESSEL_ACTIVITY_ID_FOR_SET.equals(vesselActivityLongline.getId()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx index 02f3057..068d309 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUI.jaxx @@ -26,10 +26,10 @@ <style source="../../../Common.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.TripLonglineDto fr.ird.observe.services.dto.longline.ActivityLonglineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.HarbourDto fr.ird.observe.services.dto.referential.PersonDtos fr.ird.observe.services.dto.referential.VesselDto @@ -93,7 +93,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='tripTypeLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='tripType' constructorParams='this' genericType='ReferenceDto<TripTypeDto>' _entityClass='TripTypeDto.class'/> + <BeanComboBox id='tripType' constructorParams='this' genericType='ReferentialReference<TripTypeDto>' _entityClass='TripTypeDto.class'/> </cell> </row> @@ -103,7 +103,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='captainLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='captain' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='captain' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -113,7 +113,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='observerLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='observer' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='observer' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -123,7 +123,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='dataEntryOperatorLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -133,7 +133,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='vesselLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vessel' constructorParams='this' genericType='ReferenceDto<VesselDto>' _entityClass='VesselDto.class'/> + <BeanComboBox id='vessel' constructorParams='this' genericType='ReferentialReference<VesselDto>' _entityClass='VesselDto.class'/> </cell> </row> @@ -143,7 +143,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='oceanLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='ocean' genericType='ReferenceDto<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> + <BeanComboBox id='ocean' genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> </cell> </row> @@ -153,7 +153,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='departureHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='departureHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> + <BeanComboBox id='departureHarbour' genericType='ReferentialReference<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> @@ -163,7 +163,7 @@ protected boolean canEditOcean(java.util.List<ActivityLonglineDto> activities) { <JLabel id='landingHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='landingHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> + <BeanComboBox id='landingHarbour' genericType='ReferentialReference<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java index 783bd67..169cbf4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java @@ -22,14 +22,19 @@ package fr.ird.observe.ui.content.open.impl.longline; * #L% */ +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.configuration.ObserveSwingApplicationConfig; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDtos; +import fr.ird.observe.services.dto.referential.PersonDtos; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.ui.content.ContentMode; @@ -45,6 +50,7 @@ import javax.swing.SwingUtilities; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.util.Date; +import java.util.LinkedList; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -75,15 +81,6 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } @Override - protected boolean doOpenData() { - boolean result = getOpenDataManager().canOpenTripLongline(); - if (result) { - getOpenDataManager().openTripLongline(getSelectedParentId(), getSelectedId()); - } - return result; - } - - @Override public boolean doCloseData() { boolean result = getOpenDataManager().isOpenTripLongline(getSelectedId()); if (result) { @@ -93,27 +90,6 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } @Override - protected ContentMode getContentMode(DataContext dataContext) { - - String tripLongLineId = getSelectedId(); - - if (tripLongLineId == null) { - - // maree en cours de creation - return ContentMode.CREATE; - } - - if (getOpenDataManager().isOpenTripLongline(tripLongLineId)) { - - // maree ouverte - return ContentMode.UPDATE; - } - - addInfoMessage(t(closeMessage)); - return ContentMode.READ; - } - - @Override public void initUI() throws Exception { super.initUI(); @@ -124,6 +100,7 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline tripMap.getHandler().setConfig(config); getUi().getTripLonglineTabPane().addChangeListener(new ChangeListener() { + @Override public void stateChanged(ChangeEvent e) { JTabbedPane tripLonglineTabPane = (JTabbedPane) e.getSource(); @@ -134,6 +111,7 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline if (buildTripMap) { SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { @@ -175,14 +153,14 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline boolean create = tripId == null; - FormDto<TripLonglineDto> formDto; + Form<TripLonglineDto> form; if (create) { if (log.isInfoEnabled()) { log.info(prefix + "create a new trip"); } // create mode - formDto = getTripLonglineService().preCreate(programId); + form = getTripLonglineService().preCreate(programId); } else { @@ -192,12 +170,12 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } // update mode - formDto = getTripLonglineService().loadForm(tripId); + form = getTripLonglineService().loadForm(tripId); } setContentMode(mode); - getModel().setFormDto(formDto); - TripLonglineDtos.copyTripLonglineDto(formDto.getForm(), bean); + getModel().setForm(form); + TripLonglineDtos.copyTripLonglineDto(form.getObject(), bean); getUi().getTripLonglineTabPane().setSelectedIndex(0); getUi().getTripMap().getHandler().doCloseMap(); @@ -257,6 +235,36 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } @Override + protected boolean doOpenData() { + boolean result = getOpenDataManager().canOpenTripLongline(); + if (result) { + getOpenDataManager().openTripLongline(getSelectedParentId(), getSelectedId()); + } + return result; + } + + @Override + protected ContentMode getContentMode(DataContext dataContext) { + + String tripLongLineId = getSelectedId(); + + if (tripLongLineId == null) { + + // maree en cours de creation + return ContentMode.CREATE; + } + + if (getOpenDataManager().isOpenTripLongline(tripLongLineId)) { + + // maree ouverte + return ContentMode.UPDATE; + } + + addInfoMessage(t(closeMessage)); + return ContentMode.READ; + } + + @Override protected boolean doSave(TripLonglineDto bean) throws Exception { String programId = getDataContext().getSelectedProgramId(); @@ -316,6 +324,38 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } + @Override + protected <D extends ReferentialDto> Iterable<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) { + + Iterable<ReferentialReference<D>> result; + + switch (propertyName) { + + case TripLonglineDto.PROPERTY_CAPTAIN: { + Predicate predicate = PersonDtos.newCaptainReferencePredicate(); + result = Iterables.filter(incomingReferences, predicate); + } + break; + + case TripLonglineDto.PROPERTY_OBSERVER: { + Predicate predicate = PersonDtos.newObserverReferencePredicate(); + result = Iterables.filter(incomingReferences, predicate); + } + break; + + case TripLonglineDto.PROPERTY_DATA_ENTRY_OPERATOR: { + Predicate predicate = PersonDtos.newDataEntryOperatorReferencePredicate(); + result = Iterables.filter(incomingReferences, predicate); + } + break; + + default: + result = incomingReferences; + } + + return result; + } + protected TripLonglineService getTripLonglineService() { return ObserveSwingApplicationContext.get().newService(TripLonglineService.class); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx index 60bcf47..03e6491 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUI.jaxx @@ -26,11 +26,11 @@ <style source="../../../Common.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.ActivitySeineDto fr.ird.observe.services.dto.seine.SetSeineDto fr.ird.observe.services.dto.seine.FloatingObjectDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.FpaZoneDto fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto @@ -127,7 +127,7 @@ void $afterCompleteSetup() { <JLabel id='vesselActivitySeineLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='vesselActivitySeine' genericType='ReferenceDto<VesselActivitySeineDto>' _entityClass='VesselActivitySeineDto.class' constructorParams='this'/> + <BeanComboBox id='vesselActivitySeine' genericType='ReferentialReference<VesselActivitySeineDto>' _entityClass='VesselActivitySeineDto.class' constructorParams='this'/> </cell> </row> @@ -137,7 +137,7 @@ void $afterCompleteSetup() { <JLabel id='surroundingActivityLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='surroundingActivity' constructorParams='this' genericType='ReferenceDto<SurroundingActivityDto>' _entityClass='SurroundingActivityDto.class'/> + <BeanComboBox id='surroundingActivity' constructorParams='this' genericType='ReferentialReference<SurroundingActivityDto>' _entityClass='SurroundingActivityDto.class'/> </cell> </row> @@ -147,7 +147,7 @@ void $afterCompleteSetup() { <JLabel id='previousFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='previousFpaZone' constructorParams='this' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> + <BeanComboBox id='previousFpaZone' constructorParams='this' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -157,7 +157,7 @@ void $afterCompleteSetup() { <JLabel id='currentFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='currentFpaZone' constructorParams='this' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> + <BeanComboBox id='currentFpaZone' constructorParams='this' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -167,7 +167,7 @@ void $afterCompleteSetup() { <JLabel id='nextFpaZoneLabel'/> </cell> <cell anchor='east' weightx="1"> - <BeanComboBox id='nextFpaZone' constructorParams='this' genericType='ReferenceDto<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> + <BeanComboBox id='nextFpaZone' constructorParams='this' genericType='ReferentialReference<FpaZoneDto>' _entityClass='FpaZoneDto.class'/> </cell> </row> @@ -217,7 +217,7 @@ void $afterCompleteSetup() { <JLabel id='windLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='wind' genericType='ReferenceDto<WindDto>' _entityClass='WindDto.class' constructorParams='this'/> + <BeanComboBox id='wind' genericType='ReferentialReference<WindDto>' _entityClass='WindDto.class' constructorParams='this'/> </cell> </row> @@ -227,7 +227,7 @@ void $afterCompleteSetup() { <JLabel id='detectionModeLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='detectionMode' genericType='ReferenceDto<DetectionModeDto>' _entityClass='DetectionModeDto.class' constructorParams='this'/> + <BeanComboBox id='detectionMode' genericType='ReferentialReference<DetectionModeDto>' _entityClass='DetectionModeDto.class' constructorParams='this'/> </cell> </row> @@ -237,7 +237,7 @@ void $afterCompleteSetup() { <JLabel id='reasonForNoFishingLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='reasonForNoFishing' genericType='ReferenceDto<ReasonForNoFishingDto>' _entityClass='ReasonForNoFishingDto.class' constructorParams='this'/> + <BeanComboBox id='reasonForNoFishing' genericType='ReferentialReference<ReasonForNoFishingDto>' _entityClass='ReasonForNoFishingDto.class' constructorParams='this'/> </cell> </row> <row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java index dba9572..684dfcd 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -24,17 +24,16 @@ package fr.ird.observe.ui.content.open.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.ActivitySeineDtos; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; -import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIModel; import fr.ird.observe.ui.content.open.ContentOpenableUIHandler; @@ -200,22 +199,22 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei boolean create = activityId == null; - FormDto<ActivitySeineDto> formDto; + Form<ActivitySeineDto> form; if (create) { // create mode - formDto = getActivitySeineService().preCreate(routeId); + form = getActivitySeineService().preCreate(routeId); } else { // update mode - formDto = getActivitySeineService().loadForm(activityId); + form = getActivitySeineService().loadForm(activityId); } setContentMode(mode); - getModel().setFormDto(formDto); - ActivitySeineDtos.copyActivitySeineDto(formDto.getForm(), bean); + getModel().setForm(form); + ActivitySeineDtos.copyActivitySeineDto(form.getObject(), bean); if (log.isDebugEnabled()) { log.debug(prefix + "long - lat = " + bean.getLongitude() + " - " + bean.getLatitude()); @@ -326,9 +325,9 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei public String getActivity6Label() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceSetDto<VesselActivitySeineDto> activities = service.getReferentialReferenceSet(VesselActivitySeineDto.class); + Set<ReferentialReference<VesselActivitySeineDto>> activities = getDataSource().getReferentialReferences(VesselActivitySeineDto.class); - for (ReferenceDto vesselActivity : activities.getReference()) { + for (ReferentialReference<VesselActivitySeineDto> vesselActivity : activities) { if (ActivitySeineDto.ACTIVITY_FIN_DE_PECHE.equals(vesselActivity.getPropertyValue(VesselActivitySeineDto.PROPERTY_CODE))) { String label = getDecoratorService().decorate(VesselActivitySeineDto.class.getSimpleName(), vesselActivity); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIModel.java index d006be5..ccbc9d9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIModel.java @@ -23,10 +23,8 @@ package fr.ird.observe.ui.content.open.impl.seine; */ import com.google.common.collect.ImmutableSet; -import fr.ird.observe.ObserveSwingBinderService; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.ui.content.open.ContentOpenableUIModel; -import org.nuiton.util.beans.BinderModelBuilder; import java.util.Set; @@ -95,7 +93,7 @@ public class ActivitySeineUIModel extends ContentOpenableUIModel<ActivitySeineDt public boolean isChangedZoneOperation() { //FIXME -// ReferentialReferenceDto<VesselActivitySeineDto> vesselActivitySeine = bean.getVesselActivitySeine(); +// ReferentialReference<VesselActivitySeineDto> vesselActivitySeine = bean.getVesselActivitySeine(); // Serializable code = vesselActivitySeine.getPropertyValue(VesselActivitySeineDto.PROPERTY_CODE); // return vesselActivitySeine != null && ACTIVITY_CHANGED_ZONE.equals(code); return false; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java index bde2aca..032a298 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java @@ -24,9 +24,8 @@ package fr.ird.observe.ui.content.open.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; @@ -133,22 +132,22 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { boolean create = routeId == null; - FormDto<RouteDto> formDto; + Form<RouteDto> form; if (create) { // create mode - formDto = getRouteService().preCreate(tripId); + form = getRouteService().preCreate(tripId); } else { // update mode - formDto = getRouteService().loadForm(routeId); + form = getRouteService().loadForm(routeId); } setContentMode(mode); - getModel().setFormDto(formDto); - RouteDtos.copyRouteDto(formDto.getForm(), editBean); + getModel().setForm(form); + RouteDtos.copyRouteDto(form.getObject(), editBean); finalizeOpenUI(mode, create); } @@ -380,12 +379,12 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { ActivitySeineUI selectedUI = (ActivitySeineUI) ObserveSwingApplicationContext.get().getSelectedContentUI(); // on recupère l'activity de fin de veille - ReferentialReferenceDto<VesselActivitySeineDto> vesselActivitySeine = null; + ReferentialReference<VesselActivitySeineDto> vesselActivitySeine = null; - for (ReferenceDto<VesselActivitySeineDto> refVesselActivity : selectedUI.getVesselActivitySeine().getData()) { + for (ReferentialReference<VesselActivitySeineDto> refVesselActivity : selectedUI.getVesselActivitySeine().getData()) { if (ActivitySeineDto.ACTIVITY_FIN_DE_VEILLE.equals(refVesselActivity.getPropertyValue(VesselActivitySeineDto.PROPERTY_CODE))) { - vesselActivitySeine = (ReferentialReferenceDto) refVesselActivity; + vesselActivitySeine = refVesselActivity; break; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx index 4ae57ef..07ac37c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUI.jaxx @@ -24,9 +24,9 @@ contentTitle='{n("observe.tripSeine.title")}'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.TripSeineDto fr.ird.observe.services.dto.seine.RouteDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.HarbourDto fr.ird.observe.services.dto.referential.PersonDtos fr.ird.observe.services.dto.referential.VesselDto @@ -89,7 +89,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='captainLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='captain' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='captain' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -99,7 +99,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='observerLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='observer' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='observer' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -109,7 +109,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='dataEntryOperatorLabel'/> </cell> <cell anchor='east'> - <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferenceDto<PersonDto>' _entityClass='PersonDto.class'/> + <BeanComboBox id='dataEntryOperator' constructorParams='this' genericType='ReferentialReference<PersonDto>' _entityClass='PersonDto.class'/> </cell> </row> @@ -119,7 +119,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='vesselLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vessel' constructorParams='this' genericType='ReferenceDto<VesselDto>' _entityClass='VesselDto.class'/> + <BeanComboBox id='vessel' constructorParams='this' genericType='ReferentialReference<VesselDto>' _entityClass='VesselDto.class'/> </cell> </row> @@ -129,7 +129,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='oceanLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='ocean' genericType='ReferenceDto<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> + <BeanComboBox id='ocean' genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class' constructorParams='this'/> </cell> </row> @@ -139,7 +139,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='departureHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='departureHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> + <BeanComboBox id='departureHarbour' genericType='ReferentialReference<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> @@ -149,7 +149,7 @@ protected boolean canEditOcean(java.util.List<RouteDto> routes) { <JLabel id='landingHarbourLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='landingHarbour' genericType='ReferenceDto<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> + <BeanComboBox id='landingHarbour' genericType='ReferentialReference<HarbourDto>' _entityClass='HarbourDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 4167254..7098d7f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -21,12 +21,17 @@ */ package fr.ird.observe.ui.content.open.impl.seine; +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.configuration.ObserveSwingApplicationConfig; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.TripMapDto; +import fr.ird.observe.services.dto.referential.PersonDtos; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDtos; @@ -44,6 +49,7 @@ import javax.swing.SwingUtilities; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import java.util.Date; +import java.util.LinkedList; import static org.nuiton.i18n.I18n.n; import static org.nuiton.i18n.I18n.t; @@ -73,15 +79,6 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } @Override - protected boolean doOpenData() { - boolean result = getOpenDataManager().canOpenTripSeine(); - if (result) { - getOpenDataManager().openTripSeine(getSelectedParentId(), getSelectedId()); - } - return result; - } - - @Override public boolean doCloseData() { boolean result = getOpenDataManager().isOpenTripSeine(getSelectedId()); if (result) { @@ -91,28 +88,6 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } @Override - protected ContentMode getContentMode(DataContext dataContext) { - - String tripSeineId = getSelectedId(); - - if (tripSeineId == null) { - - // maree en cours de creation - return ContentMode.CREATE; - } - - if (getOpenDataManager().isOpenTripSeine(tripSeineId)) { - - // maree ouverte - return ContentMode.UPDATE; - } - - addInfoMessage(t(closeMessage)); - return ContentMode.READ; - - } - - @Override public void initUI() throws Exception { super.initUI(); @@ -176,14 +151,14 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { boolean create = tripId == null; - FormDto<TripSeineDto> formDto; + Form<TripSeineDto> form; if (create) { // create mode if (log.isInfoEnabled()) { log.info(prefix + "create a new trip"); } - formDto = getTripSeineService().preCreate(programId); + form = getTripSeineService().preCreate(programId); } else { @@ -191,13 +166,13 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { if (log.isInfoEnabled()) { log.info(prefix + "load existing trip " + tripId); } - formDto = getTripSeineService().loadForm(tripId); + form = getTripSeineService().loadForm(tripId); } setContentMode(mode); - getModel().setFormDto(formDto); - TripSeineDtos.copyTripSeineDto(formDto.getForm(), bean); + getModel().setForm(form); + TripSeineDtos.copyTripSeineDto(form.getObject(), bean); getUi().getTripSeineTabPane().setSelectedIndex(0); getUi().getTripMap().getHandler().doCloseMap(); @@ -257,6 +232,37 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } @Override + protected boolean doOpenData() { + boolean result = getOpenDataManager().canOpenTripSeine(); + if (result) { + getOpenDataManager().openTripSeine(getSelectedParentId(), getSelectedId()); + } + return result; + } + + @Override + protected ContentMode getContentMode(DataContext dataContext) { + + String tripSeineId = getSelectedId(); + + if (tripSeineId == null) { + + // maree en cours de creation + return ContentMode.CREATE; + } + + if (getOpenDataManager().isOpenTripSeine(tripSeineId)) { + + // maree ouverte + return ContentMode.UPDATE; + } + + addInfoMessage(t(closeMessage)); + return ContentMode.READ; + + } + + @Override protected boolean doSave(TripSeineDto bean) throws Exception { // on force toujours la date a etre sans heure, minute,... @@ -311,6 +317,38 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { return !create && getOpenDataManager().canOpenTripSeine(); } + @Override + protected <D extends ReferentialDto> Iterable<ReferentialReference<D>> filterReferentialReferences(Class<D> dtoType, String propertyName, LinkedList<ReferentialReference<D>> incomingReferences) { + + Iterable<ReferentialReference<D>> result; + + switch (propertyName) { + + case TripSeineDto.PROPERTY_CAPTAIN: { + Predicate referentialReferencePredicate = PersonDtos.newCaptainReferencePredicate(); + result = Iterables.filter(incomingReferences, referentialReferencePredicate); + } + break; + + case TripSeineDto.PROPERTY_OBSERVER: { + Predicate referentialReferencePredicate = PersonDtos.newObserverReferencePredicate(); + result = Iterables.filter(incomingReferences, referentialReferencePredicate); + } + break; + + case TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR: { + Predicate referentialReferencePredicate = PersonDtos.newDataEntryOperatorReferencePredicate(); + result = Iterables.filter(incomingReferences, referentialReferencePredicate); + } + break; + + default: + result = incomingReferences; + } + + return result; + } + protected TripSeineService getTripSeineService() { return ObserveSwingApplicationContext.get().newService(TripSeineService.class); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css index 1774596..182cb6d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css @@ -50,7 +50,7 @@ } #listHeader { - beanType:{ReferenceDto.class}; + beanType:{(Class)ReferentialReference.class}; showReset:true; list:{list}; labelText:{getContentTitle()}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx index cd9bbfd..b7ab6e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx @@ -25,8 +25,8 @@ genericType='E extends ReferentialDto'> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.referential.ReferentialDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.ui.UIHelper fr.ird.observe.ui.actions.shared.DeleteReferenceUIAction @@ -84,10 +84,10 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); <JScrollPane id='listPane' constraints='BorderLayout.CENTER' columnHeaderView='{listHeader}'> <JList id='list' - onValueChanged='getHandler().selectBean((ReferenceDto<E>)getSelectedBean(list))' + onValueChanged='getHandler().selectBean((ReferentialReference<E>)getSelectedBean(list))' onMouseClicked='if (event.getClickCount() == 2) { getHandler().modifyUI(); }'/> - <BeanListHeader id='listHeader' genericType='ReferenceDto' _entityClass="getModel().getBeanType()"/> + <BeanListHeader id='listHeader' genericType='ReferentialReference<E>' _entityClass="getModel().getBeanType()"/> </JScrollPane> </JPanel> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index c582143..a33b29e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -25,16 +25,14 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.DtoMap; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.constants.ReferenceStatus; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.I18nReferentialDto; import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.ReferentialService; @@ -42,15 +40,14 @@ import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIHandler; -import fr.ird.observe.ui.content.ObserveContentUI; import fr.ird.observe.ui.tree.ObserveTreeHelper; import fr.ird.observe.ui.usage.UsagesUI; import fr.ird.observe.ui.util.SpringUtilities; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.validation.ValidationContext; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.CardLayout2Ext; import jaxx.runtime.swing.ErrorDialogUI; -import jaxx.runtime.swing.editor.bean.BeanComboBox; import jaxx.runtime.swing.editor.bean.BeanListHeader; import jaxx.runtime.validator.swing.SwingValidatorUtil; import org.apache.commons.lang3.StringUtils; @@ -58,9 +55,6 @@ import org.apache.commons.lang3.time.FastDateFormat; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; -import org.nuiton.decorator.DecoratorUtil; -import org.nuiton.decorator.JXPathDecorator; -import org.nuiton.jaxx.widgets.select.FilterableDoubleList; import org.nuiton.util.beans.Binder; import org.nuiton.util.beans.BinderFactory; @@ -91,11 +85,10 @@ import java.beans.PropertyChangeListener; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; -import java.util.Collections; -import java.util.LinkedHashSet; import java.util.List; import java.util.Locale; import java.util.Map; +import java.util.Set; import static org.nuiton.i18n.I18n.t; @@ -213,18 +206,13 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content return false; } - public void selectBean(ReferenceDto<E> selectedReference) { + public void selectBean(ReferentialReference<E> selectedReference) { if (selectedReference != null) { - FormDto<E> formDto; - if (getDataSource().canWriteReferential()) { - formDto = getReferentialService().loadToEdit(getBeanType(), selectedReference.getId()); - } else { - formDto = getReferentialService().loadToRead(getBeanType(), selectedReference.getId()); - } + Form<E> form = getReferentialService().loadForm(getBeanType(), selectedReference.getId()); - E selectedBean = formDto.getForm(); + E selectedBean = form.getObject(); getModel().setSelectedBean(selectedBean); @@ -272,8 +260,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content public void showUniqueKeys(JButton button) { Class<E> beanType = getBeanType(); - ReferenceSetDto<E> entities = getReferentialService().getReferentialReferenceSet(beanType); - List<Object[]> datas = new ArrayList<>(entities.sizeReference()); + Set<ReferentialReference<E>> entities = getDataSource().getReferentialReferences(beanType); + List<Object[]> datas = new ArrayList<>(entities.size()); String[] naturalIds = getModel().getNaturalIds(); int nbColumns = naturalIds.length + 1; @@ -283,9 +271,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content columns[0] = StringUtils.removeEnd(Introspector.decapitalize(beanType.getSimpleName()), "Dto"); DecoratorService dService = getDecoratorService(); - Decorator<ReferenceDto> decorator = dService.getDecoratorByType(ReferenceDto.class, beanType.getSimpleName()); + ReferentialReferenceDecorator<E> decorator = dService.getReferentialReferenceDecorator(beanType); - for (ReferenceDto<E> e : entities.getReference()) { + for (ReferentialReference<E> e : entities) { Object[] data = new Object[nbColumns]; int index = 0; @@ -472,7 +460,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content ContentReferenceUIModel<E> model = getModel(); // Chargement des données - updateReferenceSets(true); + updateUiWithReferenceSetsFromModel(); ContentReferenceUI<E> ui = getUi(); @@ -550,10 +538,10 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content addInfoMessage(t("observe.message.creating.referentiel")); // creation mode - FormDto<E> formDto = getReferentialService().preCreate(getBeanType()); - getModel().setFormDto(formDto); + Form<E> form = getReferentialService().preCreate(getBeanType()); + getModel().setForm(form); - copyIntoBean(formDto.getForm(), bean); + copyIntoBean(form.getObject(), bean); } else { addInfoMessage(t("observe.message.updating.referentiel")); @@ -587,8 +575,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content @Override protected void prepareValidationContext() { super.prepareValidationContext(); - BeanListHeader<ReferenceDto> jList = getUi().getListHeader(); - List<ReferenceDto> data = jList.getData(); + BeanListHeader<ReferentialReference<E>> jList = getUi().getListHeader(); + List<ReferentialReference<E>> data = jList.getData(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); ValidationContext validationContext = applicationContext.getValidationContext(); if (log.isDebugEnabled()) { @@ -648,7 +636,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content addInfoMessage(t("observe.message.referentiel.editable")); } - updateReferenceSets(false); + updateUiWithReferenceSetsFromModel(); + } @Override @@ -695,7 +684,8 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // add the program in tree ObserveTreeHelper treeHelper = getTreeHelper(getUi()); - treeHelper.addProgram(ProgramDtos.newReferenceDto((ProgramDto) bean)); + //FIXME ReferentialReference +// treeHelper.addProgram(ProgramDtos.newReferenceDto((ProgramDto) bean)); } return true; @@ -855,17 +845,17 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // return beanToSave; // } - public <I> int[] updateIndices(JList jlist, Collection<I> list) { + public <I> int[] updateIndices(JList<I> jlist, Collection<I> list) { if (log.isDebugEnabled()) { log.debug(list == null ? 0 : list.size()); } - List<Integer> indices = new ArrayList<Integer>(); + List<Integer> indices = new ArrayList<>(); if (list != null && !list.isEmpty()) { - ListModel model = jlist.getModel(); + ListModel<I> model = jlist.getModel(); for (int i = 0, max = model.getSize(); i < max; i++) { - I s = (I) model.getElementAt(i); + I s = model.getElementAt(i); if (list.contains(s)) { indices.add(i); } @@ -882,13 +872,10 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content } public boolean canSeeI18nTable(E bean) { - return bean instanceof I18nReferentialDto || - bean instanceof VesselSizeCategoryDto; + return bean instanceof I18nReferentialDto || bean instanceof VesselSizeCategoryDto; } - public void decorateUniqueKeyTable(JTable table, - TableCellRenderer renderer, - JScrollPane pane) { + public void decorateUniqueKeyTable(JTable table, TableCellRenderer renderer, JScrollPane pane) { table.setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN); UIHelper.fixTableColumnWidth(table, 1, 70); } @@ -897,9 +884,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content if (log.isDebugEnabled()) { log.debug("Editing has changed : " + editing); } - return editing ? - ContentReferenceUI.DETAIL_VIEW : - ContentReferenceUI.LIST_VIEW; + return editing ? ContentReferenceUI.DETAIL_VIEW : ContentReferenceUI.LIST_VIEW; } protected void copyIntoBean(E source, E target) { @@ -911,84 +896,4 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content return ObserveSwingApplicationContext.get().newService(ReferentialService.class); } - @Override - protected <R extends IdDto> void updateData(BeanComboBox<ReferenceDto<R>> comboBox) { - - Class<R> dtoClass = getDtoClass(comboBox); - - Boolean noLoad = (Boolean) comboBox.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); - - List<ReferenceDto<R>> data; - - if (noLoad != null && noLoad) { - - if (log.isInfoEnabled()) { - log.info("Skip loading of entity list [" + dtoClass.getName() + "] (listNoLoad property found)"); - } - data = Collections.emptyList(); - - } else { - - data = new ArrayList<>(); - - // get complete data list from service - ReferenceSetDto<R> referentialReferenceSet = getReferentialService().getReferentialReferenceSet((Class) dtoClass); - LinkedHashSet<ReferenceDto<R>> reference = referentialReferenceSet.getReference(); - - data.addAll(reference); - - } - - if (log.isInfoEnabled()) { - log.info("entity list [" + dtoClass.getName() + "] : " + data.size()); - } - - comboBox.setData(data); - } - - @Override - protected <R extends IdDto> void updateData(BeanListHeader<ReferenceDto<R>> list) { - - Class<R> dtoClass = getDtoClass(list); - - // Attention ici on charge les references avec aussi les données techniques - // On en a besoin pour l'écran justement des informations techniques d'une entité en cours d'édition - ReferenceSetDto<R> referentialReferenceSet = getReferentialService().getReferentialReferenceSetWithTechnicalInformations((Class) dtoClass); - - List<ReferenceDto<R>> data = new ArrayList<>(referentialReferenceSet.getReference()); - - Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); - - list.setData(data); - list.putClientProperty("data", data); - } - - @Override - protected <R extends IdDto> void updateData(FilterableDoubleList<ReferenceDto<R>> list) { - Class<R> dtoClass = getDtoClass(list); - List<ReferenceDto<R>> data; - - if (ReferentialDto.class.isAssignableFrom(dtoClass)) { - - ReferentialService service = getReferentialService(); - ReferenceSetDto<R> referentialReferenceSet = service.getReferentialReferenceSet((Class) dtoClass); - - data = new ArrayList<>(referentialReferenceSet.getReference()); - - } else { - - data = new ArrayList<>(); - - } - - // sort data from first decorator context - Decorator<ReferenceDto<R>> decorator = getReferenceDecorator(dtoClass); - DecoratorUtil.sort((JXPathDecorator<ReferenceDto<R>>) decorator, data, 0); - - list.setUniverse(data); - list.putClientProperty("data", data); - } - - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx index c17097a..bbe768f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearCaracteristicUI.jaxx @@ -34,8 +34,8 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.GearCaracteristicDto fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel @@ -101,7 +101,7 @@ <JLabel id='gearCaracteristicTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='gearCaracteristicType' constructorParams='this' genericType='ReferenceDto<GearCaracteristicTypeDto>' _entityClass='GearCaracteristicTypeDto.class'/> + <BeanComboBox id='gearCaracteristicType' constructorParams='this' genericType='ReferentialReference<GearCaracteristicTypeDto>' _entityClass='GearCaracteristicTypeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css index da7961e..5c59970 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.css @@ -41,7 +41,7 @@ #gearCaracteristic { property:{GearDto.PROPERTY_GEAR_CARACTERISTIC}; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getGearCaracteristic())}; + selected:{(Collection)bean.getGearCaracteristic()}; _validatorLabel: {t("observe.gear.gearCaracteristic")}; showListLabel: true; universeLabel:{t("observe.gear.availableGearCaracteristic")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx index 118a82b..71834d8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUI.jaxx @@ -34,15 +34,15 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.GearDto fr.ird.observe.services.dto.referential.GearCaracteristicDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel org.nuiton.jaxx.widgets.select.FilterableDoubleList + java.util.Collection static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n </import> @@ -180,7 +180,7 @@ <cell weightx="1" weighty="1"> <JScrollPane id='gearCaracteristicPane' layout='{new GridLayout(1,1)}'> <FilterableDoubleList id='gearCaracteristic' - genericType='ReferenceDto<GearCaracteristicDto>' + genericType='ReferentialReference<GearCaracteristicDto>' _entityClass='GearCaracteristicDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUIHandler.java index f69b03b..56a0367 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/GearUIHandler.java @@ -22,8 +22,8 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -71,7 +71,7 @@ public class GearUIHandler extends ContentReferenceUIHandler<GearDto> { } @Override - public void selectBean(ReferenceDto<GearDto> selectedBean) { + public void selectBean(ReferentialReference<GearDto> selectedBean) { super.selectBean(selectedBean); @@ -84,7 +84,7 @@ public class GearUIHandler extends ContentReferenceUIHandler<GearDto> { protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { - Set<String> errorProperties = new HashSet<String>(); + Set<String> errorProperties = new HashSet<>(); int rowCount = errorTableModel.getRowCount(); for (int i = 0; i < rowCount; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx index a7b3cc2..19ddb96 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/HarbourUI.jaxx @@ -35,8 +35,8 @@ <style source="ReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.HarbourDto fr.ird.observe.services.dto.referential.CountryDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel @@ -122,7 +122,7 @@ <JLabel id='countryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx index 7b04232..754a3ef 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUI.jaxx @@ -35,8 +35,8 @@ <style source="ReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.OceanDto @@ -104,7 +104,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='sex' constructorParams='this' - genericType='ReferenceDto<SexDto>' _entityClass='SexDto.class'/> + genericType='ReferentialReference<SexDto>' _entityClass='SexDto.class'/> </cell> </row> @@ -115,7 +115,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='species' constructorParams='this' - genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -126,7 +126,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='ocean' constructorParams='this' - genericType='ReferenceDto<OceanDto>' _entityClass='OceanDto.class'/> + genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUIHandler.java index caac165..882eddc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/LengthWeightParameterUIHandler.java @@ -22,8 +22,8 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -71,7 +71,7 @@ public class LengthWeightParameterUIHandler extends ContentReferenceUIHandler<Le } @Override - public void selectBean(ReferenceDto<LengthWeightParameterDto> selectedBean) { + public void selectBean(ReferentialReference<LengthWeightParameterDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx index 1208f00..aa65696 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/OrganismUI.jaxx @@ -36,8 +36,8 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.OrganismDto fr.ird.observe.services.dto.referential.CountryDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel @@ -96,7 +96,7 @@ <JLabel id='countryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx index 7fe68f3..0cffce9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/PersonUI.jaxx @@ -35,8 +35,8 @@ <style source="ReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.PersonDto fr.ird.observe.services.dto.referential.CountryDto fr.ird.observe.ui.UIHelper @@ -130,7 +130,7 @@ public void decorateUniqueKeyTable(JTable table, <JLabel id='countryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='country' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='country' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx index 8ada4d8..0a4bbb4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUI.jaxx @@ -36,13 +36,13 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.constants.GearType - fr.ird.observe.ui.content.ref.impl.ProgramObservationEnum + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.ProgramDto fr.ird.observe.services.dto.referential.OrganismDto fr.ird.observe.ui.content.ref.ContentReferenceUIModel + fr.ird.observe.ui.content.ref.impl.ProgramObservationEnum jaxx.runtime.swing.editor.bean.BeanComboBox @@ -108,7 +108,7 @@ </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='organism' constructorParams='this' - genericType='ReferenceDto<OrganismDto>' _entityClass='OrganismDto.class'/> + genericType='ReferentialReference<OrganismDto>' _entityClass='OrganismDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUIHandler.java index e20b5d4..ad32cb0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/ProgramUIHandler.java @@ -22,8 +22,8 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -71,7 +71,7 @@ public class ProgramUIHandler extends ContentReferenceUIHandler<ProgramDto> { } @Override - public void selectBean(ReferenceDto<ProgramDto> selectedBean) { + public void selectBean(ReferentialReference<ProgramDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css index 0f3f1b3..eef39e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.css @@ -41,7 +41,7 @@ #species { property: species; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getSpecies())}; + selected:{(Collection)bean.getSpecies()}; _validatorLabel: {t("observe.common.species")}; showListLabel: true; universeLabel:{t("observe.speciesList.availableSpecies")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx index 375baf0..f53993c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUI.jaxx @@ -35,9 +35,7 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.SpeciesListDto fr.ird.observe.services.dto.referential.SpeciesDto @@ -49,6 +47,8 @@ javax.swing.DefaultListModel javax.swing.ListSelectionModel + java.util.Collection + static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n </import> @@ -186,7 +186,7 @@ <cell weightx="1" weighty="1"> <JScrollPane id='speciesPane' layout='{new GridLayout(1,1)}'> <FilterableDoubleList id='species' - genericType='ReferenceDto<SpeciesDto>' + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUIHandler.java index e94f308..4b42979 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesListUIHandler.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesListDto; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; @@ -71,7 +71,7 @@ public class SpeciesListUIHandler extends ContentReferenceUIHandler<SpeciesListD } @Override - public void selectBean(ReferenceDto<SpeciesListDto> selectedBean) { + public void selectBean(ReferentialReference<SpeciesListDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css index 31c9898..a4c9a02 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.css @@ -70,7 +70,7 @@ #ocean { property: ocean; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(bean.getOcean())}; + selected:{(Collection)bean.getOcean()}; _validatorLabel: {t("observe.common.ocean")}; showListLabel: true; universeLabel:{t("observe.species.availableOcean")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx index fc83d15..046c388 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUI.jaxx @@ -36,9 +36,7 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.constants.ReferenceStatus fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.SpeciesGroupDto @@ -48,6 +46,8 @@ jaxx.runtime.swing.editor.bean.BeanComboBox org.nuiton.jaxx.widgets.select.FilterableDoubleList + java.util.Collection + static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n </import> @@ -121,7 +121,7 @@ <JLabel id='speciesGroupLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='speciesGroup' constructorParams='this' genericType='ReferenceDto<SpeciesGroupDto>' _entityClass='SpeciesGroupDto.class'/> + <BeanComboBox id='speciesGroup' constructorParams='this' genericType='ReferentialReference<SpeciesGroupDto>' _entityClass='SpeciesGroupDto.class'/> </cell> </row> <!-- needComment --> @@ -262,7 +262,7 @@ <cell weightx="1"> <JScrollPane id='oceanPane' layout='{new GridLayout(1,1)}'> <FilterableDoubleList id='ocean' - genericType='ReferenceDto<OceanDto>' + genericType='ReferentialReference<OceanDto>' _entityClass='OceanDto.class'/> </JScrollPane> </cell> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUIHandler.java index ce33651..fae41e0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/SpeciesUIHandler.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; @@ -71,7 +71,7 @@ public class SpeciesUIHandler extends ContentReferenceUIHandler<SpeciesDto> { } @Override - public void selectBean(ReferenceDto<SpeciesDto> selectedBean) { + public void selectBean(ReferentialReference<SpeciesDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx index 6f1fc68..20c387e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUI.jaxx @@ -36,8 +36,8 @@ <style source="I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.VesselDto fr.ird.observe.services.dto.referential.VesselSizeCategoryDto fr.ird.observe.services.dto.referential.CountryDto @@ -119,7 +119,7 @@ <JLabel id='vesselTypeLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vesselType' constructorParams='this' genericType='ReferenceDto<VesselTypeDto>' _entityClass='VesselTypeDto.class'/> + <BeanComboBox id='vesselType' constructorParams='this' genericType='ReferentialReference<VesselTypeDto>' _entityClass='VesselTypeDto.class'/> </cell> </row> @@ -129,7 +129,7 @@ <JLabel id='vesselSizeCategoryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='vesselSizeCategory' constructorParams='this' genericType='ReferenceDto<VesselSizeCategoryDto>' _entityClass='VesselSizeCategoryDto.class'/> + <BeanComboBox id='vesselSizeCategory' constructorParams='this' genericType='ReferentialReference<VesselSizeCategoryDto>' _entityClass='VesselSizeCategoryDto.class'/> </cell> </row> @@ -139,7 +139,7 @@ <JLabel id='flagCountryLabel'/> </cell> <cell anchor='east' weightx="1" fill="both"> - <BeanComboBox id='flagCountry' constructorParams='this' genericType='ReferenceDto<CountryDto>' _entityClass='CountryDto.class'/> + <BeanComboBox id='flagCountry' constructorParams='this' genericType='ReferentialReference<CountryDto>' _entityClass='CountryDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUIHandler.java index ec88a5a..af18cec 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/VesselUIHandler.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.content.ref.impl; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.VesselDto; import fr.ird.observe.ui.content.ref.ContentReferenceUI; import fr.ird.observe.ui.content.ref.ContentReferenceUIHandler; @@ -71,7 +71,7 @@ public class VesselUIHandler extends ContentReferenceUIHandler<VesselDto> { } @Override - public void selectBean(ReferenceDto<VesselDto> selectedBean) { + public void selectBean(ReferentialReference<VesselDto> selectedBean) { super.selectBean(selectedBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx index 437700c..a1e0a37 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/impl/seine/WeightCategoryUI.jaxx @@ -36,8 +36,8 @@ <style source="../I18nReferenceEntity.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.constants.ReferenceStatus + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.seine.WeightCategoryDto fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.UIHelper @@ -88,7 +88,7 @@ public void decorateUniqueKeyTable(JTable table, </cell> <cell anchor='east' weightx="1" fill="both"> <BeanComboBox id='species' constructorParams='this' - genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index 0e164ea..8572f1a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -29,7 +29,7 @@ import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.seine.TargetCatchDto; @@ -250,11 +250,11 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex new ContentTableUIInitializer<>(getUi()); uiInitializer.initUI(); - getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { + getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { - updateReferenceSets(true); + updateUiWithReferenceSetsFromModel(); } }); @@ -451,7 +451,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex * @param weightCategory la catégorie de poids * @return la référence sur l'espèce de la catégorie de poids */ - protected ReferentialReferenceDto<SpeciesDto> getWeightCategorySpecies(ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + protected ReferentialReference<SpeciesDto> getWeightCategorySpecies(ReferentialReference<WeightCategoryDto> weightCategory) { //FIXME Il faut que les références dans les dto du form remontés soient les même que ceux remontés par les ensembles de références //FIXME i.e pas de référence de référence @@ -461,7 +461,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex if (ref instanceof String) { speciesId = (String) ref; } else { - speciesId = ((ReferentialReferenceDto<?>) ref).getId(); + speciesId = ((ReferentialReference<?>) ref).getId(); } return getModel().getReferentialReferenceById(SpeciesDto.class, TargetCatchDto.PROPERTY_SPECIES, speciesId); } @@ -470,15 +470,15 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex * @param speciesId l'identifiant de l'espèce * @return la liste de toutes les catégories de poids de l'espèce */ - protected List<ReferentialReferenceDto<WeightCategoryDto>> getSpeciesWeightCategories(String speciesId) { + protected List<ReferentialReference<WeightCategoryDto>> getSpeciesWeightCategories(String speciesId) { - Set<ReferentialReferenceDto<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); + Set<ReferentialReference<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); return Lists.newArrayList(Iterables.filter(allCategories, new WeightCategorySpeciesPredicate(speciesId))); } - private static class WeightCategorySpeciesPredicate implements Predicate<ReferentialReferenceDto<WeightCategoryDto>> { + private static class WeightCategorySpeciesPredicate implements Predicate<ReferentialReference<WeightCategoryDto>> { private final String speciesId; @@ -487,7 +487,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex } @Override - public boolean apply(ReferentialReferenceDto<WeightCategoryDto> input) { + public boolean apply(ReferentialReference<WeightCategoryDto> input) { return speciesId.equals(input.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES)); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx index d54fb7e..06da75c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BaitsCompositionUI.jaxx @@ -29,9 +29,9 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto fr.ird.observe.services.dto.longline.BaitsCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.BaitTypeDto fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto fr.ird.observe.ui.content.table.* @@ -78,7 +78,7 @@ <JLabel id='baitTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='baitType' constructorParams='this' genericType='ReferenceDto<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> + <BeanComboBox id='baitType' constructorParams='this' genericType='ReferentialReference<BaitTypeDto>' _entityClass='BaitTypeDto.class'/> </cell> </row> @@ -88,7 +88,7 @@ <JLabel id='baitSettingStatusLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferenceDto<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> + <BeanComboBox id='baitSettingStatus' constructorParams='this' genericType='ReferentialReference<BaitSettingStatusDto>' _entityClass='BaitSettingStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx index 7fc0ecd..eea26bb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/BranchlinesCompositionUI.jaxx @@ -29,9 +29,9 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto fr.ird.observe.services.dto.longline.BranchlinesCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.LineTypeDto fr.ird.observe.ui.content.table.* @@ -77,7 +77,7 @@ <JLabel id='topTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='topType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='topType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> @@ -87,7 +87,7 @@ <JLabel id='tracelineTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='tracelineType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css index cd67214..6f1d282 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.css @@ -253,7 +253,7 @@ #predator { property: predator; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(tableEditBean.getPredator())}; + selected:{(Collection)tableEditBean.getPredator()}; _validatorLabel: {t("observe.catchLongline.predator")}; showListLabel: true; universeLabel:{t("observe.catchLongline.availablePredator")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx index c0ca084..d8f323a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUI.jaxx @@ -30,15 +30,14 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos + fr.ird.observe.services.dto.DataReference fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.BasketDto fr.ird.observe.services.dto.longline.BranchlineDto fr.ird.observe.services.dto.longline.CatchLonglineDto fr.ird.observe.services.dto.longline.SectionDto fr.ird.observe.services.dto.longline.SetLonglineCatchDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto @@ -56,6 +55,8 @@ java.awt.Dimension + java.util.Collection + org.apache.commons.lang3.BooleanUtils static fr.ird.observe.ui.UIHelper.getStringValue @@ -138,7 +139,7 @@ <JLabel id='sectionLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='section' genericType='ReferenceDto<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> + <BeanComboBox id='section' genericType='DataReference<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> </cell> </row> <row> @@ -146,7 +147,7 @@ <JLabel id='basketLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='basket' genericType='ReferenceDto<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> + <BeanComboBox id='basket' genericType='DataReference<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> </cell> </row> <row> @@ -154,7 +155,7 @@ <JLabel id='branchlineLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='branchline' genericType='ReferenceDto<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> + <BeanComboBox id='branchline' genericType='DataReference<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> </cell> </row> </Table> @@ -168,10 +169,7 @@ <JLabel id='speciesCatchLabel'/> </cell> <cell weightx='1' anchor='east' columns="3"> - <BeanComboBox id='speciesCatch' - genericType='ReferentialReferenceDto<SpeciesDto>' - _entityClass='SpeciesDto.class' - constructorParams='this'/> + <BeanComboBox id='speciesCatch' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> @@ -200,13 +198,13 @@ <JLabel id='catchHealthnessLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='catchHealthness' constructorParams='this' genericType='ReferenceDto<HealthnessDto>' _entityClass='HealthnessDto.class'/> + <BeanComboBox id='catchHealthness' constructorParams='this' genericType='ReferentialReference<HealthnessDto>' _entityClass='HealthnessDto.class'/> </cell> <cell> <JLabel id='hookPositionLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='hookPosition' constructorParams='this' genericType='ReferenceDto<HookPositionDto>' _entityClass='HookPositionDto.class'/> + <BeanComboBox id='hookPosition' constructorParams='this' genericType='ReferentialReference<HookPositionDto>' _entityClass='HookPositionDto.class'/> </cell> </row> @@ -217,13 +215,13 @@ <JLabel id='catchFateLonglineLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='catchFateLongline' constructorParams='this' genericType='ReferenceDto<CatchFateLonglineDto>' _entityClass='CatchFateLonglineDto.class'/> + <BeanComboBox id='catchFateLongline' constructorParams='this' genericType='ReferentialReference<CatchFateLonglineDto>' _entityClass='CatchFateLonglineDto.class'/> </cell> <cell> <JLabel id='discardHealthnessLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='discardHealthness' constructorParams='this' genericType='ReferenceDto<HealthnessDto>' _entityClass='HealthnessDto.class'/> + <BeanComboBox id='discardHealthness' constructorParams='this' genericType='ReferentialReference<HealthnessDto>' _entityClass='HealthnessDto.class'/> </cell> </row> @@ -274,9 +272,7 @@ <row> <cell columns="2" fill="both" weighty="0.7"> <JScrollPane id='predatorPane'> - <FilterableDoubleList id='predator' - genericType='ReferenceDto<SpeciesDto>' - _entityClass='SpeciesDto.class'/> + <FilterableDoubleList id='predator' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </JScrollPane> </cell> </row> @@ -295,7 +291,7 @@ <JLabel id='stomacFullnessLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='stomacFullness' constructorParams='this' genericType='ReferenceDto<StomacFullnessDto>' _entityClass='StomacFullnessDto.class'/> + <BeanComboBox id='stomacFullness' constructorParams='this' genericType='ReferentialReference<StomacFullnessDto>' _entityClass='StomacFullnessDto.class'/> </cell> </row> @@ -305,7 +301,7 @@ <JLabel id='sexLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sex' constructorParams='this' genericType='ReferenceDto<SexDto>' _entityClass='SexDto.class'/> + <BeanComboBox id='sex' constructorParams='this' genericType='ReferentialReference<SexDto>' _entityClass='SexDto.class'/> </cell> </row> @@ -315,7 +311,7 @@ <JLabel id='maturityStatusLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='maturityStatus' constructorParams='this' genericType='ReferenceDto<MaturityStatusDto>' _entityClass='MaturityStatusDto.class'/> + <BeanComboBox id='maturityStatus' constructorParams='this' genericType='ReferentialReference<MaturityStatusDto>' _entityClass='MaturityStatusDto.class'/> </cell> </row> @@ -395,7 +391,7 @@ <JLabel id='baitHaulingStatusLabel'/> </cell> <cell anchor='east' weightx="1" fill="both" columns="2"> - <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferenceDto<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> + <BeanComboBox id='baitHaulingStatus' constructorParams='this' genericType='ReferentialReference<BaitHaulingStatusDto>' _entityClass='BaitHaulingStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index 0848a00..f02817d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -25,9 +25,8 @@ package fr.ird.observe.ui.content.table.impl.longline; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.BranchlineDtos; @@ -37,13 +36,13 @@ import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; import fr.ird.observe.services.dto.longline.SetLonglineCatchDtos; import fr.ird.observe.services.dto.longline.SizeMeasureDto; import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; import fr.ird.observe.services.dto.referential.longline.HealthnessDto; import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.longline.BranchlineService; import fr.ird.observe.services.service.longline.SetLonglineCatchService; import fr.ird.observe.ui.DecoratorService; @@ -52,6 +51,7 @@ import fr.ird.observe.ui.content.ContentUIInitializer; import fr.ird.observe.ui.content.ContentUIModel; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ContentTableUIHandler; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import jaxx.runtime.context.JAXXContextEntryDef; import jaxx.runtime.validator.swing.SwingValidator; import jaxx.runtime.validator.swing.SwingValidatorMessage; @@ -59,7 +59,6 @@ import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.lang3.BooleanUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JComponent; @@ -69,7 +68,6 @@ import javax.swing.event.TableModelListener; import javax.swing.table.DefaultTableCellRenderer; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -104,7 +102,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat @Override public void propertyChange(PropertyChangeEvent evt) { - onCatchFateChanged((ReferenceDto<CatchFateLonglineDto>) evt.getNewValue(), (CatchLonglineDto) evt.getSource()); + onCatchFateChanged((ReferentialReference<CatchFateLonglineDto>) evt.getNewValue(), (CatchLonglineDto) evt.getSource()); } }; @@ -112,7 +110,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat @Override public void propertyChange(PropertyChangeEvent evt) { - onBranchlineChanged((ReferenceDto<BranchlineDto>) evt.getNewValue()); + onBranchlineChanged((DataReference<BranchlineDto>) evt.getNewValue()); } }; @@ -158,6 +156,165 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } @Override + public void initUI() throws Exception { + + final CatchLonglineContentTableUIInitializer uiInitializer = new CatchLonglineContentTableUIInitializer(getUi()); + uiInitializer.initUI(); + + getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_SHOW_INDIVIDUAL_TABS, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Boolean newValue = (Boolean) evt.getNewValue(); + showIndividualTabs(newValue); + } + }); + + getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Boolean newValue = (Boolean) evt.getNewValue(); + setTableModelEditable(newValue); + } + }); + + getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + updateUiWithReferenceSetsFromModel(); + } + }); + + setTableModelEditable(getModel().isEditable()); + + LonglinePositionHelper<CatchLonglineDto> positionHelper = new LonglinePositionHelper<>( + getUi().getSection(), + getUi().getBasket(), + getUi().getBranchline(), + getTableEditBean()); + + POSITION_HELPER_ENTRY.setContextValue(getUi(), positionHelper); + + } + + @Override + public void openUI() throws Exception { + + if (log.isInfoEnabled()) { + log.info("OpenUI: " + getModel()); + } + + super.openUI(); + + // Reset all sections + LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); + getUi().getSection().setData(positionHelper.getSections()); + + // To be sure always remove listener (could prevent some leaks) + getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); + // listen messages to see if required to add + getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); + + SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); + computeTabValidState(errorTableModel); + + } + + public void resetBranchline() { + + onBranchlineChanged(null); + + onBranchlineChanged(getTableEditBean().getBranchline()); + + } + + public void saveBranchline() { + + if (log.isInfoEnabled()) { + log.info("Saved modified branchline"); + } + + CatchLonglineUI ui = getUi(); + + BranchlineDto branchline = ui.getBranchlineBean(); + + getBranchLineService().save(branchline); + + getUi().getBranchlineValidator().setChanged(false); + + } + + public void updateCatchAcquisitionMode(CatchAcquisitionModeEnum newMode) { + + if (log.isDebugEnabled()) { + log.debug("Change CatchAcquisitionMode " + newMode); + } + if (newMode == null) { + + // mode null (cela peut arriver avec les bindings) + return; + } + + CatchLonglineUI ui = getUi(); + + boolean createMode = ui.getTableModel().isCreate(); + + CatchLonglineDto editBean = ui.getTableEditBean(); + + switch (newMode) { + + case GROUPED: + + if (createMode) { + + editBean.setTotalWeight(null); + editBean.setCount(null); + editBean.setHookPosition(null); + + } + + break; + + case INDIVIDUAL: + + if (createMode) { + + // on positionne le count à 1 (seule valeur possible) + editBean.setCount(1); + + } + + break; + } + + boolean isGrouped = CatchAcquisitionModeEnum.GROUPED.equals(newMode); + + ui.getTotalWeight().setEnabled(isGrouped); + ui.getCount().setEnabled(isGrouped); + + boolean isIndividual = CatchAcquisitionModeEnum.INDIVIDUAL.equals(newMode); + + ui.getHookPosition().setEnabled(isIndividual); + ui.getSection().setEnabled(isIndividual); + ui.getBasket().setEnabled(isIndividual); + ui.getBranchline().setEnabled(isIndividual); + + if (createMode) { + + // on propage le mode de saisie dans le bean + editBean.setAcquisitionMode(newMode.ordinal()); + + } + + boolean showIndividualTabs = !createMode && isIndividual; + + ui.getModel().setShowIndividualTabs(showIndividualTabs); + + } + + @Override protected void onSelectedRowChanged(int editingRow, CatchLonglineDto bean, boolean create) { if (log.isInfoEnabled()) { @@ -345,9 +502,9 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat n("observe.catchlongline.table.comment"), n("observe.catchlongline.table.comment.tip")); - UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, SectionDto.class.getSimpleName() + DecoratorService.HAULING_IDENTIFIER)); - UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, BasketDto.class.getSimpleName() + DecoratorService.HAULING_IDENTIFIER)); - UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDecorateTableCellRenderer(renderer, ReferenceDto.class, BranchlineDto.class.getSimpleName() + DecoratorService.HAULING_IDENTIFIER)); + UIHelper.setTableColumnRenderer(table, 0, UIHelper.newDataReferenceDecorateTableCellRenderer(renderer, SectionDto.class, DecoratorService.HAULING_IDENTIFIER)); + UIHelper.setTableColumnRenderer(table, 1, UIHelper.newDataReferenceDecorateTableCellRenderer(renderer, BasketDto.class, DecoratorService.HAULING_IDENTIFIER)); + UIHelper.setTableColumnRenderer(table, 2, UIHelper.newDataReferenceDecorateTableCellRenderer(renderer, BranchlineDto.class, DecoratorService.HAULING_IDENTIFIER)); UIHelper.setTableColumnRenderer(table, 3, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SpeciesDto.class)); UIHelper.setTableColumnRenderer(table, 4, UIHelper.newEnumTableCellRenderer(renderer, CatchAcquisitionModeEnum.class)); @@ -373,15 +530,14 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, SizeMeasureTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); - Decorator<ReferenceDto<SizeMeasureTypeDto>> decorator = getReferenceDecorator(SizeMeasureTypeDto.class); - - ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - - ReferenceSetDto<SizeMeasureTypeDto> sizeMeasureTypeDtoRefSet = referentialService.getReferentialReferenceSet(SizeMeasureTypeDto.class); + ReferentialReferenceDecorator<SizeMeasureTypeDto> decorator = getReferentialReferenceDecorator(SizeMeasureTypeDto.class); - ArrayList<ReferenceDto<SizeMeasureTypeDto>> sizeMeasureTypes = Lists.newArrayList(sizeMeasureTypeDtoRefSet.getReference()); + //FIXME Load data on init +// ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); +// ReferenceSetDto<SizeMeasureTypeDto> sizeMeasureTypeDtoRefSet = referentialService.getReferenceSet(SizeMeasureTypeDto.class); +// ArrayList<ReferenceDto<SizeMeasureTypeDto>> sizeMeasureTypes = Lists.newArrayList(sizeMeasureTypeDtoRefSet.getReferences()); - UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(sizeMeasureTypes, decorator)); + UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(Collections.<ReferentialReference<SizeMeasureTypeDto>>emptyList(), decorator)); UIHelper.setTableColumnEditor(table, 1, ContentUIInitializer.newFloatColumnEditor(table)); SizeMeasuresTableModel tableModel = getModel().getSizeMeasuresTableModel(); @@ -403,15 +559,14 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat UIHelper.setTableColumnRenderer(table, 0, UIHelper.newReferentialReferenceDecorateTableCellRenderer(renderer, WeightMeasureTypeDto.class)); UIHelper.setTableColumnRenderer(table, 1, UIHelper.newEmptyNumberTableCellRenderer(renderer)); - Decorator<ReferenceDto<WeightMeasureTypeDto>> decorator = getReferenceDecorator(WeightMeasureTypeDto.class); + ReferentialReferenceDecorator<WeightMeasureTypeDto> decorator = getReferentialReferenceDecorator(WeightMeasureTypeDto.class); - ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); + //FIXME Load data on init +// ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); +// ReferenceSetDto<WeightMeasureTypeDto> weightMeasureTypeDtoRefSet = referentialService.getReferenceSet(WeightMeasureTypeDto.class); +// ArrayList<ReferenceDto<WeightMeasureTypeDto>> weightMeasureTypes = Lists.newArrayList(weightMeasureTypeDtoRefSet.getReferences()); - ReferenceSetDto<WeightMeasureTypeDto> weightMeasureTypeDtoRefSet = referentialService.getReferentialReferenceSet(WeightMeasureTypeDto.class); - - ArrayList<ReferenceDto<WeightMeasureTypeDto>> weightMeasureTypes = Lists.newArrayList(weightMeasureTypeDtoRefSet.getReference()); - - UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(weightMeasureTypes, decorator)); + UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(Collections.<ReferentialReference<WeightMeasureTypeDto>>emptyList(), decorator)); UIHelper.setTableColumnEditor(table, 1, ContentUIInitializer.newFloatColumnEditor(table)); WeightMeasuresTableModel tableModel = getModel().getWeightMeasuresTableModel(); @@ -437,73 +592,6 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } @Override - public void initUI() throws Exception { - - final CatchLonglineContentTableUIInitializer uiInitializer = new CatchLonglineContentTableUIInitializer(getUi()); - uiInitializer.initUI(); - - getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_SHOW_INDIVIDUAL_TABS, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - Boolean newValue = (Boolean) evt.getNewValue(); - showIndividualTabs(newValue); - } - }); - - getModel().addPropertyChangeListener(CatchLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - Boolean newValue = (Boolean) evt.getNewValue(); - setTableModelEditable(newValue); - } - }); - - getModel().addPropertyChangeListener(ContentUIModel.PROPERTY_FORM_DTO, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - updateReferenceSets(false); - } - }); - - setTableModelEditable(getModel().isEditable()); - - LonglinePositionHelper<CatchLonglineDto> positionHelper = new LonglinePositionHelper<>( - getUi().getSection(), - getUi().getBasket(), - getUi().getBranchline(), - getTableEditBean()); - - POSITION_HELPER_ENTRY.setContextValue(getUi(), positionHelper); - - } - - @Override - public void openUI() throws Exception { - - if (log.isInfoEnabled()) { - log.info("OpenUI: " + getModel()); - } - - super.openUI(); - - // Reset all sections - LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - getUi().getSection().setData(positionHelper.getSections()); - - // To be sure always remove listener (could prevent some leaks) - getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); - // listen messages to see if required to add - getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); - - SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); - computeTabValidState(errorTableModel); - - } - - @Override protected void doPersist(SetLonglineCatchDto bean) { SaveResultDto saveResult = getSetLonglineCatchService().save(bean); bean.setLastUpdate(saveResult.getLastUpdate()); @@ -512,19 +600,19 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat @Override protected void loadEditBean(String beanId) { - FormDto<SetLonglineCatchDto> formDto = getSetLonglineCatchService().loadForm(beanId); + Form<SetLonglineCatchDto> form = getSetLonglineCatchService().loadForm(beanId); CatchLonglineUIModel model = getModel(); - model.setFormDto(formDto); + model.setForm(form); LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - positionHelper.initSections(model.getReferenceSet(SectionDto.class, CatchLonglineDto.PROPERTY_SECTION), - model.getReferenceSet(BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), - model.getReferenceSet(BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), - formDto.getForm().getCatchLongline()); + positionHelper.initSections(model.getDataReferenceSet(SectionDto.class, CatchLonglineDto.PROPERTY_SECTION), + model.getDataReferenceSet(BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), + model.getDataReferenceSet(BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), + form.getObject().getCatchLongline()); - SetLonglineCatchDtos.copySetLonglineCatchDto(formDto.getForm(), getBean()); + SetLonglineCatchDtos.copySetLonglineCatchDto(form.getObject(), getBean()); } @@ -555,98 +643,6 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } - public void resetBranchline() { - - onBranchlineChanged(null); - - onBranchlineChanged(getTableEditBean().getBranchline()); - - } - - public void saveBranchline() { - - if (log.isInfoEnabled()) { - log.info("Saved modified branchline"); - } - - CatchLonglineUI ui = getUi(); - - BranchlineDto branchline = ui.getBranchlineBean(); - - getBranchLineService().save(branchline); - - getUi().getBranchlineValidator().setChanged(false); - - } - - public void updateCatchAcquisitionMode(CatchAcquisitionModeEnum newMode) { - - if (log.isDebugEnabled()) { - log.debug("Change CatchAcquisitionMode " + newMode); - } - if (newMode == null) { - - // mode null (cela peut arriver avec les bindings) - return; - } - - CatchLonglineUI ui = getUi(); - - boolean createMode = ui.getTableModel().isCreate(); - - CatchLonglineDto editBean = ui.getTableEditBean(); - - switch (newMode) { - - case GROUPED: - - if (createMode) { - - editBean.setTotalWeight(null); - editBean.setCount(null); - editBean.setHookPosition(null); - - } - - break; - - case INDIVIDUAL: - - if (createMode) { - - // on positionne le count à 1 (seule valeur possible) - editBean.setCount(1); - - } - - break; - } - - boolean isGrouped = CatchAcquisitionModeEnum.GROUPED.equals(newMode); - - ui.getTotalWeight().setEnabled(isGrouped); - ui.getCount().setEnabled(isGrouped); - - boolean isIndividual = CatchAcquisitionModeEnum.INDIVIDUAL.equals(newMode); - - ui.getHookPosition().setEnabled(isIndividual); - ui.getSection().setEnabled(isIndividual); - ui.getBasket().setEnabled(isIndividual); - ui.getBranchline().setEnabled(isIndividual); - - if (createMode) { - - // on propage le mode de saisie dans le bean - editBean.setAcquisitionMode(newMode.ordinal()); - - } - - boolean showIndividualTabs = !createMode && isIndividual; - - ui.getModel().setShowIndividualTabs(showIndividualTabs); - - } - protected void setTableModelEditable(Boolean newValue) { getModel().getSizeMeasuresTableModel().setEditable(newValue); @@ -689,7 +685,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } - protected void onCatchFateChanged(ReferenceDto<CatchFateLonglineDto> newValue, CatchLonglineDto tableEditBean) { + protected void onCatchFateChanged(ReferentialReference<CatchFateLonglineDto> newValue, CatchLonglineDto tableEditBean) { CatchLonglineUI ui = getUi(); @@ -712,7 +708,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat } - protected void onBranchlineChanged(ReferenceDto<BranchlineDto> newValue) { + protected void onBranchlineChanged(DataReference<BranchlineDto> newValue) { CatchLonglineUI ui = getUi(); @@ -733,8 +729,8 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat log.info("Use branchline: " + newValue); } - FormDto<BranchlineDto> formDto = getBranchLineService().loadForm(newValue.getId()); - BranchlineDtos.copyBranchlineDto(formDto.getForm(), branchline); + Form<BranchlineDto> form = getBranchLineService().loadForm(newValue.getId()); + BranchlineDtos.copyBranchlineDto(form.getObject(), branchline); if (ui.getValidator().getBean() == null) { ui.getValidator().setBean(getBean()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx index 6075382..0df7231 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUI.jaxx @@ -29,10 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto fr.ird.observe.services.dto.longline.EncounterDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.longline.EncounterTypeDto fr.ird.observe.ui.content.table.* @@ -79,7 +79,7 @@ <JLabel id='encounterTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='encounterType' constructorParams='this' genericType='ReferenceDto<EncounterTypeDto>' _entityClass='EncounterTypeDto.class'/> + <BeanComboBox id='encounterType' constructorParams='this' genericType='ReferentialReference<EncounterTypeDto>' _entityClass='EncounterTypeDto.class'/> </cell> </row> @@ -89,7 +89,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='ReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index 88641f0..cb04e43 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.content.table.impl.longline; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDtos; import fr.ird.observe.services.dto.longline.EncounterDto; @@ -105,9 +105,9 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn @Override protected void loadEditBean(String beanId) { - FormDto<ActivityLonglineEncouterDto> formDto = getActivityLongLineEncouterService().loadForm(beanId); - getModel().setFormDto(formDto); - ActivityLonglineEncouterDtos.copyActivityLonglineEncouterDto(formDto.getForm(), getBean()); + Form<ActivityLonglineEncouterDto> form = getActivityLongLineEncouterService().loadForm(beanId); + getModel().setForm(form); + ActivityLonglineEncouterDtos.copyActivityLonglineEncouterDto(form.getObject(), getBean()); } protected ActivityLongLineEncouterService getActivityLongLineEncouterService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx index 8e67564..06a6099 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/FloatlinesCompositionUI.jaxx @@ -29,9 +29,9 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto fr.ird.observe.services.dto.longline.FloatlinesCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.LineTypeDto fr.ird.observe.ui.content.table.* @@ -78,7 +78,7 @@ <JLabel id='lineTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='lineType' constructorParams='this' genericType='ReferenceDto<LineTypeDto>' _entityClass='LineTypeDto.class'/> + <BeanComboBox id='lineType' constructorParams='this' genericType='ReferentialReference<LineTypeDto>' _entityClass='LineTypeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineTableModel.java index 01dd915..571789c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineTableModel.java @@ -27,7 +27,7 @@ import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDtos; import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.content.table.ContentTableMeta; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ObserveContentTableUI; @@ -89,7 +89,7 @@ public class GearUseFeaturesLonglineTableModel extends ContentTableModel<TripLon // new gear usage, add default measurements - ReferentialReferenceDto<GearDto> gear = rowBean.getGear(); + ReferentialReference<GearDto> gear = rowBean.getGear(); List<GearUseFeaturesMeasurementLonglineDto> measurements = gearUseFeaturesLonglineUIHandler.getDefaultGearUseFeaturesMeasurementLongline(gear.getId()); if (log.isInfoEnabled()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx index d12f59b..6e59cbc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUI.jaxx @@ -29,11 +29,11 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.TripLonglineDto fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.GearDto fr.ird.observe.ui.content.table.* fr.ird.observe.ui.util.BooleanEditor @@ -100,7 +100,7 @@ <JLabel id='gearLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='gear' constructorParams='this' genericType='ReferenceDto<GearDto>' _entityClass='GearDto.class'/> + <BeanComboBox id='gear' constructorParams='this' genericType='ReferentialReference<GearDto>' _entityClass='GearDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index 4e66bd5..18dcfc5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -28,16 +28,14 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDtos; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.longline.TripLonglineGearUseService; @@ -48,6 +46,7 @@ import fr.ird.observe.ui.content.ContentUIInitializer; import fr.ird.observe.ui.content.table.ContentTableUIHandler; import fr.ird.observe.ui.content.table.impl.seine.GearUseFeatureMeasurementCellEditor; import fr.ird.observe.ui.content.table.impl.seine.GearUseFeatureMeasurementCellRenderer; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.ui.util.table.AutotSelectRowAndShowPopupActionSupport; import fr.ird.observe.ui.util.table.EditableTableModelSupport; import jaxx.runtime.SwingUtil; @@ -55,7 +54,6 @@ import jaxx.runtime.validator.swing.SwingValidatorMessage; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JComponent; @@ -72,7 +70,6 @@ import java.awt.Insets; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.Serializable; -import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -127,6 +124,112 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } @Override + public void initUI() throws Exception { + + super.initUI(); + + getModel().addPropertyChangeListener(GearUseFeaturesLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Boolean newValue = (Boolean) evt.getNewValue(); + setTableModelEditable(newValue); + } + }); + + setTableModelEditable(getModel().isEditable()); + + getTableModel().setGearUseFeaturesLonglineUIHandler(this); + + } + + @Override + public void openUI() throws Exception { + + if (log.isInfoEnabled()) { + log.info("OpenUI: " + getModel()); + } + + super.openUI(); + + // To be sure always remove listener (could prevent some leaks) + getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); + // listen messages to see if required to add + getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); + + SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); + computeTabValidState(errorTableModel); + + } + + @Override + public void startEditUI(String... binding) { + + getModel().getMeasurementsTableModel().setEditable(true); + + super.startEditUI(binding); + + } + + public void deleteSelectedMeasurement() { + + GearUseFeaturesMeasurementLonglinesTableModel tableModel = getUi().getMeasurementsTableModel(); + + boolean selectionEmpty = tableModel.isSelectionEmpty(); + + if (!selectionEmpty) { + + GearUseFeaturesMeasurementLonglineDto data = tableModel.getSelectedRow(); + + if (log.isInfoEnabled()) { + log.info("Delete: " + data); + } + + ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getObserveMainUI(); + int response = UIHelper.askUser(mainUI, + t("observe.title.delete"), + t("observe.measurement.delete.message"), + JOptionPane.WARNING_MESSAGE, + new Object[]{t("observe.choice.confirm.delete"), + t("observe.choice.cancel")}, + 1); + + if (response != 0) { + + // user cancel + return; + } + + tableModel.removeSelectedRow(); + + } + + } + + public List<GearUseFeaturesMeasurementLonglineDto> getDefaultGearUseFeaturesMeasurementLongline(String gearId) { + + ReferentialService referentialService = getDataSource().newService(ReferentialService.class); + + Form<GearDto> gearDtoForm = referentialService.loadForm(GearDto.class, gearId); + + GearDto gearDto = gearDtoForm.getObject(); + + List<GearUseFeaturesMeasurementLonglineDto> measurements = Lists.newArrayList( + Iterables.transform(gearDto.getGearCaracteristic(), + new Function<ReferentialReference, GearUseFeaturesMeasurementLonglineDto>() { + + @Override + public GearUseFeaturesMeasurementLonglineDto apply(ReferentialReference input) { + GearUseFeaturesMeasurementLonglineDto measurementLonglineDto = new GearUseFeaturesMeasurementLonglineDto(); + measurementLonglineDto.setGearCaracteristic(input); + return measurementLonglineDto; + } + })); + + return measurements; + } + + @Override protected void onSelectedRowChanged(int editingRow, GearUseFeaturesLonglineDto bean, boolean create) { if (log.isInfoEnabled()) { @@ -244,15 +347,14 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip table.getTableHeader().setReorderingAllowed(false); - Decorator<ReferenceDto<GearCaracteristicDto>> decorator = getReferenceDecorator(GearCaracteristicDto.class); - - ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - - ReferenceSetDto<GearCaracteristicDto> gearCaracteristicDtoRefSet = referentialService.getReferentialReferenceSet(GearCaracteristicDto.class); + ReferentialReferenceDecorator<GearCaracteristicDto> decorator = getReferentialReferenceDecorator(GearCaracteristicDto.class); - ArrayList<ReferenceDto<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicDtoRefSet.getReference()); + //FIXME Load data on init +// ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); +// Set<ReferentialReference<GearCaracteristicDto>> gearCaracteristicreferences = getModel().getReferentialReferences(GearCaracteristicDto.class, ""); +// List<ReferentialReference<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicreferences); - UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(gearCaracteristics, decorator)); + UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(Collections.<ReferentialReference<GearCaracteristicDto>>emptyList(), decorator)); UIHelper.setTableColumnEditor(table, 1, new GearUseFeatureMeasurementCellEditor(0)); GearUseFeaturesMeasurementLonglinesTableModel tableModel = getModel().getMeasurementsTableModel(); @@ -283,45 +385,6 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } @Override - public void initUI() throws Exception { - - super.initUI(); - - getModel().addPropertyChangeListener(GearUseFeaturesLonglineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - Boolean newValue = (Boolean) evt.getNewValue(); - setTableModelEditable(newValue); - } - }); - - setTableModelEditable(getModel().isEditable()); - - getTableModel().setGearUseFeaturesLonglineUIHandler(this); - - } - - @Override - public void openUI() throws Exception { - - if (log.isInfoEnabled()) { - log.info("OpenUI: " + getModel()); - } - - super.openUI(); - - // To be sure always remove listener (could prevent some leaks) - getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); - // listen messages to see if required to add - getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); - - SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); - computeTabValidState(errorTableModel); - - } - - @Override protected void closeSafeUI() { if (log.isInfoEnabled()) { @@ -335,50 +398,6 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } @Override - public void startEditUI(String... binding) { - - getModel().getMeasurementsTableModel().setEditable(true); - - super.startEditUI(binding); - - } - - public void deleteSelectedMeasurement() { - - GearUseFeaturesMeasurementLonglinesTableModel tableModel = getUi().getMeasurementsTableModel(); - - boolean selectionEmpty = tableModel.isSelectionEmpty(); - - if (!selectionEmpty) { - - GearUseFeaturesMeasurementLonglineDto data = tableModel.getSelectedRow(); - - if (log.isInfoEnabled()) { - log.info("Delete: " + data); - } - - ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getObserveMainUI(); - int response = UIHelper.askUser(mainUI, - t("observe.title.delete"), - t("observe.measurement.delete.message"), - JOptionPane.WARNING_MESSAGE, - new Object[]{t("observe.choice.confirm.delete"), - t("observe.choice.cancel")}, - 1); - - if (response != 0) { - - // user cancel - return; - } - - tableModel.removeSelectedRow(); - - } - - } - - @Override protected void resetEditBean() { UIHelper.stopEditing(getUi().getMeasurementsTable()); @@ -442,7 +461,6 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } - protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { Set<String> errorProperties = new HashSet<>(); @@ -463,29 +481,6 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip } - public List<GearUseFeaturesMeasurementLonglineDto> getDefaultGearUseFeaturesMeasurementLongline(String gearId) { - - ReferentialService referentialService = getDataSource().newService(ReferentialService.class); - - FormDto<GearDto> gearDtoForm = referentialService.loadToRead(GearDto.class, gearId); - - GearDto gearDto = gearDtoForm.getForm(); - - List<GearUseFeaturesMeasurementLonglineDto> measurements = Lists.newArrayList( - Iterables.transform(gearDto.getGearCaracteristic(), - new Function<ReferentialReferenceDto<GearCaracteristicDto>, GearUseFeaturesMeasurementLonglineDto>() { - - @Override - public GearUseFeaturesMeasurementLonglineDto apply(ReferentialReferenceDto<GearCaracteristicDto> input) { - GearUseFeaturesMeasurementLonglineDto measurementLonglineDto = new GearUseFeaturesMeasurementLonglineDto(); - measurementLonglineDto.setGearCaracteristic(input); - return measurementLonglineDto; - } - })); - - return measurements; - } - @Override protected void doPersist(TripLonglineGearUseDto bean) { SaveResultDto saveResult = getTripLonglineGearUseService().save(bean); @@ -494,9 +489,9 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip @Override protected void loadEditBean(String beanId) { - FormDto<TripLonglineGearUseDto> formDto = getTripLonglineGearUseService().loadForm(beanId); - getModel().setFormDto(formDto); - TripLonglineGearUseDtos.copyTripLonglineGearUseDto(formDto.getForm(), getBean()); + Form<TripLonglineGearUseDto> form = getTripLonglineGearUseService().loadForm(beanId); + getModel().setForm(form); + TripLonglineGearUseDtos.copyTripLonglineGearUseDto(form.getObject(), getBean()); } protected TripLonglineGearUseService getTripLonglineGearUseService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesMeasurementLonglinesTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesMeasurementLonglinesTableModel.java index cfb15b0..66afdcc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesMeasurementLonglinesTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesMeasurementLonglinesTableModel.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.content.table.impl.longline; import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.util.table.EditableTableWithCacheTableModelSupport; /** @@ -101,7 +101,7 @@ public class GearUseFeaturesMeasurementLonglinesTableModel extends EditableTable switch (columnIndex) { case 0: - measure.setGearCaracteristic((ReferentialReferenceDto<GearCaracteristicDto>) aValue); + measure.setGearCaracteristic((ReferentialReference<GearCaracteristicDto>) aValue); break; case 1: diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx index bcc0558..73b3852 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/HooksCompositionUI.jaxx @@ -29,9 +29,9 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto fr.ird.observe.services.dto.longline.HooksCompositionDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.HookTypeDto fr.ird.observe.services.dto.referential.longline.HookSizeDto fr.ird.observe.ui.content.table.* @@ -78,7 +78,7 @@ <JLabel id='hookTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='hookType' constructorParams='this' genericType='ReferenceDto<HookTypeDto>' _entityClass='HookTypeDto.class'/> + <BeanComboBox id='hookType' constructorParams='this' genericType='ReferentialReference<HookTypeDto>' _entityClass='HookTypeDto.class'/> </cell> </row> @@ -88,7 +88,7 @@ <JLabel id='hookSizeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='hookSize' constructorParams='this' genericType='ReferenceDto<HookSizeDto>' _entityClass='HookSizeDto.class'/> + <BeanComboBox id='hookSize' constructorParams='this' genericType='ReferentialReference<HookSizeDto>' _entityClass='HookSizeDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java index 21b7bf1..306d302 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/LonglinePositionHelper.java @@ -24,9 +24,8 @@ package fr.ird.observe.ui.content.table.impl.longline; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.CatchLonglineDto; @@ -36,11 +35,9 @@ import jaxx.runtime.swing.editor.bean.BeanComboBox; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; -import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.List; -import java.util.Set; /** * Created on 1/6/15. @@ -50,24 +47,24 @@ import java.util.Set; */ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { - final BeanComboBox<ReferenceDto<SectionDto>> uiSection; + protected final BeanComboBox<DataReference<SectionDto>> uiSection; - final BeanComboBox<ReferenceDto<BasketDto>> uiBasket; + protected final BeanComboBox<DataReference<BasketDto>> uiBasket; - final BeanComboBox<ReferenceDto<BranchlineDto>> uiBranchline; + protected final BeanComboBox<DataReference<BranchlineDto>> uiBranchline; // To avoid any propagation when doing some works on locations protected boolean locationIsAdjusting; - ReferenceSetDto<SectionDto> sectionUniverse; + protected DataReferenceSet<SectionDto> sectionUniverse; - ReferenceSetDto<BasketDto> basketUniverse; + protected DataReferenceSet<BasketDto> basketUniverse; - ReferenceSetDto<BranchlineDto> branchlineUniverse; + protected DataReferenceSet<BranchlineDto> branchlineUniverse; - public LonglinePositionHelper(BeanComboBox<ReferenceDto<SectionDto>> uiSection, - BeanComboBox<ReferenceDto<BasketDto>> uiBasket, - BeanComboBox<ReferenceDto<BranchlineDto>> uiBranchline, + public LonglinePositionHelper(BeanComboBox<DataReference<SectionDto>> uiSection, + BeanComboBox<DataReference<BasketDto>> uiBasket, + BeanComboBox<DataReference<BranchlineDto>> uiBranchline, D tableEditBean) { this.uiSection = uiSection; @@ -75,52 +72,50 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { this.uiBranchline = uiBranchline; PropertyChangeListener sectionChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { - onSectionChanged((ReferenceDto<SectionDto>) evt.getNewValue(), (D) evt.getSource()); + onSectionChanged((DataReference<SectionDto>) evt.getNewValue(), (D) evt.getSource()); } }; tableEditBean.addPropertyChangeListener(CatchLonglineDto.PROPERTY_SECTION, sectionChanged); PropertyChangeListener basketChanged = new PropertyChangeListener() { + @Override public void propertyChange(PropertyChangeEvent evt) { - onBasketChanged((ReferenceDto<BasketDto>) evt.getNewValue(), (D) evt.getSource()); + onBasketChanged((DataReference<BasketDto>) evt.getNewValue(), (D) evt.getSource()); } }; tableEditBean.addPropertyChangeListener(CatchLonglineDto.PROPERTY_BASKET, basketChanged); } - public void initSections(ReferenceSetDto<SectionDto> sectionUniverse, - ReferenceSetDto<BasketDto> basketUniverse, - ReferenceSetDto<BranchlineDto> branchlineUniverse, + public void initSections(DataReferenceSet<SectionDto> sectionUniverse, + DataReferenceSet<BasketDto> basketUniverse, + DataReferenceSet<BranchlineDto> branchlineUniverse, Collection<D> dtos) { this.sectionUniverse = sectionUniverse; - this.basketUniverse = basketUniverse; - this.branchlineUniverse = branchlineUniverse; for (D dto : dtos) { - ReferenceDto<BranchlineDto> branchline = dto.getBranchline(); + DataReference<BranchlineDto> branchline = dto.getBranchline(); if (branchline != null) { - ReferenceDto<BasketDto> basket = getBasket(branchline); - + DataReference<BasketDto> basket = getBasket(branchline); dto.setBasket(basket); } - ReferenceDto<BasketDto> basket = dto.getBasket(); + DataReference<BasketDto> basket = dto.getBasket(); if (basket != null) { - ReferenceDto<SectionDto> section = getSection(basket); - + DataReference<SectionDto> section = getSection(basket); dto.setSection(section); } @@ -129,9 +124,9 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { public void resetPosition(D dto) { - ReferenceDto<SectionDto> section = dto.getSection(); - ReferenceDto<BasketDto> basket = dto.getBasket(); - ReferenceDto<BranchlineDto> branchline = dto.getBranchline(); + DataReference<SectionDto> section = dto.getSection(); + DataReference<BasketDto> basket = dto.getBasket(); + DataReference<BranchlineDto> branchline = dto.getBranchline(); uiBranchline.setSelectedItem(null); uiSection.setSelectedItem(null); @@ -179,27 +174,27 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { } - public List<ReferenceDto<SectionDto>> getSections() { + public List<DataReference<SectionDto>> getSections() { - List<ReferenceDto<SectionDto>> sections = Lists.newArrayList(); + List<DataReference<SectionDto>> sections = Lists.newArrayList(); if (sectionUniverse != null) { - sections.addAll((Set) sectionUniverse.getReference()); + sections.addAll(sectionUniverse.getReferences()); } return sections; } - protected void onSectionChanged(ReferenceDto<SectionDto> newValue, D dto) { + protected void onSectionChanged(DataReference<SectionDto> newValue, D dto) { locationIsAdjusting = true; try { - ReferenceDto<BasketDto> basket = dto.getBasket(); - ReferenceDto<BranchlineDto> branchline = dto.getBranchline(); + DataReference<BasketDto> basket = dto.getBasket(); + DataReference<BranchlineDto> branchline = dto.getBranchline(); // on deselectionne le panier dto.setBasket(null); @@ -208,17 +203,17 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { dto.setBranchline(null); // on vide l'ensemble des paniers - uiBasket.setData(Collections.<ReferenceDto<BasketDto>>emptyList()); + uiBasket.setData(Collections.<DataReference<BasketDto>>emptyList()); // on vide l'ensemble des avançons - uiBranchline.setData(Collections.<ReferenceDto<BranchlineDto>>emptyList()); + uiBranchline.setData(Collections.<DataReference<BranchlineDto>>emptyList()); if (newValue != null) { // une section est sélectionnée // on remplit uniquement les paniers de cette section - List<ReferenceDto<BasketDto>> baskets = getBaskets(newValue); + List<DataReference<BasketDto>> baskets = getBaskets(newValue); uiBasket.setData(Lists.newArrayList(baskets)); if (basket != null && baskets.contains(basket)) { @@ -226,7 +221,7 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { // un panier est sélectionné // on repmlit uniquement les avançons du panier - List<ReferenceDto<BranchlineDto>> branchlines = getBranchlines(basket); + List<DataReference<BranchlineDto>> branchlines = getBranchlines(basket); uiBranchline.setData(Lists.newArrayList(branchlines)); dto.setBasket(basket); @@ -249,24 +244,24 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { } - protected void onBasketChanged(ReferenceDto<BasketDto> newValue, D dto) { + protected void onBasketChanged(DataReference<BasketDto> newValue, D dto) { if (!locationIsAdjusting) { - ReferenceDto<BranchlineDto> branchline = dto.getBranchline(); + DataReference<BranchlineDto> branchline = dto.getBranchline(); // on deselectionne l'avançon dto.setBranchline(null); // on vide l'ensemble des avançons - uiBranchline.setData(Collections.<ReferenceDto<BranchlineDto>>emptyList()); + uiBranchline.setData(Collections.<DataReference<BranchlineDto>>emptyList()); if (newValue != null) { // un panier est selectionne // on remplit uniquement les avançons des paniers - List<ReferenceDto<BranchlineDto>> branchlines = getBranchlines(newValue); + List<DataReference<BranchlineDto>> branchlines = getBranchlines(newValue); uiBranchline.setData(branchlines); @@ -283,40 +278,36 @@ public class LonglinePositionHelper<D extends LonglinePositionAwareDto> { } - protected ReferenceDto<SectionDto> getSection(ReferenceDto<BasketDto> basket) { + protected DataReference<SectionDto> getSection(DataReference<BasketDto> basket) { String sectionId = (String) basket.getPropertyValue(BasketDto.PROPERTY_SECTION); - - ReferenceDto<SectionDto> section = sectionUniverse.getById(sectionId); - + DataReference<SectionDto> section = sectionUniverse.getReferenceById(sectionId); return section; } - protected ReferenceDto<BasketDto> getBasket(ReferenceDto<BranchlineDto> branchline) { + protected DataReference<BasketDto> getBasket(DataReference<BranchlineDto> branchline) { String basketId = (String) branchline.getPropertyValue(BranchlineDto.PROPERTY_BASKET); - - ReferenceDto<BasketDto> basket = basketUniverse.getById(basketId); - + DataReference<BasketDto> basket = basketUniverse.getReferenceById(basketId); return basket; } - protected List<ReferenceDto<BasketDto>> getBaskets(ReferenceDto<SectionDto> section) { + protected List<DataReference<BasketDto>> getBaskets(DataReference<SectionDto> section) { - ArrayList<ReferenceDto<BasketDto>> baskets = Lists.newArrayList(Iterables.filter( - basketUniverse.getReference(), - ReferenceDtos.newLabelValuePredicate(BasketDto.PROPERTY_SECTION, section.getId()))); + List<DataReference<BasketDto>> baskets = Lists.newArrayList(Iterables.filter( + basketUniverse.getReferences(), + DataReference.newLabelValuePredicate(BasketDto.PROPERTY_SECTION, section.getId()))); return baskets; } - protected List<ReferenceDto<BranchlineDto>> getBranchlines(ReferenceDto<BasketDto> basket) { + protected List<DataReference<BranchlineDto>> getBranchlines(DataReference<BasketDto> basket) { - ArrayList<ReferenceDto<BranchlineDto>> branchlines = Lists.newArrayList(Iterables.filter( - branchlineUniverse.getReference(), - ReferenceDtos.newLabelValuePredicate(BranchlineDto.PROPERTY_BASKET, basket.getId()))); + List<DataReference<BranchlineDto>> branchlines = Lists.newArrayList(Iterables.filter( + branchlineUniverse.getReferences(), + DataReference.newLabelValuePredicate(BranchlineDto.PROPERTY_BASKET, basket.getId()))); return branchlines; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx index 30bf5a6..281f030 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUI.jaxx @@ -29,10 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto fr.ird.observe.services.dto.longline.SensorUsedDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.longline.SensorTypeDto fr.ird.observe.services.dto.referential.longline.SensorBrandDto fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto @@ -79,7 +79,7 @@ <JLabel id='sensorTypeLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorType' constructorParams='this' genericType='ReferenceDto<SensorTypeDto>' _entityClass='SensorTypeDto.class'/> + <BeanComboBox id='sensorType' constructorParams='this' genericType='ReferentialReference<SensorTypeDto>' _entityClass='SensorTypeDto.class'/> </cell> </row> @@ -89,7 +89,7 @@ <JLabel id='sensorDataFormatLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorDataFormat' constructorParams='this' genericType='ReferenceDto<SensorDataFormatDto>' _entityClass='SensorDataFormatDto.class'/> + <BeanComboBox id='sensorDataFormat' constructorParams='this' genericType='ReferentialReference<SensorDataFormatDto>' _entityClass='SensorDataFormatDto.class'/> </cell> </row> @@ -99,7 +99,7 @@ <JLabel id='sensorBrandLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferenceDto<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> + <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferentialReference<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java index 26d45f6..e52cab6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -28,7 +28,7 @@ import com.google.common.io.Files; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDtos; import fr.ird.observe.services.dto.longline.SensorUsedDto; @@ -234,9 +234,9 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS @Override protected void loadEditBean(String beanId) { - FormDto<ActivityLonglineSensorUsedDto> formDto = getActivityLonglineSensorUsedService().loadForm(beanId); - getModel().setFormDto(formDto); - ActivityLonglineSensorUsedDtos.copyActivityLonglineSensorUsedDto(formDto.getForm(), getBean()); + Form<ActivityLonglineSensorUsedDto> form = getActivityLonglineSensorUsedService().loadForm(beanId); + getModel().setForm(form); + ActivityLonglineSensorUsedDtos.copyActivityLonglineSensorUsedDto(form.getObject(), getBean()); } protected ActivityLongLineSensorUsedService getActivityLonglineSensorUsedService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SizeMeasuresTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SizeMeasuresTableModel.java index 0ef1a90..5ece237 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SizeMeasuresTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SizeMeasuresTableModel.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.longline; */ import fr.ird.observe.services.dto.longline.SizeMeasureDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; import fr.ird.observe.ui.util.table.EditableTableWithCacheTableModelSupport; @@ -81,7 +81,7 @@ public class SizeMeasuresTableModel extends EditableTableWithCacheTableModelSupp SizeMeasureDto measure = data.get(rowIndex); switch (columnIndex) { case 0: - measure.setSizeMeasureType((ReferentialReferenceDto<SizeMeasureTypeDto>) aValue); + measure.setSizeMeasureType((ReferentialReference<SizeMeasureTypeDto>) aValue); break; case 1: diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css index 5b11541..7c49e7e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.css @@ -362,7 +362,7 @@ #species { property: {TdrDto.PROPERTY_SPECIES}; - selected:{ReferenceDtos.castToCollectionOfReferenceDto(tableEditBean.getSpecies())}; + selected:{(java.util.Collection)tableEditBean.getSpecies()}; _validatorLabel: {t("observe.tdr.species")}; showListLabel: true; universeLabel:{t("observe.tdr.availableSpecies")}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx index 2b14ae9..bd03251 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUI.jaxx @@ -28,14 +28,13 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto - fr.ird.observe.services.dto.ReferenceDtos + fr.ird.observe.services.dto.DataReference fr.ird.observe.services.dto.longline.BasketDto fr.ird.observe.services.dto.longline.BranchlineDto fr.ird.observe.services.dto.longline.TdrDto fr.ird.observe.services.dto.longline.SectionDto fr.ird.observe.services.dto.longline.SetLonglineTdrDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto @@ -48,6 +47,8 @@ org.nuiton.jaxx.widgets.datetime.DateTimeEditor + java.util.Collection + static fr.ird.observe.ui.UIHelper.getStringValue static org.nuiton.i18n.I18n.n </import> @@ -125,7 +126,7 @@ <JLabel id='sensorBrandLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferenceDto<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> + <BeanComboBox id='sensorBrand' constructorParams='this' genericType='ReferentialReference<SensorBrandDto>' _entityClass='SensorBrandDto.class'/> </cell> </row> @@ -177,7 +178,7 @@ <JLabel id='sectionLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='section' genericType='ReferenceDto<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> + <BeanComboBox id='section' genericType='DataReference<SectionDto>' _entityClass='SectionDto.class' constructorParams='this'/> </cell> </row> <row> @@ -185,7 +186,7 @@ <JLabel id='basketLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='basket' genericType='ReferenceDto<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> + <BeanComboBox id='basket' genericType='DataReference<BasketDto>' _entityClass='BasketDto.class' constructorParams='this'/> </cell> </row> <row> @@ -193,7 +194,7 @@ <JLabel id='branchlineLabel'/> </cell> <cell fill="both" weightx="1"> - <BeanComboBox id='branchline' genericType='ReferenceDto<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> + <BeanComboBox id='branchline' genericType='DataReference<BranchlineDto>' _entityClass='BranchlineDto.class' constructorParams='this'/> </cell> </row> </Table> @@ -207,7 +208,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='itemHorizontalPosition' constructorParams='this' - genericType='ReferenceDto<ItemHorizontalPositionDto>' _entityClass='ItemHorizontalPositionDto.class'/> + genericType='ReferentialReference<ItemHorizontalPositionDto>' _entityClass='ItemHorizontalPositionDto.class'/> </cell> </row> @@ -218,7 +219,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='itemVerticalPosition' constructorParams='this' - genericType='ReferenceDto<ItemVerticalPositionDto>' _entityClass='ItemVerticalPositionDto.class'/> + genericType='ReferentialReference<ItemVerticalPositionDto>' _entityClass='ItemVerticalPositionDto.class'/> </cell> </row> @@ -378,7 +379,7 @@ <row> <cell weighty="1" weightx="1"> <FilterableDoubleList id='species' - genericType='ReferenceDto<SpeciesDto>' + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index 9ee21a1..55c5aad 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -28,7 +28,7 @@ import com.google.common.io.Files; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SectionDto; @@ -469,19 +469,19 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt @Override protected void loadEditBean(String beanId) { - FormDto<SetLonglineTdrDto> formDto = getTdrService().loadForm(beanId); + Form<SetLonglineTdrDto> form = getTdrService().loadForm(beanId); ContentTableUIModel<SetLonglineTdrDto, TdrDto> model = getModel(); - model.setFormDto(formDto); + model.setForm(form); LonglinePositionHelper<TdrDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - positionHelper.initSections(model.getReferenceSet(SectionDto.class, TdrDto.PROPERTY_SECTION), - model.getReferenceSet(BasketDto.class, TdrDto.PROPERTY_BASKET), - model.getReferenceSet(BranchlineDto.class, TdrDto.PROPERTY_BRANCHLINE), - formDto.getForm().getTdr()); + positionHelper.initSections(model.getDataReferenceSet(SectionDto.class, TdrDto.PROPERTY_SECTION), + model.getDataReferenceSet(BasketDto.class, TdrDto.PROPERTY_BASKET), + model.getDataReferenceSet(BranchlineDto.class, TdrDto.PROPERTY_BRANCHLINE), + form.getObject().getTdr()); - SetLonglineTdrDtos.copySetLonglineTdrDto(formDto.getForm(), getBean()); + SetLonglineTdrDtos.copySetLonglineTdrDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/WeightMeasuresTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/WeightMeasuresTableModel.java index c315aaf..7af7e5d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/WeightMeasuresTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/WeightMeasuresTableModel.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.longline; */ import fr.ird.observe.services.dto.longline.WeightMeasureDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; import fr.ird.observe.ui.util.table.EditableTableWithCacheTableModelSupport; @@ -87,7 +87,7 @@ public class WeightMeasuresTableModel extends EditableTableWithCacheTableModelSu switch (columnIndex) { case 0: - measure.setWeightMeasureType((ReferentialReferenceDto<WeightMeasureTypeDto>) aValue); + measure.setWeightMeasureType((ReferentialReference<WeightMeasureTypeDto>) aValue); break; case 1: diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellEditor.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellEditor.java index eef3b8e..437e109 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellEditor.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellEditor.java @@ -25,7 +25,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import jaxx.runtime.swing.JAXXWidgetUtil; import jaxx.runtime.swing.editor.cell.NumberCellEditor; @@ -120,15 +120,15 @@ public class GearUseFeatureMeasurementCellEditor extends AbstractCellEditor impl @Override public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) { - ReferentialReferenceDto<GearCaracteristicDto> caracteristicRef = (ReferentialReferenceDto<GearCaracteristicDto>) table.getModel().getValueAt(row, caracteristicColumn); + ReferentialReference<GearCaracteristicDto> caracteristicRef = (ReferentialReference<GearCaracteristicDto>) table.getModel().getValueAt(row, caracteristicColumn); if (caracteristicRef == null) { // can't edit a null value ? editor = table.getDefaultEditor(Object.class); } else { - ReferentialReferenceDto<GearCaracteristicTypeDto> gearCaracteristicTypeRef = - (ReferentialReferenceDto<GearCaracteristicTypeDto>) caracteristicRef.getPropertyValue(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE); + ReferentialReference<GearCaracteristicTypeDto> gearCaracteristicTypeRef = + (ReferentialReference<GearCaracteristicTypeDto>) caracteristicRef.getPropertyValue(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE); String gearCaracteristicTypeId = gearCaracteristicTypeRef.getId(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellRenderer.java index 1e24a45..370b970 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeatureMeasurementCellRenderer.java @@ -25,7 +25,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.ui.UIHelper; import javax.swing.JTable; @@ -90,14 +90,14 @@ public class GearUseFeatureMeasurementCellRenderer implements TableCellRenderer TableCellRenderer tableCellRenderer; - ReferentialReferenceDto<GearCaracteristicDto> caracteristicRef = (ReferentialReferenceDto<GearCaracteristicDto>) table.getModel().getValueAt(row, caracteristicColumn); + ReferentialReference<GearCaracteristicDto> caracteristicRef = (ReferentialReference<GearCaracteristicDto>) table.getModel().getValueAt(row, caracteristicColumn); if (caracteristicRef == null) { tableCellRenderer = table.getDefaultRenderer(Object.class); } else { - ReferentialReferenceDto<GearCaracteristicTypeDto> gearCaracteristicTypeRef = - (ReferentialReferenceDto<GearCaracteristicTypeDto>)caracteristicRef.getPropertyValue(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE); + ReferentialReference<GearCaracteristicTypeDto> gearCaracteristicTypeRef = + (ReferentialReference<GearCaracteristicTypeDto>)caracteristicRef.getPropertyValue(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE); String gearCaracteristicTypeId = gearCaracteristicTypeRef.getId(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesMeasurementSeinesTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesMeasurementSeinesTableModel.java index 13ef817..5438c90 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesMeasurementSeinesTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesMeasurementSeinesTableModel.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; */ import fr.ird.observe.services.dto.referential.GearCaracteristicDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.ui.util.table.EditableTableWithCacheTableModelSupport; @@ -100,7 +100,7 @@ public class GearUseFeaturesMeasurementSeinesTableModel extends EditableTableWit GearUseFeaturesMeasurementSeineDto measure = data.get(rowIndex); switch (columnIndex) { case 0: - measure.setGearCaracteristic((ReferentialReferenceDto<GearCaracteristicDto>) aValue); + measure.setGearCaracteristic((ReferentialReference<GearCaracteristicDto>) aValue); break; case 1: diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineTableModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineTableModel.java index 709d7ac..eaf1a34 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineTableModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineTableModel.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; */ import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDtos; @@ -89,7 +89,7 @@ public class GearUseFeaturesSeineTableModel extends ContentTableModel<TripSeineG // new gear usage, add default measurements - ReferentialReferenceDto<GearDto> gear = rowBean.getGear(); + ReferentialReference<GearDto> gear = rowBean.getGear(); List<GearUseFeaturesMeasurementSeineDto> measurements = gearUseFeaturesSeineUIHandler.getDefaultGearUseFeaturesMeasurementSeine(gear.getId()); if (log.isInfoEnabled()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx index eeb8893..ce7af4e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUI.jaxx @@ -29,12 +29,11 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.TripSeineGearUseDto fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.GearDto fr.ird.observe.ui.content.table.* fr.ird.observe.ui.util.BooleanEditor @@ -101,7 +100,7 @@ <JLabel id='gearLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='gear' constructorParams='this' genericType='ReferentialReferenceDto<GearDto>' _entityClass='GearDto.class'/> + <BeanComboBox id='gear' constructorParams='this' genericType='ReferentialReference<GearDto>' _entityClass='GearDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index 3fb1e1f..c6b62a5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -28,12 +28,10 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; import fr.ird.observe.services.dto.referential.GearDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; @@ -46,6 +44,7 @@ import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.ContentMode; import fr.ird.observe.ui.content.ContentUIInitializer; import fr.ird.observe.ui.content.table.ContentTableUIHandler; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import fr.ird.observe.ui.util.table.AutotSelectRowAndShowPopupActionSupport; import fr.ird.observe.ui.util.table.EditableTableModelSupport; import jaxx.runtime.SwingUtil; @@ -53,7 +52,6 @@ import jaxx.runtime.validator.swing.SwingValidatorMessage; import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import org.nuiton.validator.NuitonValidatorScope; import javax.swing.JComponent; @@ -70,7 +68,6 @@ import java.awt.Insets; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.Serializable; -import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; import java.util.List; @@ -125,6 +122,113 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } @Override + public void initUI() throws Exception { + + super.initUI(); + + getModel().addPropertyChangeListener(GearUseFeaturesSeineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { + + @Override + public void propertyChange(PropertyChangeEvent evt) { + Boolean newValue = (Boolean) evt.getNewValue(); + setTableModelEditable(newValue); + } + }); + + setTableModelEditable(getModel().isEditable()); + + getTableModel().setGearUseFeaturesSeineUIHandler(this); + + } + + @Override + public void openUI() throws Exception { + + if (log.isInfoEnabled()) { + log.info("OpenUI: " + getModel()); + } + + super.openUI(); + + // To be sure always remove listener (could prevent some leaks) + getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); + // listen messages to see if required to add + getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); + + SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); + computeTabValidState(errorTableModel); + + } + + @Override + public void startEditUI(String... binding) { + + getModel().getMeasurementsTableModel().setEditable(true); + + super.startEditUI(binding); + + } + + public void deleteSelectedMeasurement() { + + GearUseFeaturesMeasurementSeinesTableModel tableModel = getUi().getMeasurementsTableModel(); + + boolean selectionEmpty = tableModel.isSelectionEmpty(); + + if (!selectionEmpty) { + + GearUseFeaturesMeasurementSeineDto data = tableModel.getSelectedRow(); + + if (log.isInfoEnabled()) { + log.info("Delete: " + data); + } + + ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getObserveMainUI(); + int response = UIHelper.askUser(mainUI, + t("observe.title.delete"), + t("observe.measurement.delete.message"), + JOptionPane.WARNING_MESSAGE, + new Object[]{t("observe.choice.confirm.delete"), + t("observe.choice.cancel")}, + 1); + + if (response != 0) { + + // user cancel + return; + } + + tableModel.removeSelectedRow(); + + } + + } + + public List<GearUseFeaturesMeasurementSeineDto> getDefaultGearUseFeaturesMeasurementSeine(String gearId) { + + ReferentialService referentialService = getDataSource().newService(ReferentialService.class); + + Form<GearDto> gearDtoForm = referentialService.loadForm(GearDto.class, gearId); + + GearDto gearDto = gearDtoForm.getObject(); + + List<GearUseFeaturesMeasurementSeineDto> measurements = Lists.newArrayList( + Iterables.transform(gearDto.getGearCaracteristic(), + new Function<ReferentialReference, GearUseFeaturesMeasurementSeineDto>() { + + @Override + public GearUseFeaturesMeasurementSeineDto apply(ReferentialReference input) { + GearUseFeaturesMeasurementSeineDto measurementSeineDto = new GearUseFeaturesMeasurementSeineDto(); + measurementSeineDto.setGearCaracteristic(input); + return measurementSeineDto; + } + })); + + return measurements; + + } + + @Override protected void onSelectedRowChanged(int editingRow, GearUseFeaturesSeineDto bean, boolean create) { if (log.isInfoEnabled()) { @@ -240,15 +344,14 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei table.getTableHeader().setReorderingAllowed(false); - Decorator<ReferenceDto<GearCaracteristicDto>> decorator = getReferenceDecorator(GearCaracteristicDto.class); - - ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - - ReferenceSetDto<GearCaracteristicDto> gearCaracteristicDtoRefSet = referentialService.getReferentialReferenceSet(GearCaracteristicDto.class); + ReferentialReferenceDecorator<GearCaracteristicDto> decorator = getReferentialReferenceDecorator(GearCaracteristicDto.class); - ArrayList<ReferenceDto<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicDtoRefSet.getReference()); + //FIXME Load data on init +// ReferentialService referentialService = ObserveSwingApplicationContext.get().newService(ReferentialService.class); +// Set<ReferentialReference<GearCaracteristicDto>> gearCaracteristicReferences = getModel().getReferentialReferences(GearCaracteristicDto.class, ""); +// List<ReferentialReference<GearCaracteristicDto>> gearCaracteristics = Lists.newArrayList(gearCaracteristicReferences); - UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(gearCaracteristics, decorator)); + UIHelper.setTableColumnEditor(table, 0, ContentUIInitializer.newDataColumnEditor(Collections.<ReferentialReference<GearCaracteristicDto>>emptyList(), decorator)); UIHelper.setTableColumnEditor(table, 1, new GearUseFeatureMeasurementCellEditor(0)); GearUseFeaturesMeasurementSeinesTableModel tableModel = getModel().getMeasurementsTableModel(); @@ -279,45 +382,6 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } @Override - public void initUI() throws Exception { - - super.initUI(); - - getModel().addPropertyChangeListener(GearUseFeaturesSeineUIModel.PROPERTY_EDITABLE, new PropertyChangeListener() { - - @Override - public void propertyChange(PropertyChangeEvent evt) { - Boolean newValue = (Boolean) evt.getNewValue(); - setTableModelEditable(newValue); - } - }); - - setTableModelEditable(getModel().isEditable()); - - getTableModel().setGearUseFeaturesSeineUIHandler(this); - - } - - @Override - public void openUI() throws Exception { - - if (log.isInfoEnabled()) { - log.info("OpenUI: " + getModel()); - } - - super.openUI(); - - // To be sure always remove listener (could prevent some leaks) - getUi().getErrorTableModel().removeTableModelListener(computeTabValidStateListener); - // listen messages to see if required to add - getUi().getErrorTableModel().addTableModelListener(computeTabValidStateListener); - - SwingValidatorMessageTableModel errorTableModel = getUi().getErrorTableModel(); - computeTabValidState(errorTableModel); - - } - - @Override protected void closeSafeUI() { if (log.isInfoEnabled()) { @@ -331,50 +395,6 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } @Override - public void startEditUI(String... binding) { - - getModel().getMeasurementsTableModel().setEditable(true); - - super.startEditUI(binding); - - } - - public void deleteSelectedMeasurement() { - - GearUseFeaturesMeasurementSeinesTableModel tableModel = getUi().getMeasurementsTableModel(); - - boolean selectionEmpty = tableModel.isSelectionEmpty(); - - if (!selectionEmpty) { - - GearUseFeaturesMeasurementSeineDto data = tableModel.getSelectedRow(); - - if (log.isInfoEnabled()) { - log.info("Delete: " + data); - } - - ObserveMainUI mainUI = ObserveSwingApplicationContext.get().getObserveMainUI(); - int response = UIHelper.askUser(mainUI, - t("observe.title.delete"), - t("observe.measurement.delete.message"), - JOptionPane.WARNING_MESSAGE, - new Object[]{t("observe.choice.confirm.delete"), - t("observe.choice.cancel")}, - 1); - - if (response != 0) { - - // user cancel - return; - } - - tableModel.removeSelectedRow(); - - } - - } - - @Override protected void resetEditBean() { UIHelper.stopEditing(getUi().getMeasurementsTable()); @@ -438,7 +458,6 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } - protected void computeTabValidState(SwingValidatorMessageTableModel errorTableModel) { Set<String> errorProperties = new HashSet<String>(); @@ -459,30 +478,6 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei } - public List<GearUseFeaturesMeasurementSeineDto> getDefaultGearUseFeaturesMeasurementSeine(String gearId) { - - ReferentialService referentialService = getDataSource().newService(ReferentialService.class); - - FormDto<GearDto> gearDtoForm = referentialService.loadToRead(GearDto.class, gearId); - - GearDto gearDto = gearDtoForm.getForm(); - - List<GearUseFeaturesMeasurementSeineDto> measurements = Lists.newArrayList( - Iterables.transform(gearDto.getGearCaracteristic(), - new Function<ReferentialReferenceDto<GearCaracteristicDto>, GearUseFeaturesMeasurementSeineDto>() { - - @Override - public GearUseFeaturesMeasurementSeineDto apply(ReferentialReferenceDto<GearCaracteristicDto> input) { - GearUseFeaturesMeasurementSeineDto measurementSeineDto = new GearUseFeaturesMeasurementSeineDto(); - measurementSeineDto.setGearCaracteristic(input); - return measurementSeineDto; - } - })); - - return measurements; - - } - @Override protected void doPersist(TripSeineGearUseDto bean) { SaveResultDto saveResult = getTripSeineGearUseService().save(bean); @@ -491,9 +486,9 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei @Override protected void loadEditBean(String beanId) { - FormDto<TripSeineGearUseDto> formDto = getTripSeineGearUseService().loadForm(beanId); - getModel().setFormDto(formDto); - TripSeineGearUseDtos.copyTripSeineGearUseDto(formDto.getForm(), getBean()); + Form<TripSeineGearUseDto> form = getTripSeineGearUseService().loadForm(beanId); + getModel().setForm(form); + TripSeineGearUseDtos.copyTripSeineGearUseDto(form.getObject(), getBean()); } protected TripSeineGearUseService getTripSeineGearUseService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx index 471c6fe..d2628d1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUI.jaxx @@ -30,12 +30,11 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto fr.ird.observe.services.dto.seine.NonTargetCatchDto fr.ird.observe.services.dto.referential.seine.SpeciesFateDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto fr.ird.observe.ui.content.table.* @@ -91,7 +90,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -101,7 +100,7 @@ <JLabel id='speciesFateLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='speciesFate' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesFateDto>' _entityClass='SpeciesFateDto.class'/> + <BeanComboBox id='speciesFate' constructorParams='this' genericType='ReferentialReference<SpeciesFateDto>' _entityClass='SpeciesFateDto.class'/> </cell> </row> @@ -111,7 +110,7 @@ <JLabel id='reasonForDiscardLabel'/> </cell> <cell weightx='1' anchor='east' columns="2"> - <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> + <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReference<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index c734463..a3f93d7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -26,10 +26,9 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.NonTargetCatchComputedValueSource; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; @@ -41,9 +40,9 @@ import fr.ird.observe.services.service.seine.NonTargetCatchService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.content.table.ContentTableModel; import fr.ird.observe.ui.content.table.ContentTableUIHandler; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JComponent; import javax.swing.JOptionPane; @@ -222,16 +221,16 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa return; } - List<ReferentialReferenceDto<SpeciesDto>> availableEspeces; + List<ReferentialReference<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { - Set<ReferentialReferenceDto<SpeciesDto>> speciesSet = getModel().getReferentialReferences(SpeciesDto.class, NonTargetCatchDto.PROPERTY_SPECIES); + Set<ReferentialReference<SpeciesDto>> speciesSet = getModel().getReferentialReferences(SpeciesDto.class, NonTargetCatchDto.PROPERTY_SPECIES); availableEspeces = Lists.newArrayList(speciesSet); requestFocus = ui.getSpecies(); } else { - ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReference<SpeciesDto> species = bean.getSpecies(); availableEspeces = new ArrayList<>(); availableEspeces.add(species); requestFocus = ui.getTable(); @@ -300,15 +299,15 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa super.prepareSave(editBean, objets); //on cherche si parmis les captures supprimer certaines ont des échantillon - SetSeineNonTargetCatchDto originalSetSeineNonTargetCatchDto = getModel().getFormDto().getForm(); + SetSeineNonTargetCatchDto originalSetSeineNonTargetCatchDto = getModel().getForm().getObject(); - Set<ReferentialReferenceDto<SpeciesDto>> speciesToDelete = Sets.newHashSet(); + Set<ReferentialReference<SpeciesDto>> speciesToDelete = Sets.newHashSet(); for (NonTargetCatchDto nonTargetCatchDto : originalSetSeineNonTargetCatchDto.getNonTargetCatch()) { if (nonTargetCatchDto.isHasSample()) { - ReferentialReferenceDto<SpeciesDto> species = nonTargetCatchDto.getSpecies(); + ReferentialReference<SpeciesDto> species = nonTargetCatchDto.getSpecies(); Iterable<NonTargetCatchDto> currentTargetCatchSpecies = NonTargetCatchDtos.filterBySpecies(objets, species); @@ -326,10 +325,10 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa // il existe des echantillon faune a supprimer on demande une // confirmation StringBuilder sb = new StringBuilder(512); - Decorator<ReferenceDto> decorator = - getDecoratorService().getDecoratorByType(ReferenceDto.class, SpeciesDto.class.getSimpleName()); + ReferentialReferenceDecorator<SpeciesDto> decorator = + getDecoratorService().getReferentialReferenceDecorator(SpeciesDto.class); - for (ReferentialReferenceDto<SpeciesDto> species : speciesToDelete) { + for (ReferentialReference<SpeciesDto> species : speciesToDelete) { sb.append(" - ").append(decorator.toString(species)).append('\n'); } int reponse = UIHelper.askUser( @@ -367,9 +366,9 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa @Override protected void loadEditBean(String beanId) { String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineNonTargetCatchDto> formDto = getNonTargetCatchService().loadForm(beanId, tripSeineId); - getModel().setFormDto(formDto); - SetSeineNonTargetCatchDtos.copySetSeineNonTargetCatchDto(formDto.getForm(), getBean()); + Form<SetSeineNonTargetCatchDto> form = getNonTargetCatchService().loadForm(beanId, tripSeineId); + getModel().setForm(form); + SetSeineNonTargetCatchDtos.copySetSeineNonTargetCatchDto(form.getObject(), getBean()); } protected NonTargetCatchService getNonTargetCatchService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIModel.java index 31fbc32..3f6f79c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIModel.java @@ -25,7 +25,6 @@ package fr.ird.observe.ui.content.table.impl.seine; import com.google.common.collect.Lists; import fr.ird.observe.services.dto.seine.NonTargetCatchDto; import fr.ird.observe.services.dto.seine.NonTargetCatchDtos; -import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; import fr.ird.observe.ui.content.table.ContentTableMeta; import fr.ird.observe.ui.content.table.ContentTableModel; @@ -53,16 +52,16 @@ public class NonTargetCatchUIModel extends ContentTableUIModel<SetSeineNonTarget new String[]{ NonTargetCatchDto.PROPERTY_SPECIES, NonTargetCatchDto.PROPERTY_CATCH_WEIGHT, - NonTargetCatchDto.PROPERTY_TOTAL_COUNT, - NonTargetCatchDto.PROPERTY_MEAN_WEIGHT, - NonTargetCatchDto.PROPERTY_MEAN_LENGTH, - NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD, - NonTargetCatchDto.PROPERTY_SPECIES_FATE, - NonTargetCatchDto.PROPERTY_TOTAL_COUNT_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_MEAN_WEIGHT_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_CATCH_WEIGHT_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_MEAN_LENGTH_COMPUTED_SOURCE, - NonTargetCatchDto.PROPERTY_COMMENT + NonTargetCatchDto.PROPERTY_TOTAL_COUNT, + NonTargetCatchDto.PROPERTY_MEAN_WEIGHT, + NonTargetCatchDto.PROPERTY_MEAN_LENGTH, + NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD, + NonTargetCatchDto.PROPERTY_SPECIES_FATE, + NonTargetCatchDto.PROPERTY_TOTAL_COUNT_COMPUTED_SOURCE, + NonTargetCatchDto.PROPERTY_MEAN_WEIGHT_COMPUTED_SOURCE, + NonTargetCatchDto.PROPERTY_CATCH_WEIGHT_COMPUTED_SOURCE, + NonTargetCatchDto.PROPERTY_MEAN_LENGTH_COMPUTED_SOURCE, + NonTargetCatchDto.PROPERTY_COMMENT }); List<ContentTableMeta<NonTargetCatchDto>> metas = Lists.newArrayList( @@ -85,6 +84,7 @@ public class NonTargetCatchUIModel extends ContentTableUIModel<SetSeineNonTarget List<ContentTableMeta<NonTargetCatchDto>> contentTableMetas) { return new ContentTableModel<SetSeineNonTargetCatchDto, NonTargetCatchDto>(ui, contentTableMetas) { + @Override protected Collection<NonTargetCatchDto> getChilds(SetSeineNonTargetCatchDto bean) { return bean.getNonTargetCatch(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx index b9d9ca3..03eeb9e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUI.jaxx @@ -30,11 +30,10 @@ <style source="AbstractSampleUI.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.referential.SexDto fr.ird.observe.services.dto.referential.SpeciesDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.seine.NonTargetLengthDto fr.ird.observe.services.dto.seine.NonTargetSampleDto fr.ird.observe.ui.content.table.impl.seine.ModeSaisieEchantillonEnum @@ -98,7 +97,7 @@ public String getLengthDataTip(boolean computed) { return computed ? t(LONGUEUR_COMPUTED_TIP) : t(LONGUEUR_OBSERVED_TIP); } -public String getSpeciesFauneTypeTaille(ReferenceDto<SpeciesDto> species) { +public String getSpeciesFauneTypeTaille(ReferentialReference<SpeciesDto> species) { return species == null ? t("observe.message.no.species.selected") : (String) species.getPropertyValue(SpeciesDto.PROPERTY_LENGTH_MEASURE_TYPE); } ]]> @@ -124,7 +123,7 @@ public String getSpeciesFauneTypeTaille(ReferenceDto<SpeciesDto> species) { <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -186,7 +185,7 @@ public String getSpeciesFauneTypeTaille(ReferenceDto<SpeciesDto> species) { <JLabel id='sexLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='sex' genericType='ReferentialReferenceDto<SexDto>' _entityClass='SexDto.class' constructorParams='this'/> + <BeanComboBox id='sex' genericType='ReferentialReference<SexDto>' _entityClass='SexDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index d0c5935..ceeb826 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -25,8 +25,8 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.NonTargetLengthDto; @@ -130,12 +130,12 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam return; } - ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReference<SpeciesDto> species = bean.getSpecies(); NonTargetSampleUI ui = getUi(); if (log.isDebugEnabled()) { log.debug("selected species " + species); } - List<ReferentialReferenceDto<SpeciesDto>> availableEspeces; + List<ReferentialReference<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { @@ -147,7 +147,7 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam ui.getAcquisitionModeGroup().setSelectedValue(ModeSaisieEchantillonEnum.byEffectif); } - Set<ReferentialReferenceDto<SpeciesDto>> speciesReferences = getModel().getReferentialReferences(SpeciesDto.class, NonTargetLengthDto.PROPERTY_SPECIES); + Set<ReferentialReference<SpeciesDto>> speciesReferences = getModel().getReferentialReferences(SpeciesDto.class, NonTargetLengthDto.PROPERTY_SPECIES); availableEspeces = Lists.newArrayList(speciesReferences); requestFocus = ui.getSpecies(); @@ -300,9 +300,9 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam @Override protected void loadEditBean(String beanId) { - FormDto<NonTargetSampleDto> formDto = getNonTargetSampleService().loadForm(beanId); - getModel().setFormDto(formDto); - NonTargetSampleDtos.copyNonTargetSampleDto(formDto.getForm(), getBean()); + Form<NonTargetSampleDto> form = getNonTargetSampleService().loadForm(beanId); + getModel().setForm(form); + NonTargetSampleDtos.copyNonTargetSampleDto(form.getObject(), getBean()); } protected NonTargetSampleService getNonTargetSampleService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx index e7110c7..e48c4b4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUI.jaxx @@ -29,11 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto fr.ird.observe.ui.content.table.* @@ -85,7 +84,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='species' constructorParams='this' - genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -96,7 +95,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='speciesStatus' constructorParams='this' - genericType='ReferentialReferenceDto<SpeciesStatusDto>' _entityClass='SpeciesStatusDto.class'/> + genericType='ReferentialReference<SpeciesStatusDto>' _entityClass='SpeciesStatusDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index f6e2c7c..9a22a1b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; @@ -98,9 +98,9 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati @Override protected void loadEditBean(String beanId) { - FormDto<FloatingObjectObservedSpeciesDto> formDto = getObjectObservedSpeciesService().loadForm(beanId); - getModel().setFormDto(formDto); - FloatingObjectObservedSpeciesDtos.copyFloatingObjectObservedSpeciesDto(formDto.getForm(), getBean()); + Form<FloatingObjectObservedSpeciesDto> form = getObjectObservedSpeciesService().loadForm(beanId); + getModel().setForm(form); + FloatingObjectObservedSpeciesDtos.copyFloatingObjectObservedSpeciesDto(form.getObject(), getBean()); } protected ObjectObservedSpeciesService getObjectObservedSpeciesService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx index 6be0ca7..085edb5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUI.jaxx @@ -29,11 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.content.table.* @@ -84,7 +83,7 @@ </cell> <cell weightx='1' anchor='east'> <BeanComboBox id='species' constructorParams='this' - genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index 99dc5b0..346be86 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; +import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDtos; @@ -94,9 +94,9 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin @Override protected void loadEditBean(String beanId) { - FormDto<FloatingObjectSchoolEstimateDto> formDto = getObjectSchoolEstimateService().loadForm(beanId); - getModel().setFormDto(formDto); - FloatingObjectSchoolEstimateDtos.copyFloatingObjectSchoolEstimateDto(formDto.getForm(), getBean()); + Form<FloatingObjectSchoolEstimateDto> form = getObjectSchoolEstimateService().loadForm(beanId); + getModel().setForm(form); + FloatingObjectSchoolEstimateDtos.copyFloatingObjectSchoolEstimateDto(form.getObject(), getBean()); } protected ObjectSchoolEstimateService getObjectSchoolEstimateService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx index 59d8430..dae5ce1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUI.jaxx @@ -31,11 +31,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto fr.ird.observe.services.dto.seine.SchoolEstimateDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.content.table.* @@ -89,7 +88,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' + <BeanComboBox id='species' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index e6f0b37..9facd2d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -27,9 +27,8 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.seine.SchoolEstimateDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; @@ -86,21 +85,21 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo } SchoolEstimateUI ui = getUi(); - List<ReferentialReferenceDto<SpeciesDto>> availableEspeces; + List<ReferentialReference<SpeciesDto>> availableEspeces; JComponent requestFocus; if (create) { - Set<ReferentialReferenceDto<SpeciesDto>> references = getModel().getReferentialReferences(SpeciesDto.class, SchoolEstimateDto.PROPERTY_SPECIES); + Set<ReferentialReference<SpeciesDto>> references = getModel().getReferentialReferences(SpeciesDto.class, SchoolEstimateDto.PROPERTY_SPECIES); - List<ReferentialReferenceDto<SpeciesDto>> listSpeciesUsed = model.getColumnValues(0); + List<ReferentialReference<SpeciesDto>> listSpeciesUsed = model.getColumnValues(0); - Collection<String> listSpeciesIdUsed = Collections2.transform(listSpeciesUsed, IdDtos.getIdFunction()); + Collection<String> listSpeciesIdUsed = Collections2.transform(listSpeciesUsed, ReferentialReference.getIdFunction()); - availableEspeces = Lists.newArrayList(Iterables.filter(references, Predicates.not(IdDtos.newIdsPredicate(listSpeciesIdUsed)))); + availableEspeces = Lists.newArrayList(Iterables.filter(references, Predicates.not(ReferentialReference.newIdsPredicate(listSpeciesIdUsed)))); requestFocus = ui.getSpecies(); } else { - ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReference<SpeciesDto> species = bean.getSpecies(); availableEspeces = Collections.singletonList(species); requestFocus = ui.getTotalWeight(); } @@ -134,9 +133,9 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo @Override protected void loadEditBean(String beanId) { String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineSchoolEstimateDto> formDto = getSchoolEstimateService().loadForm(beanId, tripSeineId); - getModel().setFormDto(formDto); - SetSeineSchoolEstimateDtos.copySetSeineSchoolEstimateDto(formDto.getForm(), getBean()); + Form<SetSeineSchoolEstimateDto> form = getSchoolEstimateService().loadForm(beanId, tripSeineId); + getModel().setForm(form); + SetSeineSchoolEstimateDtos.copySetSeineSchoolEstimateDto(form.getObject(), getBean()); } protected SchoolEstimateService getSchoolEstimateService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx index b1018ee..5375b1f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUI.jaxx @@ -29,11 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto fr.ird.observe.services.dto.seine.TargetCatchDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.WeightCategoryDto fr.ird.observe.ui.content.table.* @@ -87,7 +86,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> + <BeanComboBox id='species' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> @@ -98,7 +97,7 @@ <JLabel id='weightCategoryLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='weightCategory' genericType='ReferentialReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class' constructorParams='this'/> + <BeanComboBox id='weightCategory' genericType='ReferentialReference<WeightCategoryDto>' _entityClass='WeightCategoryDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index 9e1ccfa..9c8c68c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -25,8 +25,8 @@ import com.google.common.collect.Iterables; import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; import fr.ird.observe.services.dto.result.SaveResultDto; @@ -93,7 +93,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa if (model.isNewRow()) { // en mode creation , on doit recalculer la liste des categories - ReferentialReferenceDto<SpeciesDto> species = (ReferentialReferenceDto<SpeciesDto>) evt.getNewValue(); + ReferentialReference<SpeciesDto> species = (ReferentialReference<SpeciesDto>) evt.getNewValue(); onSpeciesChanged(species); } @@ -112,16 +112,16 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa protected boolean prepareSave(SetSeineTargetCatchDto bean, List<TargetCatchDto> objets) { // on cherche si parmis les captures supprimer certaines ont des échantillons - SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getFormDto().getForm(); + SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getForm().getObject(); SetSeineTargetCatchDto currentSetSeineTargetCatch = getModel().getBean(); - Set<ReferentialReferenceDto<SpeciesDto>> speciesToDelete = Sets.newHashSet(); + Set<ReferentialReference<SpeciesDto>> speciesToDelete = Sets.newHashSet(); for (TargetCatchDto targetCatchDto : originalSetSeineTargetCatchDto.getTargetCatch()) { if (targetCatchDto.isHasSample()) { - ReferentialReferenceDto<SpeciesDto> species = targetCatchDto.getSpecies(); + ReferentialReference<SpeciesDto> species = targetCatchDto.getSpecies(); Iterable<TargetCatchDto> currentTargetCatchSpecies = TargetCatchDtos.filterBySpecies(currentSetSeineTargetCatch.getTargetCatch(), species); @@ -138,9 +138,9 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa // il existe des echantillons thon a supprimer on demande une confirmation StringBuilder sb = new StringBuilder(512); - Decorator<ReferentialReferenceDto<SpeciesDto>> decorator = getReferentialReferenceDecorator(SpeciesDto.class); + Decorator<ReferentialReference<SpeciesDto>> decorator = getReferentialReferenceDecorator(SpeciesDto.class); - for (ReferentialReferenceDto<SpeciesDto> species : speciesToDelete) { + for (ReferentialReference<SpeciesDto> species : speciesToDelete) { sb.append(" - ").append(decorator.toString(species)).append('\n'); } int reponse = UIHelper.askUser( @@ -176,9 +176,9 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa TargetCatchUI ui = getUi(); - ReferentialReferenceDto<WeightCategoryDto> weightCategory = bean.getWeightCategory(); + ReferentialReference<WeightCategoryDto> weightCategory = bean.getWeightCategory(); - ReferentialReferenceDto<SpeciesDto> species = null; + ReferentialReference<SpeciesDto> species = null; if (weightCategory != null) { species = getWeightCategorySpecies(weightCategory); } @@ -248,9 +248,9 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa } @SuppressWarnings("unchecked") - protected void onSpeciesChanged(ReferentialReferenceDto<SpeciesDto> species) { + protected void onSpeciesChanged(ReferentialReference<SpeciesDto> species) { - List<ReferentialReferenceDto<WeightCategoryDto>> availableCategories; + List<ReferentialReference<WeightCategoryDto>> availableCategories; if (species == null) { @@ -267,7 +267,7 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa } // on met a jour la liste des categories disponibles - BeanComboBox<ReferentialReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); + BeanComboBox<ReferentialReference<WeightCategoryDto>> combo = getUi().getWeightCategory(); combo.setData(availableCategories); // on reinitialise toujours la categorie selectionnee @@ -286,11 +286,11 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineTargetCatchDto> formDto = getTargetCatchService().loadForm(beanId, false, tripSeineId); + Form<SetSeineTargetCatchDto> form = getTargetCatchService().loadForm(beanId, false, tripSeineId); - getModel().setFormDto(formDto); + getModel().setForm(form); - SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(formDto.getForm(), getBean()); + SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(form.getObject(), getBean()); } protected TargetCatchService getTargetCatchService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx index 911e664..cbbe37a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUI.jaxx @@ -29,11 +29,10 @@ <style source="../../CommonTable.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.CommentableDto fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto fr.ird.observe.services.dto.seine.TargetCatchDto - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto fr.ird.observe.services.dto.referential.seine.WeightCategoryDto @@ -88,7 +87,7 @@ <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class'/> + <BeanComboBox id='species' constructorParams='this' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class'/> </cell> </row> @@ -98,7 +97,7 @@ <JLabel id='weightCategoryLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='weightCategory' constructorParams='this' genericType='ReferentialReferenceDto<WeightCategoryDto>' _entityClass='WeightCategoryDto.class'/> + <BeanComboBox id='weightCategory' constructorParams='this' genericType='ReferentialReference<WeightCategoryDto>' _entityClass='WeightCategoryDto.class'/> </cell> </row> @@ -108,7 +107,7 @@ <JLabel id='reasonForDiscardLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReferenceDto<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> + <BeanComboBox id='reasonForDiscard' constructorParams='this' genericType='ReferentialReference<ReasonForDiscardDto>' _entityClass='ReasonForDiscardDto.class'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java index 2934fde..afde7c5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java @@ -26,8 +26,8 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; @@ -72,20 +72,20 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT super(ui, DataContextType.SetSeine); } - protected static Collection<ReferentialReferenceDto<WeightCategoryDto>> getWeightCategoryUsed( + protected static Collection<ReferentialReference<WeightCategoryDto>> getWeightCategoryUsed( ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model) { - List<ReferentialReferenceDto<WeightCategoryDto>> list = model.getColumnValues(1); - Collection<ReferentialReferenceDto<WeightCategoryDto>> set = Sets.newHashSet(list); + List<ReferentialReference<WeightCategoryDto>> list = model.getColumnValues(1); + Collection<ReferentialReference<WeightCategoryDto>> set = Sets.newHashSet(list); list.clear(); return set; } - protected static Collection<ReferentialReferenceDto<ReasonForDiscardDto>> getReasonForDiscardUsed( + protected static Collection<ReferentialReference<ReasonForDiscardDto>> getReasonForDiscardUsed( ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model, - ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + ReferentialReference<WeightCategoryDto> weightCategory) { - Collection<ReferentialReferenceDto<ReasonForDiscardDto>> set = Sets.newHashSet(); + Collection<ReferentialReference<ReasonForDiscardDto>> set = Sets.newHashSet(); if (weightCategory != null) { for (int i = 0; i < model.getRowCount(); i++) { TargetCatchDto c = model.getValueAt(i); @@ -125,7 +125,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (model.isNewRow()) { // en mode creation , on doit recalculer la liste des categories - ReferentialReferenceDto<SpeciesDto> species = (ReferentialReferenceDto<SpeciesDto>) evt.getNewValue(); + ReferentialReference<SpeciesDto> species = (ReferentialReference<SpeciesDto>) evt.getNewValue(); onSpeciesChanged(model.getRowBean(), species); } @@ -149,8 +149,8 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (model.isNewRow()) { // en mode creation , on doit recalculer la liste des raison rejet - ReferentialReferenceDto<WeightCategoryDto> weightCategory = - (ReferentialReferenceDto<WeightCategoryDto>) evt.getNewValue(); + ReferentialReference<WeightCategoryDto> weightCategory = + (ReferentialReference<WeightCategoryDto>) evt.getNewValue(); onWeightCategoryChanged(model.getRowBean(), weightCategory); } @@ -171,16 +171,16 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT protected boolean prepareSave(SetSeineTargetCatchDto bean, List<TargetCatchDto> objets) { //on cherche si parmis les captures supprimer certaines ont des échantillons - SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getFormDto().getForm(); + SetSeineTargetCatchDto originalSetSeineTargetCatchDto = getModel().getForm().getObject(); SetSeineTargetCatchDto currentSetSeineTargetCatch = getModel().getBean(); - Set<ReferentialReferenceDto<SpeciesDto>> speciesToDelete = Sets.newHashSet(); + Set<ReferentialReference<SpeciesDto>> speciesToDelete = Sets.newHashSet(); for (TargetCatchDto targetCatchDto : originalSetSeineTargetCatchDto.getTargetCatch()) { if (targetCatchDto.isHasSample()) { - ReferentialReferenceDto<SpeciesDto> species = targetCatchDto.getSpecies(); + ReferentialReference<SpeciesDto> species = targetCatchDto.getSpecies(); Iterable<TargetCatchDto> currentTargetCatchSpecies = TargetCatchDtos.filterBySpecies(currentSetSeineTargetCatch.getTargetCatch(), species); @@ -196,10 +196,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT if (!speciesToDelete.isEmpty()) { // il existe des echantillon thon a supprimer on demande une confirmation StringBuilder sb = new StringBuilder(512); - Decorator<ReferentialReferenceDto<SpeciesDto>> decorator = + Decorator<ReferentialReference<SpeciesDto>> decorator = getReferentialReferenceDecorator(SpeciesDto.class); - for (ReferentialReferenceDto<SpeciesDto> species : speciesToDelete) { + for (ReferentialReference<SpeciesDto> species : speciesToDelete) { sb.append(" - ").append(decorator.toString(species)).append('\n'); } int reponse = UIHelper.askUser( @@ -236,14 +236,14 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT protected void onSelectedRowChanged(int editingRow, TargetCatchDto bean, boolean create) { TargetDiscardCatchUI ui = getUi(); - ReferentialReferenceDto<WeightCategoryDto> weightCategory = bean.getWeightCategory(); + ReferentialReference<WeightCategoryDto> weightCategory = bean.getWeightCategory(); - ReferentialReferenceDto<SpeciesDto> species = null; + ReferentialReference<SpeciesDto> species = null; if (weightCategory != null) { species = getWeightCategorySpecies(weightCategory); } - ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard = bean.getReasonForDiscard(); + ReferentialReference<ReasonForDiscardDto> reasonForDiscard = bean.getReasonForDiscard(); if (log.isDebugEnabled()) { log.debug("selected categoriePoid " + weightCategory); log.debug("selected species " + species); @@ -261,7 +261,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } // on recalcule la liste des speciess disponibles - List<ReferentialReferenceDto<SpeciesDto>> availableSpecies = buildSpeciesList(species, weightCategory); + List<ReferentialReference<SpeciesDto>> availableSpecies = buildSpeciesList(species, weightCategory); ui.getSpecies().setData(availableSpecies); // on reinitilise toujours l'species (pour reinitialiser la liste des categories) @@ -323,11 +323,11 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT UIHelper.setTableColumnRenderer(table, 5, UIHelper.newStringTableCellRenderer(renderer, 10, true)); } - protected void onSpeciesChanged(TargetCatchDto bean, ReferentialReferenceDto<SpeciesDto> species) { + protected void onSpeciesChanged(TargetCatchDto bean, ReferentialReference<SpeciesDto> species) { - ReferentialReferenceDto<WeightCategoryDto> weightCategory = null; + ReferentialReference<WeightCategoryDto> weightCategory = null; - List<ReferentialReferenceDto<WeightCategoryDto>> data; + List<ReferentialReference<WeightCategoryDto>> data; if (species == null) { @@ -338,7 +338,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } else { // un espèce est selectionnee, on met a jour la liste des categories disponibles pour cette espèce - List<ReferentialReferenceDto<WeightCategoryDto>> availableCategories = buildWeightCategoryList(species); + List<ReferentialReference<WeightCategoryDto>> availableCategories = buildWeightCategoryList(species); data = availableCategories; @@ -350,18 +350,18 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } // on met a jour le model de la liste des categories - BeanComboBox<ReferentialReferenceDto<WeightCategoryDto>> combo = getUi().getWeightCategory(); + BeanComboBox<ReferentialReference<WeightCategoryDto>> combo = getUi().getWeightCategory(); combo.setData(data); // on selectionne la categorie retenue combo.setSelectedItem(weightCategory); } - protected void onWeightCategoryChanged(TargetCatchDto bean, ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + protected void onWeightCategoryChanged(TargetCatchDto bean, ReferentialReference<WeightCategoryDto> weightCategory) { TargetDiscardCatchUI ui = getUi(); - ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard = null; - List<ReferentialReferenceDto<ReasonForDiscardDto>> data; + ReferentialReference<ReasonForDiscardDto> reasonForDiscard = null; + List<ReferentialReference<ReasonForDiscardDto>> data; if (weightCategory == null) { // aucune categorie selectionnee, on vide simplement @@ -376,7 +376,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT reasonForDiscard = bean.getReasonForDiscard(); - List<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = buildReasonFordiscardList(weightCategory, reasonForDiscard); + List<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardList = buildReasonFordiscardList(weightCategory, reasonForDiscard); if (log.isDebugEnabled()) { log.debug("new reasonForDiscard list " + reasonForDiscardList); @@ -390,7 +390,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } } - BeanComboBox<ReferentialReferenceDto<ReasonForDiscardDto>> combo = ui.getReasonForDiscard(); + BeanComboBox<ReferentialReference<ReasonForDiscardDto>> combo = ui.getReasonForDiscard(); // on met a jour le model de la liste des raison rejets combo.setData(data); @@ -399,10 +399,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT combo.setSelectedItem(reasonForDiscard); } - protected List<ReferentialReferenceDto<SpeciesDto>> buildSpeciesList(ReferentialReferenceDto<SpeciesDto> species, - ReferentialReferenceDto<WeightCategoryDto> weightCategory) { + protected List<ReferentialReference<SpeciesDto>> buildSpeciesList(ReferentialReference<SpeciesDto> species, + ReferentialReference<WeightCategoryDto> weightCategory) { - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getAllWeightCategories(); + List<ReferentialReference<WeightCategoryDto>> weightCategoryList = getAllWeightCategories(); removeFullyUsedWeightCategories(weightCategoryList); @@ -410,21 +410,21 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT weightCategoryList.add(weightCategory); } - Collection<ReferentialReferenceDto<SpeciesDto>> usedSpecies = Sets.newHashSet(); - for (ReferentialReferenceDto<WeightCategoryDto> cat : weightCategoryList) { + Collection<ReferentialReference<SpeciesDto>> usedSpecies = Sets.newHashSet(); + for (ReferentialReference<WeightCategoryDto> cat : weightCategoryList) { usedSpecies.add(getWeightCategorySpecies(cat)); } - List<ReferentialReferenceDto<SpeciesDto>> result = Lists.newArrayList(usedSpecies); + List<ReferentialReference<SpeciesDto>> result = Lists.newArrayList(usedSpecies); weightCategoryList.clear(); usedSpecies.clear(); return result; } - protected List<ReferentialReferenceDto<WeightCategoryDto>> buildWeightCategoryList(ReferentialReferenceDto<SpeciesDto> species) { + protected List<ReferentialReference<WeightCategoryDto>> buildWeightCategoryList(ReferentialReference<SpeciesDto> species) { - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = getSpeciesWeightCategories(species.getId()); + List<ReferentialReference<WeightCategoryDto>> weightCategoryList = getSpeciesWeightCategories(species.getId()); // on filtre toutes les categories qui ont deja references sur toutes les raisons de rejet removeFullyUsedWeightCategories(weightCategoryList); @@ -433,13 +433,13 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT } @SuppressWarnings("unchecked") - protected List<ReferentialReferenceDto<ReasonForDiscardDto>> buildReasonFordiscardList(ReferentialReferenceDto<WeightCategoryDto> weightCategory, - ReferentialReferenceDto<ReasonForDiscardDto> reasonForDiscard) { + protected List<ReferentialReference<ReasonForDiscardDto>> buildReasonFordiscardList(ReferentialReference<WeightCategoryDto> weightCategory, + ReferentialReference<ReasonForDiscardDto> reasonForDiscard) { ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); + Set<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); - List<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardList = Lists.newArrayList(reasonForDiscardSet); + List<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardList = Lists.newArrayList(reasonForDiscardSet); // on filtre les raison rejet sur la categorie for (int i = 0; i < model.getRowCount(); i++) { @@ -455,25 +455,25 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT return reasonForDiscardList; } - protected List<ReferentialReferenceDto<WeightCategoryDto>> getAllWeightCategories() { + protected List<ReferentialReference<WeightCategoryDto>> getAllWeightCategories() { - Set<ReferentialReferenceDto<WeightCategoryDto>> weightCategorySet = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); - List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryList = Lists.newArrayList(weightCategorySet); + Set<ReferentialReference<WeightCategoryDto>> weightCategorySet = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); + List<ReferentialReference<WeightCategoryDto>> weightCategoryList = Lists.newArrayList(weightCategorySet); return weightCategoryList; } - protected void removeFullyUsedWeightCategories(List<ReferentialReferenceDto<WeightCategoryDto>> weightCategoryAvaillables) { + protected void removeFullyUsedWeightCategories(List<ReferentialReference<WeightCategoryDto>> weightCategoryAvaillables) { ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - Set<ReferentialReferenceDto<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); + Set<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); int nbReasonForDiscard = reasonForDiscardSet.size(); // on filtre toutes les weightCategory qui ont deja references toutes les raisons rejets - for (ReferentialReferenceDto<WeightCategoryDto> c : getWeightCategoryUsed(model)) { - Collection<ReferentialReferenceDto<ReasonForDiscardDto>> raisonUsed = getReasonForDiscardUsed(model, c); + for (ReferentialReference<WeightCategoryDto> c : getWeightCategoryUsed(model)) { + Collection<ReferentialReference<ReasonForDiscardDto>> raisonUsed = getReasonForDiscardUsed(model, c); if (raisonUsed.size() == nbReasonForDiscard) { // toutes les raison de rejet epuisé pour cette categorie weightCategoryAvaillables.remove(c); @@ -493,11 +493,11 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT String tripSeineId = getDataContext().getSelectedTripSeineId(); - FormDto<SetSeineTargetCatchDto> formDto = getTargetCatchService().loadForm(beanId, true, tripSeineId); + Form<SetSeineTargetCatchDto> form = getTargetCatchService().loadForm(beanId, true, tripSeineId); - getModel().setFormDto(formDto); + getModel().setForm(form); - SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(formDto.getForm(), getBean()); + SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(form.getObject(), getBean()); } protected TargetCatchService getTargetCatchService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx index 14482d9..05a059d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUI.jaxx @@ -27,12 +27,11 @@ <style source="AbstractSampleUI.css"/> <import> - fr.ird.observe.services.dto.ReferenceDto fr.ird.observe.services.dto.seine.TargetSampleDto fr.ird.observe.services.dto.seine.TargetLengthDto fr.ird.observe.ui.content.table.impl.seine.CodeMesureEnum fr.ird.observe.ui.content.table.impl.seine.ModeSaisieEchantillonEnum - fr.ird.observe.services.dto.referential.ReferentialReferenceDto + fr.ird.observe.services.dto.referential.ReferentialReference fr.ird.observe.services.dto.referential.SpeciesDto fr.ird.observe.ui.content.table.* @@ -124,7 +123,7 @@ public String getLengthDataTip(boolean computed) { <JLabel id='speciesLabel'/> </cell> <cell weightx='1' anchor='east'> - <BeanComboBox id='species' genericType='ReferentialReferenceDto<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> + <BeanComboBox id='species' genericType='ReferentialReference<SpeciesDto>' _entityClass='SpeciesDto.class' constructorParams='this'/> </cell> </row> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 18b1f93..7e871c6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -24,8 +24,8 @@ package fr.ird.observe.ui.content.table.impl.seine; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.constants.DataContextType; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -135,7 +135,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto return; } - ReferentialReferenceDto<SpeciesDto> species = bean.getSpecies(); + ReferentialReference<SpeciesDto> species = bean.getSpecies(); JComponent requestFocus; @@ -318,9 +318,9 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto @Override protected void loadEditBean(String beanId) { - FormDto<TargetSampleDto> formDto = getTargetSampleService().loadForm(beanId, discarded); - getModel().setFormDto(formDto); - TargetSampleDtos.copyTargetSampleDto(formDto.getForm(), getBean()); + Form<TargetSampleDto> form = getTargetSampleService().loadForm(beanId, discarded); + getModel().setForm(form); + TargetSampleDtos.copyTargetSampleDto(form.getObject(), getBean()); } protected TargetSampleService getTargetSampleService() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/ObstunaAdminAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/ObstunaAdminAction.java index 327476c..886c3e7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/ObstunaAdminAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/ObstunaAdminAction.java @@ -31,8 +31,8 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaPG; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; -import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ObserveDbUserDto; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; @@ -159,7 +159,7 @@ public enum ObstunaAdminAction { // on en a selectionner, de plus si on a selectionne // toutes les marees, on le les passe pas : car c un dump // complet de la base. - importDataIds = ImmutableSet.copyOf(Iterables.transform(dataModel.getSelectedData(), IdDtos.getIdFunction())); + importDataIds = ImmutableSet.copyOf(Iterables.transform(dataModel.getSelectedData(), DataReference.getIdFunction())); } createConfigurationDto.setImportDataConfiguration(importDataConfig.getConfiguration(), importDataIds); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageBackupUILauncher.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageBackupUILauncher.java index 5221cef..074cbbf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageBackupUILauncher.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageBackupUILauncher.java @@ -24,7 +24,7 @@ package fr.ird.observe.ui.storage; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DbMode; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import jaxx.runtime.JAXXContext; import org.apache.commons.logging.Log; @@ -106,14 +106,14 @@ public class StorageBackupUILauncher extends StorageUILauncher { File backupFile = storageModel.getBackupFile(); DataSelectionModel dataModel = storageModel.getSelectDataModel(); - Set<ReferenceDto> marees = null; + Set<DataReference> trips = null; if (dataModel != null && !dataModel.isDataFull()) { // on renseigne les marees a exporter uniquement si // on en a selectionner, de plus si on a selectionne // toutes les marees, on le les passe pas : car c un dump // complet de la base. - marees = dataModel.getSelectedData(); + trips = dataModel.getSelectedData(); } - handler.backupLocalDatabase(source, backupFile, marees); + handler.backupLocalDatabase(source, backupFile, trips); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java index 40583c7..a93c9f2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIHandler.java @@ -40,10 +40,9 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationRest; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaPG; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; -import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.ObserveDbUserDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceDumpProducerService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; @@ -633,14 +632,13 @@ public class StorageUIHandler { * marees}. * <p/> * <b>Note:</b> Si ce paramètre vaut {@code null}, on export tout. - * - * @param dataSource la source de donnée qui encapsule la base locale + * @param dataSource la source de donnée qui encapsule la base locale * @param dst le fichier de sauvegarde * @param trips les marees a exporter (si {@code null} on exporte tout) */ public void backupLocalDatabase(ObserveSwingDataSource dataSource, File dst, - Set<ReferenceDto> trips) { + Set<DataReference> trips) { DataSourceDumpProducerService dumpService = dataSource.newService(DataSourceDumpProducerService.class); @@ -666,7 +664,7 @@ public class StorageUIHandler { // on doit dumper la base distante dans une base h2 et en faire // la sauvegarde - ImmutableSet<String> tripIds = ImmutableSet.copyOf(Iterables.transform(trips, IdDtos.getIdFunction())); + ImmutableSet<String> tripIds = ImmutableSet.copyOf(Iterables.transform(trips, DataReference.getIdFunction())); byte[] dump = dumpService.getDataDump(tripIds); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java index 4035f41..488eaed 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/tabs/DataSelectionModel.java @@ -28,14 +28,15 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ProgramDtos; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialDtos; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.longline.TripLonglineService; @@ -66,29 +67,27 @@ public class DataSelectionModel implements Serializable { Preconditions.checkState(source.isOpen()); - Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> datas = Maps.newHashMap(); + Map<ReferentialReference<ProgramDto>, List<DataReference>> datas = Maps.newHashMap(); ReferentialService referentialService = source.newService(ReferentialService.class); TripSeineService tripSeineService = source.newService(TripSeineService.class); TripLonglineService tripLonglineService = source.newService(TripLonglineService.class); - ReferenceSetDto<ProgramDto> programSet = referentialService.getReferentialReferenceSet(ProgramDto.class); + Set<ReferentialReference<ProgramDto>> programSet = source.getReferentialReferences(ProgramDto.class); + for (ReferentialReference<ProgramDto> program : programSet) { - - for (ReferenceDto<ProgramDto> program : programSet.getReference()) { - - List<ReferenceDto> referenceDtos = Lists.newArrayList(); + List<DataReference> referenceDtos = Lists.newArrayList(); if (ProgramDtos.isProgramSeine(program)) { - ReferenceSetDto<TripSeineDto> tripSeineRef = tripSeineService.getTripSeineByProgram(program.getId()); - referenceDtos.addAll(tripSeineRef.getReference()); + DataReferenceSet<TripSeineDto> tripSeineRef = tripSeineService.getTripSeineByProgram(program.getId()); + referenceDtos.addAll(tripSeineRef.getReferences()); - } else if (ProgramDtos.isProgramLongline(program)) { + } else if (ProgramDtos.isProgramLongline(program)) { - ReferenceSetDto<TripLonglineDto> tripLonglineRef = tripLonglineService.getTripLonglineByProgram(program.getId()); - referenceDtos.addAll(tripLonglineRef.getReference()); + DataReferenceSet<TripLonglineDto> tripLonglineRef = tripLonglineService.getTripLonglineByProgram(program.getId()); + referenceDtos.addAll(tripLonglineRef.getReferences()); } @@ -100,9 +99,9 @@ public class DataSelectionModel implements Serializable { } protected static void populate(DataSelectionModel model, - ReferenceDto<ProgramDto> program, - List<ReferenceDto> trips, - Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> datas) { + ReferentialReference<ProgramDto> program, + List<DataReference> trips, + Map<ReferentialReference<ProgramDto>, List<DataReference>> datas) { if (!trips.isEmpty()) { @@ -143,10 +142,10 @@ public class DataSelectionModel implements Serializable { protected boolean useReferentiel; /** la liste des programs utilisables (qui ont des marees) */ - protected transient Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> datas; + protected transient Map<ReferentialReference<ProgramDto>, List<DataReference>> datas; /** la liste des marees selectionnee */ - protected transient Set<ReferenceDto> selectedData; + protected transient Set<DataReference> selectedData; /** la liste des referentiels possibles */ protected final Set<Class<? extends ReferentialDto>> referentiel; @@ -220,32 +219,32 @@ public class DataSelectionModel implements Serializable { return selectedReferentiel; } - public Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> getDatas() { + public Map<ReferentialReference<ProgramDto>, List<DataReference>> getDatas() { if (datas == null) { datas = Maps.newHashMap(); } return datas; } - public Set<ReferenceDto> getSelectedData() { + public Set<DataReference> getSelectedData() { if (selectedData == null) { selectedData = Sets.newHashSet(); } return selectedData; } - public Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> getSelectedDataByProgram() { + public Map<ReferentialReference<ProgramDto>, List<DataReference>> getSelectedDataByProgram() { if (datas == null || selectedData == null || selectedData.isEmpty()) { return Collections.emptyMap(); } - Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> result = Maps.newHashMap(); + Map<ReferentialReference<ProgramDto>, List<DataReference>> result = Maps.newHashMap(); - for (ReferenceDto referenceDto : selectedData) { + for (DataReference referenceDto : selectedData) { // on recherche son program - for (ReferenceDto<ProgramDto> p : datas.keySet()) { + for (ReferentialReference<ProgramDto> p : datas.keySet()) { if (datas.get(p).contains(referenceDto)) { - List<ReferenceDto> referenceDtos = result.get(p); + List<DataReference> referenceDtos = result.get(p); if (referenceDtos == null) { referenceDtos = Lists.newArrayList(); result.put(p, referenceDtos); @@ -258,27 +257,27 @@ public class DataSelectionModel implements Serializable { return result; } - public boolean isSelectedData(ReferenceDto referenceDto) { + public boolean isSelectedData(AbstractReference<?> referenceDto) { boolean result; if (ProgramDto.class.isAssignableFrom(referenceDto.getType())) { - List<ReferenceDto> trips = datas.get(referenceDto); - result = ! CollectionUtils.isEmpty(trips); + List<DataReference> trips = datas.get(referenceDto); + result = !CollectionUtils.isEmpty(trips); - for (ReferenceDto trip : trips) { + for (DataReference trip : trips) { if (!getSelectedData().contains(trip)) { // au moins une marée non sélectionnée - result = false; + result = false; } } } else { // recherche directe sur les ids de marees - result = getSelectedData().contains(referenceDto); + result = getSelectedData().contains(referenceDto); } @@ -356,13 +355,13 @@ public class DataSelectionModel implements Serializable { firePropertyChange(PROPERTY_SELECTED_REFERENTIEL, selectedReferentiel); } - public void setDatas(Map<ReferenceDto<ProgramDto>, List<ReferenceDto>> datas) { + public void setDatas(Map<ReferentialReference<ProgramDto>, List<DataReference>> datas) { this.datas = datas; // on compte le count de marées totale int nbTrips = 0; if (datas != null) { - for (List<ReferenceDto> marees : datas.values()) { + for (List<DataReference> marees : datas.values()) { nbTrips += marees.size(); } } @@ -375,7 +374,7 @@ public class DataSelectionModel implements Serializable { firePropertyChange(PROPERTY_DATAS, datas); } - public void addSelectedData(ReferenceDto referenceDto) { + public void addSelectedData(AbstractReference referenceDto) { if (ProgramDto.class.isAssignableFrom(referenceDto.getType())) { @@ -391,7 +390,7 @@ public class DataSelectionModel implements Serializable { if (log.isDebugEnabled()) { log.debug("Add Trip " + referenceDto.getId()); } - getSelectedData().add(referenceDto); + getSelectedData().add((DataReference) referenceDto); } firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); } @@ -400,13 +399,13 @@ public class DataSelectionModel implements Serializable { if (log.isDebugEnabled()) { log.debug("All all data."); } - for (List<ReferenceDto> p : datas.values()) { + for (List<DataReference> p : datas.values()) { getSelectedData().addAll(p); } firePropertyChange(PROPERTY_SELECTED_DATA, selectedData); } - public void removeSelectedData(ReferenceDto referenceDto) { + public void removeSelectedData(AbstractReference referenceDto) { if (ProgramDto.class.isAssignableFrom(referenceDto.getType())) { @@ -485,10 +484,10 @@ public class DataSelectionModel implements Serializable { destroy(); } - public List<ReferenceDto> getDatas(String programId) { - Optional<ReferenceDto<ProgramDto>> programRefOptional = Iterables.tryFind(getDatas().keySet(), IdDtos.newIdPredicate(programId)); + public List<DataReference> getDatas(String programId) { + Optional<ReferentialReference<ProgramDto>> programRefOptional = Iterables.tryFind(getDatas().keySet(), ReferentialReference.newIdPredicate(programId)); - List<ReferenceDto> result; + List<DataReference> result; if (programRefOptional.isPresent()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstractObserveTreeCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstractObserveTreeCellRenderer.java index 54cc51a..7571fae 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstractObserveTreeCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstractObserveTreeCellRenderer.java @@ -23,18 +23,18 @@ package fr.ird.observe.ui.tree; import com.google.common.base.Preconditions; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.db.DataContext; -import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.OpenableDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.content.impl.seine.FloatingObjectUI; import fr.ird.observe.ui.content.impl.seine.SetSeineUI; import fr.ird.observe.ui.content.open.impl.longline.ActivityLonglineUI; @@ -289,14 +289,27 @@ public abstract class AbstractObserveTreeCellRenderer extends AbstractNavTreeCel return text; } - if (node instanceof DtoNodeSupport) { - DtoNodeSupport entityNodeSupport = (DtoNodeSupport) node; + if (node instanceof DataReferenceNodeSupport) { + DataReferenceNodeSupport<?> entityNodeSupport = (DataReferenceNodeSupport) node; + + DataReference entity = entityNodeSupport.getEntity(); + + Preconditions.checkNotNull(entity, "L'entité doit être chargée dans le noeud: " + node); + + Decorator<?> decorator = getDecoratorService().getDataReferenceDecorator((Class) beanType); + String text = decorator.toString(entity); + + return text; + } + + if (node instanceof ReferentialReferenceNodeSupport) { + ReferentialReferenceNodeSupport<?> entityNodeSupport = (ReferentialReferenceNodeSupport) node; - IdDto entity = entityNodeSupport.getEntity(); + ReferentialReference entity = entityNodeSupport.getEntity(); Preconditions.checkNotNull(entity, "L'entité doit être chargée dans le noeud: " + node); - Decorator<?> decorator = getDecoratorService().getDecoratorByType(ReferenceDto.class, beanType.getSimpleName()); + Decorator<?> decorator = getDecoratorService().getReferentialReferenceDecorator((Class) beanType); String text = decorator.toString(entity); return text; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstrctReferenceNodeSupport.java similarity index 55% copy from observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java copy to observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstrctReferenceNodeSupport.java index b122b50..9a6b94f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/AbstrctReferenceNodeSupport.java @@ -22,29 +22,22 @@ package fr.ird.observe.ui.tree; * #L% */ -import fr.ird.observe.ObserveOpenDataManager; -import fr.ird.observe.ObserveSwingApplicationContext; +import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.OpenableDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.tree.loadors.AbstractNodeChildLoador; -import jaxx.runtime.swing.nav.NavBridge; -import jaxx.runtime.swing.nav.NavDataProvider; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import javax.swing.tree.DefaultTreeModel; - /** * Created on 4/9/15. * * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { +public abstract class AbstrctReferenceNodeSupport<E extends IdDto, R extends AbstractReference<E>> extends ObserveNode { /** Logger. */ - private static final Log log = LogFactory.getLog(DtoNodeSupport.class); + private static final Log log = LogFactory.getLog(AbstrctReferenceNodeSupport.class); private static final long serialVersionUID = 1L; @@ -54,60 +47,26 @@ public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { * * @since 4.0 */ - protected transient ReferenceDto<E> entity; + protected transient R entity; - private boolean reloadEntity; + protected boolean reloadEntity; - protected abstract ReferenceDto<E> fetchEntity(); + protected abstract R fetchEntity(); - protected DtoNodeSupport(Class<E> internalClass, ReferenceDto<E> entity) { + protected AbstrctReferenceNodeSupport(Class<E> internalClass, R entity) { this(internalClass, entity, null); } - protected DtoNodeSupport(Class<E> type, ReferenceDto<E> entity, AbstractNodeChildLoador<?, ?> childLoador) { + protected AbstrctReferenceNodeSupport(Class<E> type, R entity, AbstractNodeChildLoador<?, ?> childLoador) { this(type, entity, null, childLoador); } - protected DtoNodeSupport(Class<E> type, ReferenceDto<E> entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { + protected AbstrctReferenceNodeSupport(Class<E> type, R entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { super(type, entity.getId(), context, childLoador, false); setEntity(entity); } @Override - public void populateNode(NavBridge<DefaultTreeModel, ObserveNode> bridge, - NavDataProvider provider, - boolean populateChilds) { - - - try { - super.populateNode(bridge, provider, populateChilds); - } finally { - reloadEntity = false; - } - - if (provider != null && id != null) { - - if (entity == null) { - - loadEntity((ObserveDataProvider) provider); - - } - - if (OpenableDto.class.isAssignableFrom(entity.getType())) { - ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); - ObserveOpenDataManager openDataManager = applicationContext.getOpenDataManager(); - open = openDataManager.isOpen(entity.getId()); - if (log.isDebugEnabled()) { - log.debug("Set open: " + open + " for entity: " + id); - } - - } - - } - - } - - @Override public void setDirty(boolean dirty) { super.setDirty(dirty); @@ -117,11 +76,11 @@ public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { } - public ReferenceDto<E> getEntity() { + public R getEntity() { return entity; } - public void setEntity(ReferenceDto<E> entity) { + public void setEntity(R entity) { this.entity = entity; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivityLonglineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivityLonglineNode.java index 2b1bfd3..61ddd09 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivityLonglineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivityLonglineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.service.longline.ActivityLonglineService; import fr.ird.observe.ui.tree.loadors.ActivityLonglineNodeChildLoador; @@ -34,18 +34,18 @@ import fr.ird.observe.ui.tree.loadors.ActivityLonglineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class ActivityLonglineNode extends DtoNodeSupport<ActivityLonglineDto> { +public class ActivityLonglineNode extends DataReferenceNodeSupport<ActivityLonglineDto> { private static final long serialVersionUID = 1L; - public ActivityLonglineNode(ReferenceDto<ActivityLonglineDto> entity) { + public ActivityLonglineNode(DataReference<ActivityLonglineDto> entity) { super(ActivityLonglineDto.class, entity, ObserveTreeHelper.getChildLoador(ActivityLonglineNodeChildLoador.class)); } @Override - protected ReferenceDto<ActivityLonglineDto> fetchEntity() { + protected DataReference<ActivityLonglineDto> fetchEntity() { ActivityLonglineService service = ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); - ReferenceDto<ActivityLonglineDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<ActivityLonglineDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivitySeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivitySeineNode.java index 789bd94..ce85749 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivitySeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ActivitySeineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.ui.tree.loadors.ActivitySeineNodeChildLoador; @@ -34,24 +34,19 @@ import fr.ird.observe.ui.tree.loadors.ActivitySeineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class ActivitySeineNode extends DtoNodeSupport<ActivitySeineDto> { +public class ActivitySeineNode extends DataReferenceNodeSupport<ActivitySeineDto> { private static final long serialVersionUID = 1L; - public ActivitySeineNode(ReferenceDto<ActivitySeineDto> entity) { + public ActivitySeineNode(DataReference<ActivitySeineDto> entity) { super(ActivitySeineDto.class, entity, ObserveTreeHelper.getChildLoador(ActivitySeineNodeChildLoador.class)); } @Override - protected ReferenceDto<ActivitySeineDto> fetchEntity() { + protected DataReference<ActivitySeineDto> fetchEntity() { ActivitySeineService service = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); - ReferenceDto<ActivitySeineDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<ActivitySeineDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } -// @Override -// protected ActivitySeine getEntity(DataService dataService, DataSource source) { -// return dataService.getActivitySeineStub(source, id); -// } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataReferenceNodeSupport.java similarity index 53% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataReferenceNodeSupport.java index b122b50..a9aec72 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DtoNodeSupport.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataReferenceNodeSupport.java @@ -24,9 +24,9 @@ package fr.ird.observe.ui.tree; import fr.ird.observe.ObserveOpenDataManager; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.IdDto; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.OpenableDto; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.ui.tree.loadors.AbstractNodeChildLoador; import jaxx.runtime.swing.nav.NavBridge; import jaxx.runtime.swing.nav.NavDataProvider; @@ -41,36 +41,23 @@ import javax.swing.tree.DefaultTreeModel; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { +public abstract class DataReferenceNodeSupport<E extends DataDto> extends AbstrctReferenceNodeSupport<E, DataReference<E>> { /** Logger. */ - private static final Log log = LogFactory.getLog(DtoNodeSupport.class); + private static final Log log = LogFactory.getLog(DataReferenceNodeSupport.class); private static final long serialVersionUID = 1L; - /** - * Pour cacher l'entité attachée au noeud. - * Elle pourra être directement injectée pour éviter de la recharger (lors de la création d'un modèle initiale). - * - * @since 4.0 - */ - protected transient ReferenceDto<E> entity; - - private boolean reloadEntity; - - protected abstract ReferenceDto<E> fetchEntity(); - - protected DtoNodeSupport(Class<E> internalClass, ReferenceDto<E> entity) { - this(internalClass, entity, null); + protected DataReferenceNodeSupport(Class<E> internalClass, DataReference<E> entity) { + super(internalClass, entity, null); } - protected DtoNodeSupport(Class<E> type, ReferenceDto<E> entity, AbstractNodeChildLoador<?, ?> childLoador) { - this(type, entity, null, childLoador); + protected DataReferenceNodeSupport(Class<E> type, DataReference<E> entity, AbstractNodeChildLoador<?, ?> childLoador) { + super(type, entity, null, childLoador); } - protected DtoNodeSupport(Class<E> type, ReferenceDto<E> entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { - super(type, entity.getId(), context, childLoador, false); - setEntity(entity); + protected DataReferenceNodeSupport(Class<E> type, DataReference<E> entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { + super(type, entity, context, childLoador); } @Override @@ -107,50 +94,4 @@ public abstract class DtoNodeSupport<E extends IdDto> extends ObserveNode { } - @Override - public void setDirty(boolean dirty) { - super.setDirty(dirty); - - if (dirty && reloadEntity) { - entity = null; - } - - } - - public ReferenceDto<E> getEntity() { - return entity; - } - - public void setEntity(ReferenceDto<E> entity) { - this.entity = entity; - } - - - protected void loadEntity(ObserveDataProvider oProvider) { - - //FIXME -// if (oProvider.getSelectionModel() != null) { -// -// if (log.isDebugEnabled()) { -// log.debug("try to get entity from selectionModel " + internalClass + " : " + id); -// } -// entity = (ReferenceDto<E>) oProvider.getSelectionModel().getEntityCache(id); -// } - - if (entity == null) { - - if (log.isInfoEnabled()) { - log.info("will load entity " + internalClass.getSimpleName() + " : " + id); - } - - entity = fetchEntity(); - - } - - } - - public void setReloadEntity(boolean reloadEntity) { - this.reloadEntity = reloadEntity; - } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java index f668715..d06c8b6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeCellRenderer.java @@ -21,7 +21,7 @@ */ package fr.ird.observe.ui.tree; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -47,16 +47,17 @@ import static org.nuiton.i18n.I18n.t; public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRenderer { /** Logger */ - private static final Log log = - LogFactory.getLog(DataSelectionTreeCellRenderer.class); + private static final Log log = LogFactory.getLog(DataSelectionTreeCellRenderer.class); - protected List<ReferenceDto> existingTrips; + private static final long serialVersionUID = 1L; - public List<ReferenceDto> getExistingTrips() { + protected List<DataReference<?>> existingTrips; + + public List<DataReference<?>> getExistingTrips() { return existingTrips; } - public void setExistingTrips(List<ReferenceDto> existingTrips) { + public void setExistingTrips(List<DataReference<?>> existingTrips) { this.existingTrips = existingTrips; } @@ -113,7 +114,7 @@ public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRender if (existingTrips != null) { - if (existingTrips.contains(((TripSeineNode)node).getEntity())) { + if (existingTrips.contains(((TripSeineNode) node).getEntity())) { text = t("observe.comon.exist.on.remote", text); exist = true; } @@ -144,6 +145,7 @@ public class DataSelectionTreeCellRenderer extends AbstractObserveTreeCellRender UIDefaults defaults = new UIDefaults(); Painter<JComponent> painter = new Painter<JComponent>() { + public void paint(Graphics2D g, JComponent c, int w, int h) { g.fillRect(0, 0, w, h); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java index 939df02..ae187d4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/DataSelectionTreeSelectionModel.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.tree; import com.google.common.collect.Sets; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -119,7 +119,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop // build universe of path : position of path in universe is // exactly the row of the path int count = tree.getRowCount(); - universe = new HashSet<TreePath>(count); + universe = new HashSet<>(count); for (i = 0; i < count; i++) { TreePath path = tree.getPathForRow(i); universe.add(path); @@ -173,12 +173,12 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop universe.add(path); if (log.isDebugEnabled()) { log.debug("add new path to universe " + - path.getLastPathComponent()); + path.getLastPathComponent()); } if (!referentiel && ProgramDto.class.equals(internalClass)) { if (log.isDebugEnabled()) { log.debug("Adding program childs path (" + - node.getChildCount() + ")"); + node.getChildCount() + ")"); } // on ajoute toutes les marees du program Enumeration<?> childs = node.children(); @@ -202,7 +202,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop ObserveNode parentNode = node.getParent(); if (log.isDebugEnabled()) { log.debug("Adding program with his childs (" + - parentNode.getChildCount() + ")"); + parentNode.getChildCount() + ")"); } Enumeration<?> childs = parentNode.children(); while (childs.hasMoreElements()) { @@ -229,7 +229,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop Set<Class<? extends ReferentialDto>> subClasses = Sets.newHashSet(); - for (Enumeration<ObserveNode> children = node.children(); children.hasMoreElements();) { + for (Enumeration<ObserveNode> children = node.children(); children.hasMoreElements(); ) { subClasses.add((Class<? extends ReferentialDto>) children.nextElement().getInternalClass()); } @@ -263,8 +263,8 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop return; } - if (node instanceof DtoNodeSupport) { - ReferenceDto dto = ((DtoNodeSupport) node).getEntity(); + if (node instanceof DataReferenceNodeSupport) { + DataReference dto = ((DataReferenceNodeSupport<?>) node).getEntity(); if (log.isDebugEnabled()) { log.debug("bean " + dto.getId()); } @@ -335,8 +335,8 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop if (node.isReferentielNode() && node.isStringNode()) { Set<Class<? extends ReferentialDto>> subClasses = Sets.newHashSet(); - for (Enumeration<ObserveNode> children = node.children(); children.hasMoreElements();) { - subClasses.add((Class<? extends ReferentialDto>) children.nextElement().getInternalClass()); + for (Enumeration<ObserveNode> children = node.children(); children.hasMoreElements(); ) { + subClasses.add((Class<? extends ReferentialDto>) children.nextElement().getInternalClass()); } boolean result = dataModel.isReferentielSelectAll(subClasses); @@ -359,8 +359,8 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop log.trace("begin data node " + node); } - if (node instanceof DtoNodeSupport) { - boolean result = dataModel.isSelectedData(((DtoNodeSupport) node).getEntity()); + if (node instanceof DataReferenceNodeSupport) { + boolean result = dataModel.isSelectedData(((DataReferenceNodeSupport) node).getEntity()); if (log.isTraceEnabled()) { log.trace("selectModel contains the program ? " + result); } @@ -368,7 +368,6 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop } - } return false; } @@ -604,7 +603,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop } } - protected void addToDataModel(ReferenceDto dto) { + protected void addToDataModel(DataReference dto) { if (log.isTraceEnabled()) { log.trace("selectModel add " + dto.getId()); @@ -613,7 +612,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop } - protected void removeFromDataModel(ReferenceDto dto) { + protected void removeFromDataModel(DataReference dto) { if (log.isTraceEnabled()) { log.trace("selectModel remove " + dto.getId()); } @@ -645,7 +644,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop Collections.<TreePath>emptyList() : Arrays.asList(selection); - List<TreePath> newSelection = new ArrayList<TreePath>(); + List<TreePath> newSelection = new ArrayList<>(); for (TreePath p : universe) { if (isPathSelected(p)) { @@ -685,10 +684,10 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop } // calcule des paths qui ont changés - List<TreePath> obsoleteSelection = new ArrayList<TreePath>(oldSelection); + List<TreePath> obsoleteSelection = new ArrayList<>(oldSelection); obsoleteSelection.removeAll(newSelection); - List<TreePath> changedPaths = new ArrayList<TreePath>(oldSelection); + List<TreePath> changedPaths = new ArrayList<>(oldSelection); changedPaths.addAll(newSelection); TreePath[] treePaths = changedPaths.toArray(new TreePath[changedPaths.size()]); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/FloatingObjectSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/FloatingObjectSeineNode.java index e57de1b..406a1c0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/FloatingObjectSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/FloatingObjectSeineNode.java @@ -22,11 +22,8 @@ package fr.ird.observe.ui.tree; * #L% */ -import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.FormDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.service.seine.FloatingObjectService; import fr.ird.observe.ui.tree.loadors.FloatingObjectNodeChildLoador; @@ -37,18 +34,18 @@ import fr.ird.observe.ui.tree.loadors.FloatingObjectNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class FloatingObjectSeineNode extends DtoNodeSupport<FloatingObjectDto> { +public class FloatingObjectSeineNode extends DataReferenceNodeSupport<FloatingObjectDto> { private static final long serialVersionUID = 1L; - public FloatingObjectSeineNode(ReferenceDto<FloatingObjectDto> entity) { + public FloatingObjectSeineNode(DataReference<FloatingObjectDto> entity) { super(FloatingObjectDto.class, entity, ObserveTreeHelper.getChildLoador(FloatingObjectNodeChildLoador.class)); } @Override - protected ReferenceDto<FloatingObjectDto> fetchEntity() { + protected DataReference<FloatingObjectDto> fetchEntity() { FloatingObjectService service = ObserveSwingApplicationContext.get().newService(FloatingObjectService.class); - ReferenceDto<FloatingObjectDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<FloatingObjectDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeBridge.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeBridge.java index 36257a6..76811ab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeBridge.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeBridge.java @@ -49,7 +49,7 @@ public class ObserveTreeBridge extends NavTreeBridge<ObserveNode> { protected List<String> pathToSelect; public ObserveTreeBridge() { - pathToSelect = new ArrayList<String>(); + pathToSelect = new ArrayList<>(); } public void setUi(JTree ui) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java index e532c88..3ac8f06 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveTreeHelper.java @@ -26,25 +26,20 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; -import fr.ird.observe.services.dto.longline.ActivityLonglineDtos; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; -import fr.ird.observe.services.dto.longline.TripLonglineDtos; +import fr.ird.observe.services.dto.reference.ReferenceBinderEngine; import fr.ird.observe.services.dto.referential.ProgramDto; -import fr.ird.observe.services.dto.referential.ReferentialReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.seine.ActivitySeineDto; -import fr.ird.observe.services.dto.seine.ActivitySeineDtos; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.RouteDto; -import fr.ird.observe.services.dto.seine.RouteDtos; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TripSeineDto; -import fr.ird.observe.services.dto.seine.TripSeineDtos; -import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; @@ -57,6 +52,7 @@ import fr.ird.observe.ui.tree.loadors.ProgramLonglineNodeChildLoador; import fr.ird.observe.ui.tree.loadors.ProgramSeineNodeChildLoador; import fr.ird.observe.ui.tree.loadors.RootNodeChildLoador; import fr.ird.observe.ui.tree.loadors.RoutesNodeChildLoador; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import jaxx.runtime.JAXXContext; import jaxx.runtime.swing.nav.NavDataProvider; import jaxx.runtime.swing.nav.tree.NavTreeHelper; @@ -64,7 +60,6 @@ import jaxx.runtime.validator.swing.SwingValidatorMessageTableModel; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.decorator.Decorator; import javax.swing.JTree; import javax.swing.tree.DefaultTreeModel; @@ -76,6 +71,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.n; @@ -94,10 +90,6 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { private boolean createUnsaved; - public ObserveTreeHelper() { - super(new ObserveTreeBridge()); - } - public static ObserveNode createStringNode(String context) { ObserveNode result = createStringNode(context, null); @@ -119,17 +111,22 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { } - @Override - protected ObserveDataProvider getDataProvider() { - ObserveDataProvider provider = (ObserveDataProvider) super.getDataProvider(); - if (provider == null) { - ObserveSwingDataSource source = ObserveSwingApplicationContext.get().getDataSource(); - if (source != null) { - provider = new ObserveDataProvider(source); - setDataProvider(provider); + public static void sortPrograms(List<ReferentialReference<ProgramDto>> data) { + Collections.sort(data, new Comparator<ReferentialReference<ProgramDto>>() { + + ReferentialReferenceDecorator<ProgramDto> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); + + @Override + public int compare(ReferentialReference<ProgramDto> o1, ReferentialReference<ProgramDto> o2) { + + + return this.decorator.toString(o1).compareTo(this.decorator.toString(o2)); } - } - return provider; + }); + } + + public ObserveTreeHelper() { + super(new ObserveTreeBridge()); } public NavigationTreeSelectionModel newNavigationSelectionModel() { @@ -242,11 +239,6 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { getUI().setVisible(true); } - @Override - protected ObserveTreeBridge getBridge() { - return (ObserveTreeBridge) super.getBridge(); - } - /** * Nettoye des ui tout ce qui concerne un modèle de navigation. * <p/> @@ -413,36 +405,39 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { } public <E extends IdDto> ObserveNode addOpenable(ObserveNode parentNode, E bean) { + + ReferenceBinderEngine referenceBinderEngine = ObserveSwingApplicationContext.get().getReferenceBinderEngine(); + ReferentialLocale referentialLocale = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialLocale(); if (bean instanceof TripSeineDto) { - ReferenceDto<TripSeineDto> ref = TripSeineDtos.newReferenceDto((TripSeineDto) bean); + DataReference<TripSeineDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (TripSeineDto) bean); return addTripSeine(parentNode, ref); } else if (bean instanceof TripLonglineDto) { - ReferenceDto<TripLonglineDto> ref = TripLonglineDtos.newReferenceDto((TripLonglineDto) bean); - return addTripLongline(parentNode, ref); + DataReference<TripLonglineDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (TripLonglineDto) bean); + return addTripLongline(parentNode, ref); } else if (bean instanceof RouteDto) { - ReferenceDto<RouteDto> ref = RouteDtos.newReferenceDto((RouteDto) bean); + DataReference<RouteDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (RouteDto) bean); return addRoute(parentNode, ref); } else if (bean instanceof ActivitySeineDto) { - ReferenceDto<ActivitySeineDto> ref = ActivitySeineDtos.newReferenceDto((ActivitySeineDto) bean); + DataReference<ActivitySeineDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (ActivitySeineDto) bean); return addActivitySeine(parentNode, ref); } else if (bean instanceof ActivityLonglineDto) { - ReferenceDto<ActivityLonglineDto> ref = ActivityLonglineDtos.newReferenceDto((ActivityLonglineDto) bean); + DataReference<ActivityLonglineDto> ref = referenceBinderEngine.transformDataDtoToReference(referentialLocale, (ActivityLonglineDto) bean); return addActivityLongline(parentNode, ref); } throw new IllegalStateException("Can not come here!"); } - public ObserveNode addTripSeine(ObserveNode parentNode, ReferenceDto<TripSeineDto> bean) { + public ObserveNode addTripSeine(ObserveNode parentNode, DataReference<TripSeineDto> bean) { ProgramSeineNodeChildLoador loador = getChildLoador(ProgramSeineNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -450,7 +445,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addTripLongline(ObserveNode parentNode, ReferenceDto<TripLonglineDto> bean) { + public ObserveNode addTripLongline(ObserveNode parentNode, DataReference<TripLonglineDto> bean) { ProgramLonglineNodeChildLoador loador = getChildLoador(ProgramLonglineNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -458,7 +453,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addRoute(ObserveNode parentNode, ReferenceDto<RouteDto> bean) { + public ObserveNode addRoute(ObserveNode parentNode, DataReference<RouteDto> bean) { RoutesNodeChildLoador loador = getChildLoador(RoutesNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -466,7 +461,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addActivitySeine(ObserveNode parentNode, ReferenceDto<ActivitySeineDto> bean) { + public ObserveNode addActivitySeine(ObserveNode parentNode, DataReference<ActivitySeineDto> bean) { ActivitySeinesNodeChildLoador loador = getChildLoador(ActivitySeinesNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -474,7 +469,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addActivityLongline(ObserveNode parentNode, ReferenceDto<ActivityLonglineDto> bean) { + public ObserveNode addActivityLongline(ObserveNode parentNode, DataReference<ActivityLonglineDto> bean) { ActivityLonglinesNodeChildLoador loador = getChildLoador(ActivityLonglinesNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -482,7 +477,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addFloatingObject(ObserveNode parentNode, ReferenceDto<FloatingObjectDto> bean) { + public ObserveNode addFloatingObject(ObserveNode parentNode, DataReference<FloatingObjectDto> bean) { ActivitySeineNodeChildLoador loador = getChildLoador(ActivitySeineNodeChildLoador.class); ObserveNode result = loador.createNode(bean, dataProvider); @@ -490,7 +485,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addSetSeine(ObserveNode parentNode, ReferenceDto<SetSeineDto> bean) { + public ObserveNode addSetSeine(ObserveNode parentNode, DataReference<SetSeineDto> bean) { ActivitySeineNodeChildLoador loador = getChildLoador(ActivitySeineNodeChildLoador.class); ObserveNode result = loador.createSetNode(bean); @@ -498,7 +493,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addSetLongline(ObserveNode parentNode, ReferenceDto<SetLonglineDto> bean) { + public ObserveNode addSetLongline(ObserveNode parentNode, DataReference<SetLonglineDto> bean) { ActivityLonglineNodeChildLoador loador = getChildLoador(ActivityLonglineNodeChildLoador.class); ObserveNode result = loador.createSetNode(bean); @@ -506,12 +501,10 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { return result; } - public ObserveNode addProgram(ReferenceDto<ProgramDto> bean) throws Exception { + public ObserveNode addProgram(ReferentialReference<ProgramDto> bean) throws Exception { - ReferentialService referentialService = - ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceSetDto<ProgramDto> programs = referentialService.getReferentialReferenceSet(ProgramDto.class); - List data = Lists.newArrayList(programs.getReference()); + Set<ReferentialReference<ProgramDto>> programs = getDataProvider().getDataSource().getReferentialReferences(ProgramDto.class); + List data = Lists.newArrayList(programs); int newIndex = 0; if (CollectionUtils.isNotEmpty(data)) { sortPrograms(data); @@ -539,22 +532,9 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { refreshNode(result, false); } - public static void sortPrograms(List<ReferenceDto<ProgramDto>> data) { - Collections.sort(data, new Comparator<ReferenceDto<ProgramDto>>() { - - Decorator<ReferentialReferenceDto<ProgramDto>> decorator = - ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); - - @Override - public int compare(ReferenceDto<ProgramDto> o1, ReferenceDto<ProgramDto> o2) { - return decorator.toString(o1).compareTo(decorator.toString(o2)); - } - }); - } - public void reloadSelectedNode(boolean refreshFromParent, boolean refreshChilds) { ObserveNode node = getSelectedNode(); - ((DtoNodeSupport) node).setReloadEntity(true); + ((AbstrctReferenceNodeSupport) node).setReloadEntity(true); if (refreshFromParent) { node = node.getParent(); @@ -563,10 +543,31 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { } public void reloadNode(ObserveNode node, boolean refreshChilds) { - ((DtoNodeSupport) node).setReloadEntity(true); + ((AbstrctReferenceNodeSupport) node).setReloadEntity(true); refreshNode(node, refreshChilds); } + public boolean isCreateUnsaved() { + return createUnsaved; + } + + @Override + protected ObserveDataProvider getDataProvider() { + ObserveDataProvider provider = (ObserveDataProvider) super.getDataProvider(); + if (provider == null) { + ObserveSwingDataSource source = ObserveSwingApplicationContext.get().getDataSource(); + if (source != null) { + provider = new ObserveDataProvider(source); + setDataProvider(provider); + } + } + return provider; + } + + @Override + protected ObserveTreeBridge getBridge() { + return (ObserveTreeBridge) super.getBridge(); + } void setDataSource(ObserveSwingDataSource source) { NavDataProvider provider = null; @@ -576,8 +577,4 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { setDataProvider(provider); } - public boolean isCreateUnsaved() { - return createUnsaved; - } - } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramLonglineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramLonglineNode.java index de801c1..f6afe07 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramLonglineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramLonglineNode.java @@ -23,9 +23,9 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.tree.loadors.ProgramLonglineNodeChildLoador; @@ -35,11 +35,11 @@ import fr.ird.observe.ui.tree.loadors.ProgramLonglineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class ProgramLonglineNode extends DtoNodeSupport<ProgramDto> { +public class ProgramLonglineNode extends ReferentialReferenceNodeSupport<ProgramDto> { private static final long serialVersionUID = 1L; - public ProgramLonglineNode(ReferenceDto<ProgramDto> entity) { + public ProgramLonglineNode(ReferentialReference<ProgramDto> entity) { super(ProgramDto.class, entity, ((GearType) entity.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE)).name(), @@ -49,9 +49,9 @@ public class ProgramLonglineNode extends DtoNodeSupport<ProgramDto> { } @Override - protected ReferenceDto<ProgramDto> fetchEntity() { + protected ReferentialReference<ProgramDto> fetchEntity() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceDto<ProgramDto> referenceDto = service.loadReferenceToRead(ProgramDto.class, getId()); + ReferentialReference<ProgramDto> referenceDto = service.loadReference(ProgramDto.class, getId()); return referenceDto; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramSeineNode.java index 27706d3..ec51409 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ProgramSeineNode.java @@ -23,9 +23,9 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.tree.loadors.ProgramSeineNodeChildLoador; @@ -35,11 +35,11 @@ import fr.ird.observe.ui.tree.loadors.ProgramSeineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class ProgramSeineNode extends DtoNodeSupport<ProgramDto> { +public class ProgramSeineNode extends ReferentialReferenceNodeSupport<ProgramDto> { private static final long serialVersionUID = 1L; - public ProgramSeineNode(ReferenceDto<ProgramDto> entity) { + public ProgramSeineNode(ReferentialReference<ProgramDto> entity) { super(ProgramDto.class, entity, ((GearType) entity.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE)).name(), @@ -47,9 +47,9 @@ public class ProgramSeineNode extends DtoNodeSupport<ProgramDto> { } @Override - protected ReferenceDto<ProgramDto> fetchEntity() { + protected ReferentialReference<ProgramDto> fetchEntity() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceDto<ProgramDto> referenceDto = service.loadReferenceToRead(ProgramDto.class, getId()); + ReferentialReference<ProgramDto> referenceDto = service.loadReference(ProgramDto.class, getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ReferentialReferenceNodeSupport.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ReferentialReferenceNodeSupport.java new file mode 100644 index 0000000..f68d7f2 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ReferentialReferenceNodeSupport.java @@ -0,0 +1,84 @@ +package fr.ird.observe.ui.tree; + +/* + * #%L + * ObServe :: Swing + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.ui.tree.loadors.AbstractNodeChildLoador; +import jaxx.runtime.swing.nav.NavBridge; +import jaxx.runtime.swing.nav.NavDataProvider; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import javax.swing.tree.DefaultTreeModel; + +/** + * Created on 4/9/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public abstract class ReferentialReferenceNodeSupport<E extends ReferentialDto> extends AbstrctReferenceNodeSupport<E, ReferentialReference<E>> { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReferentialReferenceNodeSupport.class); + + private static final long serialVersionUID = 1L; + + protected ReferentialReferenceNodeSupport(Class<E> internalClass, ReferentialReference<E> entity) { + super(internalClass, entity, null); + } + + protected ReferentialReferenceNodeSupport(Class<E> type, ReferentialReference<E> entity, AbstractNodeChildLoador<?, ?> childLoador) { + super(type, entity, null, childLoador); + } + + protected ReferentialReferenceNodeSupport(Class<E> type, ReferentialReference<E> entity, String context, AbstractNodeChildLoador<?, ?> childLoador) { + super(type, entity, context, childLoador); + } + + @Override + public void populateNode(NavBridge<DefaultTreeModel, ObserveNode> bridge, + NavDataProvider provider, + boolean populateChilds) { + + + try { + super.populateNode(bridge, provider, populateChilds); + } finally { + reloadEntity = false; + } + + if (provider != null && id != null) { + + if (entity == null) { + + loadEntity((ObserveDataProvider) provider); + + } + + } + + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/RouteSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/RouteSeineNode.java index d2132d0..f1d3cf7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/RouteSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/RouteSeineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.RouteService; @@ -33,18 +33,18 @@ import fr.ird.observe.services.service.seine.RouteService; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class RouteSeineNode extends DtoNodeSupport<RouteDto> { +public class RouteSeineNode extends DataReferenceNodeSupport<RouteDto> { private static final long serialVersionUID = 1L; - public RouteSeineNode(ReferenceDto<RouteDto> entity) { + public RouteSeineNode(DataReference<RouteDto> entity) { super(RouteDto.class, entity); } @Override - protected ReferenceDto<RouteDto> fetchEntity() { + protected DataReference<RouteDto> fetchEntity() { RouteService routeService = ObserveSwingApplicationContext.get().newService(RouteService.class); - ReferenceDto<RouteDto> referenceDto = routeService.loadReferenceToRead(getId()); + DataReference<RouteDto> referenceDto = routeService.loadReferenceToRead(getId()); return referenceDto; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetLonglineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetLonglineNode.java index b15d53b..777d6c0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetLonglineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetLonglineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.service.longline.SetLonglineService; import fr.ird.observe.ui.tree.loadors.SetLonglineNodeChildLoador; @@ -34,18 +34,18 @@ import fr.ird.observe.ui.tree.loadors.SetLonglineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class SetLonglineNode extends DtoNodeSupport<SetLonglineDto> { +public class SetLonglineNode extends DataReferenceNodeSupport<SetLonglineDto> { private static final long serialVersionUID = 1L; - public SetLonglineNode(ReferenceDto<SetLonglineDto> entity) { + public SetLonglineNode(DataReference<SetLonglineDto> entity) { super(SetLonglineDto.class, entity, ObserveTreeHelper.getChildLoador(SetLonglineNodeChildLoador.class)); } @Override - protected ReferenceDto<SetLonglineDto> fetchEntity() { + protected DataReference<SetLonglineDto> fetchEntity() { SetLonglineService service = ObserveSwingApplicationContext.get().newService(SetLonglineService.class); - ReferenceDto<SetLonglineDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<SetLonglineDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetSeineNode.java index 6bef031..e8fa36e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/SetSeineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.service.seine.SetSeineService; import fr.ird.observe.ui.tree.loadors.SetSeineNodeChildLoador; @@ -34,18 +34,18 @@ import fr.ird.observe.ui.tree.loadors.SetSeineNodeChildLoador; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class SetSeineNode extends DtoNodeSupport<SetSeineDto> { +public class SetSeineNode extends DataReferenceNodeSupport<SetSeineDto> { private static final long serialVersionUID = 1L; - public SetSeineNode(ReferenceDto<SetSeineDto> entity) { + public SetSeineNode(DataReference<SetSeineDto> entity) { super(SetSeineDto.class, entity, ObserveTreeHelper.getChildLoador(SetSeineNodeChildLoador.class)); } @Override - protected ReferenceDto<SetSeineDto> fetchEntity() { + protected DataReference<SetSeineDto> fetchEntity() { SetSeineService service = ObserveSwingApplicationContext.get().newService(SetSeineService.class); - ReferenceDto<SetSeineDto> referenceDto = service.loadReferenceToRead(getId()); + DataReference<SetSeineDto> referenceDto = service.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java index 2a2787d..48dce95 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripLonglineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.TripLonglineService; @@ -33,18 +33,18 @@ import fr.ird.observe.services.service.longline.TripLonglineService; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class TripLonglineNode extends DtoNodeSupport<TripLonglineDto> { +public class TripLonglineNode extends DataReferenceNodeSupport<TripLonglineDto> { private static final long serialVersionUID = 1L; - public TripLonglineNode(ReferenceDto<TripLonglineDto> entity) { + public TripLonglineNode(DataReference<TripLonglineDto> entity) { super(TripLonglineDto.class, entity); } @Override - protected ReferenceDto<TripLonglineDto> fetchEntity() { + protected DataReference<TripLonglineDto> fetchEntity() { TripLonglineService tripLonglineService = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - ReferenceDto<TripLonglineDto> referenceDto = tripLonglineService.loadReferenceToRead(getId()); + DataReference<TripLonglineDto> referenceDto = tripLonglineService.loadReferenceToRead(getId()); return referenceDto; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripSeineNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripSeineNode.java index efd2dd9..043195d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripSeineNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/TripSeineNode.java @@ -23,7 +23,7 @@ package fr.ird.observe.ui.tree; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.TripSeineService; @@ -33,19 +33,19 @@ import fr.ird.observe.services.service.seine.TripSeineService; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class TripSeineNode extends DtoNodeSupport<TripSeineDto> { +public class TripSeineNode extends DataReferenceNodeSupport<TripSeineDto> { private static final long serialVersionUID = 1L; - public TripSeineNode(ReferenceDto<TripSeineDto> entity) { + public TripSeineNode(DataReference<TripSeineDto> entity) { super(TripSeineDto.class, entity); } @Override - protected ReferenceDto<TripSeineDto> fetchEntity() { + protected DataReference<TripSeineDto> fetchEntity() { TripSeineService tripSeineService = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - ReferenceDto<TripSeineDto> referenceDto = tripSeineService.loadReferenceToRead(getId()); + DataReference<TripSeineDto> referenceDto = tripSeineService.loadReferenceToRead(getId()); return referenceDto; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractDataReferenceChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractDataReferenceChildLoador.java new file mode 100644 index 0000000..8b90d82 --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractDataReferenceChildLoador.java @@ -0,0 +1,17 @@ +package fr.ird.observe.ui.tree.loadors; + +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; + +/** + * @author Kevin Morin (Code Lutin) + * @since x.x + */ +public abstract class AbstractDataReferenceChildLoador<O extends DataDto> extends AbstractNodeChildLoador<DataReference<O>, O> { + + private static final long serialVersionUID = 1L; + + protected AbstractDataReferenceChildLoador(Class<O> beanType) { + super(beanType); + } +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractReferenceDtoChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractReferenceDtoChildLoador.java deleted file mode 100644 index 1b62a92..0000000 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/AbstractReferenceDtoChildLoador.java +++ /dev/null @@ -1,17 +0,0 @@ -package fr.ird.observe.ui.tree.loadors; - -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; - -/** - * @author Kevin Morin (Code Lutin) - * @since x.x - */ -public abstract class AbstractReferenceDtoChildLoador<O extends IdDto> extends AbstractNodeChildLoador<ReferenceDto<O>, O> { - - private static final long serialVersionUID = 1L; - - protected AbstractReferenceDtoChildLoador(Class<O> beanType) { - super(beanType); - } -} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglineNodeChildLoador.java index be4ff46..914cd0f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglineNodeChildLoador.java @@ -22,7 +22,7 @@ package fr.ird.observe.ui.tree.loadors; * #L% */ -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; @@ -72,9 +72,9 @@ public class ActivityLonglineNodeChildLoador extends AbstractNodeChildLoador<Str { - ReferenceDto<ActivityLonglineDto> activityLonglineRef = ((ActivityLonglineNode) parentNode).getEntity(); + DataReference<ActivityLonglineDto> activityLonglineRef = ((ActivityLonglineNode) parentNode).getEntity(); - ReferenceDto<SetLonglineDto> setLonglineRef = (ReferenceDto<SetLonglineDto>) activityLonglineRef.getPropertyValue(ActivityLonglineDto.PROPERTY_SET_LONGLINE); + DataReference<SetLonglineDto> setLonglineRef = (DataReference<SetLonglineDto>) activityLonglineRef.getPropertyValue(ActivityLonglineDto.PROPERTY_SET_LONGLINE); if (setLonglineRef != null) { // si set present, ajout d'un noeud @@ -109,7 +109,7 @@ public class ActivityLonglineNodeChildLoador extends AbstractNodeChildLoador<Str } - public ObserveNode createSetNode(ReferenceDto<SetLonglineDto> data) { + public ObserveNode createSetNode(DataReference<SetLonglineDto> data) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglinesNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglinesNodeChildLoador.java index ca34e06..d2a6d37 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglinesNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivityLonglinesNodeChildLoador.java @@ -23,9 +23,8 @@ package fr.ird.observe.ui.tree.loadors; */ import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.service.longline.ActivityLonglineService; import fr.ird.observe.ui.tree.ActivityLonglineNode; @@ -41,7 +40,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public class ActivityLonglinesNodeChildLoador extends AbstractReferenceDtoChildLoador<ActivityLonglineDto> { +public class ActivityLonglinesNodeChildLoador extends AbstractDataReferenceChildLoador<ActivityLonglineDto> { private static final long serialVersionUID = 1L; @@ -50,19 +49,19 @@ public class ActivityLonglinesNodeChildLoador extends AbstractReferenceDtoChildL } @Override - public List<ReferenceDto<ActivityLonglineDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<ActivityLonglineDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { ActivityLonglineService activityLonglineService = ObserveSwingApplicationContext.get().newService(ActivityLonglineService.class); - ReferenceSetDto<ActivityLonglineDto> activityLonglineByTripLongline = activityLonglineService.getActivityLonglineByTripLongline(parentId); + DataReferenceSet<ActivityLonglineDto> activityLonglineByTripLongline = activityLonglineService.getActivityLonglineByTripLongline(parentId); - return new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(activityLonglineByTripLongline.getReference())); + return new ArrayList<>(activityLonglineByTripLongline.getReferences()); } @Override - public ObserveNode createNode(ReferenceDto<ActivityLonglineDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<ActivityLonglineDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeineNodeChildLoador.java index 3b0442d..171e171 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeineNodeChildLoador.java @@ -22,9 +22,8 @@ package fr.ird.observe.ui.tree.loadors; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; @@ -49,7 +48,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoador<FloatingObjectDto> { +public class ActivitySeineNodeChildLoador extends AbstractDataReferenceChildLoador<FloatingObjectDto> { private static final long serialVersionUID = 1L; @@ -79,8 +78,8 @@ public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoado parentNode.add(child); - ReferenceDto<ActivitySeineDto> activitySeineRef = ((ActivitySeineNode) parentNode).getEntity(); - ReferenceDto<SetSeineDto> setSeineRef = (ReferenceDto<SetSeineDto>) activitySeineRef.getPropertyValue(ActivitySeineDto.PROPERTY_SET_SEINE); + DataReference<ActivitySeineDto> activitySeineRef = ((ActivitySeineNode) parentNode).getEntity(); + DataReference<SetSeineDto> setSeineRef = (DataReference<SetSeineDto>) activitySeineRef.getPropertyValue(ActivitySeineDto.PROPERTY_SET_SEINE); if (setSeineRef != null) { // si set present, ajout d'un noeud @@ -92,7 +91,7 @@ public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoado super.loadChilds(model, parentNode, dataProvider); } - public ObserveNode createSetNode(ReferenceDto<SetSeineDto> data) { + public ObserveNode createSetNode(DataReference<SetSeineDto> data) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } @@ -103,7 +102,7 @@ public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoado } @Override - public ObserveNode createNode(ReferenceDto<FloatingObjectDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<FloatingObjectDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } @@ -114,14 +113,13 @@ public class ActivitySeineNodeChildLoador extends AbstractReferenceDtoChildLoado } @Override - public List<ReferenceDto<FloatingObjectDto>> getData(Class<?> parentClass, + public List<DataReference<FloatingObjectDto>> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) throws Exception { FloatingObjectService service = ObserveSwingApplicationContext.get().newService(FloatingObjectService.class); - ReferenceSetDto<FloatingObjectDto> floatingObjectByActivitySeine = service.getFloatingObjectByActivitySeine(parentId); - - return new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(floatingObjectByActivitySeine.getReference())); + DataReferenceSet<FloatingObjectDto> floatingObjectByActivitySeine = service.getFloatingObjectByActivitySeine(parentId); + return new ArrayList<>(floatingObjectByActivitySeine.getReferences()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeinesNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeinesNodeChildLoador.java index 63be2af..d741961 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeinesNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ActivitySeinesNodeChildLoador.java @@ -22,9 +22,8 @@ package fr.ird.observe.ui.tree.loadors; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.service.seine.ActivitySeineService; import fr.ird.observe.ui.tree.ActivitySeineNode; @@ -40,7 +39,7 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class ActivitySeinesNodeChildLoador extends AbstractReferenceDtoChildLoador<ActivitySeineDto> { +public class ActivitySeinesNodeChildLoador extends AbstractDataReferenceChildLoador<ActivitySeineDto> { private static final long serialVersionUID = 1L; @@ -49,19 +48,18 @@ public class ActivitySeinesNodeChildLoador extends AbstractReferenceDtoChildLoad } @Override - public List<ReferenceDto<ActivitySeineDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<ActivitySeineDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { ActivitySeineService activitySeineService = ObserveSwingApplicationContext.get().newService(ActivitySeineService.class); - ReferenceSetDto<ActivitySeineDto> activitySeineStubByRoute = activitySeineService.getActivitySeineByRoute(parentId); - - return new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(activitySeineStubByRoute.getReference())); + DataReferenceSet<ActivitySeineDto> activitySeineStubByRoute = activitySeineService.getActivitySeineByRoute(parentId); + return new ArrayList<>(activitySeineStubByRoute.getReferences()); } @Override - public ObserveNode createNode(ReferenceDto<ActivitySeineDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<ActivitySeineDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/FloatingObjectNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/FloatingObjectNodeChildLoador.java index defaa57..68c44bb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/FloatingObjectNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/FloatingObjectNodeChildLoador.java @@ -59,7 +59,7 @@ public class FloatingObjectNodeChildLoador extends AbstractNodeChildLoador<Strin String parentId, NavDataProvider dataService) { - List<String> result = new ArrayList<String>(); + List<String> result = new ArrayList<>(); result.add(FloatingObjectDto.PROPERTY_OBJECT_OPERATION); result.add(FloatingObjectSchoolEstimateDto.PROPERTY_OBJECT_SCHOOL_ESTIMATE); result.add(FloatingObjectObservedSpeciesDto.PROPERTY_OBJECT_OBSERVED_SPECIES); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramLonglineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramLonglineNodeChildLoador.java index d29e594..70c65bc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramLonglineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramLonglineNodeChildLoador.java @@ -24,9 +24,8 @@ package fr.ird.observe.ui.tree.loadors; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.service.longline.TripLonglineService; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; @@ -36,6 +35,7 @@ import fr.ird.observe.ui.tree.TripLonglineNode; import jaxx.runtime.swing.nav.NavDataProvider; import jaxx.runtime.swing.nav.tree.NavTreeBridge; +import java.util.Collection; import java.util.List; import static org.nuiton.i18n.I18n.n; @@ -46,7 +46,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public class ProgramLonglineNodeChildLoador extends AbstractReferenceDtoChildLoador<TripLonglineDto> { +public class ProgramLonglineNodeChildLoador extends AbstractNodeChildLoador<DataReference<TripLonglineDto>, TripLonglineDto> { private static final long serialVersionUID = 1L; @@ -78,24 +78,24 @@ public class ProgramLonglineNodeChildLoador extends AbstractReferenceDtoChildLoa } @Override - public List<ReferenceDto<TripLonglineDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<TripLonglineDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { DataSelectionModel selectionModel = getSelectionModel(dataProvider); - List<ReferenceDto<TripLonglineDto>> result; + List<DataReference<TripLonglineDto>> result; if (selectionModel != null) { - result = Lists.newArrayList(ReferenceDtos.castToCollectionOfReferenceDto(selectionModel.getDatas(parentId))); + result = Lists.newArrayList((Collection) selectionModel.getDatas(parentId)); } else { TripLonglineService tripLonglineService = ObserveSwingApplicationContext.get().newService(TripLonglineService.class); - ReferenceSetDto<TripLonglineDto> tripLonglineByProgram = tripLonglineService.getTripLonglineByProgram(parentId); + DataReferenceSet<TripLonglineDto> tripLonglineByProgram = tripLonglineService.getTripLonglineByProgram(parentId); - result = Lists.newArrayList(ReferenceDtos.castToCollectionOfReferenceDto(tripLonglineByProgram.getReference())); + result = Lists.newArrayList(tripLonglineByProgram.getReferences()); } @@ -104,7 +104,7 @@ public class ProgramLonglineNodeChildLoador extends AbstractReferenceDtoChildLoa } @Override - public ObserveNode createNode(ReferenceDto<TripLonglineDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<TripLonglineDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramSeineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramSeineNodeChildLoador.java index 3e2bdbf..03899dc 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramSeineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ProgramSeineNodeChildLoador.java @@ -23,9 +23,8 @@ package fr.ird.observe.ui.tree.loadors; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.services.service.seine.TripSeineService; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; @@ -36,6 +35,7 @@ import jaxx.runtime.swing.nav.NavDataProvider; import jaxx.runtime.swing.nav.tree.NavTreeBridge; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import static org.nuiton.i18n.I18n.n; @@ -46,7 +46,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class ProgramSeineNodeChildLoador extends AbstractReferenceDtoChildLoador<TripSeineDto> { +public class ProgramSeineNodeChildLoador extends AbstractNodeChildLoador<DataReference<TripSeineDto>, TripSeineDto> { private static final long serialVersionUID = 1L; @@ -76,24 +76,24 @@ public class ProgramSeineNodeChildLoador extends AbstractReferenceDtoChildLoador } @Override - public List<ReferenceDto<TripSeineDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<TripSeineDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { DataSelectionModel selectionModel = getSelectionModel(dataProvider); - List<ReferenceDto<TripSeineDto>> result; + List<DataReference<TripSeineDto>> result; if (selectionModel != null) { - result = Lists.newArrayList(ReferenceDtos.castToCollectionOfReferenceDto(selectionModel.getDatas(parentId))); + result = Lists.newArrayList((Collection) selectionModel.getDatas(parentId)); } else { TripSeineService tripSeineService = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - ReferenceSetDto<TripSeineDto> tripSeineByProgram = tripSeineService.getTripSeineByProgram(parentId); + DataReferenceSet<TripSeineDto> tripSeineByProgram = tripSeineService.getTripSeineByProgram(parentId); - result = new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(tripSeineByProgram.getReference())); + result = new ArrayList<>(tripSeineByProgram.getReferences()); } return result; @@ -101,7 +101,7 @@ public class ProgramSeineNodeChildLoador extends AbstractReferenceDtoChildLoador } @Override - public ObserveNode createNode(ReferenceDto<TripSeineDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<TripSeineDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceCommonNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceCommonNodeChildLoador.java index 05b9821..4f6e996 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceCommonNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceCommonNodeChildLoador.java @@ -71,11 +71,9 @@ public class ReferenceCommonNodeChildLoador extends AbstractNodeChildLoador<Clas } @Override - public List<Class> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) { + public List<Class> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) { - List<Class> result = new ArrayList<Class>(); + List<Class> result = new ArrayList<>(); for (Class<? extends ReferentialDto> referenceCommonDto : ReferentialDtos.REFERENCE_COMMON_DTOS) { result.add(referenceCommonDto); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceLonglineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceLonglineNodeChildLoador.java index 3c24349..b9e8926 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceLonglineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceLonglineNodeChildLoador.java @@ -77,11 +77,9 @@ public class ReferenceLonglineNodeChildLoador extends AbstractNodeChildLoador<Cl } @Override - public List<Class> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) { + public List<Class> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) { - List<Class> result = new ArrayList<Class>(); + List<Class> result = new ArrayList<>(); for (Class<? extends ReferentialDto> referenceCommonDto : ReferentialDtos.REFERENCE_LONGLINE_DTOS) { result.add(referenceCommonDto); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceSeineNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceSeineNodeChildLoador.java index bb9bc6a..012adca 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceSeineNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/ReferenceSeineNodeChildLoador.java @@ -69,11 +69,9 @@ public class ReferenceSeineNodeChildLoador extends AbstractNodeChildLoador<Class } @Override - public List<Class> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) { + public List<Class> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) { - List<Class> result = new ArrayList<Class>(); + List<Class> result = new ArrayList<>(); for (Class<? extends ReferentialDto> referenceCommonDto : ReferentialDtos.REFERENCE_SEINE_DTOS) { result.add(referenceCommonDto); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RootNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RootNodeChildLoador.java index 68f2013..2630d0b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RootNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RootNodeChildLoador.java @@ -23,11 +23,9 @@ package fr.ird.observe.ui.tree.loadors; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import fr.ird.observe.ui.tree.ObserveNode; @@ -39,6 +37,7 @@ import jaxx.runtime.swing.nav.NavDataProvider; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.Set; import static org.nuiton.i18n.I18n.n; @@ -48,7 +47,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<ProgramDto> { +public class RootNodeChildLoador extends AbstractNodeChildLoador<ReferentialReference<ProgramDto>, ProgramDto> { private static final long serialVersionUID = 1L; @@ -75,13 +74,11 @@ public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<Program } @Override - public List<ReferenceDto<ProgramDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<ReferentialReference<ProgramDto>> getData(Class<?> parentClass, String parentId, NavDataProvider dataProvider) { DataSelectionModel selectionModel = getSelectionModel(dataProvider); - List<ReferenceDto<ProgramDto>> data = Collections.emptyList(); + List<ReferentialReference<ProgramDto>> data = Collections.emptyList(); if (addData) { @@ -89,8 +86,8 @@ public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<Program data = Lists.newArrayList(selectionModel.getDatas().keySet()); } else { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - ReferenceSetDto<ProgramDto> referentialReferenceSet = service.getReferentialReferenceSet(ProgramDto.class); - data = new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(referentialReferenceSet.getReference())); + Set<ReferentialReference<ProgramDto>> referentialReferenceSet = getDataSource(dataProvider).getReferentialReferences(ProgramDto.class); + data = new ArrayList<>(referentialReferenceSet); } ObserveTreeHelper.sortPrograms(data); @@ -101,7 +98,7 @@ public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<Program } @Override - public void addChildNodes(ObserveNode parentNode, List<ReferenceDto<ProgramDto>> datas, NavDataProvider dataProvider) { + public void addChildNodes(ObserveNode parentNode, List<ReferentialReference<ProgramDto>> datas, NavDataProvider dataProvider) { super.addChildNodes(parentNode, datas, dataProvider); if (addReferentiel) { @@ -137,7 +134,7 @@ public class RootNodeChildLoador extends AbstractReferenceDtoChildLoador<Program } @Override - public ObserveNode createNode(ReferenceDto<ProgramDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(ReferentialReference<ProgramDto> data, NavDataProvider dataProvider) { GearType gearType = (GearType) data.getPropertyValue(ProgramDto.PROPERTY_GEAR_TYPE); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RoutesNodeChildLoador.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RoutesNodeChildLoador.java index 414459c..a7e7da1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RoutesNodeChildLoador.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/loadors/RoutesNodeChildLoador.java @@ -22,9 +22,8 @@ package fr.ird.observe.ui.tree.loadors; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.services.dto.ReferenceDtos; -import fr.ird.observe.services.dto.ReferenceSetDto; +import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.seine.RouteService; import fr.ird.observe.ui.tree.ObserveNode; @@ -43,7 +42,7 @@ import static org.nuiton.i18n.I18n.n; * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ -public class RoutesNodeChildLoador extends AbstractReferenceDtoChildLoador<RouteDto> { +public class RoutesNodeChildLoador extends AbstractDataReferenceChildLoador<RouteDto> { private static final long serialVersionUID = 1L; @@ -56,20 +55,20 @@ public class RoutesNodeChildLoador extends AbstractReferenceDtoChildLoador<Route } @Override - public List<ReferenceDto<RouteDto>> getData(Class<?> parentClass, - String parentId, - NavDataProvider dataProvider) throws Exception { + public List<DataReference<RouteDto>> getData(Class<?> parentClass, + String parentId, + NavDataProvider dataProvider) throws Exception { RouteService routeService = ObserveSwingApplicationContext.get().newService(RouteService.class); - ReferenceSetDto<RouteDto> routeByTripSeine = routeService.getRouteByTripSeine(parentId); + DataReferenceSet<RouteDto> routeByTripSeine = routeService.getRouteByTripSeine(parentId); - return new ArrayList<>(ReferenceDtos.castToCollectionOfReferenceDto(routeByTripSeine.getReference())); + return new ArrayList<>(routeByTripSeine.getReferences()); } @Override - public ObserveNode createNode(ReferenceDto<RouteDto> data, NavDataProvider dataProvider) { + public ObserveNode createNode(DataReference<RouteDto> data, NavDataProvider dataProvider) { if (data == null) { throw new NullPointerException("Ne peut pas ajouter un objet null"); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java index 83cfce2..d8c4f0a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivityLonglineNodeMenuPopulator.java @@ -2,7 +2,6 @@ package fr.ird.observe.ui.tree.menu; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.tree.ObserveNode; @@ -11,7 +10,7 @@ import fr.ird.observe.ui.tree.TripLonglineNode; import fr.ird.observe.ui.tree.actions.ChangeActivityTripActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ public class MoveActivityLonglineNodeMenuPopulator extends MoveNodeMenuPopulator ObserveNode programNode = parentNode.getParent(); DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto<TripLonglineDto>> tripDecorator = decoratorService.getReferenceDecorator(TripLonglineDto.class); + DataReferenceDecorator<TripLonglineDto> tripDecorator = decoratorService.getDataReferenceDecorator(TripLonglineDto.class); for (int i = 0, n = programNode.getChildCount(); i < n; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java index 909203b..f6c8609 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveActivitySeineNodeMenuPopulator.java @@ -2,7 +2,6 @@ package fr.ird.observe.ui.tree.menu; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.tree.ObserveNode; @@ -11,7 +10,7 @@ import fr.ird.observe.ui.tree.RouteSeineNode; import fr.ird.observe.ui.tree.actions.ChangeActivityRouteActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ public class MoveActivitySeineNodeMenuPopulator extends MoveNodeMenuPopulator { ObserveNode routesNode = parentNode.getParent(); DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto<RouteDto>> routeDecorator = decoratorService.getReferenceDecorator(RouteDto.class); + DataReferenceDecorator<RouteDto> routeDecorator = decoratorService.getDataReferenceDecorator(RouteDto.class); for (int i = 0, n = routesNode.getChildCount(); i < n; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java index 5158e8c..1e07562 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveRouteNodeMenuPopulator.java @@ -2,7 +2,6 @@ package fr.ird.observe.ui.tree.menu; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.tree.ObserveNode; @@ -11,7 +10,7 @@ import fr.ird.observe.ui.tree.TripSeineNode; import fr.ird.observe.ui.tree.actions.ChangeRouteTripActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -43,7 +42,7 @@ public class MoveRouteNodeMenuPopulator extends MoveNodeMenuPopulator { ObserveNode programNode = parentNode.getParent(); DecoratorService decoratorService = treeHelper.getTreeCellRenderer().getDecoratorService(); - Decorator<ReferenceDto<TripSeineDto>> tripDecorator = decoratorService.getReferenceDecorator(TripSeineDto.class); + DataReferenceDecorator<TripSeineDto> tripDecorator = decoratorService.getDataReferenceDecorator(TripSeineDto.class); for (int i = 0, n = programNode.getChildCount(); i < n; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java index c6586fb..ea25d19 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/menu/MoveTripNodeMenuPopulator.java @@ -3,7 +3,6 @@ package fr.ird.observe.ui.tree.menu; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.IdDtos; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.constants.GearType; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.ui.tree.ObserveNode; @@ -13,7 +12,7 @@ import fr.ird.observe.ui.tree.ProgramSeineNode; import fr.ird.observe.ui.tree.actions.ChangeTripProgramActionListener; import fr.ird.observe.ui.tree.actions.NodeChangeActionListener; import fr.ird.observe.ui.util.DecoratedNodeEntity; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.ReferentialReferenceDecorator; import java.util.ArrayList; import java.util.List; @@ -54,7 +53,7 @@ public class MoveTripNodeMenuPopulator extends MoveNodeMenuPopulator { public static void createPossibleParents(String oldProgramId, List<DecoratedNodeEntity> possibleParents, GearType gearType, ObserveNode rootNode) { - Decorator<ReferenceDto<ProgramDto>> programDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(ProgramDto.class); + ReferentialReferenceDecorator<ProgramDto> programDecorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferentialReferenceDecorator(ProgramDto.class); for (int i = 0, n = rootNode.getChildCount(); i < n; i++) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java index d34b546..b53b8df 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/DecoratedNodeEntity.java @@ -2,8 +2,7 @@ package fr.ird.observe.ui.util; import com.google.common.base.Preconditions; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.ReferenceDto; -import fr.ird.observe.ui.tree.DtoNodeSupport; +import fr.ird.observe.ui.tree.AbstrctReferenceNodeSupport; import org.nuiton.decorator.Decorator; /** @@ -16,7 +15,7 @@ public class DecoratedNodeEntity { private final String label; - public static <E extends IdDto> DecoratedNodeEntity newDecoratedNodeEntity(DtoNodeSupport<E> node, Decorator<ReferenceDto<E>> decorator) { + public static <E extends IdDto> DecoratedNodeEntity newDecoratedNodeEntity(AbstrctReferenceNodeSupport<E, ?> node, Decorator<?> decorator) { Preconditions.checkNotNull(node); Preconditions.checkNotNull(decorator); return new DecoratedNodeEntity(node.getId(), decorator.toString(node.getEntity())); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/DataReferenceDecorator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/DataReferenceDecorator.java new file mode 100644 index 0000000..e7c7ced --- /dev/null +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/DataReferenceDecorator.java @@ -0,0 +1,45 @@ +package fr.ird.observe.ui.util.decorator; + +import fr.ird.observe.services.dto.AbstractReference; +import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; +import org.apache.commons.jxpath.JXPathContext; + +/** + * @author Kevin Morin (Code Lutin) + */ +public class DataReferenceDecorator<D extends DataDto> extends ObserveDecorator<DataReference<D>> implements Cloneable { + + private static final long serialVersionUID = 1L; + + public DataReferenceDecorator(String expression) { + super((Class) DataReference.class, expression); + } + + @Override + protected Comparable<Comparable<?>> getTokenValue(JXPathContext jxcontext, String token) { + + // assume all values are comparable + Comparable<Comparable<?>> value; + + Object contextBean = jxcontext.getContextBean(); + + if (contextBean instanceof AbstractReference) { + + String[] tokens = token.split("/"); + + value = getValueFromReference(tokens, (AbstractReference) contextBean, 0); + + if (value == null) { + value = (Comparable<Comparable<?>>) getDefaultNullValue(tokens[0]); + } + + } else { + value = super.getTokenValue(jxcontext, token); + } + + return value; + + } + +} diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ObserveDecorator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ObserveDecorator.java index 401495d..423e527 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ObserveDecorator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ObserveDecorator.java @@ -21,7 +21,7 @@ */ package fr.ird.observe.ui.util.decorator; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.AbstractReference; import org.apache.commons.jxpath.JXPathContext; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -75,9 +75,9 @@ public class ObserveDecorator<E> extends MultiJXPathDecorator<E> implements Clon Object value0 = jxcontext.getValue(tokens[0]); - if (value0 instanceof ReferenceDto) { + if (value0 instanceof AbstractReference) { - value = getValueFromReferenceDto(tokens, (ReferenceDto) value0, 1); + value = getValueFromReference(tokens, (AbstractReference<?>) value0, 1); } else { @@ -95,21 +95,21 @@ public class ObserveDecorator<E> extends MultiJXPathDecorator<E> implements Clon return value; } - protected Comparable<Comparable<?>> getValueFromReferenceDto(String[] tokens, ReferenceDto referenceBean, int startIndex) { + protected Comparable<Comparable<?>> getValueFromReference(String[] tokens, AbstractReference<?> referenceBean, int startIndex) { - for (int i = startIndex, max = tokens.length - 1 ; i < max ; i++) { + for (int i = startIndex, max = tokens.length - 1; i < max; i++) { if (referenceBean.getPropertyNames().contains(tokens[i])) { Serializable propertyValue = referenceBean.getPropertyValue(tokens[i]); - if (propertyValue == null || !(propertyValue instanceof ReferenceDto)) { + if (propertyValue == null || !(propertyValue instanceof AbstractReference)) { return (Comparable<Comparable<?>>) getDefaultUndefinedValue(StringUtils.join(tokens, "/")); } - referenceBean = (ReferenceDto) propertyValue; + referenceBean = (AbstractReference<?>) propertyValue; } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferentialReferenceDecorator.java similarity index 66% rename from observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java rename to observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferentialReferenceDecorator.java index 547d832..52299cb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferenceDecorator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/decorator/ReferentialReferenceDecorator.java @@ -1,7 +1,7 @@ package fr.ird.observe.ui.util.decorator; -import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import org.apache.commons.jxpath.JXPathContext; import static org.nuiton.i18n.I18n.t; @@ -9,27 +9,27 @@ import static org.nuiton.i18n.I18n.t; /** * @author Kevin Morin (Code Lutin) */ -public class ReferenceDecorator extends ObserveDecorator<ReferenceDto> implements Cloneable { +public class ReferentialReferenceDecorator<D extends ReferentialDto> extends ObserveDecorator<ReferentialReference<D>> implements Cloneable { private static final long serialVersionUID = 1L; - public ReferenceDecorator(String expression) { - super(ReferenceDto.class, expression); + public ReferentialReferenceDecorator(String expression) { + super((Class) ReferentialReference.class, expression); } @Override protected Comparable<Comparable<?>> getTokenValue(JXPathContext jxcontext, String token) { // assume all values are comparable - Comparable<Comparable<?>> value = null; + Comparable<Comparable<?>> value; Object contextBean = jxcontext.getContextBean(); - if (contextBean instanceof ReferenceDto) { + if (contextBean instanceof ReferentialReference) { String[] tokens = token.split("/"); - value = getValueFromReferenceDto(tokens, (ReferenceDto) contextBean, 0); + value = getValueFromReference(tokens, (ReferentialReference) contextBean, 0); if (value == null) { value = (Comparable<Comparable<?>>) getDefaultNullValue(tokens[0]); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/AbstractEspeceFieldDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/AbstractEspeceFieldDtoValidator.java index fbee473..ccb865f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/AbstractEspeceFieldDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/AbstractEspeceFieldDtoValidator.java @@ -25,7 +25,7 @@ package fr.ird.observe.validation.validator.dto; import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -218,7 +218,7 @@ public abstract class AbstractEspeceFieldDtoValidator extends FieldValidatorSupp } // l'species associée - ReferenceDto<SpeciesDto> speciesRef = (ReferenceDto<SpeciesDto>) getFieldValue(speciesFieldName, object); + ReferentialReference<SpeciesDto> speciesRef = (ReferentialReference<SpeciesDto>) getFieldValue(speciesFieldName, object); if (speciesRef == null) { @@ -268,7 +268,7 @@ public abstract class AbstractEspeceFieldDtoValidator extends FieldValidatorSupp protected Bound getBound(SpeciesDto species) { - Float min = getBoundMin(species); + Float min = getBoundMin(species); Float max = getBoundMax(species); if (min == null || min == 0 || max == null || max == 0) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java index cffadf5..7aa25e7 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueHomeIdDtoValidator.java @@ -28,12 +28,12 @@ import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDtos; -import org.nuiton.decorator.Decorator; +import fr.ird.observe.ui.util.decorator.DataReferenceDecorator; /** * Created on 12/7/14. @@ -61,9 +61,9 @@ public class SetLonglineUniqueHomeIdDtoValidator extends FieldValidatorSupport { if (sameHomeIdSetLonglineOptional.isPresent()) { - ReferenceDto<ActivityLonglineDto> activityLonglineRef = sameHomeIdSetLonglineOptional.get().getActivityLongline(); + DataReference<ActivityLonglineDto> activityLonglineRef = sameHomeIdSetLonglineOptional.get().getActivityLongline(); - Decorator<ReferenceDto<ActivityLonglineDto>> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getReferenceDecorator(ActivityLonglineDto.class); + DataReferenceDecorator<ActivityLonglineDto> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDataReferenceDecorator(ActivityLonglineDto.class); stack.set("duplicatedActivity", decorator.toString(activityLonglineRef)); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java index 147bed8..62aa89a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/SetLonglineUniqueNumberDtoValidator.java @@ -28,7 +28,7 @@ import com.opensymphony.xwork2.util.ValueStack; import com.opensymphony.xwork2.validator.ValidationException; import com.opensymphony.xwork2.validator.validators.FieldValidatorSupport; import fr.ird.observe.ObserveSwingApplicationContext; -import fr.ird.observe.services.dto.ReferenceDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDto; @@ -61,7 +61,7 @@ public class SetLonglineUniqueNumberDtoValidator extends FieldValidatorSupport { if (sameNumberSetLonglineOptional.isPresent()) { - ReferenceDto<ActivityLonglineDto> activityLonglineRef = sameNumberSetLonglineOptional.get().getActivityLongline(); + DataReference activityLonglineRef = sameNumberSetLonglineOptional.get().getActivityLongline(); Decorator<Class<ActivityLonglineDto>> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDecorator(ActivityLonglineDto.class); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 36dbe919f83a28fb80412f678147ab5e35182422 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 17:29:40 2015 +0100 Quelques corrections sur les Binders + début de mise en place dans l'application swin --- .../ird/observe/ui/content/ContentUIHandler.java | 6 +- .../observe/ui/content/ContentUIInitializer.java | 6 +- .../dto/reference/DataReferenceSetDefinitions.java | 5 +- .../ReferentialReferenceSetDefinitions.java | 3 - .../builder/AbstractToReferenceBuilder.java | 110 --------------------- .../reference/builder/DataToReferenceBuilder.java | 47 --------- .../builder/ReferentialToReferenceBuilder.java | 97 ------------------ .../xmi/observe-services-dto-longline.properties | 1 + .../main/xmi/observe-services-dto-longline.zargo | Bin 64456 -> 64908 bytes .../main/xmi/observe-services-dto-seine.properties | 1 + .../src/main/xmi/observe-services-dto-seine.zargo | Bin 59797 -> 60150 bytes .../binder/data/ActivityLonglineBinder.java | 1 + .../services/binder/data/ActivitySeineBinder.java | 9 +- .../services/binder/referential/ProgramBinder.java | 8 +- .../service/seine/FloatingObjectServiceTopia.java | 30 +----- 15 files changed, 30 insertions(+), 294 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index 5c69bd9..a0bd09a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -831,7 +831,7 @@ public abstract class ContentUIHandler<E extends IdDto> { BeanComboBox beanComboBox = (BeanComboBox) o; Class dtoClass = getDtoClass(beanComboBox); - if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + if (ReferentialDto.class.isAssignableFrom(dtoClass)) { updateReferentialBeanComboBox(dtoClass, beanComboBox); } else { updateDataBeanComboBox(dtoClass, beanComboBox); @@ -845,7 +845,7 @@ public abstract class ContentUIHandler<E extends IdDto> { BeanListHeader beanListHeader = (BeanListHeader) o; Class dtoClass = getDtoClass(beanListHeader); - if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + if (ReferentialDto.class.isAssignableFrom(dtoClass)) { updateReferentialBeanListHeader(dtoClass, beanListHeader); } else { updateDataBeanListHeader(dtoClass, beanListHeader); @@ -859,7 +859,7 @@ public abstract class ContentUIHandler<E extends IdDto> { FilterableDoubleList filterableDoubleList = (FilterableDoubleList) o; Class dtoClass = getDtoClass(filterableDoubleList); - if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + if (ReferentialDto.class.isAssignableFrom(dtoClass)) { updateReferentialFilterableDoubleList(dtoClass, filterableDoubleList); } else { updateDataFilterableDoubleList(dtoClass, filterableDoubleList); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java index b6b4729..8426475 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIInitializer.java @@ -363,7 +363,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E Class dtoClass = getDtoClass(beanComboBox); - if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + if (ReferentialDto.class.isAssignableFrom(dtoClass)) { prepareReferentialBeanComboBox(dtoClass, beanComboBox); } else { prepareDataBeanComboBox(dtoClass, beanComboBox); @@ -381,7 +381,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E Class dtoClass = getDtoClass(beanList); - if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + if (ReferentialDto.class.isAssignableFrom(dtoClass)) { prepareReferentialEntityList(dtoClass, beanList); } else { prepareDataEntityList(dtoClass, beanList); @@ -399,7 +399,7 @@ public class ContentUIInitializer<E extends IdDto, UI extends ObserveContentUI<E Class dtoClass = getDtoClass(beanList); - if (ReferentialReference.class.isAssignableFrom(dtoClass)) { + if (ReferentialDto.class.isAssignableFrom(dtoClass)) { prepareReferentialFilterableDoubleList(dtoClass, beanList); } else { prepareDataFilterableDoubleList(dtoClass, beanList); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java index 7d3c16e..78704e2 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/DataReferenceSetDefinitions.java @@ -2,6 +2,7 @@ package fr.ird.observe.services.dto.reference; import com.google.common.base.Preconditions; import fr.ird.observe.services.dto.DataDto; +import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -69,7 +70,7 @@ public enum DataReferenceSetDefinitions { ACTIVITY_SEINE(newDefinitionBuilder(ActivitySeineDto.class) .addProperty(String.class, ActivitySeineDto.PROPERTY_TIME) .addProperty(String.class, ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE) -// .addProperty(String.class, ActivitySeineDto.PROPERTY_SET_SEINE) + .addProperty(DataReference.class, ActivitySeineDto.PROPERTY_SET_SEINE) ), SET_SEINE(newDefinitionBuilder(SetSeineDto.class) @@ -99,7 +100,7 @@ public enum DataReferenceSetDefinitions { ACTIVITY_LONGLINE(newDefinitionBuilder(ActivityLonglineDto.class) .addProperty(Date.class, ActivityLonglineDto.PROPERTY_TIME_STAMP) .addProperty(String.class, ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE) -// .addProperty(DataReference.class, ActivityLonglineDto.PROPERTY_SET_LONGLINE) + .addProperty(DataReference.class, ActivityLonglineDto.PROPERTY_SET_LONGLINE) ), CATCH_LONGLINE(newDefinitionBuilder(CatchLonglineDto.class) diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java index caa0854..532f659 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java @@ -122,7 +122,6 @@ public enum ReferentialReferenceSetDefinitions { SEX(newDefaultDefinitionBuilder(SexDto.class)), SPECIES(newDefinitionBuilder(SpeciesDto.class) - .addProperty(String.class, SpeciesDto.PROPERTY_LABEL) .addProperty(String.class, SpeciesDto.PROPERTY_FAO_CODE) .addProperty(String.class, SpeciesDto.PROPERTY_SCIENTIFIC_LABEL) .addProperty(String.class, SpeciesDto.PROPERTY_HOME_ID) @@ -230,11 +229,9 @@ public enum ReferentialReferenceSetDefinitions { VESSEL_ACTIVITY_SEINE(newDefaultDefinitionBuilder(VesselActivitySeineDto.class)), WEIGHT_CATEGORY(newDefinitionBuilder(WeightCategoryDto.class) - .addProperty(String.class, WeightCategoryDto.PROPERTY_LABEL) .addProperty(String.class, WeightCategoryDto.PROPERTY_SPECIES)), WIND(newDefinitionBuilder(WindDto.class) - .addProperty(String.class, WindDto.PROPERTY_LABEL) .addProperty(String.class, WindDto.PROPERTY_SPEED_RANGE) ); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/AbstractToReferenceBuilder.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/AbstractToReferenceBuilder.java deleted file mode 100644 index c75fb35..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/AbstractToReferenceBuilder.java +++ /dev/null @@ -1,110 +0,0 @@ -package fr.ird.observe.services.dto.reference.builder; - -import com.google.common.base.Defaults; -import com.google.common.base.Preconditions; -import fr.ird.observe.services.dto.AbstractReference; -import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; -import fr.ird.observe.services.dto.referential.I18nReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; -import org.nuiton.util.ReflectUtil; - -import java.io.Serializable; -import java.util.List; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public abstract class AbstractToReferenceBuilder<D extends IdDto, R extends AbstractReference<D>> { - - protected ReferenceSetDefinition<D> definition; - - protected List<String> propertyNames; - - protected Class<?>[] propertyTypes; - - protected Serializable[] propertyValues; - - protected String id; - - protected ReferentialLocale referenceLocale; - - public AbstractToReferenceBuilder<D, R> addProperty(String propertyName, Serializable propertyValue) { - - int i = propertyNames.indexOf(propertyName); - Preconditions.checkState(i > -1, String.format("Property %s is not defined for type: %s, possible names are: %s", propertyName, definition.getType(), propertyNames)); - Class<?> propertyType = propertyTypes[i]; - - if (propertyValue == null) { - - if (propertyType.isPrimitive()) { - propertyValue = (Serializable) Defaults.defaultValue(propertyType); - } - - } - - checkType(propertyName, propertyValue, propertyType); - propertyValues[i] = propertyValue; - - return this; - - } - - public AbstractToReferenceBuilder<D, R> addIdIfNotNull(String propertyName, IdDto propertyValue) { - - if (propertyValue != null) { - - addProperty(propertyName, propertyValue.getId()); - - } - - return this; - - } - - public AbstractToReferenceBuilder<D, R> addLabelIfNotNull(String propertyName, I18nReferentialDto propertyValue) { - - if (propertyValue != null) { - - addProperty(propertyName, referenceLocale.getLabel(propertyValue)); - - } - - return this; - - } - - public AbstractToReferenceBuilder<D, R> addLabelIfNotNull(String propertyName, ReferentialReference propertyValue) { - - if (propertyValue != null) { - - String label = (String) propertyValue.getPropertyValue(ReferentialReference.PROPERTY_LABEL); - addProperty(propertyName, label); - - } - - return this; - - } - - public AbstractToReferenceBuilder<D, R> addId(String id) { - - this.id = id; - return this; - - } - - public abstract R build(); - - protected void checkType(String propertyName, Serializable propertyValue, Class<?> propertyType) { - if (propertyType.isPrimitive()) { - Preconditions.checkState(ReflectUtil.boxType(propertyType).isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); - } else { - Preconditions.checkState(propertyType.isAssignableFrom(propertyValue.getClass()), "Le type de la propriété " + propertyName + " devrait être du type " + propertyType.getName() + " mais vaut: " + propertyValue); - } - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/DataToReferenceBuilder.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/DataToReferenceBuilder.java deleted file mode 100644 index 74e97a5..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/DataToReferenceBuilder.java +++ /dev/null @@ -1,47 +0,0 @@ -package fr.ird.observe.services.dto.reference.builder; - -import fr.ird.observe.services.dto.DataDto; -import fr.ird.observe.services.dto.DataReference; -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.reference.DataReferenceSetDefinitions; -import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; - -import java.io.Serializable; -import java.util.Arrays; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class DataToReferenceBuilder<D extends DataDto> extends AbstractToReferenceBuilder<D, DataReference<D>> { - - public static <D extends DataDto> DataToReferenceBuilder<D> builder(DataReferenceSetDefinitions def, - ReferentialLocale referenceLocale) { - - ReferenceSetDefinition<D> definition = def.getDefinition(); - - DataToReferenceBuilder<D> referenceDtoBuilder = new DataToReferenceBuilder<>(); - - referenceDtoBuilder.definition = definition; - referenceDtoBuilder.referenceLocale = referenceLocale; - referenceDtoBuilder.propertyNames = Arrays.asList(definition.getPropertyNames()); - referenceDtoBuilder.propertyTypes = definition.getPropertyTypes(); - referenceDtoBuilder.propertyValues = new Serializable[referenceDtoBuilder.propertyTypes.length]; - - return referenceDtoBuilder; - - } - - @Override - public DataReference<D> build() { - - DataReference<D> reference = new DataReference<>(); - reference.init(definition.getType(), definition.getPropertyNames(), propertyTypes, propertyValues); - reference.setId(id); - - return reference; - - } - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/ReferentialToReferenceBuilder.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/ReferentialToReferenceBuilder.java deleted file mode 100644 index f0cf6be..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/builder/ReferentialToReferenceBuilder.java +++ /dev/null @@ -1,97 +0,0 @@ -package fr.ird.observe.services.dto.reference.builder; - -import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; -import fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; - -import java.io.Serializable; -import java.util.Arrays; -import java.util.Date; - -/** - * Created on 13/11/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ReferentialToReferenceBuilder<D extends ReferentialDto> extends AbstractToReferenceBuilder<D, ReferentialReference<D>> { - - protected Date lastUpdate; - - protected boolean needComment; - - protected boolean enabled; - - protected long version; - - public static <D extends ReferentialDto> ReferentialToReferenceBuilder<D> builder(ReferentialReferenceSetDefinitions def, - ReferentialLocale referenceLocale) { - - return builder(def.<D>getDefinition(), referenceLocale); - - } - - public static <D extends ReferentialDto> ReferentialToReferenceBuilder<D> builder(ReferenceSetDefinition<D> definition, - ReferentialLocale referenceLocale) { - - ReferentialToReferenceBuilder<D> referenceDtoBuilder = new ReferentialToReferenceBuilder<>(); - - referenceDtoBuilder.definition = definition; - referenceDtoBuilder.referenceLocale = referenceLocale; - referenceDtoBuilder.propertyNames = Arrays.asList(definition.getPropertyNames()); - referenceDtoBuilder.propertyTypes = definition.getPropertyTypes(); - referenceDtoBuilder.propertyValues = new Serializable[referenceDtoBuilder.propertyTypes.length]; - - return referenceDtoBuilder; - - } - - public ReferentialToReferenceBuilder<D> setLastUpdate(Date lastUpdate) { - this.lastUpdate = lastUpdate; - return this; - } - - public ReferentialToReferenceBuilder<D> setNeedComment(boolean needComment) { - this.needComment = needComment; - return this; - } - - public ReferentialToReferenceBuilder<D> setEnabled(boolean enabled) { - this.enabled = enabled; - return this; - } - - public ReferentialToReferenceBuilder<D> setVersion(long version) { - this.version = version; - return this; - } - - public ReferentialReference<D> build() { - - ReferentialReference<D> reference = new ReferentialReference<>(); - reference.init(definition.getType(), definition.getPropertyNames(), propertyTypes, propertyValues); - reference.setId(id); - reference.setLastUpdate(lastUpdate); - reference.setEnabled(enabled); - reference.setNeedComment(needComment); - reference.setVersion(version); - - reset(); - - return reference; - - } - - protected void reset() { - - id = null; - lastUpdate = null; - enabled = false; - needComment = false; - version = 0; - Arrays.fill(propertyValues, null); - - } - -} diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties index 0aed190..8efaf07 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties @@ -95,6 +95,7 @@ fr.ird.observe.services.dto.longline.BaitsComposition.attribute.baitType.tagValu fr.ird.observe.services.dto.longline.ActivityLongline.attribute.fpaZone.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto fr.ird.observe.services.dto.longline.ActivityLongline.attribute.vesselActivityLongline.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto +fr.ird.observe.services.dto.longline.ActivityLongline.attribute.setLongline.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.SetLonglineDto fr.ird.observe.services.dto.longline.WeightMeasure.attribute.weightMeasureType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo index 4a9cac5..a4fa3e2 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-longline.zargo differ diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties index 8dce095..b69cd8a 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties @@ -75,6 +75,7 @@ fr.ird.observe.services.dto.seine.ActivitySeine.attribute.reasonForNoFishing.tag fr.ird.observe.services.dto.seine.ActivitySeine.attribute.previousFpaZone.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto fr.ird.observe.services.dto.seine.ActivitySeine.attribute.currentFpaZone.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto fr.ird.observe.services.dto.seine.ActivitySeine.attribute.nextFpaZone.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.setSeine.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.seine.SetSeineDto fr.ird.observe.services.dto.seine.GearUseFeaturesSeine.attribute.gear.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.GearDto diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo index c88f417..2d55d89 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-seine.zargo differ diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java index 2743023..d9672f3 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivityLonglineBinder.java @@ -1,6 +1,7 @@ package fr.ird.observe.services.binder.data; import fr.ird.observe.entities.longline.ActivityLongline; +import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.entities.referentiel.FpaZone; import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; import fr.ird.observe.services.dto.DataReference; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java index 5b3cfef..ed65f3d 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java @@ -7,6 +7,7 @@ import fr.ird.observe.entities.referentiel.seine.SurroundingActivity; import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; import fr.ird.observe.entities.referentiel.seine.Wind; import fr.ird.observe.entities.seine.ActivitySeine; +import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.FpaZoneDto; @@ -16,6 +17,7 @@ import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.referential.seine.WindDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; +import fr.ird.observe.services.dto.seine.SetSeineDto; /** * Created on 24/11/15. @@ -76,6 +78,7 @@ public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, Activi dto.setCurrentFpaZone(toReferentialReference(referentialLocale, entity.getCurrentFpaZone(), FpaZoneDto.class)); dto.setPreviousFpaZone(toReferentialReference(referentialLocale, entity.getPreviousFpaZone(), FpaZoneDto.class)); dto.setNextFpaZone(toReferentialReference(referentialLocale, entity.getNextFpaZone(), FpaZoneDto.class)); + dto.setSetSeine(toDataReference(referentialLocale, entity.getSetSeine(), SetSeineDto.class)); } @@ -84,7 +87,8 @@ public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, Activi return toDataReference(entity, entity.getTime(), - getLabel(referentialLocale, entity.getVesselActivitySeine())); + getLabel(referentialLocale, entity.getVesselActivitySeine()), + toDataReference(referentialLocale, entity.getSetSeine(), SetSeineDto.class)); } @@ -93,7 +97,8 @@ public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, Activi return toDataReference(dto, dto.getTime(), - getLabel(referentialLocale, dto.getVesselActivitySeine())); + getLabel(referentialLocale, dto.getVesselActivitySeine()), + dto.getSetSeine()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java index 9181996..8743607 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/ProgramBinder.java @@ -70,7 +70,9 @@ public class ProgramBinder extends ReferentialBinderSupport<Program, ProgramDto> public ReferentialReference<ProgramDto> toReferentialReference(ReferentialLocale referentialLocale, Program entity) { return toReferentialReference(entity, - GEAR_TYPE_TO_DTO.apply(entity.getGearType()), entity.getGearTypePrefix()); + getLabel(referentialLocale, entity), + GEAR_TYPE_TO_DTO.apply(entity.getGearType()), + entity.getGearTypePrefix()); } @@ -78,7 +80,9 @@ public class ProgramBinder extends ReferentialBinderSupport<Program, ProgramDto> public ReferentialReference<ProgramDto> toReferentialReference(ReferentialLocale referentialLocale, ProgramDto dto) { return toReferentialReference(dto, - dto.getGearType(), dto.getGearTypePrefix()); + getLabel(referentialLocale, dto), + dto.getGearType(), + dto.getGearTypePrefix()); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java index aecc2d4..dc269b4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.seine; * #L% */ -import com.google.common.collect.Sets; import fr.ird.observe.entities.seine.ActivitySeine; import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.entities.seine.FloatingObjectTopiaDao; @@ -36,7 +35,6 @@ import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.service.DataNotFoundException; -import java.util.LinkedHashSet; import java.util.List; /** @@ -50,36 +48,18 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F ReferentialLocale referenceLocale = getReferentialLocale(); FloatingObjectTopiaDao dao = getTopiaPersistenceContext().getFloatingObjectDao(); - List<FloatingObject> allStubByActivityId = dao.findAllStubByActivityId(activitySeineId, referenceLocale.ordinal()); - - LinkedHashSet<DataReference<FloatingObjectDto>> referenceDtos = Sets.newLinkedHashSet(); - -// for (FloatingObject floatingObject : allStubByActivityId) { -// -// ReferenceDto<FloatingObjectDto> referenceDto = FloatingObjectDtos.newReferenceDto( -// floatingObject.getTopiaId(), -// referenceLocale.getLabel(floatingObject.getObjectType())); -// -// referenceDtos.add(referenceDto); -// -// } - //FIXME DataReferenceSet -// ReferenceSetDto<FloatingObjectDto> result = ReferenceSetDtos.newReferenceSetDto(FloatingObjectDto.class, referenceDtos, null); - return null; + List<FloatingObject> dtos = dao.findAllStubByActivityId(activitySeineId, referenceLocale.ordinal()); + + return toDataReferenceSet(FloatingObjectDto.class, dtos); + } @Override public DataReference<FloatingObjectDto> loadReferenceToRead(String floatingObjectId) { - ReferentialLocale referenceLocale = getReferentialLocale(); - FloatingObject floatingObject = loadEntity(FloatingObjectDto.class, floatingObjectId); + return toReference(floatingObject); -// ReferenceDto<FloatingObjectDto> referenceDto = FloatingObjectDtos.newReferenceDto( -// floatingObject.getTopiaId(), -// referenceLocale.getLabel(floatingObject.getObjectType())); - //FIXME DataReferenceSet - return null; } @Override -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit b62b647a5e14b5c85cc0b8a2cca26165a1eda6f3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 19:14:52 2015 +0100 Revue de code sur la date de mise à jour des objets : toute donnée modifiée doit retourner une date de mise à jour à réimpacter dans les ui (première passe, mais ce n'est pas fini, il faut bien vérifier que dans l'application swing ça va être cohérent) --- .../LonglineDetailCompositionUIHandler.java | 2 +- .../LonglineGlobalCompositionUIHandler.java | 3 +- .../impl/longline/SetLonglineUIHandler.java | 3 +- .../ActivitySeineObservedSystemUIHandler.java | 5 +- ...ngObjectTransmittingBuoyOperationUIHandler.java | 6 +- .../impl/seine/FloatingObjectUIHandler.java | 6 +- .../ui/content/impl/seine/SetSeineUIHandler.java | 5 +- .../impl/longline/ActivityLonglineUIHandler.java | 3 +- .../open/impl/longline/TripLonglineUIHandler.java | 5 +- .../open/impl/seine/ActivitySeineUIHandler.java | 5 +- .../ui/content/open/impl/seine/RouteUIHandler.java | 3 +- .../open/impl/seine/TripSeineUIHandler.java | 3 +- .../ui/content/ref/ContentReferenceUIHandler.java | 16 ++-- .../impl/longline/CatchLonglineUIHandler.java | 8 +- .../table/impl/longline/EncounterUIHandler.java | 6 +- .../longline/GearUseFeaturesLonglineUIHandler.java | 4 +- .../table/impl/longline/SensorUsedUIHandler.java | 6 +- .../content/table/impl/longline/TdrUIHandler.java | 4 +- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 4 +- .../table/impl/seine/NonTargetCatchUIHandler.java | 6 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 6 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 6 +- .../impl/seine/ObjectSchoolEstimateUIHandler.java | 6 +- .../table/impl/seine/SchoolEstimateUIHandler.java | 5 +- .../table/impl/seine/TargetCatchUIHandler.java | 6 +- .../impl/seine/TargetDiscardCatchUIHandler.java | 6 +- .../table/impl/seine/TargetSampleUIHandler.java | 6 +- .../v1/ReferentialServiceController.java | 3 +- .../v1/longline/BranchlineServiceController.java | 9 +- .../v1/seine/FloatingObjectServiceController.java | 3 +- .../v1/seine/NonTargetSampleServiceController.java | 3 +- .../ObjectObservedSpeciesServiceController.java | 3 +- .../ObjectSchoolEstimateServiceController.java | 3 +- .../v1/seine/SchoolEstimateServiceController.java | 3 +- .../v1/seine/SetSeineServiceController.java | 3 +- ...TransmittingBuoyOperationServiceController.java | 3 +- .../observe/ObserveTopiaPersistenceContext.java | 15 ++++ .../services/service/ReferentialService.java | 3 +- .../service/longline/BranchlineService.java | 5 +- .../service/seine/FloatingObjectService.java | 3 +- .../service/seine/NonTargetSampleService.java | 3 +- .../seine/ObjectObservedSpeciesService.java | 3 +- .../service/seine/ObjectSchoolEstimateService.java | 3 +- .../service/seine/SchoolEstimateService.java | 3 +- .../services/service/seine/SetSeineService.java | 3 +- .../seine/TransmittingBuoyOperationService.java | 3 +- .../observe/services/dto/result/SaveResultDto.java | 15 ++++ .../ird/observe/services/ObserveServiceTopia.java | 99 +++++++++++++++------- .../services/service/ReferentialServiceTopia.java | 14 +-- .../ActivityLongLineEncouterServiceTopia.java | 10 ++- .../ActivityLongLineSensorUsedServiceTopia.java | 10 ++- .../longline/ActivityLonglineServiceTopia.java | 14 ++- .../service/longline/BranchlineServiceTopia.java | 34 +++++--- .../longline/SetLonglineCatchServiceTopia.java | 11 ++- .../SetLonglineDetailCompositionServiceTopia.java | 10 ++- .../SetLonglineGlobalCompositionServiceTopia.java | 10 ++- .../service/longline/SetLonglineServiceTopia.java | 12 ++- .../services/service/longline/TdrServiceTopia.java | 11 ++- .../longline/TripLonglineGearUseServiceTopia.java | 16 ++-- .../service/longline/TripLonglineServiceTopia.java | 12 +-- .../ActivitySeineObservedSystemServiceTopia.java | 11 ++- .../service/seine/ActivitySeineServiceTopia.java | 14 ++- .../service/seine/FloatingObjectServiceTopia.java | 16 ++-- .../service/seine/NonTargetCatchServiceTopia.java | 11 +-- .../service/seine/NonTargetSampleServiceTopia.java | 18 ++-- .../seine/ObjectObservedSpeciesServiceTopia.java | 15 ++-- .../seine/ObjectSchoolEstimateServiceTopia.java | 15 ++-- .../services/service/seine/RouteServiceTopia.java | 15 ++-- .../service/seine/SchoolEstimateServiceTopia.java | 16 ++-- .../service/seine/SetSeineServiceTopia.java | 17 ++-- .../service/seine/TargetCatchServiceTopia.java | 8 +- .../service/seine/TargetSampleServiceTopia.java | 18 ++-- .../TransmittingBuoyOperationServiceTopia.java | 14 +-- .../seine/TripSeineGearUseServiceTopia.java | 16 ++-- .../service/seine/TripSeineServiceTopia.java | 12 +-- 75 files changed, 448 insertions(+), 267 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java index 608d4fe..3089436 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineDetailCompositionUIHandler.java @@ -516,7 +516,7 @@ public class LonglineDetailCompositionUIHandler extends ContentUIHandler<SetLong } SaveResultDto saveResult = getSetLonglineDetailCompositionService().save(bean); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java index 54620da..f0d857a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/LonglineGlobalCompositionUIHandler.java @@ -218,8 +218,7 @@ public class LonglineGlobalCompositionUIHandler extends ContentUIHandler<SetLong bean.setBaitsComposition(getUi().getBaitsCompositionModel().getBean().getBaitsComposition()); SaveResultDto saveResult = getSetLonglineGlobalCompositionService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); return true; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java index ef90f9c..40f213c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java @@ -337,8 +337,7 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { String activityId = getSelectedParentId(); SaveResultDto saveResult = getSetLonglineService().save(activityId, bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); return true; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java index 1153c7d..dd90b56 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java @@ -107,10 +107,9 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ @Override protected boolean doSave(ActivitySeineObservedSystemDto bean) throws Exception { - // on sauvegarde l'activity (mais pas la set) + // on sauvegarde l'activity (mais pas la calée) SaveResultDto saveResult = getActivitySeineObservedSystemService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); return true; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index 9bac199..a7bf8bf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -24,13 +24,14 @@ package fr.ird.observe.ui.content.impl.seine; import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.DataContext; -import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.db.ObserveSwingDataSource; +import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.Ownership; import fr.ird.observe.services.dto.constants.seine.TypeTransmittingBuoyOperation; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDtos; @@ -212,7 +213,8 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH @Override protected boolean doSave(FloatingObjectTransmittingBuoyDto bean) throws Exception { - getTransmittingBuoyOperationService().save(bean); + SaveResultDto saveResult = getTransmittingBuoyOperationService().save(bean); + saveResult.toDto(bean); //FIXME, il faut declancher un evenement dans le cache du storage pour pouvoir redessiner le noeud return true; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index 29f70a6..e0a2f4e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -27,6 +27,7 @@ import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.dto.seine.FloatingObjectDtos; @@ -164,10 +165,11 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> String activityId = getSelectedParentId(); - String floatingObjectId = getFloatingObjectService().save(activityId, bean); - bean.setId(floatingObjectId); + SaveResultDto saveResult = getFloatingObjectService().save(activityId, bean); + saveResult.toDto(bean); return true; + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index 7252aec..837453b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -29,6 +29,7 @@ import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.seine.SchoolType; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -246,8 +247,8 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { String activityId = getSelectedParentId(); - String beanId = getSetSeineService().save(activityId, bean); - bean.setId(beanId); + SaveResultDto saveResult = getSetSeineService().save(activityId, bean); + saveResult.toDto(bean); return true; } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index 8b7a80c..34ae2f0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -243,8 +243,7 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity String tripId = getSelectedParentId(); TripChildSaveResultDto saveResult = getActivityLonglineService().save(tripId, getModel().getBean()); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); setUpdateMareeNodeTag(saveResult.isTripEndDateUpdated()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java index 169cbf4..e5a845b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java @@ -267,8 +267,6 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline @Override protected boolean doSave(TripLonglineDto bean) throws Exception { - String programId = getDataContext().getSelectedProgramId(); - // on force toujours la date a etre sans heure, minute,... Date startDate = DateUtil.getDay(bean.getStartDate()); if (log.isDebugEnabled()) { @@ -282,8 +280,7 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } SaveResultDto saveResult = getTripLonglineService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); // recuperation de la position de la maree dans le program obtainChildPosition(bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java index 684dfcd..5f003f1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -278,9 +278,8 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei bean.setOpen(true); - SaveResultDto result = getActivitySeineService().save(routeId, getModel().getBean()); - bean.setId(result.getId()); - bean.setLastUpdate(result.getLastUpdate()); + SaveResultDto saveResult = getActivitySeineService().save(routeId, getModel().getBean()); + saveResult.toDto(bean); obtainChildPosition(bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java index 032a298..3b314d6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java @@ -205,8 +205,7 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { bean.setOpen(true); TripChildSaveResultDto saveResult = getRouteService().save(tripId, bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); setUpdateMareeNodeTag(saveResult.isTripEndDateUpdated()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 7098d7f..63f6280 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -278,8 +278,7 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } SaveResultDto saveResult = getTripSeineService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); // recuperation de la position de la maree dans le program obtainChildPosition(bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index a33b29e..dba5d4b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -34,6 +34,7 @@ import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.ui.DecoratorService; @@ -677,15 +678,17 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content log.info("Create referentiel " + bean); } - String beanId = getReferentialService().save(bean); - bean.setId(beanId); + SaveResultDto saveResult = getReferentialService().save(bean); + bean.setId(saveResult.getId()); + bean.setLastUpdate(saveResult.getLastUpdate()); if (bean instanceof ProgramDto) { // add the program in tree ObserveTreeHelper treeHelper = getTreeHelper(getUi()); - //FIXME ReferentialReference -// treeHelper.addProgram(ProgramDtos.newReferenceDto((ProgramDto) bean)); + ReferentialReference<ProgramDto> reference = ObserveSwingApplicationContext.get().getReferenceBinderEngine().transformReferentialDtoToReference(getDecoratorService().getReferentialLocale(), (ProgramDto) bean); + treeHelper.addProgram(reference); + } return true; @@ -731,8 +734,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // sauvegarde du bean d'edition dans le bean de la base - String beanId = getReferentialService().save(bean); - bean.setId(beanId); + SaveResultDto saveResult = getReferentialService().save(bean); + bean.setId(saveResult.getId()); + bean.setLastUpdate(saveResult.getLastUpdate()); if (bean instanceof ProgramDto) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index f02817d..ab0c5e6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -240,7 +240,9 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat BranchlineDto branchline = ui.getBranchlineBean(); - getBranchLineService().save(branchline); + String openSetLonglineId = getDataContext().getOpenSetLonglineId(); + SaveResultDto saveResult = getBranchLineService().save(openSetLonglineId, branchline); + saveResult.toDto(branchline); getUi().getBranchlineValidator().setChanged(false); @@ -729,7 +731,9 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat log.info("Use branchline: " + newValue); } - Form<BranchlineDto> form = getBranchLineService().loadForm(newValue.getId()); + String setLonglineId = getDataContext().getSelectedSetLonglineId(); + + Form<BranchlineDto> form = getBranchLineService().loadForm(setLonglineId, newValue.getId()); BranchlineDtos.copyBranchlineDto(form.getObject(), branchline); if (ui.getValidator().getBean() == null) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index cb04e43..a6269e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -99,8 +99,10 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn @Override protected void doPersist(ActivityLonglineEncouterDto bean) { - SaveResultDto saveResultDtoave = getActivityLongLineEncouterService().save(bean); - bean.setLastUpdate(saveResultDtoave.getLastUpdate()); + + SaveResultDto saveResult = getActivityLongLineEncouterService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index 18dcfc5..51d55bf 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -483,8 +483,10 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip @Override protected void doPersist(TripLonglineGearUseDto bean) { + SaveResultDto saveResult = getTripLonglineGearUseService().save(bean); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java index e52cab6..84c860c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -35,6 +35,7 @@ import fr.ird.observe.services.dto.longline.SensorUsedDto; import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.ActivityLongLineSensorUsedService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.UIHelper; @@ -229,7 +230,10 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS @Override protected void doPersist(ActivityLonglineSensorUsedDto bean) { - getActivityLonglineSensorUsedService().save(bean); + + SaveResultDto saveResult= getActivityLonglineSensorUsedService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index 55c5aad..2a83b3d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -462,8 +462,10 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt @Override protected void doPersist(SetLonglineTdrDto bean) { + SaveResultDto saveResult = getTdrService().save(bean); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index c6b62a5..1c00447 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -480,8 +480,10 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei @Override protected void doPersist(TripSeineGearUseDto bean) { + SaveResultDto saveResult = getTripSeineGearUseService().save(bean); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index a3f93d7..d1ed6c2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -32,6 +32,7 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.NonTargetCatchDto; import fr.ird.observe.services.dto.seine.NonTargetCatchDtos; import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; @@ -360,7 +361,10 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa @Override protected void doPersist(SetSeineNonTargetCatchDto bean) { - getNonTargetCatchService().save(bean); + + SaveResultDto saveResult = getNonTargetCatchService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index ceeb826..c3db701 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -29,6 +29,7 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.NonTargetLengthDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDtos; @@ -295,7 +296,10 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam @Override protected void doPersist(NonTargetSampleDto bean) { - getNonTargetSampleService().save(getSelectedParentId(), bean); + + SaveResultDto saveResult = getNonTargetSampleService().save(getSelectedParentId(), bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index 9a22a1b..bf044ed 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -26,6 +26,7 @@ import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDtos; import fr.ird.observe.services.dto.seine.ObjectObservedSpeciesDto; @@ -93,7 +94,10 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati @Override protected void doPersist(FloatingObjectObservedSpeciesDto bean) { - getObjectObservedSpeciesService().save(bean); + + SaveResultDto saveResult = getObjectObservedSpeciesService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index 346be86..b59ce24 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -25,6 +25,7 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDtos; import fr.ird.observe.services.dto.seine.ObjectSchoolEstimateDto; @@ -89,7 +90,10 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin @Override protected void doPersist(FloatingObjectSchoolEstimateDto bean) { - getObjectSchoolEstimateService().save(bean); + + SaveResultDto saveResult = getObjectSchoolEstimateService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index 9facd2d..11d6629 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -30,6 +30,7 @@ import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SchoolEstimateDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDtos; @@ -127,7 +128,9 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo @Override protected void doPersist(SetSeineSchoolEstimateDto bean) { - getSchoolEstimateService().save(bean); + + SaveResultDto saveResult = getSchoolEstimateService().save(bean); + saveResult.toDto(bean); } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index 9c8c68c..f2d8303 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -277,8 +277,10 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa @Override protected void doPersist(SetSeineTargetCatchDto bean) { - SaveResultDto save = getTargetCatchService().save(bean); - bean.setLastUpdate(save.getLastUpdate()); + + SaveResultDto saveResult = getTargetCatchService().save(bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java index afde7c5..3c7480b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java @@ -483,8 +483,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT @Override protected void doPersist(SetSeineTargetCatchDto bean) { - SaveResultDto save = getTargetCatchService().save(bean); - bean.setLastUpdate(save.getLastUpdate()); + + SaveResultDto saveResult = getTargetCatchService().save(bean); + saveResult.toDto(bean); + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 7e871c6..1e70b0e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -312,8 +312,10 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto @Override protected void doPersist(TargetSampleDto bean) { - SaveResultDto saveResultDto = getTargetSampleService().save(getSelectedParentId(), bean); - bean.setLastUpdate(saveResultDto.getLastUpdate()); + + SaveResultDto saveResult = getTargetSampleService().save(getSelectedParentId(), bean); + saveResult.toDto(bean); + } @Override diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java index 8044135..6e44588 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java @@ -29,6 +29,7 @@ import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.ReferenceSetsRequest; import fr.ird.observe.services.service.ReferentialService; @@ -78,7 +79,7 @@ public class ReferentialServiceController extends ObserveAuthenticatedServiceCon } @Override - public <R extends ReferentialDto> String save(R bean) { + public <R extends ReferentialDto> SaveResultDto save(R bean) { return service.save(bean); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java index ad6e4e5..db7726d 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/longline/BranchlineServiceController.java @@ -3,6 +3,7 @@ package fr.ird.observe.application.web.controller.v1.longline; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.service.longline.BranchlineService; /** @@ -15,12 +16,12 @@ public class BranchlineServiceController extends ObserveAuthenticatedServiceCont } @Override - public Form<BranchlineDto> loadForm(String branchlineId) { - return service.loadForm(branchlineId); + public Form<BranchlineDto> loadForm(String setLonglineId, String id) { + return service.loadForm(setLonglineId, id); } @Override - public String save(BranchlineDto dto) { - return service.save(dto); + public SaveResultDto save(String setLonglineId, BranchlineDto dto) { + return service.save(setLonglineId, dto); } } \ No newline at end of file diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java index 7014276..7efe03c 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/FloatingObjectServiceController.java @@ -26,6 +26,7 @@ import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceC import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.service.seine.FloatingObjectService; @@ -69,7 +70,7 @@ public class FloatingObjectServiceController extends ObserveAuthenticatedService } @Override - public String save(String activitySeineId, FloatingObjectDto dto) { + public SaveResultDto save(String activitySeineId, FloatingObjectDto dto) { return service.save(activitySeineId, dto); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java index 3448203..3eb55e5 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/NonTargetSampleServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.service.seine.NonTargetSampleService; @@ -47,7 +48,7 @@ public class NonTargetSampleServiceController extends ObserveAuthenticatedServic } @Override - public String save(String setSeineId, NonTargetSampleDto dto) { + public SaveResultDto save(String setSeineId, NonTargetSampleDto dto) { return service.save(setSeineId, dto); } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java index a1a112d..83362ff 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectObservedSpeciesServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; import fr.ird.observe.services.service.seine.ObjectObservedSpeciesService; @@ -42,7 +43,7 @@ public class ObjectObservedSpeciesServiceController extends ObserveAuthenticated } @Override - public String save(FloatingObjectObservedSpeciesDto dto) { + public SaveResultDto save(FloatingObjectObservedSpeciesDto dto) { return service.save(dto); } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java index 0754a74..1fe707a 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/ObjectSchoolEstimateServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.service.seine.ObjectSchoolEstimateService; @@ -42,7 +43,7 @@ public class ObjectSchoolEstimateServiceController extends ObserveAuthenticatedS } @Override - public String save(FloatingObjectSchoolEstimateDto dto) { + public SaveResultDto save(FloatingObjectSchoolEstimateDto dto) { return service.save(dto); } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java index bec5d5c..98bf121 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SchoolEstimateServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.service.seine.SchoolEstimateService; @@ -42,7 +43,7 @@ public class SchoolEstimateServiceController extends ObserveAuthenticatedService } @Override - public String save(SetSeineSchoolEstimateDto dto) { + public SaveResultDto save(SetSeineSchoolEstimateDto dto) { return service.save(dto); } } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java index 22b6633..79c45bc 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/SetSeineServiceController.java @@ -25,6 +25,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.service.seine.SetSeineService; @@ -63,7 +64,7 @@ public class SetSeineServiceController extends ObserveAuthenticatedServiceContro } @Override - public String save(String activitySeineId, SetSeineDto dto) { + public SaveResultDto save(String activitySeineId, SetSeineDto dto) { return service.save(activitySeineId, dto); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java index c9a861f..583cfd5 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/seine/TransmittingBuoyOperationServiceController.java @@ -24,6 +24,7 @@ package fr.ird.observe.application.web.controller.v1.seine; import fr.ird.observe.application.web.controller.v1.ObserveAuthenticatedServiceControllerSupport; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.service.seine.TransmittingBuoyOperationService; @@ -42,7 +43,7 @@ public class TransmittingBuoyOperationServiceController extends ObserveAuthentic } @Override - public String save(FloatingObjectTransmittingBuoyDto dto) { + public SaveResultDto save(FloatingObjectTransmittingBuoyDto dto) { return service.save(dto); } } diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java index 5b87f16..f3d777c 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -22,6 +22,9 @@ package fr.ird.observe; * #L% */ +import com.google.common.base.Preconditions; +import org.nuiton.topia.persistence.TopiaDao; +import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersistenceContext { @@ -34,4 +37,16 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste getHibernateSupport().getHibernateSession().flush(); } + public <E extends TopiaEntity> Class<E> getType(E entity) { + + ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entity); + Preconditions.checkNotNull(entityEnum, "Entity " + entity + " is not managed by ToPIA"); + return (Class<E>) entityEnum.getContract(); + + } + + public <E extends TopiaEntity> TopiaDao<E> getDao(E entity) { + return getDao(getType(entity)); + } + } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java index d5c4bf6..fed9025 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java @@ -30,6 +30,7 @@ import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -69,7 +70,7 @@ public interface ReferentialService extends ObserveService { @WriteReferentialPermission @Write @PostRequest - <R extends ReferentialDto> String save(R bean); + <R extends ReferentialDto> SaveResultDto save(R bean); @WriteReferentialPermission @Write diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java index f6583d7..0f8924f 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/longline/BranchlineService.java @@ -3,6 +3,7 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; import fr.ird.observe.services.spi.Write; @@ -14,11 +15,11 @@ import fr.ird.observe.services.spi.WriteDataPermission; public interface BranchlineService extends ObserveService { @ReadDataPermission - Form<BranchlineDto> loadForm(String branchlineId); + Form<BranchlineDto> loadForm(String setLonglineId, String id); @Write @WriteDataPermission @PostRequest - String save(BranchlineDto dto); + SaveResultDto save(String setLonglineId, BranchlineDto dto); } \ No newline at end of file diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java index cdb6479..7d54f3e 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectService.java @@ -26,6 +26,7 @@ import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; @@ -59,7 +60,7 @@ public interface FloatingObjectService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String activitySeineId, FloatingObjectDto dto); + SaveResultDto save(String activitySeineId, FloatingObjectDto dto); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java index 754d06f..f16ee01 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -44,6 +45,6 @@ public interface NonTargetSampleService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String setSeineId, NonTargetSampleDto dto); + SaveResultDto save(String setSeineId, NonTargetSampleDto dto); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java index 3196fb6..9a6a7b1 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -41,6 +42,6 @@ public interface ObjectObservedSpeciesService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(FloatingObjectObservedSpeciesDto dto); + SaveResultDto save(FloatingObjectObservedSpeciesDto dto); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java index b887381..7783e1d 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -41,5 +42,5 @@ public interface ObjectSchoolEstimateService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(FloatingObjectSchoolEstimateDto dto); + SaveResultDto save(FloatingObjectSchoolEstimateDto dto); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java index 41e5c50..135334d 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -41,6 +42,6 @@ public interface SchoolEstimateService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(SetSeineSchoolEstimateDto dto); + SaveResultDto save(SetSeineSchoolEstimateDto dto); } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java index d8439aa..db1f331 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/SetSeineService.java @@ -25,6 +25,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.spi.DeleteRequest; import fr.ird.observe.services.spi.PostRequest; @@ -55,7 +56,7 @@ public interface SetSeineService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(String activitySeineId, SetSeineDto dto); + SaveResultDto save(String activitySeineId, SetSeineDto dto); @Write @WriteDataPermission diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java index a394c82..180dadb 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationService.java @@ -24,6 +24,7 @@ package fr.ird.observe.services.service.seine; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.dto.Form; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.ReadDataPermission; @@ -41,6 +42,6 @@ public interface TransmittingBuoyOperationService extends ObserveService { @Write @WriteDataPermission @PostRequest - String save(FloatingObjectTransmittingBuoyDto dto); + SaveResultDto save(FloatingObjectTransmittingBuoyDto dto); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDto.java new file mode 100644 index 0000000..bd7d551 --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/SaveResultDto.java @@ -0,0 +1,15 @@ +package fr.ird.observe.services.dto.result; + +import fr.ird.observe.services.dto.FollowedUpdateDto; +import fr.ird.observe.services.dto.IdDto; + +public class SaveResultDto extends AbstractSaveResultDto { + + private static final long serialVersionUID = 1L; + + public <D extends IdDto & FollowedUpdateDto> void toDto(D dto) { + dto.setId(getId()); + dto.setLastUpdate(getLastUpdate()); + + } +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index 0ede089..df37fb8 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -127,7 +127,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } public <E extends TopiaEntity> E newEntity(Class<E> entityType) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); E entity = dao.newInstance(); return entity; @@ -138,38 +138,38 @@ public abstract class ObserveServiceTopia implements ObserveService { } protected <E extends TopiaEntity> List<E> loadEntities(Class<E> entityType) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); List<E> entities = dao.findAll(); return entities; } - //FIXME A voir si ça sert à quelque chose ? - protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { - Preconditions.checkArgument(!(entity instanceof FollowedUpdateEntity)); + protected <E extends TopiaEntity & FollowedUpdateEntity> Date saveFollowedEntity(E entity) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = persistenceContext.getDao(entityType); - entity = dao.update(entity); - return entity; + Date lastUpdateDate = setLastUpdate(entity); - } + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) + TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entity); + dao.update(entity); - protected <E extends TopiaEntity & FollowedUpdateEntity> E saveFollowedEntity(Class<E> entityType, E entity) { + return lastUpdateDate; - entity.setLastUpdate(now()); + } - // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créée) - TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entityType); - entity = dao.update(entity); + protected <P extends TopiaEntity & FollowedUpdateEntity, E extends TopiaEntity> Date saveFollowedEntity(P parentEntity, E entity) { - setLastUpdate(entityType, entity.getLastUpdate()); + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) + TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entity); + dao.update(entity); - return entity; + Date lastUpdateDate = setLastUpdate(parentEntity); + return lastUpdateDate; } - protected <E extends FollowedUpdateEntity> void setLastUpdate(Class<E> entityType, Date lastUpdate) { + protected <E extends FollowedUpdateEntity> Date setLastUpdate(Class<E> entityType) { + + Date lastUpdate = now(); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); @@ -186,10 +186,42 @@ public abstract class ObserveServiceTopia implements ObserveService { } lastUpdateType.setLastUpdate(lastUpdate); + dao.update(lastUpdateType); + + return lastUpdate; + + } + + protected <E extends TopiaEntity & FollowedUpdateEntity> Date setLastUpdate(E entity) { + + Date lastUpdate = now(); + entity.setLastUpdate(lastUpdate); + + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); + + Class<E> entityType = persistenceContext.getType(entity); + + LastUpdateTypeTopiaDao dao = persistenceContext.getLastUpdateTypeDao(); + + LastUpdateType lastUpdateType = dao.forTypeEquals(entityType.getCanonicalName()).findUniqueOrNull(); + + if (lastUpdateType == null) { + + lastUpdateType = dao.newInstance(); + + lastUpdateType.setType(entityType.getCanonicalName()); + + } + + lastUpdateType.setLastUpdate(lastUpdate); dao.update(lastUpdateType); + + return lastUpdate; + } + protected <E extends TopiaEntity> Optional<Date> getLastUpdate(Class<E> entityType) { Optional<Date> result = Optional.absent(); @@ -222,7 +254,7 @@ public abstract class ObserveServiceTopia implements ObserveService { dao.delete(entity); if (FollowedUpdateEntity.class.isAssignableFrom(entityType)) { Class<? extends FollowedUpdateEntity> followedUpdateType = (Class<? extends FollowedUpdateEntity>) entityType; - setLastUpdate(followedUpdateType, now()); + setLastUpdate(followedUpdateType); } } } @@ -251,29 +283,24 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends TopiaEntity, D extends DataDto> E dataDtoToEntity(Class<D> dtoType, Class<E> entityType, D dto) { - - E entity = loadOrCreateEntity(dtoType, entityType, dto); + protected <E extends TopiaEntity, D extends DataDto> void copyDataDtoToEntity(D dto, E entity) { BINDER_ENGINE.copyDataDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); - return entity; - } - protected <E extends TopiaEntity, D extends DataDto> void dataDtoToEntity(D dto, E entity) { + protected <E extends ReferenceEntity, D extends ReferentialDto> void copyReferentialDtoToEntity(D dto, E entity) { - BINDER_ENGINE.copyDataDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); + BINDER_ENGINE.copyReferentialDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); } - protected <E extends ReferenceEntity, D extends ReferentialDto> void referentialDtoToEntity(D dto, E entity) { + protected <E extends TopiaEntity, D extends DataDto> E loadOrCreateEntityFromDataDto(D dto) { - BINDER_ENGINE.copyReferentialDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); + Class<D> dtoType = (Class<D>) dto.getClass(); - } + Class<E> entityType = getDataEntityType(dtoType); - protected <E extends TopiaEntity, D extends IdDto> E loadOrCreateEntity(Class<D> dtoType, Class<E> entityType, D dto) { E entity; if (dto.isPersisted()) { entity = loadEntity(dtoType, dto.getId()); @@ -283,13 +310,23 @@ public abstract class ObserveServiceTopia implements ObserveService { return entity; } - protected <E extends TopiaEntity & FollowedUpdateEntity, D extends DataDto> E loadOrCreateEntityAndCheckLastUpdate(Class<D> dtoType, Class<E> entityType, D dto) { + protected <E extends ReferenceEntity, D extends ReferentialDto> E loadOrCreateEntityFromReferentialDto(D dto) { + + Class<D> dtoType = (Class<D>) dto.getClass(); + + Class<E> entityType = getReferentialEntityType(dtoType); + E entity; if (dto.isPersisted()) { entity = loadEntity(dtoType, dto.getId()); } else { entity = newEntity(entityType); } + return entity; + } + + protected <E extends TopiaEntity & FollowedUpdateEntity, D extends DataDto> E loadOrCreateEntityAndCheckLastUpdate(D dto) { + E entity = loadOrCreateEntityFromDataDto(dto); checkLastUpdateDate(entity, dto); return entity; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index 81865f2..0af61c7 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -44,6 +44,8 @@ import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; @@ -158,18 +160,18 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe return form; } - public <D extends ReferentialDto> String save(D dto) { + public <D extends ReferentialDto> SaveResultDto save(D dto) { Class<D> dtoType = (Class<D>) dto.getClass(); Class<ReferenceEntity> entityType = getReferentialEntityType(dtoType); - ReferenceEntity entity = loadOrCreateEntity(dtoType, entityType, dto); + ReferenceEntity entity = loadOrCreateEntityFromReferentialDto(dto); - referentialDtoToEntity(dto, entity); + copyReferentialDtoToEntity(dto, entity); - saveFollowedEntity(entityType, entity); + Date lastUpdateDate = saveFollowedEntity(entity); + + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - //FIXME Il faut aussi renvoyer la nouvelle date de dernière mist à jour - return entity.getTopiaId(); } @Override diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java index d2eb6d5..39cf17f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -52,13 +54,13 @@ public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia im @Override public SaveResultDto save(ActivityLonglineEncouterDto dto) { - ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(ActivityLonglineEncouterDto.class, ActivityLongline.class, dto); + ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(ActivityLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java index f52745e..649a9df 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -51,13 +53,13 @@ public class ActivityLongLineSensorUsedServiceTopia extends ObserveServiceTopia @Override public SaveResultDto save(ActivityLonglineSensorUsedDto dto) { - ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(ActivityLonglineSensorUsedDto.class, ActivityLongline.class, dto); + ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(ActivityLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java index 6360edd..460e63e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java @@ -163,21 +163,19 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); - ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(ActivityLonglineDto.class, ActivityLongline.class, dto); + ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(ActivityLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); result.setId(entity.getTopiaId()); - result.setLastUpdate(entity.getLastUpdate()); + result.setLastUpdate(lastUpdateDate); if (dto.isNotPersisted()) { tripLongline.addActivityLongline(entity); - saveFollowedEntity(TripLongline.class, tripLongline); - } TripLonglineTopiaDao tripLonglineTopiaDao = getTopiaPersistenceContext().getTripLonglineDao(); @@ -217,7 +215,7 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.addActivityLongline(activityLongline); - saveFollowedEntity(TripLongline.class, tripLongline); + saveFollowedEntity(tripLongline); return getActivityLonglinePositionInTripLongline(tripLongline, activityLongline); @@ -237,7 +235,7 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements result.add(getActivityLonglinePositionInTripLongline(tripLongline, activityLongline)); } - saveFollowedEntity(TripLongline.class, tripLongline); + saveFollowedEntity(tripLongline); return result; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java index d196bb9..df98b9c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java @@ -1,10 +1,16 @@ package fr.ird.observe.services.service.longline; import fr.ird.observe.entities.longline.Branchline; +import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; + +import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -12,28 +18,32 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti public class BranchlineServiceTopia extends ObserveServiceTopia implements BranchlineService { @Override - public Form<BranchlineDto> loadForm(String branchlineId) { + public Form<BranchlineDto> loadForm(String setLonglineId, String id) { + + SetLongline setLongline = loadEntity(SetLonglineDto.class, setLonglineId); + + Branchline entity = loadEntity(BranchlineDto.class, id); - Branchline entity = loadEntity(BranchlineDto.class, branchlineId); + Form<BranchlineDto> form = dataEntityToForm(BranchlineDto.class, entity, ReferenceSetRequestDefinitions.BRANCHLINE_FORM); + form.getObject().setLastUpdate(setLongline.getLastUpdate()); - Form<BranchlineDto> form = dataEntityToForm(BranchlineDto.class, - entity, - ReferenceSetRequestDefinitions.BRANCHLINE_FORM); return form; } @Override - public String save(BranchlineDto dto) { + public SaveResultDto save(String setLonglineId, BranchlineDto dto) { + + SetLongline setLongline = loadEntity(SetLonglineDto.class, setLonglineId); + checkLastUpdateDate(setLongline, dto); + + Branchline entity = loadOrCreateEntityFromDataDto(dto); - //FIXME La branchline n'est pas connecté à un parent (la calée) - Branchline entity = loadOrCreateEntity(BranchlineDto.class, Branchline.class, dto); -// Branchline entity = loadOrCreateEntityAndCheckLastUpdate(BranchlineDto.class, Branchline.class, dto); + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(setLongline, entity); - entity = saveEntity(Branchline.class, entity); - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java index 00331d4..3085880 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -98,13 +100,14 @@ public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements @Override public SaveResultDto save(SetLonglineCatchDto dto) { - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineCatchDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); + + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(SetLongline.class, entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java index 394e1df..949b718 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java @@ -36,6 +36,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -97,17 +99,17 @@ public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopi @Override public SaveResultDto save(SetLonglineDetailCompositionDto dto) { - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineDetailCompositionDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(SetLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); for (Section section : entity.getSection()) { section.setSetLongline(entity); } - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java index a4e3895..6f99b5d 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -51,13 +53,13 @@ public class SetLonglineGlobalCompositionServiceTopia extends ObserveServiceTopi @Override public SaveResultDto save(SetLonglineGlobalCompositionDto dto) { - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineGlobalCompositionDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(SetLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java index 368f5dd..8e03be4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java @@ -132,21 +132,19 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(SetLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); if (dto.isNotPersisted()) { activityLongline.setSetLongline(entity); - saveFollowedEntity(ActivityLongline.class, activityLongline); - } - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } @@ -187,7 +185,7 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL otherSetDto.setId(otherSetLongline.getTopiaId()); otherSetDto.setHomeId(otherSetLongline.getHomeId()); otherSetDto.setNumber(otherSetLongline.getNumber()); - + DataReference<ActivityLonglineDto> reference = binder.toDataReference(getReferentialLocale(), activityLongline); otherSetDto.setActivityLongline(reference); otherSetLonglineDtos.add(otherSetDto); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java index 788266b..01ccff0 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -99,13 +101,14 @@ public class TdrServiceTopia extends ObserveServiceTopia implements TdrService { @Override public SaveResultDto save(SetLonglineTdrDto dto) { - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(SetLonglineTdrDto.class, SetLongline.class, dto); + SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); + + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(SetLongline.class, entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java index fcc6c6c..5da1029 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java @@ -23,7 +23,6 @@ package fr.ird.observe.services.service.longline; */ import fr.ird.observe.entities.longline.TripLongline; -import fr.ird.observe.entities.longline.TripLonglineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; @@ -31,6 +30,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -53,16 +54,17 @@ public class TripLonglineGearUseServiceTopia extends ObserveServiceTopia impleme @Override public SaveResultDto save(TripLonglineGearUseDto dto) { - TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(TripLonglineGearUseDto.class, TripLongline.class, dto); + TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(TripLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); - dao.updateEndDate(entity); + //FIXME Quel est le lien avec les mises en oeuvre d'un engin, ne serait-ce qu'un jolie copier-coller +// TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); +// dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java index b486d7b..7a31e8c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java @@ -159,16 +159,16 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri @Override public SaveResultDto save(TripLonglineDto dto) { - TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(TripLonglineDto.class, TripLongline.class, dto); + TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(TripLongline.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } @@ -185,7 +185,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri Program program = loadEntity(ProgramDto.class, programId); tripLongline.setProgram(program); - saveFollowedEntity(TripLongline.class, tripLongline); + saveFollowedEntity(tripLongline); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); @@ -207,7 +207,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.setProgram(program); - saveFollowedEntity(TripLongline.class, tripLongline); + saveFollowedEntity(tripLongline); persistenceContext.flush(); result.add(getTripLonglinePositionInProgram(programId, tripLonglineId)); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java index 5ab8797..a1edbab 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -50,12 +52,13 @@ public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia @Override public SaveResultDto save(ActivitySeineObservedSystemDto dto) { - ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(ActivitySeineObservedSystemDto.class, ActivitySeine.class, dto); + ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); + + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(ActivitySeine.class, entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java index c638f80..5416d8e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java @@ -177,21 +177,19 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac Route route = loadEntity(RouteDto.class, routeId); - ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(ActivitySeineDto.class, ActivitySeine.class, dto); + ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(ActivitySeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); if (dto.isNotPersisted()) { route.addActivitySeine(entity); - saveFollowedEntity(Route.class, route); - } - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } @@ -217,7 +215,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac Route route = loadEntity(RouteDto.class, routeId); route.addActivitySeine(activitySeine); - saveFollowedEntity(Route.class, route); + saveFollowedEntity(route); return getActivitySeinePositionInRoute(route, activitySeine); @@ -237,7 +235,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac result.add(getActivitySeinePositionInRoute(routeId, activityId)); } - saveFollowedEntity(Route.class, route); + saveFollowedEntity(route); return result; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java index dc269b4..ab7235e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java @@ -31,10 +31,13 @@ import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.service.DataNotFoundException; +import java.util.Date; import java.util.List; /** @@ -97,25 +100,24 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F } @Override - public String save(String activitySeineId, FloatingObjectDto dto) { + public SaveResultDto save(String activitySeineId, FloatingObjectDto dto) { ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectDto.class, FloatingObject.class, dto); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(FloatingObject.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); if (dto.isNotPersisted()) { activitySeine.addFloatingObject(entity); - saveFollowedEntity(ActivitySeine.class, activitySeine); - } - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + } @Override diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java index 50ddca0..267503a 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java @@ -43,6 +43,7 @@ import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.nuiton.topia.persistence.TopiaEntities; +import java.util.Date; import java.util.Set; /** @@ -97,9 +98,9 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N @Override public SaveResultDto save(SetSeineNonTargetCatchDto dto) { - SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(SetSeineNonTargetCatchDto.class, SetSeine.class, dto); + SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); // mise a jour de la propriete nonTargetDiscarded @@ -113,7 +114,6 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N } entity.setNonTargetDiscarded(hasRejet); - // on supprime les échantillons qui ne correspondent plus a des capture if (entity.sizeNonTargetSample() > 0) { NonTargetSample nonTargetSample = Iterables.get(entity.getNonTargetSample(), 0); @@ -144,8 +144,9 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N } } - entity = saveFollowedEntity(SetSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); + + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java index 0db4a2c..039633c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java @@ -31,10 +31,13 @@ import fr.ird.observe.entities.seine.SetSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import java.util.Collection; +import java.util.Date; import java.util.Set; /** @@ -109,26 +112,25 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements } @Override - public String save(String setSeineId, NonTargetSampleDto dto) { + public SaveResultDto save(String setSeineId, NonTargetSampleDto dto) { SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); checkLastUpdateDate(setSeine, dto); - NonTargetSample entity = loadOrCreateEntity(NonTargetSampleDto.class, NonTargetSample.class, dto); + NonTargetSample entity = loadOrCreateEntityFromDataDto(dto); - dataDtoToEntity(dto, entity); - - entity = saveEntity(NonTargetSample.class, entity); + copyDataDtoToEntity(dto, entity); if (dto.isNotPersisted()) { setSeine.addNonTargetSample(entity); + + } - saveFollowedEntity(SetSeine.class, setSeine); + Date lastUpdateDate = saveFollowedEntity(setSeine, entity); - } + return SaveResultDtos.of(setSeine.getTopiaId(), lastUpdateDate); - return setSeine.getTopiaId(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java index 6031e11..024ae98 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java @@ -26,8 +26,12 @@ import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -49,14 +53,15 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple } @Override - public String save(FloatingObjectObservedSpeciesDto dto) { + public SaveResultDto save(FloatingObjectObservedSpeciesDto dto) { + + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectObservedSpeciesDto.class, FloatingObject.class, dto); + copyDataDtoToEntity(dto, entity); - dataDtoToEntity(dto, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(FloatingObject.class, entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return entity.getTopiaId(); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java index 032922f..579266c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java @@ -26,8 +26,12 @@ import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -50,14 +54,15 @@ public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implem } @Override - public String save(FloatingObjectSchoolEstimateDto dto) { + public SaveResultDto save(FloatingObjectSchoolEstimateDto dto) { - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectSchoolEstimateDto.class, FloatingObject.class, dto); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(FloatingObject.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 5dda21e..9b2eafd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -194,19 +194,20 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi oldRouteDate = dto.getDate(); } - Route entity = loadOrCreateEntityAndCheckLastUpdate(RouteDto.class, Route.class, dto); + Route entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); + + Date lastUpdateDate = saveFollowedEntity(entity); - entity = saveFollowedEntity(Route.class, entity); result.setId(entity.getTopiaId()); - result.setLastUpdate(entity.getLastUpdate()); + result.setLastUpdate(lastUpdateDate); if (dto.isNotPersisted()) { tripSeine.addRoute(entity); - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); } else { Date oldDate = DateUtil.getDay(oldRouteDate); @@ -254,7 +255,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi Route route = loadEntity(RouteDto.class, routeId); TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); tripSeine.addRoute(route); - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); @@ -275,7 +276,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi result.add(getRoutePositionInTripSeine(tripSeine, route)); } - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); return result; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java index d5b7523..c0f5694 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java @@ -29,9 +29,13 @@ import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.dto.seine.TripSeineDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -57,18 +61,18 @@ public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements S } @Override - public String save(SetSeineSchoolEstimateDto dto) { + public SaveResultDto save(SetSeineSchoolEstimateDto dto) { - SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(SetSeineSchoolEstimateDto.class, SetSeine.class, dto); + SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); for (SchoolEstimate schoolEstimate : entity.getSchoolEstimate()) { schoolEstimate.setSetSeine(entity); } - entity = saveFollowedEntity(SetSeine.class, entity); - - return entity.getTopiaId(); + Date lastUpdateDate = saveFollowedEntity(entity); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java index fe53ef4..6e516dd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java @@ -30,6 +30,8 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -117,25 +119,24 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein } @Override - public String save(String activitySeineId, SetSeineDto dto) { + public SaveResultDto save(String activitySeineId, SetSeineDto dto) { ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(SetSeineDto.class, SetSeine.class, dto); + SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(SetSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); if (dto.isNotPersisted()) { activitySeine.setSetSeine(entity); - saveFollowedEntity(ActivitySeine.class, activitySeine); - } - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + } @Override @@ -152,6 +153,8 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein activitySeine.setSetSeine(null); //FIXME kmorin : faudrait pas sauver quelquechose là ? parcequ'on n'a rien supprimé... + //FIXME tchemit: normalement c'est une composition donc ça doit être supprimé tout seul (à vérifier) + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java index 7fbfcf3..a27ef1f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java @@ -25,6 +25,7 @@ import fr.ird.observe.services.dto.seine.TripSeineDto; import org.nuiton.topia.persistence.TopiaEntities; import java.util.Collection; +import java.util.Date; import java.util.List; import java.util.Set; @@ -106,7 +107,7 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ dto.addAllTargetCatch(otherTargetCatchDtos); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); // on supprime les échantillons qui ne correspondent plus a des capture TargetSample targetSample = entity.getTargetSample(dto.isDiscarded()); @@ -147,9 +148,10 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ Optional<TargetCatch> targetCatchDiscardedOptional = Iterables.tryFind(entity.getTargetCatch(), TargetCatchs.newDiscardedPredicate(true)); entity.setTargetDiscarded(targetCatchDiscardedOptional.isPresent()); - entity = saveFollowedEntity(SetSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); + + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index 2323636..8697d4d 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -38,6 +38,7 @@ import fr.ird.observe.services.dto.seine.TargetSampleDto; import org.apache.commons.lang3.BooleanUtils; import java.util.Collection; +import java.util.Date; import java.util.Set; /** @@ -93,8 +94,8 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar // si echantillon rejeté : on ne conserve que les espèces rejectées montées sur le pont // sinon les espèce cible - if ( discarded && targetCatch.isDiscarded() && BooleanUtils.isTrue(targetCatch.getBroughtOnDeck()) - || !discarded && !targetCatch.isDiscarded()) { + if (discarded && targetCatch.isDiscarded() && BooleanUtils.isTrue(targetCatch.getBroughtOnDeck()) + || !discarded && !targetCatch.isDiscarded()) { speciesSet.add(targetCatch.getWeightCategory().getSpecies()); } @@ -118,23 +119,22 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar SetSeine setSeine = loadEntity(SetSeineDto.class, setSeineId); checkLastUpdateDate(setSeine, dto); - TargetSample entity = loadOrCreateEntity(TargetSampleDto.class, TargetSample.class, dto); - dataDtoToEntity(dto, entity); + TargetSample entity = loadOrCreateEntityFromDataDto(dto); + copyDataDtoToEntity(dto, entity); for (TargetLength targetLength : entity.getTargetLength()) { targetLength.setTargetSample(entity); } - entity = saveEntity(TargetSample.class, entity); - if (dto.isNotPersisted()) { setSeine.addTargetSample(entity); - saveFollowedEntity(SetSeine.class, setSeine); - } - return SaveResultDtos.of(setSeine.getTopiaId(), setSeine.getLastUpdate()); + Date lastUpdateDate = saveFollowedEntity(setSeine, entity); + + return SaveResultDtos.of(setSeine.getTopiaId(), lastUpdateDate); + } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java index da6db22..821e03f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java @@ -26,8 +26,12 @@ import fr.ird.observe.entities.seine.FloatingObject; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -50,15 +54,15 @@ public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia i } @Override - public String save(FloatingObjectTransmittingBuoyDto dto) { + public SaveResultDto save(FloatingObjectTransmittingBuoyDto dto) { - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(FloatingObjectTransmittingBuoyDto.class, FloatingObject.class, dto); + FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(FloatingObject.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - return entity.getTopiaId(); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java index a838b11..4fd50ae 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java @@ -23,7 +23,6 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.entities.seine.TripSeineTopiaDao; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; @@ -31,6 +30,8 @@ import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; +import java.util.Date; + /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -53,16 +54,17 @@ public class TripSeineGearUseServiceTopia extends ObserveServiceTopia implements @Override public SaveResultDto save(TripSeineGearUseDto dto) { - TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(TripSeineGearUseDto.class, TripSeine.class, dto); + TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - entity = saveFollowedEntity(TripSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); - TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); - dao.updateEndDate(entity); + //FIXME Quel est le lien avec les mises en oeuvre d'un engin, ne serait-ce qu'un jolie copier-coller +// TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); +// dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index 927b5a2..8649932 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -165,16 +165,16 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe @Override public SaveResultDto save(TripSeineDto dto) { - TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(TripSeineDto.class, TripSeine.class, dto); + TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - dataDtoToEntity(dto, entity); + copyDataDtoToEntity(dto, entity); - saveFollowedEntity(TripSeine.class, entity); + Date lastUpdateDate = saveFollowedEntity(entity); TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), entity.getLastUpdate()); + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } @@ -191,7 +191,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); Program program = loadEntity(ProgramDto.class, programId); tripSeine.setProgram(program); - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); getTopiaPersistenceContext().flush(); @@ -211,7 +211,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); tripSeine.setProgram(program); - saveFollowedEntity(TripSeine.class, tripSeine); + saveFollowedEntity(tripSeine); getTopiaPersistenceContext().flush(); result.add(getTripSeinePositionInProgram(programId, tripSeineId)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 947842d135e9342143a7386593f8ad183b18cb0f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 19:58:22 2015 +0100 Chargement des référentiels dans les modèles des écrans de l'application swing --- .../ird/observe/ui/content/ContentUIHandler.java | 18 ++--- .../fr/ird/observe/ui/content/ContentUIModel.java | 78 ++++++++++++---------- .../impl/longline/SetLonglineUIHandler.java | 2 + .../ActivitySeineObservedSystemUIHandler.java | 3 + ...ngObjectTransmittingBuoyOperationUIHandler.java | 1 + .../impl/seine/FloatingObjectUIHandler.java | 1 + .../ui/content/impl/seine/SetSeineUIHandler.java | 2 + .../impl/longline/ActivityLonglinesUIHandler.java | 1 + .../list/impl/longline/TripLonglinesUIHandler.java | 7 +- .../list/impl/seine/ActivitySeinesUIHandler.java | 7 +- .../content/list/impl/seine/RoutesUIHandler.java | 7 +- .../list/impl/seine/TripSeinesUIHandler.java | 7 +- .../impl/longline/ActivityLonglineUIHandler.java | 3 + .../open/impl/longline/TripLonglineUIHandler.java | 3 + .../open/impl/seine/ActivitySeineUIHandler.java | 3 + .../ui/content/open/impl/seine/RouteUIHandler.java | 3 + .../open/impl/seine/TripSeineUIHandler.java | 3 + .../ui/content/ref/ContentReferenceUIHandler.java | 3 + .../ui/content/table/ContentTableUIHandler.java | 4 +- .../impl/longline/CatchLonglineUIHandler.java | 15 +++-- .../table/impl/longline/EncounterUIHandler.java | 2 + .../longline/GearUseFeaturesLonglineUIHandler.java | 1 + .../table/impl/longline/SensorUsedUIHandler.java | 1 + .../content/table/impl/longline/TdrUIHandler.java | 14 ++-- .../impl/seine/GearUseFeaturesSeineUIHandler.java | 1 + .../table/impl/seine/NonTargetCatchUIHandler.java | 3 +- .../table/impl/seine/NonTargetSampleUIHandler.java | 3 +- .../impl/seine/ObjectObservedSpeciesUIHandler.java | 1 + .../impl/seine/ObjectSchoolEstimateUIHandler.java | 1 + .../table/impl/seine/SchoolEstimateUIHandler.java | 3 +- .../table/impl/seine/TargetCatchUIHandler.java | 5 +- .../impl/seine/TargetDiscardCatchUIHandler.java | 11 ++- .../table/impl/seine/TargetSampleUIHandler.java | 1 + 33 files changed, 137 insertions(+), 81 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index a0bd09a..0e10462 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -556,9 +556,9 @@ public abstract class ContentUIHandler<E extends IdDto> { String propertyName = propertyDefinition.getName(); ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); - ReferentialReferenceSet filtredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + ReferentialReferenceSet filteredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); - modelReferentialReferenceSets.put(propertyName, filtredReferentialReferenceSet); + modelReferentialReferenceSets.put(propertyName, filteredReferentialReferenceSet); } @@ -880,7 +880,7 @@ public abstract class ContentUIHandler<E extends IdDto> { data = Collections.emptyList(); } else { - Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(dtoClass, list.getModel().getProperty()); + Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(list.getModel().getProperty()); data = new ArrayList<>(referenceSetDto); } @@ -905,7 +905,7 @@ public abstract class ContentUIHandler<E extends IdDto> { data = Collections.emptyList(); } else { - Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(dtoClass, list.getModel().getProperty()); + Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(list.getModel().getProperty()); data = new ArrayList<>(referenceSetDto); } @@ -930,7 +930,7 @@ public abstract class ContentUIHandler<E extends IdDto> { data = Collections.emptyList(); } else { - Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(dtoClass, list.getName()); + Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(list.getName()); data = new ArrayList<>(referenceSetDto); } @@ -952,7 +952,7 @@ public abstract class ContentUIHandler<E extends IdDto> { data = Collections.emptyList(); } else { - Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(dtoClass, list.getName()); + Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(list.getName()); data = new ArrayList<>(referenceSetDto); } @@ -982,7 +982,7 @@ public abstract class ContentUIHandler<E extends IdDto> { } else { - Optional<Set<ReferentialReference<R>>> optionalReferenceSetDto = getModel().tryToGetReferentialReferenceSet(dtoClass, propertyName); + Optional<Set<ReferentialReference<R>>> optionalReferenceSetDto = getModel().tryToGetReferentialReferenceSet(propertyName); if (optionalReferenceSetDto.isPresent()) { @@ -990,7 +990,9 @@ public abstract class ContentUIHandler<E extends IdDto> { data = Lists.newArrayList(references); } else { + data = Collections.emptyList(); + } } @@ -1019,7 +1021,7 @@ public abstract class ContentUIHandler<E extends IdDto> { } else { - Optional<Set<DataReference<R>>> optionalReferenceSetDto = getModel().tryToGetDataReferenceSet(dtoClass, propertyName); + Optional<Set<DataReference<R>>> optionalReferenceSetDto = getModel().tryToGetDataReferenceSet(propertyName); if (optionalReferenceSetDto.isPresent()) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java index b8d0a20..bcfbb0c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java @@ -77,9 +77,6 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab protected final Class<E> beanType; - //FIXME -// protected TopiaEntityBinder<E> loadBinder; - protected Form<E> form; protected E bean; @@ -98,7 +95,15 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab protected boolean canWrite; - private ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName; + /** + * Les référentiels qu'on peut utiliser, ils sont chargés depuis le cache des référentiels et peuvent être filtrés. + */ + protected ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName; + + /** + * Les données métier qu'on peut utiliser. + */ + protected ImmutableMap<String, DataReferenceSet<?>> dataReferenceSetsByPropertyName; public static <E extends IdDto> ContentUIModel<E> newModel(ObserveContentUI<E> ui) { @@ -252,42 +257,30 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab firePropertyChange(PROPERTY_CAN_WRITE, oldValue, canWrite); } - public <D extends ReferentialDto> Set<ReferentialReference<D>> getReferentialReferences(Class<D> type, String name) { - - //FIXME A mettre dans ce modèle -// ReferenceSetDto<D> referenceSetDto1 = formDto.getReferenceSetDto(type, name); -// LinkedHashSet<ReferentialReference<D>> reference = (LinkedHashSet) referenceSetDto1.getReferences(); -// return reference; - return null; - - } - - public <D extends DataDto> Set<DataReference<D>> getDataReferences(Class<D> type, String name) { + public <D extends ReferentialDto> Set<ReferentialReference<D>> getReferentialReferences(String name) { - //FIXME A mettre dans ce modèle -// ReferenceSetDto<D> referenceSetDto1 = formDto.getReferenceSetDto(type, name); -// LinkedHashSet<ReferentialReference<D>> reference = (LinkedHashSet) referenceSetDto1.getReferences(); -// return reference; - return null; + ReferentialReferenceSet<D> referentialReferenceSet = getReferentialReferenceSet(name); + Set<ReferentialReference<D>> references =referentialReferenceSet.getReferences(); + return references; } - public <D extends DataDto> DataReferenceSet<D> getDataReferenceSet(Class<D> type, String name) { + public <D extends DataDto> Set<DataReference<D>> getDataReferences(String name) { - //FIXME A mettre dans ce modèle -// ReferenceSetDto<D> referenceSetDto = formDto.getReferenceSetDto(type, name); -// return referenceSetDto; - return null; + DataReferenceSet<D> referentialReferenceSet = getDataReferenceSet(name); + Set<DataReference<D>> references =referentialReferenceSet.getReferences(); + return references; } - public <D extends ReferentialDto> ReferentialReference<D> getReferentialReferenceById(Class<D> type, String name, String id) { + public <D extends ReferentialDto> ReferentialReference<D> getReferentialReferenceById(String name, String id) { - ReferentialReferenceSet<D> referentialReferenceSet = getReferentialReferenceSet(name); + ReferentialReferenceSet<D> referenceSet = getReferentialReferenceSet(name); + //FIXME Doit-on interdire la nullité ? ReferentialReference<D> reference = null; - if (referentialReferenceSet != null) { - reference = referentialReferenceSet.getReferenceById(id); + if (referenceSet != null) { + reference = referenceSet.getReferenceById(id); } return reference; @@ -297,16 +290,24 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab this.referentialReferenceSetsByPropertyName = referentialReferenceSetsByPropertyName; } - protected <R extends DataDto> Optional<Set<DataReference<R>>> tryToGetDataReferenceSet(Class<R> dtoClass, String propertyName) { - //FIXME A mettre dans ce modèle - return null; + public void setDataReferenceSetsByPropertyName(ImmutableMap<String, DataReferenceSet<?>> dataReferenceSetsByPropertyName) { + this.dataReferenceSetsByPropertyName = dataReferenceSetsByPropertyName; } - protected <R extends ReferentialDto> Optional<Set<ReferentialReference<R>>> tryToGetReferentialReferenceSet(Class<R> dtoClass, String propertyName) { - ReferentialReferenceSet<R> referentialReferenceSet = getReferentialReferenceSet(propertyName); + protected <R extends DataDto> Optional<Set<DataReference<R>>> tryToGetDataReferenceSet(String propertyName) { + DataReferenceSet<R> referenceSet = getDataReferenceSet(propertyName); + Set<DataReference<R>> references = null; + if (referenceSet != null) { + references = referenceSet.getReferences(); + } + return Optional.fromNullable(references); + } + + protected <R extends ReferentialDto> Optional<Set<ReferentialReference<R>>> tryToGetReferentialReferenceSet(String propertyName) { + ReferentialReferenceSet<R> referenceSet = getReferentialReferenceSet(propertyName); Set<ReferentialReference<R>> references = null; - if (referentialReferenceSet != null) { - references = referentialReferenceSet.getReferences(); + if (referenceSet != null) { + references = referenceSet.getReferences(); } return Optional.fromNullable(references); } @@ -318,4 +319,9 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab private <R extends ReferentialDto> ReferentialReferenceSet<R> getReferentialReferenceSet(String propertyName) { return (ReferentialReferenceSet<R>) referentialReferenceSetsByPropertyName.get(propertyName); } + + public <R extends DataDto> DataReferenceSet<R> getDataReferenceSet(String propertyName) { + return (DataReferenceSet<R>) dataReferenceSetsByPropertyName.get(propertyName); + } + } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java index 40f213c..0cb1c5b 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/longline/SetLonglineUIHandler.java @@ -227,6 +227,8 @@ public class SetLonglineUIHandler extends ContentUIHandler<SetLonglineDto> { } + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); SetLonglineDtos.copySetLonglineDto(form.getObject(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java index dd90b56..4c0f636 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/ActivitySeineObservedSystemUIHandler.java @@ -90,6 +90,9 @@ public class ActivitySeineObservedSystemUIHandler extends ContentUIHandler<Activ getModel().setMode(mode); Form<ActivitySeineObservedSystemDto> form = getActivitySeineObservedSystemService().loadForm(activityId); + + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); ActivitySeineObservedSystemDtos.copyActivitySeineObservedSystemDto(form.getObject(), getBean()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java index a7bf8bf..868b258 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectTransmittingBuoyOperationUIHandler.java @@ -121,6 +121,7 @@ public class FloatingObjectTransmittingBuoyOperationUIHandler extends ContentUIH getModel().setEditing(false); Form<FloatingObjectTransmittingBuoyDto> form = getTransmittingBuoyOperationService().loadForm(dcpId); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); FloatingObjectTransmittingBuoyDtos.copyFloatingObjectTransmittingBuoyDto(form.getObject(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java index e0a2f4e..79dbee5 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/FloatingObjectUIHandler.java @@ -123,6 +123,7 @@ public class FloatingObjectUIHandler extends ContentUIHandler<FloatingObjectDto> form = getFloatingObjectService().loadForm(dcpId); } + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); FloatingObjectDtos.copyFloatingObjectDto(form.getObject(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java index 837453b..6f8cfa9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/impl/seine/SetSeineUIHandler.java @@ -185,6 +185,8 @@ public class SetSeineUIHandler extends ContentUIHandler<SetSeineDto> { // utilisation du mode requis setContentMode(mode); + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); SetSeineDtos.copySetSeineDto(form.getObject(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java index 62ff0cb..58a240f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/ActivityLonglinesUIHandler.java @@ -131,6 +131,7 @@ public class ActivityLonglinesUIHandler extends ContentListUIHandler<TripLonglin protected void loadParentBean() { TripLonglineService service = getDataSource().newService(TripLonglineService.class); Form<TripLonglineDto> form = service.loadForm(getSelectedParentId()); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); TripLonglineDtos.copyTripLonglineDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java index d69a402..fb4ab20 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/longline/TripLonglinesUIHandler.java @@ -112,9 +112,10 @@ public class TripLonglinesUIHandler extends ContentListUIHandler<ProgramDto, Tri @Override protected void loadParentBean() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - Form<ProgramDto> programDtoForm = service.loadForm(ProgramDto.class, getSelectedParentId()); - getModel().setForm(programDtoForm); - ProgramDtos.copyProgramDto(programDtoForm.getObject(), getBean()); + Form<ProgramDto> form = service.loadForm(ProgramDto.class, getSelectedParentId()); + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); + ProgramDtos.copyProgramDto(form.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java index 5121191..a4bbf3c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/ActivitySeinesUIHandler.java @@ -127,8 +127,9 @@ public class ActivitySeinesUIHandler extends ContentListUIHandler<RouteDto, Acti @Override protected void loadParentBean() { RouteService service = ObserveSwingApplicationContext.get().newService(RouteService.class); - Form<RouteDto> routeDtoForm = service.loadForm(getSelectedParentId()); - getModel().setForm(routeDtoForm); - RouteDtos.copyRouteDto(routeDtoForm.getObject(), getBean()); + Form<RouteDto> form = service.loadForm(getSelectedParentId()); + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); + RouteDtos.copyRouteDto(form.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java index e569cac..f5462e1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/RoutesUIHandler.java @@ -125,8 +125,9 @@ public class RoutesUIHandler extends ContentListUIHandler<TripSeineDto, RouteDto @Override protected void loadParentBean() { TripSeineService service = ObserveSwingApplicationContext.get().newService(TripSeineService.class); - Form<TripSeineDto> tripSeineDtoForm = service.loadForm(getSelectedParentId()); - getModel().setForm(tripSeineDtoForm); - TripSeineDtos.copyTripSeineDto(tripSeineDtoForm.getObject(), getBean()); + Form<TripSeineDto> form = service.loadForm(getSelectedParentId()); + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); + TripSeineDtos.copyTripSeineDto(form.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java index 1dbf48f..85442e6 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/impl/seine/TripSeinesUIHandler.java @@ -110,8 +110,9 @@ public class TripSeinesUIHandler extends ContentListUIHandler<ProgramDto, TripSe @Override protected void loadParentBean() { ReferentialService service = ObserveSwingApplicationContext.get().newService(ReferentialService.class); - Form<ProgramDto> programDtoForm = service.loadForm(ProgramDto.class, getSelectedParentId()); - getModel().setForm(programDtoForm); - ProgramDtos.copyProgramDto(programDtoForm.getObject(), getBean()); + Form<ProgramDto> form = service.loadForm(ProgramDto.class, getSelectedParentId()); + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); + ProgramDtos.copyProgramDto(form.getObject(), getBean()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java index 34ae2f0..b08d35f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/ActivityLonglineUIHandler.java @@ -186,6 +186,9 @@ public class ActivityLonglineUIHandler extends ContentOpenableUIHandler<Activity } setContentMode(mode); + + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); ActivityLonglineDtos.copyActivityLonglineDto(form.getObject(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java index e5a845b..81ccf7d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/longline/TripLonglineUIHandler.java @@ -174,6 +174,9 @@ public class TripLonglineUIHandler extends ContentOpenableUIHandler<TripLongline } setContentMode(mode); + + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); TripLonglineDtos.copyTripLonglineDto(form.getObject(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java index 5f003f1..010f48c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/ActivitySeineUIHandler.java @@ -213,6 +213,9 @@ public class ActivitySeineUIHandler extends ContentOpenableUIHandler<ActivitySei } setContentMode(mode); + + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); ActivitySeineDtos.copyActivitySeineDto(form.getObject(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java index 3b314d6..d8ca426 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/RouteUIHandler.java @@ -146,6 +146,9 @@ public class RouteUIHandler extends ContentOpenableUIHandler<RouteDto> { } setContentMode(mode); + + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); RouteDtos.copyRouteDto(form.getObject(), editBean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java index 63f6280..3ba0763 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/open/impl/seine/TripSeineUIHandler.java @@ -171,6 +171,9 @@ public class TripSeineUIHandler extends ContentOpenableUIHandler<TripSeineDto> { } setContentMode(mode); + + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); TripSeineDtos.copyTripSeineDto(form.getObject(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index dba5d4b..6f1015a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -540,6 +540,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // creation mode Form<E> form = getReferentialService().preCreate(getBeanType()); + + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); copyIntoBean(form.getObject(), bean); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index 8572f1a..8312d2d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -463,7 +463,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex } else { speciesId = ((ReferentialReference<?>) ref).getId(); } - return getModel().getReferentialReferenceById(SpeciesDto.class, TargetCatchDto.PROPERTY_SPECIES, speciesId); + return getModel().getReferentialReferenceById(TargetCatchDto.PROPERTY_SPECIES, speciesId); } /** @@ -472,7 +472,7 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex */ protected List<ReferentialReference<WeightCategoryDto>> getSpeciesWeightCategories(String speciesId) { - Set<ReferentialReference<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); + Set<ReferentialReference<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); return Lists.newArrayList(Iterables.filter(allCategories, new WeightCategorySpeciesPredicate(speciesId))); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java index ab0c5e6..64459df 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/CatchLonglineUIHandler.java @@ -26,6 +26,7 @@ import com.google.common.collect.Lists; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.constants.DataContextType; import fr.ird.observe.services.dto.DataReference; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -605,14 +606,18 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat Form<SetLonglineCatchDto> form = getSetLonglineCatchService().loadForm(beanId); CatchLonglineUIModel model = getModel(); + + loadReferentialReferenceSetsInModel(form); + model.setForm(form); - LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); - positionHelper.initSections(model.getDataReferenceSet(SectionDto.class, CatchLonglineDto.PROPERTY_SECTION), - model.getDataReferenceSet(BasketDto.class, CatchLonglineDto.PROPERTY_BASKET), - model.getDataReferenceSet(BranchlineDto.class, CatchLonglineDto.PROPERTY_BRANCHLINE), - form.getObject().getCatchLongline()); + DataReferenceSet<SectionDto> sections= model.getDataReferenceSet(CatchLonglineDto.PROPERTY_SECTION); + DataReferenceSet<BasketDto> baskets = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BASKET); + DataReferenceSet<BranchlineDto> branchlines = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BRANCHLINE); + + LonglinePositionHelper<CatchLonglineDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); + positionHelper.initSections(sections, baskets, branchlines, form.getObject().getCatchLongline()); SetLonglineCatchDtos.copySetLonglineCatchDto(form.getObject(), getBean()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java index a6269e1..fe2ef62 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/EncounterUIHandler.java @@ -108,6 +108,8 @@ public class EncounterUIHandler extends ContentTableUIHandler<ActivityLonglineEn @Override protected void loadEditBean(String beanId) { Form<ActivityLonglineEncouterDto> form = getActivityLongLineEncouterService().loadForm(beanId); + loadReferentialReferenceSetsInModel(form); + getModel().setForm(form); ActivityLonglineEncouterDtos.copyActivityLonglineEncouterDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java index 51d55bf..449c96a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIHandler.java @@ -492,6 +492,7 @@ public class GearUseFeaturesLonglineUIHandler extends ContentTableUIHandler<Trip @Override protected void loadEditBean(String beanId) { Form<TripLonglineGearUseDto> form = getTripLonglineGearUseService().loadForm(beanId); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); TripLonglineGearUseDtos.copyTripLonglineGearUseDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java index 84c860c..c1eccf8 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/SensorUsedUIHandler.java @@ -239,6 +239,7 @@ public class SensorUsedUIHandler extends ContentTableUIHandler<ActivityLonglineS @Override protected void loadEditBean(String beanId) { Form<ActivityLonglineSensorUsedDto> form = getActivityLonglineSensorUsedService().loadForm(beanId); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); ActivityLonglineSensorUsedDtos.copyActivityLonglineSensorUsedDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java index 2a83b3d..7f0dba4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/TdrUIHandler.java @@ -28,9 +28,11 @@ import com.google.common.io.Files; import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.ObserveSwingTechnicalException; import fr.ird.observe.db.constants.DataContextType; +import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; +import fr.ird.observe.services.dto.longline.CatchLonglineDto; import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; import fr.ird.observe.services.dto.longline.SetLonglineTdrDtos; @@ -474,13 +476,17 @@ public class TdrUIHandler extends ContentTableUIHandler<SetLonglineTdrDto, TdrDt Form<SetLonglineTdrDto> form = getTdrService().loadForm(beanId); ContentTableUIModel<SetLonglineTdrDto, TdrDto> model = getModel(); + loadReferentialReferenceSetsInModel(form); model.setForm(form); - LonglinePositionHelper<TdrDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); + DataReferenceSet<SectionDto> sections = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_SECTION); + DataReferenceSet<BasketDto> baskets = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BASKET); + DataReferenceSet<BranchlineDto> branchlines = model.getDataReferenceSet(CatchLonglineDto.PROPERTY_BRANCHLINE); - positionHelper.initSections(model.getDataReferenceSet(SectionDto.class, TdrDto.PROPERTY_SECTION), - model.getDataReferenceSet(BasketDto.class, TdrDto.PROPERTY_BASKET), - model.getDataReferenceSet(BranchlineDto.class, TdrDto.PROPERTY_BRANCHLINE), + LonglinePositionHelper<TdrDto> positionHelper = POSITION_HELPER_ENTRY.getContextValue(getUi()); + positionHelper.initSections(sections, + baskets, + branchlines, form.getObject().getTdr()); SetLonglineTdrDtos.copySetLonglineTdrDto(form.getObject(), getBean()); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java index 1c00447..e5ce0b0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIHandler.java @@ -489,6 +489,7 @@ public class GearUseFeaturesSeineUIHandler extends ContentTableUIHandler<TripSei @Override protected void loadEditBean(String beanId) { Form<TripSeineGearUseDto> form = getTripSeineGearUseService().loadForm(beanId); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); TripSeineGearUseDtos.copyTripSeineGearUseDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java index d1ed6c2..e99beac 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetCatchUIHandler.java @@ -226,7 +226,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa JComponent requestFocus; if (create) { - Set<ReferentialReference<SpeciesDto>> speciesSet = getModel().getReferentialReferences(SpeciesDto.class, NonTargetCatchDto.PROPERTY_SPECIES); + Set<ReferentialReference<SpeciesDto>> speciesSet = getModel().getReferentialReferences(NonTargetCatchDto.PROPERTY_SPECIES); availableEspeces = Lists.newArrayList(speciesSet); requestFocus = ui.getSpecies(); @@ -371,6 +371,7 @@ public class NonTargetCatchUIHandler extends ContentTableUIHandler<SetSeineNonTa protected void loadEditBean(String beanId) { String tripSeineId = getDataContext().getSelectedTripSeineId(); Form<SetSeineNonTargetCatchDto> form = getNonTargetCatchService().loadForm(beanId, tripSeineId); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); SetSeineNonTargetCatchDtos.copySetSeineNonTargetCatchDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java index c3db701..b5cfb35 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/NonTargetSampleUIHandler.java @@ -148,7 +148,7 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam ui.getAcquisitionModeGroup().setSelectedValue(ModeSaisieEchantillonEnum.byEffectif); } - Set<ReferentialReference<SpeciesDto>> speciesReferences = getModel().getReferentialReferences(SpeciesDto.class, NonTargetLengthDto.PROPERTY_SPECIES); + Set<ReferentialReference<SpeciesDto>> speciesReferences = getModel().getReferentialReferences(NonTargetLengthDto.PROPERTY_SPECIES); availableEspeces = Lists.newArrayList(speciesReferences); requestFocus = ui.getSpecies(); @@ -305,6 +305,7 @@ public class NonTargetSampleUIHandler extends ContentTableUIHandler<NonTargetSam @Override protected void loadEditBean(String beanId) { Form<NonTargetSampleDto> form = getNonTargetSampleService().loadForm(beanId); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); NonTargetSampleDtos.copyNonTargetSampleDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java index bf044ed..7e556c4 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectObservedSpeciesUIHandler.java @@ -103,6 +103,7 @@ public class ObjectObservedSpeciesUIHandler extends ContentTableUIHandler<Floati @Override protected void loadEditBean(String beanId) { Form<FloatingObjectObservedSpeciesDto> form = getObjectObservedSpeciesService().loadForm(beanId); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); FloatingObjectObservedSpeciesDtos.copyFloatingObjectObservedSpeciesDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java index b59ce24..1604deb 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ObjectSchoolEstimateUIHandler.java @@ -99,6 +99,7 @@ public class ObjectSchoolEstimateUIHandler extends ContentTableUIHandler<Floatin @Override protected void loadEditBean(String beanId) { Form<FloatingObjectSchoolEstimateDto> form = getObjectSchoolEstimateService().loadForm(beanId); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); FloatingObjectSchoolEstimateDtos.copyFloatingObjectSchoolEstimateDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java index 11d6629..b33abab 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/SchoolEstimateUIHandler.java @@ -90,7 +90,7 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo JComponent requestFocus; if (create) { - Set<ReferentialReference<SpeciesDto>> references = getModel().getReferentialReferences(SpeciesDto.class, SchoolEstimateDto.PROPERTY_SPECIES); + Set<ReferentialReference<SpeciesDto>> references = getModel().getReferentialReferences(SchoolEstimateDto.PROPERTY_SPECIES); List<ReferentialReference<SpeciesDto>> listSpeciesUsed = model.getColumnValues(0); @@ -137,6 +137,7 @@ public class SchoolEstimateUIHandler extends ContentTableUIHandler<SetSeineSchoo protected void loadEditBean(String beanId) { String tripSeineId = getDataContext().getSelectedTripSeineId(); Form<SetSeineSchoolEstimateDto> form = getSchoolEstimateService().loadForm(beanId, tripSeineId); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); SetSeineSchoolEstimateDtos.copySetSeineSchoolEstimateDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index f2d8303..76b6420 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -285,13 +285,10 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa @Override protected void loadEditBean(String beanId) { - String tripSeineId = getDataContext().getSelectedTripSeineId(); - Form<SetSeineTargetCatchDto> form = getTargetCatchService().loadForm(beanId, false, tripSeineId); - + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); - SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java index 3c7480b..5167056 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetDiscardCatchUIHandler.java @@ -437,7 +437,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT ReferentialReference<ReasonForDiscardDto> reasonForDiscard) { ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - Set<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); + Set<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); List<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardList = Lists.newArrayList(reasonForDiscardSet); @@ -457,7 +457,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT protected List<ReferentialReference<WeightCategoryDto>> getAllWeightCategories() { - Set<ReferentialReference<WeightCategoryDto>> weightCategorySet = getModel().getReferentialReferences(WeightCategoryDto.class, TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); + Set<ReferentialReference<WeightCategoryDto>> weightCategorySet = getModel().getReferentialReferences(TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); List<ReferentialReference<WeightCategoryDto>> weightCategoryList = Lists.newArrayList(weightCategorySet); return weightCategoryList; @@ -467,7 +467,7 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT ContentTableModel<SetSeineTargetCatchDto, TargetCatchDto> model = getTableModel(); - Set<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(ReasonForDiscardDto.class, TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); + Set<ReferentialReference<ReasonForDiscardDto>> reasonForDiscardSet = getModel().getReferentialReferences(TargetCatchDto.PROPERTY_REASON_FOR_DISCARD); int nbReasonForDiscard = reasonForDiscardSet.size(); @@ -492,13 +492,10 @@ public class TargetDiscardCatchUIHandler extends ContentTableUIHandler<SetSeineT @Override protected void loadEditBean(String beanId) { - String tripSeineId = getDataContext().getSelectedTripSeineId(); - Form<SetSeineTargetCatchDto> form = getTargetCatchService().loadForm(beanId, true, tripSeineId); - + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); - SetSeineTargetCatchDtos.copySetSeineTargetCatchDto(form.getObject(), getBean()); } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java index 1e70b0e..ba6de85 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetSampleUIHandler.java @@ -321,6 +321,7 @@ public class TargetSampleUIHandler extends ContentTableUIHandler<TargetSampleDto @Override protected void loadEditBean(String beanId) { Form<TargetSampleDto> form = getTargetSampleService().loadForm(beanId, discarded); + loadReferentialReferenceSetsInModel(form); getModel().setForm(form); TargetSampleDtos.copyTargetSampleDto(form.getObject(), getBean()); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 0a536cc43678b6c26cc426b09f68fb49d56039cf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 20:41:59 2015 +0100 Récupération de la liste des catégories de poids à partir d'une espèce --- .../fr/ird/observe/ui/content/table/ContentTableUIHandler.java | 10 ++++++++-- .../ui/content/table/impl/seine/TargetCatchUIHandler.java | 1 - 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java index 8312d2d..3adff44 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIHandler.java @@ -474,7 +474,12 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex Set<ReferentialReference<WeightCategoryDto>> allCategories = getModel().getReferentialReferences(TargetCatchDto.PROPERTY_WEIGHT_CATEGORY); - return Lists.newArrayList(Iterables.filter(allCategories, new WeightCategorySpeciesPredicate(speciesId))); + List<ReferentialReference<WeightCategoryDto>> references = Lists.newArrayList(Iterables.filter(allCategories, new WeightCategorySpeciesPredicate(speciesId))); + + if (log.isInfoEnabled()) { + log.info("Found " + references.size() + " categories for species: " + speciesId); + } + return references; } @@ -488,7 +493,8 @@ public abstract class ContentTableUIHandler<E extends IdDto, D extends IdDto> ex @Override public boolean apply(ReferentialReference<WeightCategoryDto> input) { - return speciesId.equals(input.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES)); + ReferentialReference<SpeciesDto> speciesReference = (ReferentialReference<SpeciesDto>) input.getPropertyValue(WeightCategoryDto.PROPERTY_SPECIES); + return speciesId.equals(speciesReference.getId()); } } diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java index 76b6420..06810be 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/TargetCatchUIHandler.java @@ -247,7 +247,6 @@ public class TargetCatchUIHandler extends ContentTableUIHandler<SetSeineTargetCa UIHelper.setTableColumnRenderer(table, 4, UIHelper.newStringTableCellRenderer(renderer, 10, true)); } - @SuppressWarnings("unchecked") protected void onSpeciesChanged(ReferentialReference<SpeciesDto> species) { List<ReferentialReference<WeightCategoryDto>> availableCategories; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit d6cc0c32a78b998616f0bff5837738a49a822026 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 22:17:38 2015 +0100 Ne pas charger les référentiels si aucune définition n'est disponible dans le formulaire) --- .../ird/observe/ui/content/ContentUIHandler.java | 34 +++++++++++++--------- 1 file changed, 21 insertions(+), 13 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index 0e10462..807f709 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -539,26 +539,34 @@ public abstract class ContentUIHandler<E extends IdDto> { String requestName = form.getReferentialReferenceSetsRequestName(); - // mettre à jour le cache de référentiel - ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); + ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); - // calculer les listes de référentiels à utiliser dans le modèle + if (requestName != null) { - ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); + if (log.isInfoEnabled()) { + log.info("Update referential reference sets for: " + requestName); + } - ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); + // mettre à jour le cache de référentiel + ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); - for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { + // calculer les listes de référentiels à utiliser dans le modèle - if (!propertyDefinition.isReferential()) { - continue; - } + ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); - String propertyName = propertyDefinition.getName(); - ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); - ReferentialReferenceSet filteredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { - modelReferentialReferenceSets.put(propertyName, filteredReferentialReferenceSet); + if (!propertyDefinition.isReferential()) { + continue; + } + + String propertyName = propertyDefinition.getName(); + ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); + ReferentialReferenceSet filteredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + + modelReferentialReferenceSets.put(propertyName, filteredReferentialReferenceSet); + + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 2cdb92407033d9ed886294969d20fe12a8e8d81b Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:11:24 2015 +0100 Par défaut on mets des modèles de références vides --- .../src/main/java/fr/ird/observe/ui/content/ContentUIModel.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java index bcfbb0c..710cf57 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIModel.java @@ -98,12 +98,12 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab /** * Les référentiels qu'on peut utiliser, ils sont chargés depuis le cache des référentiels et peuvent être filtrés. */ - protected ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName; + protected ImmutableMap<String, ReferentialReferenceSet<?>> referentialReferenceSetsByPropertyName = ImmutableMap.of(); /** * Les données métier qu'on peut utiliser. */ - protected ImmutableMap<String, DataReferenceSet<?>> dataReferenceSetsByPropertyName; + protected ImmutableMap<String, DataReferenceSet<?>> dataReferenceSetsByPropertyName = ImmutableMap.of(); public static <E extends IdDto> ContentUIModel<E> newModel(ObserveContentUI<E> ui) { @@ -260,7 +260,7 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab public <D extends ReferentialDto> Set<ReferentialReference<D>> getReferentialReferences(String name) { ReferentialReferenceSet<D> referentialReferenceSet = getReferentialReferenceSet(name); - Set<ReferentialReference<D>> references =referentialReferenceSet.getReferences(); + Set<ReferentialReference<D>> references = referentialReferenceSet.getReferences(); return references; } @@ -268,7 +268,7 @@ public abstract class ContentUIModel<E extends IdDto> extends AbstractSerializab public <D extends DataDto> Set<DataReference<D>> getDataReferences(String name) { DataReferenceSet<D> referentialReferenceSet = getDataReferenceSet(name); - Set<DataReference<D>> references =referentialReferenceSet.getReferences(); + Set<DataReference<D>> references = referentialReferenceSet.getReferences(); return references; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 8aab55d86f7ceead128ecf5e05dded5d6a379c6c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:11:47 2015 +0100 Ne pas charger les listes via les mises à jour pour les écrans de type List --- .../src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css | 1 + 1 file changed, 1 insertion(+) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css index 967e396..4fa62ac 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/list/ContentListUI.css @@ -29,6 +29,7 @@ } #listHeader { + _listNoLoad: true; beanType:{(Class)DataReference.class}; _doInit:{getModel().getChildType()}; showReset:true; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit be9b6d2862a790e688c4cd9705232afc6df925e9 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Nov 29 23:12:19 2015 +0100 Ne pas charger les composants BeanListHeader si un marqueur de non chargement est présent --- .../ird/observe/ui/content/ContentUIHandler.java | 26 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index 807f709..a7f08f2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -932,13 +932,22 @@ public abstract class ContentUIHandler<E extends IdDto> { protected <R extends ReferentialDto> void updateReferentialBeanListHeader(Class<R> dtoClass, BeanListHeader<ReferentialReference<R>> list) { + Boolean noLoad = (Boolean) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + List<ReferentialReference<R>> data; - if (getModel().getForm() == null) { + String propertyName = list.getName(); + + if (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null) { + + if (log.isInfoEnabled()) { + log.info(String.format("Skip loading of BeanListHeader [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); + } data = Collections.emptyList(); + } else { - Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(list.getName()); + Set<ReferentialReference<R>> referenceSetDto = getModel().getReferentialReferences(propertyName); data = new ArrayList<>(referenceSetDto); } @@ -954,13 +963,22 @@ public abstract class ContentUIHandler<E extends IdDto> { protected <R extends DataDto> void updateDataBeanListHeader(Class<R> dtoClass, BeanListHeader<DataReference<R>> list) { + Boolean noLoad = (Boolean) list.getClientProperty(ObserveContentUI.CLIENT_PROPERTY_LIST_NO_LOAD); + List<DataReference<R>> data; - if (getModel().getForm() == null) { + String propertyName = list.getName(); + + if (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null) { + + if (log.isInfoEnabled()) { + log.info(String.format("Skip loading of BeanListHeader [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); + } data = Collections.emptyList(); + } else { - Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(list.getName()); + Set<DataReference<R>> referenceSetDto = getModel().getDataReferences(propertyName); data = new ArrayList<>(referenceSetDto); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit b4774f0c5acb117932aaf1eac3e0a7e0f08fb332 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Nov 30 01:09:22 2015 +0100 Faire fonctionner les listes de réferentielsobserve-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java --- .../java/fr/ird/observe/ui/DecoratorService.java | 2 +- .../ird/observe/ui/content/ContentUIHandler.java | 46 +++-- .../observe/ui/content/ref/ContentReferenceUI.css | 2 +- .../observe/ui/content/ref/ContentReferenceUI.jaxx | 29 +-- .../ui/content/ref/ContentReferenceUIHandler.java | 45 ++--- .../ReferentialReferenceSetDefinitions.java | 2 +- .../request/ReferenceSetRequestDefinition.java | 20 +- .../request/ReferenceSetRequestDefinitions.java | 213 +++++++++++++++++---- .../referential/LengthWeightParameterBinder.java | 13 +- 9 files changed, 245 insertions(+), 127 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java index db34b07..ef4d553 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/DecoratorService.java @@ -433,7 +433,7 @@ public class DecoratorService extends DecoratorProvider { // LengthWeightParameter decorator registerDecorator(new LengthWeightParameterDecorator()); registerReferentialReferenceDecorator(LengthWeightParameterDto.class, - "${sex/label}$s##${ocean/label}$s##${species/scientificLabel}$s##" + t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s"); + "${sex}$s##${ocean}$s##${species}$s##" + t("observe.common.lengthWeightFormula") + " ${lengthWeightFormula}$s"); registerDefaultReferentialAndReferentialReferenceDecorator(SexDto.class, libelle); //FIXME Use startDate - endDate diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java index a7f08f2..2e7d081 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ContentUIHandler.java @@ -539,35 +539,41 @@ public abstract class ContentUIHandler<E extends IdDto> { String requestName = form.getReferentialReferenceSetsRequestName(); - ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); - if (requestName != null) { - if (log.isInfoEnabled()) { - log.info("Update referential reference sets for: " + requestName); - } + loadReferentialReferenceSetsInModel(requestName); - // mettre à jour le cache de référentiel - ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); + } - // calculer les listes de référentiels à utiliser dans le modèle + } - ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); + protected void loadReferentialReferenceSetsInModel(String requestName) { - for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { + ImmutableMap.Builder<String, ReferentialReferenceSet<?>> modelReferentialReferenceSets = ImmutableMap.builder(); - if (!propertyDefinition.isReferential()) { - continue; - } + if (log.isInfoEnabled()) { + log.info("Update referential reference sets for: " + requestName); + } + + // mettre à jour le cache de référentiel + ImmutableMap<Class<?>, ReferentialReferenceSet<?>> referentialReferenceSetsByType = getDataSource().updateReferentialReferenceSetsCache(requestName); + + // calculer les listes de référentiels à utiliser dans le modèle - String propertyName = propertyDefinition.getName(); - ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); - ReferentialReferenceSet filteredReferentialReferenceSet = filtredReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + ReferenceSetRequestDefinition requestDefinition = ReferenceSetRequestDefinitions.get(requestName); - modelReferentialReferenceSets.put(propertyName, filteredReferentialReferenceSet); + for (ReferenceSetRequestKeyDefinition propertyDefinition : requestDefinition.getPropertyDefinitions()) { + if (!propertyDefinition.isReferential()) { + continue; } + String propertyName = propertyDefinition.getName(); + ReferentialReferenceSet referentialReferenceSet = referentialReferenceSetsByType.get(propertyDefinition.getType()); + ReferentialReferenceSet filteredReferentialReferenceSet = filterReferentialReferenceSet(propertyDefinition, referentialReferenceSet); + + modelReferentialReferenceSets.put(propertyName, filteredReferentialReferenceSet); + } getModel().setReferentialReferenceSets(modelReferentialReferenceSets.build()); @@ -938,7 +944,7 @@ public abstract class ContentUIHandler<E extends IdDto> { String propertyName = list.getName(); - if (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null) { + if (!"referentialListHeader".equals(propertyName) && (BooleanUtils.isTrue(noLoad) || getModel().getForm() == null)) { if (log.isInfoEnabled()) { log.info(String.format("Skip loading of BeanListHeader [%s-%s] (listNoLoad property found or form is null)", dtoClass.getSimpleName(), propertyName)); @@ -1080,8 +1086,8 @@ public abstract class ContentUIHandler<E extends IdDto> { return getDecoratorService().getReferentialReferenceDecorator(dtoType); } - private final <D extends ReferentialDto> ReferentialReferenceSet<D> filtredReferentialReferenceSet(ReferenceSetRequestKeyDefinition<D> propertyDefinition, - ReferentialReferenceSet<D> incomingReferentialReferenceSet) { + private final <D extends ReferentialDto> ReferentialReferenceSet<D> filterReferentialReferenceSet(ReferenceSetRequestKeyDefinition<D> propertyDefinition, + ReferentialReferenceSet<D> incomingReferentialReferenceSet) { Class<D> dtoType = propertyDefinition.getType(); String propertyName = propertyDefinition.getName(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css index 182cb6d..40cddf2 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.css @@ -49,7 +49,7 @@ layout:{new BorderLayout()}; } -#listHeader { +#referentialListHeader { beanType:{(Class)ReferentialReference.class}; showReset:true; list:{list}; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx index b7ab6e1..8ac51ef 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUI.jaxx @@ -81,13 +81,12 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); <JPanel id="body"> <JPanel id="listView" constraints="LIST_VIEW"> - <JScrollPane id='listPane' constraints='BorderLayout.CENTER' - columnHeaderView='{listHeader}'> + <JScrollPane id='listPane' constraints='BorderLayout.CENTER' columnHeaderView='{referentialListHeader}'> <JList id='list' onValueChanged='getHandler().selectBean((ReferentialReference<E>)getSelectedBean(list))' onMouseClicked='if (event.getClickCount() == 2) { getHandler().modifyUI(); }'/> - <BeanListHeader id='listHeader' genericType='ReferentialReference<E>' _entityClass="getModel().getBeanType()"/> + <BeanListHeader id='referentialListHeader' genericType='ReferentialReference<E>' _entityClass="getModel().getBeanType()"/> </JScrollPane> </JPanel> @@ -137,20 +136,16 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); <Table id='actions' fill='both' weightx='1' insets='0'> <row> <cell> - <Table id="listActions" fill="both" weightx="1" insets="1" - visible='{!model.isEditing()}'> + <Table id="listActions" fill="both" weightx="1" insets="1" visible='{!model.isEditing()}'> <row> <cell> - <JButton id='create' - onActionPerformed='getHandler().createUI()'/> + <JButton id='create' onActionPerformed='getHandler().createUI()'/> </cell> <cell> - <JButton id='modify' - onActionPerformed='getHandler().modifyUI()'/> + <JButton id='modify' onActionPerformed='getHandler().modifyUI()'/> </cell> <cell> - <JButton id='detail' - onActionPerformed='getHandler().modifyUI()'/> + <JButton id='detail' onActionPerformed='getHandler().modifyUI()'/> </cell> <cell> <JButton id='deleteFromList' styleClass='delete'/> @@ -165,8 +160,7 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); visible='{model.isEditing()}'> <row> <cell fill="both" weightx="1"> - <Table fill="both" weightx="1" insets="1" - visible='{!model.isReadingMode()}'> + <Table fill="both" weightx="1" insets="1" visible='{!model.isReadingMode()}'> <row> <cell> <JButton id='reset'/> @@ -183,8 +177,7 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); </row> <row> <cell fill="both" weightx="1"> - <JButton id='backToList' - onActionPerformed='getHandler().backToList()'/> + <JButton id='backToList' onActionPerformed='getHandler().backToList()'/> <!--onActionPerformed='getHandelr().backToList();if (!model.isModified() || fr.ird.observe.ui.content.ContentUIHandler.checkEdit(this)) { stopEdit(); }'/--> </cell> </row> @@ -195,11 +188,9 @@ viewLayout.addLayoutComponent(editView, DETAIL_VIEW); <JPanel id="invisible"> - <JButton id="showUsages" - onActionPerformed='getHandler().showUsages()'/> + <JButton id="showUsages" onActionPerformed='getHandler().showUsages()'/> - <JButton id='showUniqueKeys' - onActionPerformed='getHandler().showUniqueKeys((JButton) event.getSource());'/> + <JButton id='showUniqueKeys' onActionPerformed='getHandler().showUniqueKeys((JButton) event.getSource());'/> <JButton id='showTechnicalInformations' onActionPerformed='getHandler().showTechnicalInformations((JButton) event.getSource());'/> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java index 6f1015a..9d96dc0 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/ref/ContentReferenceUIHandler.java @@ -29,6 +29,7 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.constants.ReferenceStatus; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.I18nReferentialDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; @@ -372,8 +373,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content Decorator<?> decorator = dService.getDecoratorByType(bean.getClass()); String type = DecoratorService.getEntityLabel(bean.getClass()); type = t(type); - String message = t("observe.message.show.usages", type, - decorator.toString(bean)); + String message = t("observe.message.show.usages", type, decorator.toString(bean)); ContentReferenceUI<E> ui = getUi(); @@ -384,8 +384,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content t("observe.title.show.usage"), usagesUI, JOptionPane.INFORMATION_MESSAGE, - new Object[]{ - t("observe.choice.quit")}, + new Object[]{t("observe.choice.quit")}, 0); } @@ -460,6 +459,9 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content ContentReferenceUIModel<E> model = getModel(); + ReferenceSetRequestDefinitions requestDefinition = ReferenceSetRequestDefinitions.get(getBeanType()); + loadReferentialReferenceSetsInModel(requestDefinition.name()); + // Chargement des données updateUiWithReferenceSetsFromModel(); @@ -498,8 +500,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content model.setMode(mode); if (mode != ContentMode.READ) { //FIXME le binding ne marche pas en init - ui.processDataBinding( - ContentReferenceUI.BINDING_DELETE_FROM_LIST_ENABLED); + ui.processDataBinding(ContentReferenceUI.BINDING_DELETE_FROM_LIST_ENABLED); } } @@ -579,7 +580,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content @Override protected void prepareValidationContext() { super.prepareValidationContext(); - BeanListHeader<ReferentialReference<E>> jList = getUi().getListHeader(); + BeanListHeader<ReferentialReference<E>> jList = getUi().getReferentialListHeader(); List<ReferentialReference<E>> data = jList.getData(); ObserveSwingApplicationContext applicationContext = ObserveSwingApplicationContext.get(); ValidationContext validationContext = applicationContext.getValidationContext(); @@ -661,15 +662,13 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content if (!model.isModified() || checkEdit(getUi())) { getUi().stopEdit(); - // then resynch the selected bean to edit bean (used for - // example to delete)... + // then resynch the selected bean to edit bean (used for example to delete)... // repush selected bean to bean copyIntoBean(model.getSelectedBean(), getBean()); } } - //FIXME @Override protected boolean doSave(E bean) throws Exception { @@ -682,8 +681,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content } SaveResultDto saveResult = getReferentialService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); if (bean instanceof ProgramDto) { @@ -738,8 +736,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content // sauvegarde du bean d'edition dans le bean de la base SaveResultDto saveResult = getReferentialService().save(bean); - bean.setId(saveResult.getId()); - bean.setLastUpdate(saveResult.getLastUpdate()); + saveResult.toDto(bean); if (bean instanceof ProgramDto) { @@ -751,17 +748,6 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content return true; } - //FIXME -// @Override -// protected E onUpdate(TopiaContext tx, -// Object parentBean, -// E beanToSave) throws TopiaException { -// -// getLoadBinder().copy(getBean(), beanToSave); -// return beanToSave; -// } - - //FIXME @Override protected boolean doDelete(E bean) throws Exception { @@ -805,15 +791,6 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content return true; } - //FIXME -// @Override -// protected void onDelete(TopiaContext tx, -// Object parentBean, -// E beanToDelete) throws TopiaException { -// TopiaDAO<E> dao = getDataSource().getDAO(tx, beanToDelete); -// dao.delete(beanToDelete); -// } - protected void afterSave(boolean refresh) { super.afterSave(refresh); getUi().stopEdit(); diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java index 532f659..f575b20 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/ReferentialReferenceSetDefinitions.java @@ -84,7 +84,7 @@ public enum ReferentialReferenceSetDefinitions { FPA_ZONE(newDefaultDefinitionBuilder(FpaZoneDto.class)), - GEAR_CARACTERISTIC(newDefinitionBuilder(GearCaracteristicDto.class) + GEAR_CARACTERISTIC(newDefaultDefinitionBuilder(GearCaracteristicDto.class) .addProperty(String.class, GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE)), GEAR_CARACTERISTIC_TYPE(newDefaultDefinitionBuilder(GearCaracteristicTypeDto.class)), diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java index 32796d3..78acc59 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinition.java @@ -22,16 +22,19 @@ public class ReferenceSetRequestDefinition implements Serializable { private final ImmutableSet<ReferenceSetDefinition<? extends DataDto>> dataReferenceSetDefinitions; + private final Class<? extends IdDto> type; + private final ImmutableSet<ReferenceSetRequestKeyDefinition<?>> propertyDefinitions; private final ImmutableSet<ReferenceSetDefinition<? extends ReferentialDto>> referentialReferenceSetDefinitions; - public static Builder builder() { - return new Builder(); + public static Builder builder(Class<? extends IdDto> type) { + return new Builder(type); } - public ReferenceSetRequestDefinition(ImmutableSet<ReferenceSetRequestKeyDefinition<?>> propertyDefinitions, ImmutableSet<ReferenceSetDefinition<? extends ReferentialDto>> referentialReferenceSetDefinitions, + public ReferenceSetRequestDefinition(Class<? extends IdDto> type, ImmutableSet<ReferenceSetRequestKeyDefinition<?>> propertyDefinitions, ImmutableSet<ReferenceSetDefinition<? extends ReferentialDto>> referentialReferenceSetDefinitions, ImmutableSet<ReferenceSetDefinition<? extends DataDto>> dataReferenceSetDefinitions) { + this.type = type; this.propertyDefinitions = propertyDefinitions; this.referentialReferenceSetDefinitions = referentialReferenceSetDefinitions; this.dataReferenceSetDefinitions = dataReferenceSetDefinitions; @@ -49,15 +52,22 @@ public class ReferenceSetRequestDefinition implements Serializable { return propertyDefinitions; } + public Class<? extends IdDto> getType() { + return type; + } + public static class Builder { + private final Class<? extends IdDto> type; + private final ImmutableSet.Builder<ReferenceSetRequestKeyDefinition<?>> propertiesBuilder; private final ImmutableSet.Builder<ReferenceSetDefinition<? extends ReferentialDto>> referentialSetsBuilder; private final ImmutableSet.Builder<ReferenceSetDefinition<? extends DataDto>> dataSetsBuilder; - public Builder() { + public Builder(Class<? extends IdDto> type) { + this.type = type; this.propertiesBuilder = ImmutableSet.builder(); this.referentialSetsBuilder = ImmutableSet.builder(); this.dataSetsBuilder = ImmutableSet.builder(); @@ -70,7 +80,7 @@ public class ReferenceSetRequestDefinition implements Serializable { } public ReferenceSetRequestDefinition build() { - return new ReferenceSetRequestDefinition(propertiesBuilder.build(), referentialSetsBuilder.build(), dataSetsBuilder.build()); + return new ReferenceSetRequestDefinition(type, propertiesBuilder.build(), referentialSetsBuilder.build(), dataSetsBuilder.build()); } protected <D extends IdDto> void addKey(String name, ReferenceSetDefinition<D> definition) { diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java index 6d9158d..65d5cd2 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/reference/request/ReferenceSetRequestDefinitions.java @@ -1,5 +1,6 @@ package fr.ird.observe.services.dto.reference.request; +import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.BaitsCompositionDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -11,23 +12,74 @@ import fr.ird.observe.services.dto.longline.GearUseFeaturesLonglineDto; import fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLonglineDto; import fr.ird.observe.services.dto.longline.HooksCompositionDto; import fr.ird.observe.services.dto.longline.SensorUsedDto; +import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.longline.SizeMeasureDto; import fr.ird.observe.services.dto.longline.TdrDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.longline.WeightMeasureDto; +import fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions; +import fr.ird.observe.services.dto.referential.CountryDto; +import fr.ird.observe.services.dto.referential.FpaZoneDto; import fr.ird.observe.services.dto.referential.GearCaracteristicDto; +import fr.ird.observe.services.dto.referential.GearCaracteristicTypeDto; import fr.ird.observe.services.dto.referential.GearDto; import fr.ird.observe.services.dto.referential.HarbourDto; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; +import fr.ird.observe.services.dto.referential.OceanDto; import fr.ird.observe.services.dto.referential.OrganismDto; import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.ProgramDto; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.SexDto; import fr.ird.observe.services.dto.referential.SpeciesDto; +import fr.ird.observe.services.dto.referential.SpeciesGroupDto; import fr.ird.observe.services.dto.referential.SpeciesListDto; import fr.ird.observe.services.dto.referential.VesselDto; +import fr.ird.observe.services.dto.referential.VesselSizeCategoryDto; +import fr.ird.observe.services.dto.referential.VesselTypeDto; +import fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto; +import fr.ird.observe.services.dto.referential.longline.BaitTypeDto; +import fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto; +import fr.ird.observe.services.dto.referential.longline.EncounterTypeDto; +import fr.ird.observe.services.dto.referential.longline.HealthnessDto; +import fr.ird.observe.services.dto.referential.longline.HookPositionDto; +import fr.ird.observe.services.dto.referential.longline.HookSizeDto; +import fr.ird.observe.services.dto.referential.longline.HookTypeDto; +import fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto; +import fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksColorDto; +import fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto; +import fr.ird.observe.services.dto.referential.longline.LineTypeDto; +import fr.ird.observe.services.dto.referential.longline.MaturityStatusDto; +import fr.ird.observe.services.dto.referential.longline.MitigationTypeDto; +import fr.ird.observe.services.dto.referential.longline.SensorBrandDto; +import fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto; +import fr.ird.observe.services.dto.referential.longline.SensorTypeDto; +import fr.ird.observe.services.dto.referential.longline.SettingShapeDto; +import fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto; +import fr.ird.observe.services.dto.referential.longline.StomacFullnessDto; +import fr.ird.observe.services.dto.referential.longline.TripTypeDto; +import fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto; +import fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto; +import fr.ird.observe.services.dto.referential.seine.DetectionModeDto; +import fr.ird.observe.services.dto.referential.seine.ObjectFateDto; +import fr.ird.observe.services.dto.referential.seine.ObjectOperationDto; +import fr.ird.observe.services.dto.referential.seine.ObjectTypeDto; +import fr.ird.observe.services.dto.referential.seine.ObservedSystemDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto; +import fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesFateDto; +import fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto; +import fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto; +import fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto; +import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; import fr.ird.observe.services.dto.referential.seine.WeightCategoryDto; +import fr.ird.observe.services.dto.referential.seine.WindDto; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; @@ -61,6 +113,7 @@ import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefin import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.HOOK_TYPE; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.ITEM_HORIZONTAL_POSITION; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.ITEM_VERTICAL_POSITION; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LENGTH_WEIGHT_PARAMETER; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LIGHTSTICKS_COLOR; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LIGHTSTICKS_TYPE; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.LINE_TYPE; @@ -86,6 +139,7 @@ import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefin import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_FATE; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_GROUP; +import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_LIST; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SPECIES_STATUS; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.STOMAC_FULLNESS; import static fr.ird.observe.services.dto.reference.ReferentialReferenceSetDefinitions.SURROUNDING_ACTIVITY; @@ -117,7 +171,7 @@ public enum ReferenceSetRequestDefinitions { // LONGLINE DATA TRIP_LONGLINE_FORM( - newBuilder() + newBuilder(TripLonglineDto.class) .addKey(TripLonglineDto.PROPERTY_TRIP_TYPE, TRIP_TYPE) .addKey(TripLonglineDto.PROPERTY_OBSERVER, PERSON) .addKey(TripLonglineDto.PROPERTY_VESSEL, VESSEL) @@ -129,28 +183,28 @@ public enum ReferenceSetRequestDefinitions { .addKey(TripLonglineDto.PROPERTY_LANDING_HARBOUR, HARBOUR)), TRIP_LONGLINE_GEAR_USE_FORM( - newBuilder() + newBuilder(GearUseFeaturesLonglineDto.class) .addKey(GearUseFeaturesLonglineDto.PROPERTY_GEAR, GEAR) .addKey(GearUseFeaturesMeasurementLonglineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC)), ACTIVITY_LONGLINE_FORM( - newBuilder() + newBuilder(ActivityLonglineDto.class) .addKey(ActivityLonglineDto.PROPERTY_FPA_ZONE, FPA_ZONE) .addKey(ActivityLonglineDto.PROPERTY_VESSEL_ACTIVITY_LONGLINE, VESSEL_ACTIVITY_LONGLINE)), ACTIVITY_LONGLINE_SENSOR_USED_FORM( - newBuilder() + newBuilder(SensorUsedDto.class) .addKey(SensorUsedDto.PROPERTY_SENSOR_TYPE, SENSOR_TYPE) .addKey(SensorUsedDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) .addKey(SensorUsedDto.PROPERTY_SENSOR_DATA_FORMAT, SENSOR_DATA_FORMAT)), ACTIVITY_LONGLINE_ENCOUTER_FORM( - newBuilder() + newBuilder(EncounterDto.class) .addKey(EncounterDto.PROPERTY_ENCOUNTER_TYPE, ENCOUNTER_TYPE) .addKey(EncounterDto.PROPERTY_SPECIES, SPECIES)), BRANCHLINE_FORM( - newBuilder() + newBuilder(BranchlineDto.class) .addKey(BranchlineDto.PROPERTY_BAIT_SETTING_STATUS, BAIT_SETTING_STATUS) .addKey(BranchlineDto.PROPERTY_HOOK_SIZE, HOOK_SIZE) .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS) @@ -160,7 +214,7 @@ public enum ReferenceSetRequestDefinitions { .addKey(BranchlineDto.PROPERTY_BAIT_TYPE, BAIT_TYPE)), SET_LONGLINE_GLOBAL_COMPOSITION_FORM( - newBuilder() + newBuilder(SetLonglineGlobalCompositionDto.class) .addKey(SetLonglineGlobalCompositionDto.PROPERTY_MITIGATION_TYPE, MITIGATION_TYPE) .addKey(FloatlinesCompositionDto.PROPERTY_LINE_TYPE, LINE_TYPE) .addKey(BranchlinesCompositionDto.PROPERTY_TOP_TYPE, LINE_TYPE) @@ -171,7 +225,7 @@ public enum ReferenceSetRequestDefinitions { .addKey(BaitsCompositionDto.PROPERTY_BAIT_TYPE, BAIT_TYPE)), SET_LONGLINE_DETAIL_COMPOSITION_FORM( - newBuilder() + newBuilder(SetLonglineDetailCompositionDto.class) .addKey(BranchlineDto.PROPERTY_TOP_TYPE, LINE_TYPE) .addKey(BranchlineDto.PROPERTY_TRACELINE_TYPE, LINE_TYPE) .addKey(BranchlineDto.PROPERTY_HOOK_TYPE, HOOK_TYPE) @@ -181,14 +235,14 @@ public enum ReferenceSetRequestDefinitions { .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS)), SET_LONGLINE_FORM( - newBuilder() + newBuilder(SetLonglineDto.class) .addKey(SetLonglineDto.PROPERTY_SETTING_SHAPE, SETTING_SHAPE) .addKey(SetLonglineDto.PROPERTY_LINE_TYPE, LINE_TYPE) .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_TYPE, LIGHTSTICKS_TYPE) .addKey(SetLonglineDto.PROPERTY_LIGHTSTICKS_COLOR, LIGHTSTICKS_COLOR)), SET_LONGLINE_CATCH_FORM( - newBuilder() + newBuilder(CatchLonglineDto.class) .addKey(CatchLonglineDto.PROPERTY_SPECIES_CATCH, SPECIES) .addKey(CatchLonglineDto.PROPERTY_CATCH_HEALTHNESS, HEALTHNESS) .addKey(CatchLonglineDto.PROPERTY_HOOK_POSITION, HOOK_POSITION) @@ -203,7 +257,7 @@ public enum ReferenceSetRequestDefinitions { .addKey(BranchlineDto.PROPERTY_BAIT_HAULING_STATUS, BAIT_HAULING_STATUS)), SET_LONGLINE_TDR_FORM( - newBuilder() + newBuilder(TdrDto.class) .addKey(TdrDto.PROPERTY_SENSOR_BRAND, SENSOR_BRAND) .addKey(TdrDto.PROPERTY_ITEM_HORIZONTAL_POSITION, ITEM_HORIZONTAL_POSITION) .addKey(TdrDto.PROPERTY_ITEM_VERTICAL_POSITION, ITEM_VERTICAL_POSITION) @@ -212,7 +266,7 @@ public enum ReferenceSetRequestDefinitions { // SEINE DATA TRIP_SEINE_FORM( - newBuilder() + newBuilder(TripSeineDto.class) .addKey(TripSeineDto.PROPERTY_OBSERVER, PERSON) .addKey(TripSeineDto.PROPERTY_CAPTAIN, PERSON) .addKey(TripSeineDto.PROPERTY_DATA_ENTRY_OPERATOR, PERSON) @@ -223,12 +277,12 @@ public enum ReferenceSetRequestDefinitions { .addKey(TripSeineDto.PROPERTY_PROGRAM, PROGRAM)), TRIP_SEINE_GEAR_USE_FORM( - newBuilder() + newBuilder(GearUseFeaturesSeineDto.class) .addKey(GearUseFeaturesSeineDto.PROPERTY_GEAR, GEAR) .addKey(GearUseFeaturesMeasurementSeineDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC)), ACTIVITY_SEINE_FORM( - newBuilder() + newBuilder(ActivitySeineDto.class) .addKey(ActivitySeineDto.PROPERTY_VESSEL_ACTIVITY_SEINE, VESSEL_ACTIVITY_SEINE) .addKey(ActivitySeineDto.PROPERTY_SURROUNDING_ACTIVITY, SURROUNDING_ACTIVITY) .addKey(ActivitySeineDto.PROPERTY_WIND, WIND) @@ -239,114 +293,172 @@ public enum ReferenceSetRequestDefinitions { .addKey(ActivitySeineDto.PROPERTY_NEXT_FPA_ZONE, FPA_ZONE)), ACTIVITY_SEINE_OBSERVED_SYSTEM_FORM( - newBuilder() + newBuilder(ActivitySeineObservedSystemDto.class) .addKey(ActivitySeineObservedSystemDto.PROPERTY_OBSERVED_SYSTEM, OBSERVED_SYSTEM)), SET_SEINE_FORM( - newBuilder() + newBuilder(SetSeineDto.class) .addKey(SetSeineDto.PROPERTY_REASON_FOR_NULL_SET, REASON_FOR_NULL_SET)), SET_SEINE_SCHOOL_ESTIMATE_FORM( - newBuilder() + newBuilder(SchoolEstimateDto.class) .addKey(SchoolEstimateDto.PROPERTY_SPECIES, SPECIES)), SET_SEINE_TARGET_CATCH_FORM( - newBuilder() + newBuilder(TargetCatchDto.class) .addKey(TargetCatchDto.PROPERTY_SPECIES, SPECIES) .addKey(TargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD) .addKey(TargetCatchDto.PROPERTY_WEIGHT_CATEGORY, WEIGHT_CATEGORY)), SET_SEINE_NON_TARGET_CATCH_FORM( - newBuilder() + newBuilder(NonTargetCatchDto.class) .addKey(NonTargetCatchDto.PROPERTY_SPECIES, SPECIES) .addKey(NonTargetCatchDto.PROPERTY_SPECIES_FATE, SPECIES_FATE) .addKey(NonTargetCatchDto.PROPERTY_REASON_FOR_DISCARD, REASON_FOR_DISCARD)), TARGET_SAMPLE_FORM( - newBuilder() + newBuilder(TargetLengthDto.class) .addKey(TargetLengthDto.PROPERTY_SPECIES, SPECIES)), NON_TARGET_SAMPLE_FORM( - newBuilder() + newBuilder(NonTargetLengthDto.class) .addKey(NonTargetLengthDto.PROPERTY_SPECIES, SPECIES) .addKey(NonTargetLengthDto.PROPERTY_SEX, SEX)), FLOATING_OBJECT_FORM( - newBuilder() + newBuilder(FloatingObjectDto.class) .addKey(FloatingObjectDto.PROPERTY_OBJECT_TYPE, OBJECT_TYPE) .addKey(FloatingObjectDto.PROPERTY_OBJECT_OPERATION, OBJECT_OPERATION) .addKey(FloatingObjectDto.PROPERTY_OBJECT_FATE, OBJECT_FATE)), FLOATING_OBJECT_OBSERVED_SPECIES_FORM( - newBuilder() + newBuilder(ObjectObservedSpeciesDto.class) .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES) .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES_STATUS, SPECIES_STATUS)), FLOATING_OBJECT_SCHOOL_ESTIMATE_FORM( - newBuilder() + newBuilder(ObjectObservedSpeciesDto.class) .addKey(ObjectObservedSpeciesDto.PROPERTY_SPECIES, SPECIES)), FLOATING_OBJECT_TRANSMITTING_BUOY_FORM( - newBuilder() + newBuilder(TransmittingBuoyDto.class) .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_OPERATION, TRANSMITTING_BUOY_OPERATION) .addKey(TransmittingBuoyDto.PROPERTY_TRANSMITTING_BUOY_TYPE, TRANSMITTING_BUOY_TYPE) .addKey(TransmittingBuoyDto.PROPERTY_COUNTRY, COUNTRY)), - // REFERENTIAL + // COMMON REFERENTIAL GEAR_CARACTERISTIC_FORM( - newBuilder() + newReferentialBuilder(GearCaracteristicDto.class, GEAR_CARACTERISTIC) .addKey(GearCaracteristicDto.PROPERTY_GEAR_CARACTERISTIC_TYPE, GEAR_CARACTERISTIC_TYPE)), GEAR_FORM( - newBuilder() + newReferentialBuilder(GearDto.class, GEAR) .addKey(GearDto.PROPERTY_GEAR_CARACTERISTIC, GEAR_CARACTERISTIC)), HARBOUR_FORM( - newBuilder() + newReferentialBuilder(HarbourDto.class, HARBOUR) .addKey(HarbourDto.PROPERTY_COUNTRY, COUNTRY)), LENGTH_WEIGHT_PARAMETER_FORM( - newBuilder() + newReferentialBuilder(LengthWeightParameterDto.class, LENGTH_WEIGHT_PARAMETER) .addKey(LengthWeightParameterDto.PROPERTY_SPECIES, SPECIES) .addKey(LengthWeightParameterDto.PROPERTY_OCEAN, OCEAN) .addKey(LengthWeightParameterDto.PROPERTY_SEX, SEX)), ORGANISM_FORM( - newBuilder() + newReferentialBuilder(OrganismDto.class, ORGANISM) .addKey(OrganismDto.PROPERTY_COUNTRY, COUNTRY)), PERSON_FORM( - newBuilder() + newReferentialBuilder(PersonDto.class, PERSON) .addKey(PersonDto.PROPERTY_COUNTRY, COUNTRY)), PROGRAM_FORM( - newBuilder() + newReferentialBuilder(ProgramDto.class, PROGRAM) .addKey(ProgramDto.PROPERTY_ORGANISM, ORGANISM)), SPECIES_FORM( - newBuilder() + newReferentialBuilder(SpeciesDto.class, SPECIES) .addKey(SpeciesDto.PROPERTY_OCEAN, OCEAN) .addKey(SpeciesDto.PROPERTY_SPECIES_GROUP, SPECIES_GROUP)), SPECIES_LIST_FORM( - newBuilder() + newReferentialBuilder(SpeciesListDto.class, SPECIES_LIST) .addKey(SpeciesListDto.PROPERTY_SPECIES, SPECIES)), VESSEL_FORM( - newBuilder() + newReferentialBuilder(VesselDto.class, VESSEL) .addKey(VesselDto.PROPERTY_FLAG_COUNTRY, COUNTRY) .addKey(VesselDto.PROPERTY_VESSEL_TYPE, VESSEL_TYPE) .addKey(VesselDto.PROPERTY_VESSEL_SIZE_CATEGORY, VESSEL_SIZE_CATEGORY)), + COUNTRY_FORM(newReferentialBuilder(CountryDto.class, COUNTRY)), + FPA_ZONE_FORM(newReferentialBuilder(FpaZoneDto.class, FPA_ZONE)), + GEAR_CARACTERISTIC_TYPE_FORM(newReferentialBuilder(GearCaracteristicTypeDto.class, GEAR_CARACTERISTIC_TYPE)), + OCEAN_FORM(newReferentialBuilder(OceanDto.class, OCEAN)), + SEX_FORM(newReferentialBuilder(SexDto.class, SEX)), + SPECIES_GROUP_FORM(newReferentialBuilder(SpeciesGroupDto.class, SPECIES_GROUP)), + VESSEL_SIZE_CATEGORY_FORM(newReferentialBuilder(VesselSizeCategoryDto.class, VESSEL_SIZE_CATEGORY)), + VESSEL_TYPE_FORM(newReferentialBuilder(VesselTypeDto.class, VESSEL_TYPE)), + + // LONGLINE REFERENTIAL + + BAIT_HAULING_STATUS_FORM(newReferentialBuilder(BaitHaulingStatusDto.class, BAIT_HAULING_STATUS)), + BAIT_SETTING_STATUS_FORM(newReferentialBuilder(BaitSettingStatusDto.class, BAIT_SETTING_STATUS)), + BAIT_TYPE_FORM(newReferentialBuilder(BaitTypeDto.class, BAIT_TYPE)), + CATCH_FATE_LONGLINE_FORM(newReferentialBuilder(CatchFateLonglineDto.class, CATCH_FATE_LONGLINE)), + ENCOUNTER_TYPE_FORM(newReferentialBuilder(EncounterTypeDto.class, ENCOUNTER_TYPE)), + HEALTHNESS_FORM(newReferentialBuilder(HealthnessDto.class, HEALTHNESS)), + HOOK_POSITION_FORM(newReferentialBuilder(HookPositionDto.class, HOOK_POSITION)), + HOOK_SIZE_FORM(newReferentialBuilder(HookSizeDto.class, HOOK_SIZE)), + HOOK_TYPE_FORM(newReferentialBuilder(HookTypeDto.class, HOOK_TYPE)), + ITEM_HORIZONTAL_POSITION_FORM(newReferentialBuilder(ItemHorizontalPositionDto.class, ITEM_HORIZONTAL_POSITION)), + ITEM_VERTICAL_POSITION_FORM(newReferentialBuilder(ItemVerticalPositionDto.class, ITEM_VERTICAL_POSITION)), + LIGHTSTICKS_COLOR_FORM(newReferentialBuilder(LightsticksColorDto.class, LIGHTSTICKS_COLOR)), + LIGHTSTICKS_TYPE_FORM(newReferentialBuilder(LightsticksTypeDto.class, LIGHTSTICKS_TYPE)), + LINE_TYPE_FORM(newReferentialBuilder(LineTypeDto.class, LINE_TYPE)), + MATURITY_STATUS_FORM(newReferentialBuilder(MaturityStatusDto.class, MATURITY_STATUS)), + MITIGATION_TYPE_FORM(newReferentialBuilder(MitigationTypeDto.class, MITIGATION_TYPE)), + SENSOR_BRAND_FORM(newReferentialBuilder(SensorBrandDto.class, SENSOR_BRAND)), + SENSOR_DATA_FORMAT_FORM(newReferentialBuilder(SensorDataFormatDto.class, SENSOR_DATA_FORMAT)), + SENSOR_TYPE_FORM(newReferentialBuilder(SensorTypeDto.class, SENSOR_TYPE)), + SETTING_SHAPE_FORM(newReferentialBuilder(SettingShapeDto.class, SETTING_SHAPE)), + SIZE_MEASURE_TYPE_FORM(newReferentialBuilder(SizeMeasureTypeDto.class, SIZE_MEASURE_TYPE)), + STOMAC_FULLNESS_FORM(newReferentialBuilder(StomacFullnessDto.class, STOMAC_FULLNESS)), + TRIP_TYPE_FORM(newReferentialBuilder(TripTypeDto.class, TRIP_TYPE)), + VESSEL_ACTIVITY_LONGLINE_FORM(newReferentialBuilder(VesselActivityLonglineDto.class, VESSEL_ACTIVITY_LONGLINE)), + WEIGHT_MEASURE_TYPE_FORM(newReferentialBuilder(WeightMeasureTypeDto.class, WEIGHT_MEASURE_TYPE)), + + // SEINE REFERENTIAL + + DETECTION_MODE_FORM(newReferentialBuilder(DetectionModeDto.class, DETECTION_MODE)), + OBJECT_FATE_FORM(newReferentialBuilder(ObjectFateDto.class, OBJECT_FATE)), + OBJECT_OPERATION_FORM(newReferentialBuilder(ObjectOperationDto.class, OBJECT_OPERATION)), + OBJECT_TYPE_FORM(newReferentialBuilder(ObjectTypeDto.class, OBJECT_TYPE)), + OBSERVED_SYSTEM_FORM(newReferentialBuilder(ObservedSystemDto.class, OBSERVED_SYSTEM)), + REASON_FOR_DISCARD_FORM(newReferentialBuilder(ReasonForDiscardDto.class, REASON_FOR_DISCARD)), + REASON_FOR_NO_FISHING_FORM(newReferentialBuilder(ReasonForNoFishingDto.class, REASON_FOR_NO_FISHING)), + REASON_FOR_NULL_SET_FORM(newReferentialBuilder(ReasonForNullSetDto.class, REASON_FOR_NULL_SET)), + SPECIES_FATE_FORM(newReferentialBuilder(SpeciesFateDto.class, SPECIES_FATE)), + SPECIES_STATUS_FORM(newReferentialBuilder(SpeciesStatusDto.class, SPECIES_STATUS)), + SURROUNDING_ACTIVITY_FORM(newReferentialBuilder(SurroundingActivityDto.class, SURROUNDING_ACTIVITY)), + TRANSMITTING_BUOY_OPERATION_FORM(newReferentialBuilder(TransmittingBuoyOperationDto.class, TRANSMITTING_BUOY_OPERATION)), + TRANSMITTING_BUOY_TYPE_FORM(newReferentialBuilder(TransmittingBuoyTypeDto.class, TRANSMITTING_BUOY_TYPE)), + VESSEL_ACTIVITY_SEINE_FORM(newReferentialBuilder(VesselActivitySeineDto.class, VESSEL_ACTIVITY_SEINE)), WEIGHT_CATEGORY_FORM( - newBuilder() - .addKey(WeightCategoryDto.PROPERTY_SPECIES, SPECIES)); + newReferentialBuilder(WeightCategoryDto.class, WEIGHT_CATEGORY) + .addKey(WeightCategoryDto.PROPERTY_SPECIES, SPECIES)), + WIND_FORM(newReferentialBuilder(WindDto.class, WIND)); private final ReferenceSetRequestDefinition definition; - private static ReferenceSetRequestDefinition.Builder newBuilder() { - return new ReferenceSetRequestDefinition.Builder(); + private static ReferenceSetRequestDefinition.Builder newBuilder(Class<? extends IdDto> type) { + return new ReferenceSetRequestDefinition.Builder(type); + } + + private static ReferenceSetRequestDefinition.Builder newReferentialBuilder(Class<? extends ReferentialDto> type, ReferentialReferenceSetDefinitions propertyDefinition) { + return new ReferenceSetRequestDefinition.Builder(type).addKey("referentialListHeader", propertyDefinition); } ReferenceSetRequestDefinitions(ReferenceSetRequestDefinition.Builder definitionBuilder) { @@ -361,11 +473,30 @@ public enum ReferenceSetRequestDefinitions { ReferenceSetRequestDefinitions requestDefinitions = valueOf(definitionName); if (requestDefinitions == null) { - throw new IllegalArgumentException("No definition with name " + definitionName + "registred"); + throw new IllegalArgumentException("No definition with name " + definitionName + " registred"); } return requestDefinitions.getDefinition(); } + public static ReferenceSetRequestDefinitions get(Class<? extends IdDto> type) { + + ReferenceSetRequestDefinitions requestDefinitions = null; + + for (ReferenceSetRequestDefinitions definitions : values()) { + if (type.equals(definitions.getDefinition().getType())) { + requestDefinitions = definitions; + break; + } + } + + if (requestDefinitions == null) { + throw new IllegalArgumentException("No definition with type " + type.getName() + " registred"); + } + + return requestDefinitions; + + } + } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java index eb6593e..d211144 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/referential/LengthWeightParameterBinder.java @@ -50,11 +50,12 @@ public class LengthWeightParameterBinder extends ReferentialBinderSupport<Length public ReferentialReference<LengthWeightParameterDto> toReferentialReference(ReferentialLocale referentialLocale, LengthWeightParameter entity) { return toReferentialReference(entity, - getLabel(referentialLocale, entity.getSex()), + entity.getCode(), getLabel(referentialLocale, entity.getOcean()), getLabel(referentialLocale, entity.getSpecies()), - entity.getStartDate() - ); + getLabel(referentialLocale, entity.getSex()), + entity.getLengthWeightFormula(), + entity.getWeightLengthFormula()); } @@ -62,10 +63,12 @@ public class LengthWeightParameterBinder extends ReferentialBinderSupport<Length public ReferentialReference<LengthWeightParameterDto> toReferentialReference(ReferentialLocale referentialLocale, LengthWeightParameterDto dto) { return toReferentialReference(dto, - getLabel(referentialLocale, dto.getSex()), + dto.getCode(), getLabel(referentialLocale, dto.getOcean()), getLabel(referentialLocale, dto.getSpecies()), - dto.getStartDate()); + getLabel(referentialLocale, dto.getSex()), + dto.getLengthWeightFormula(), + dto.getWeightLengthFormula()); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit bb9cda6de9c27374e7a772f47b033c7c45dc50ee Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 4 08:47:49 2015 +0100 use eugene new tag value attributeGeneric --- .../xmi/observe-services-dto-common.properties | 30 ++-- .../xmi/observe-services-dto-longline.properties | 152 ++++++++++----------- .../main/xmi/observe-services-dto-seine.properties | 82 +++++------ 3 files changed, 132 insertions(+), 132 deletions(-) diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.properties b/observe-services-model/src/main/xmi/observe-services-dto-common.properties index 1473813..5203942 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-common.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-common.properties @@ -33,19 +33,19 @@ fr.ird.observe.services.dto.referential.Species.attribute.ocean.stereotype=order fr.ird.observe.services.dto.referential.SpeciesList.attribute.species.stereotype=ordered fr.ird.observe.services.dto.TripMap.attribute.points.stereotype=unique,ordered -fr.ird.observe.services.dto.referential.Vessel.attribute.flagCountry.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Country -fr.ird.observe.services.dto.referential.Vessel.attribute.vesselType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.VesselType -fr.ird.observe.services.dto.referential.Vessel.attribute.vesselSizeCategory.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.VesselSizeCategory -fr.ird.observe.services.dto.referential.Species.attribute.ocean.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Ocean -fr.ird.observe.services.dto.referential.Species.attribute.speciesGroup.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesGroup -fr.ird.observe.services.dto.referential.SpeciesList.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Species -fr.ird.observe.services.dto.referential.Program.attribute.organism.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Organism -fr.ird.observe.services.dto.referential.Person.attribute.country.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Country -fr.ird.observe.services.dto.referential.Organism.attribute.country.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Country -fr.ird.observe.services.dto.referential.LengthWeightParameter.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Species -fr.ird.observe.services.dto.referential.LengthWeightParameter.attribute.ocean.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Ocean -fr.ird.observe.services.dto.referential.LengthWeightParameter.attribute.sex.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Sex -fr.ird.observe.services.dto.referential.Harbour.attribute.country.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Country -fr.ird.observe.services.dto.referential.Gear.attribute.gearCaracteristic.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristic -fr.ird.observe.services.dto.referential.GearCaracteristic.attribute.gearCaracteristicType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristicType +fr.ird.observe.services.dto.referential.Vessel.attribute.flagCountry.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Country +fr.ird.observe.services.dto.referential.Vessel.attribute.vesselType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.VesselType +fr.ird.observe.services.dto.referential.Vessel.attribute.vesselSizeCategory.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.VesselSizeCategory +fr.ird.observe.services.dto.referential.Species.attribute.ocean.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Ocean +fr.ird.observe.services.dto.referential.Species.attribute.speciesGroup.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesGroup +fr.ird.observe.services.dto.referential.SpeciesList.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Species +fr.ird.observe.services.dto.referential.Program.attribute.organism.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Organism +fr.ird.observe.services.dto.referential.Person.attribute.country.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Country +fr.ird.observe.services.dto.referential.Organism.attribute.country.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Country +fr.ird.observe.services.dto.referential.LengthWeightParameter.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Species +fr.ird.observe.services.dto.referential.LengthWeightParameter.attribute.ocean.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Ocean +fr.ird.observe.services.dto.referential.LengthWeightParameter.attribute.sex.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Sex +fr.ird.observe.services.dto.referential.Harbour.attribute.country.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Country +fr.ird.observe.services.dto.referential.Gear.attribute.gearCaracteristic.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristic +fr.ird.observe.services.dto.referential.GearCaracteristic.attribute.gearCaracteristicType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristicType diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties index 8efaf07..abcd155 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties @@ -27,82 +27,82 @@ model.tagvalue.simpleBeanWithNoInterfaceClassNameSuffix=Dto package.fr.ird.observe.services.dto.stereotype=bean -fr.ird.observe.services.dto.longline.SetLongline.attribute.settingShape.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.SettingShapeDto -fr.ird.observe.services.dto.longline.SetLongline.attribute.lineType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto -fr.ird.observe.services.dto.longline.SetLongline.attribute.lightsticksType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto -fr.ird.observe.services.dto.longline.SetLongline.attribute.lightsticksColor.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LightsticksColorDto - -fr.ird.observe.services.dto.longline.SetLonglineStub.attribute.activityLongline.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.ActivityLonglineDto - -fr.ird.observe.services.dto.longline.HooksComposition.attribute.hookType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.HookTypeDto -fr.ird.observe.services.dto.longline.HooksComposition.attribute.hookSize.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.HookSizeDto - -fr.ird.observe.services.dto.longline.SensorUsed.attribute.sensorDataFormat.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto -fr.ird.observe.services.dto.longline.SensorUsed.attribute.sensorType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.SensorTypeDto -fr.ird.observe.services.dto.longline.SensorUsed.attribute.sensorBrand.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.SensorBrandDto - -fr.ird.observe.services.dto.longline.SizeMeasure.attribute.sizeMeasureType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto - -fr.ird.observe.services.dto.longline.Tdr.attribute.branchline.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.BranchlineDto -fr.ird.observe.services.dto.longline.Tdr.attribute.sensorBrand.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.SensorBrandDto -fr.ird.observe.services.dto.longline.Tdr.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.longline.Tdr.attribute.section.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.SectionDto -fr.ird.observe.services.dto.longline.Tdr.attribute.basket.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.BasketDto -fr.ird.observe.services.dto.longline.Tdr.attribute.itemHorizontalPosition.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto -fr.ird.observe.services.dto.longline.Tdr.attribute.itemVerticalPosition.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto - -fr.ird.observe.services.dto.longline.TripLongline.attribute.tripType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.TripTypeDto -fr.ird.observe.services.dto.longline.TripLongline.attribute.observer.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.PersonDto -fr.ird.observe.services.dto.longline.TripLongline.attribute.vessel.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.VesselDto -fr.ird.observe.services.dto.longline.TripLongline.attribute.captain.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.PersonDto -fr.ird.observe.services.dto.longline.TripLongline.attribute.dataEntryOperator.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.PersonDto -fr.ird.observe.services.dto.longline.TripLongline.attribute.program.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.ProgramDto -fr.ird.observe.services.dto.longline.TripLongline.attribute.ocean.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.OceanDto -fr.ird.observe.services.dto.longline.TripLongline.attribute.departureHarbour.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.HarbourDto -fr.ird.observe.services.dto.longline.TripLongline.attribute.landingHarbour.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.HarbourDto - -fr.ird.observe.services.dto.longline.FloatlinesComposition.attribute.lineType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto - -fr.ird.observe.services.dto.longline.Encounter.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.longline.Encounter.attribute.encounterType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.EncounterTypeDto - -fr.ird.observe.services.dto.longline.CatchLongline.attribute.basket.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.BasketDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.branchline.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.BranchlineDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.catchFateLongline.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.discardHealthness.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.HealthnessDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.speciesCatch.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.predator.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.section.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.SectionDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.maturityStatus.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.MaturityStatusDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.stomacFullness.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.StomacFullnessDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.hookPosition.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.HookPositionDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.catchHealthness.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.HealthnessDto -fr.ird.observe.services.dto.longline.CatchLongline.attribute.sex.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SexDto - -fr.ird.observe.services.dto.longline.BranchlinesComposition.attribute.topType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto -fr.ird.observe.services.dto.longline.BranchlinesComposition.attribute.tracelineType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto - -fr.ird.observe.services.dto.longline.Branchline.attribute.baitSettingStatus.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto -fr.ird.observe.services.dto.longline.Branchline.attribute.hookSize.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.HookSizeDto -fr.ird.observe.services.dto.longline.Branchline.attribute.baitHaulingStatus.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto -fr.ird.observe.services.dto.longline.Branchline.attribute.hookType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.HookTypeDto -fr.ird.observe.services.dto.longline.Branchline.attribute.tracelineType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto -fr.ird.observe.services.dto.longline.Branchline.attribute.topType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto -fr.ird.observe.services.dto.longline.Branchline.attribute.baitType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitTypeDto - -fr.ird.observe.services.dto.longline.BaitsComposition.attribute.baitSettingStatus.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto -fr.ird.observe.services.dto.longline.BaitsComposition.attribute.baitType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitTypeDto - -fr.ird.observe.services.dto.longline.ActivityLongline.attribute.fpaZone.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto -fr.ird.observe.services.dto.longline.ActivityLongline.attribute.vesselActivityLongline.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto -fr.ird.observe.services.dto.longline.ActivityLongline.attribute.setLongline.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.longline.SetLonglineDto - -fr.ird.observe.services.dto.longline.WeightMeasure.attribute.weightMeasureType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto - -fr.ird.observe.services.dto.longline.GearUseFeaturesLongline.attribute.gear.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.GearDto - -fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLongline.attribute.gearCaracteristic.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristicDto -fr.ird.observe.services.dto.longline.SetLonglineGlobalComposition.attribute.mitigationType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.longline.MitigationTypeDto +fr.ird.observe.services.dto.longline.SetLongline.attribute.settingShape.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.SettingShapeDto +fr.ird.observe.services.dto.longline.SetLongline.attribute.lineType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto +fr.ird.observe.services.dto.longline.SetLongline.attribute.lightsticksType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.LightsticksTypeDto +fr.ird.observe.services.dto.longline.SetLongline.attribute.lightsticksColor.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.LightsticksColorDto + +fr.ird.observe.services.dto.longline.SetLonglineStub.attribute.activityLongline.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.ActivityLonglineDto + +fr.ird.observe.services.dto.longline.HooksComposition.attribute.hookType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.HookTypeDto +fr.ird.observe.services.dto.longline.HooksComposition.attribute.hookSize.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.HookSizeDto + +fr.ird.observe.services.dto.longline.SensorUsed.attribute.sensorDataFormat.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.SensorDataFormatDto +fr.ird.observe.services.dto.longline.SensorUsed.attribute.sensorType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.SensorTypeDto +fr.ird.observe.services.dto.longline.SensorUsed.attribute.sensorBrand.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.SensorBrandDto + +fr.ird.observe.services.dto.longline.SizeMeasure.attribute.sizeMeasureType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.SizeMeasureTypeDto + +fr.ird.observe.services.dto.longline.Tdr.attribute.branchline.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.BranchlineDto +fr.ird.observe.services.dto.longline.Tdr.attribute.sensorBrand.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.SensorBrandDto +fr.ird.observe.services.dto.longline.Tdr.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.longline.Tdr.attribute.section.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.SectionDto +fr.ird.observe.services.dto.longline.Tdr.attribute.basket.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.BasketDto +fr.ird.observe.services.dto.longline.Tdr.attribute.itemHorizontalPosition.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.ItemHorizontalPositionDto +fr.ird.observe.services.dto.longline.Tdr.attribute.itemVerticalPosition.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.ItemVerticalPositionDto + +fr.ird.observe.services.dto.longline.TripLongline.attribute.tripType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.TripTypeDto +fr.ird.observe.services.dto.longline.TripLongline.attribute.observer.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.PersonDto +fr.ird.observe.services.dto.longline.TripLongline.attribute.vessel.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.VesselDto +fr.ird.observe.services.dto.longline.TripLongline.attribute.captain.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.PersonDto +fr.ird.observe.services.dto.longline.TripLongline.attribute.dataEntryOperator.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.PersonDto +fr.ird.observe.services.dto.longline.TripLongline.attribute.program.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.ProgramDto +fr.ird.observe.services.dto.longline.TripLongline.attribute.ocean.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.OceanDto +fr.ird.observe.services.dto.longline.TripLongline.attribute.departureHarbour.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.HarbourDto +fr.ird.observe.services.dto.longline.TripLongline.attribute.landingHarbour.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.HarbourDto + +fr.ird.observe.services.dto.longline.FloatlinesComposition.attribute.lineType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto + +fr.ird.observe.services.dto.longline.Encounter.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.longline.Encounter.attribute.encounterType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.EncounterTypeDto + +fr.ird.observe.services.dto.longline.CatchLongline.attribute.basket.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.BasketDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.branchline.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.BranchlineDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.catchFateLongline.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.CatchFateLonglineDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.discardHealthness.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.HealthnessDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.speciesCatch.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.predator.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.section.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.SectionDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.maturityStatus.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.MaturityStatusDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.stomacFullness.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.StomacFullnessDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.hookPosition.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.HookPositionDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.catchHealthness.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.HealthnessDto +fr.ird.observe.services.dto.longline.CatchLongline.attribute.sex.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SexDto + +fr.ird.observe.services.dto.longline.BranchlinesComposition.attribute.topType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto +fr.ird.observe.services.dto.longline.BranchlinesComposition.attribute.tracelineType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto + +fr.ird.observe.services.dto.longline.Branchline.attribute.baitSettingStatus.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto +fr.ird.observe.services.dto.longline.Branchline.attribute.hookSize.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.HookSizeDto +fr.ird.observe.services.dto.longline.Branchline.attribute.baitHaulingStatus.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitHaulingStatusDto +fr.ird.observe.services.dto.longline.Branchline.attribute.hookType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.HookTypeDto +fr.ird.observe.services.dto.longline.Branchline.attribute.tracelineType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto +fr.ird.observe.services.dto.longline.Branchline.attribute.topType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.LineTypeDto +fr.ird.observe.services.dto.longline.Branchline.attribute.baitType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitTypeDto + +fr.ird.observe.services.dto.longline.BaitsComposition.attribute.baitSettingStatus.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitSettingStatusDto +fr.ird.observe.services.dto.longline.BaitsComposition.attribute.baitType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.BaitTypeDto + +fr.ird.observe.services.dto.longline.ActivityLongline.attribute.fpaZone.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto +fr.ird.observe.services.dto.longline.ActivityLongline.attribute.vesselActivityLongline.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.VesselActivityLonglineDto +fr.ird.observe.services.dto.longline.ActivityLongline.attribute.setLongline.tagValue.attributeGeneric=fr.ird.observe.services.dto.longline.SetLonglineDto + +fr.ird.observe.services.dto.longline.WeightMeasure.attribute.weightMeasureType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.WeightMeasureTypeDto + +fr.ird.observe.services.dto.longline.GearUseFeaturesLongline.attribute.gear.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.GearDto + +fr.ird.observe.services.dto.longline.GearUseFeaturesMeasurementLongline.attribute.gearCaracteristic.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristicDto +fr.ird.observe.services.dto.longline.SetLonglineGlobalComposition.attribute.mitigationType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.longline.MitigationTypeDto fr.ird.observe.services.dto.longline.SetLonglineDetailComposition.attribute.section.stereotype=unique,ordered fr.ird.observe.services.dto.longline.Section.attribute.basket.stereotype=unique,ordered diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties index b69cd8a..9f01271 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties @@ -27,63 +27,63 @@ model.tagvalue.simpleBeanWithNoInterfaceClassNameSuffix=Dto package.fr.ird.observe.services.dto.stereotype=bean -fr.ird.observe.services.dto.seine.TripSeine.attribute.observer.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.PersonDto -fr.ird.observe.services.dto.seine.TripSeine.attribute.captain.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.PersonDto -fr.ird.observe.services.dto.seine.TripSeine.attribute.dataEntryOperator.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.PersonDto -fr.ird.observe.services.dto.seine.TripSeine.attribute.vessel.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.VesselDto -fr.ird.observe.services.dto.seine.TripSeine.attribute.ocean.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.OceanDto -fr.ird.observe.services.dto.seine.TripSeine.attribute.departureHarbour.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.HarbourDto -fr.ird.observe.services.dto.seine.TripSeine.attribute.landingHarbour.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.HarbourDto -fr.ird.observe.services.dto.seine.TripSeine.attribute.program.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.ProgramDto +fr.ird.observe.services.dto.seine.TripSeine.attribute.observer.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.PersonDto +fr.ird.observe.services.dto.seine.TripSeine.attribute.captain.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.PersonDto +fr.ird.observe.services.dto.seine.TripSeine.attribute.dataEntryOperator.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.PersonDto +fr.ird.observe.services.dto.seine.TripSeine.attribute.vessel.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.VesselDto +fr.ird.observe.services.dto.seine.TripSeine.attribute.ocean.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.OceanDto +fr.ird.observe.services.dto.seine.TripSeine.attribute.departureHarbour.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.HarbourDto +fr.ird.observe.services.dto.seine.TripSeine.attribute.landingHarbour.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.HarbourDto +fr.ird.observe.services.dto.seine.TripSeine.attribute.program.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.ProgramDto -fr.ird.observe.services.dto.seine.TargetCatch.attribute.weightCategory.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.WeightCategoryDto -fr.ird.observe.services.dto.seine.TargetCatch.attribute.reasonForDiscard.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto -fr.ird.observe.services.dto.seine.TargetCatch.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.seine.TargetCatch.attribute.weightCategory.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.WeightCategoryDto +fr.ird.observe.services.dto.seine.TargetCatch.attribute.reasonForDiscard.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto +fr.ird.observe.services.dto.seine.TargetCatch.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.seine.SchoolEstimate.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.seine.SchoolEstimate.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.seine.TransmittingBuoy.attribute.transmittingBuoyType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto -fr.ird.observe.services.dto.seine.TransmittingBuoy.attribute.transmittingBuoyOperation.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto -fr.ird.observe.services.dto.seine.TransmittingBuoy.attribute.country.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.CountryDto +fr.ird.observe.services.dto.seine.TransmittingBuoy.attribute.transmittingBuoyType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.TransmittingBuoyTypeDto +fr.ird.observe.services.dto.seine.TransmittingBuoy.attribute.transmittingBuoyOperation.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.TransmittingBuoyOperationDto +fr.ird.observe.services.dto.seine.TransmittingBuoy.attribute.country.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.CountryDto -fr.ird.observe.services.dto.seine.TargetLength.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.seine.TargetLength.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.seine.SetSeine.attribute.reasonForNullSet.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto +fr.ird.observe.services.dto.seine.SetSeine.attribute.reasonForNullSet.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.ReasonForNullSetDto -fr.ird.observe.services.dto.seine.ObjectSchoolEstimate.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.seine.ObjectSchoolEstimate.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.seine.ObjectObservedSpecies.attribute.speciesStatus.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto -fr.ird.observe.services.dto.seine.ObjectObservedSpecies.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.seine.ObjectObservedSpecies.attribute.speciesStatus.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.SpeciesStatusDto +fr.ird.observe.services.dto.seine.ObjectObservedSpecies.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.seine.NonTargetLength.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.seine.NonTargetLength.attribute.sex.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SexDto +fr.ird.observe.services.dto.seine.NonTargetLength.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.seine.NonTargetLength.attribute.sex.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SexDto -fr.ird.observe.services.dto.seine.NonTargetCatch.attribute.reasonForDiscard.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto -fr.ird.observe.services.dto.seine.NonTargetCatch.attribute.speciesFate.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.SpeciesFateDto -fr.ird.observe.services.dto.seine.NonTargetCatch.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto +fr.ird.observe.services.dto.seine.NonTargetCatch.attribute.reasonForDiscard.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.ReasonForDiscardDto +fr.ird.observe.services.dto.seine.NonTargetCatch.attribute.speciesFate.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.SpeciesFateDto +fr.ird.observe.services.dto.seine.NonTargetCatch.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.SpeciesDto -fr.ird.observe.services.dto.seine.FloatingObject.attribute.objectType.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.ObjectTypeDto -fr.ird.observe.services.dto.seine.FloatingObject.attribute.objectOperation.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.ObjectOperationDto -fr.ird.observe.services.dto.seine.FloatingObject.attribute.objectFate.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.ObjectFateDto +fr.ird.observe.services.dto.seine.FloatingObject.attribute.objectType.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.ObjectTypeDto +fr.ird.observe.services.dto.seine.FloatingObject.attribute.objectOperation.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.ObjectOperationDto +fr.ird.observe.services.dto.seine.FloatingObject.attribute.objectFate.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.ObjectFateDto -fr.ird.observe.services.dto.seine.ActivitySeine.attribute.vesselActivitySeine.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto -fr.ird.observe.services.dto.seine.ActivitySeine.attribute.surroundingActivity.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto -fr.ird.observe.services.dto.seine.ActivitySeine.attribute.wind.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.WindDto -fr.ird.observe.services.dto.seine.ActivitySeine.attribute.detectionMode.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.DetectionModeDto -fr.ird.observe.services.dto.seine.ActivitySeine.attribute.reasonForNoFishing.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto -fr.ird.observe.services.dto.seine.ActivitySeine.attribute.previousFpaZone.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto -fr.ird.observe.services.dto.seine.ActivitySeine.attribute.currentFpaZone.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto -fr.ird.observe.services.dto.seine.ActivitySeine.attribute.nextFpaZone.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto -fr.ird.observe.services.dto.seine.ActivitySeine.attribute.setSeine.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.seine.SetSeineDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.vesselActivitySeine.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.surroundingActivity.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.SurroundingActivityDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.wind.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.WindDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.detectionMode.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.DetectionModeDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.reasonForNoFishing.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.ReasonForNoFishingDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.previousFpaZone.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.currentFpaZone.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.nextFpaZone.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.FpaZoneDto +fr.ird.observe.services.dto.seine.ActivitySeine.attribute.setSeine.tagValue.attributeGeneric=fr.ird.observe.services.dto.seine.SetSeineDto -fr.ird.observe.services.dto.seine.GearUseFeaturesSeine.attribute.gear.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.GearDto +fr.ird.observe.services.dto.seine.GearUseFeaturesSeine.attribute.gear.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.GearDto -fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeine.attribute.gearCaracteristic.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristicDto +fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeine.attribute.gearCaracteristic.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.GearCaracteristicDto -fr.ird.observe.services.dto.seine.ActivitySeineObservedSystem.attribute.observedSystem.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.seine.ObservedSystemDto +fr.ird.observe.services.dto.seine.ActivitySeineObservedSystem.attribute.observedSystem.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.seine.ObservedSystemDto -fr.ird.observe.services.dto.referential.seine.WeightCategory.attribute.species.tagValue.simpleBeanWithNoInterfaceAttributeGeneric=fr.ird.observe.services.dto.referential.Species +fr.ird.observe.services.dto.referential.seine.WeightCategory.attribute.species.tagValue.attributeGeneric=fr.ird.observe.services.dto.referential.Species fr.ird.observe.services.dto.seine.TargetSample.attribute.targetLength.stereotype=unique fr.ird.observe.services.dto.seine.NonTargetSample.attribute.nonTargetLength.stereotype=unique -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 334f8d72f0c575382aecf60ce6be4073c80fa8b1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 4 08:50:35 2015 +0100 Move to codelutinpom 4 --- observe-application-web/pom.xml | 8 +++++++- pom.xml | 12 ++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/observe-application-web/pom.xml b/observe-application-web/pom.xml index ae8ee44..827cb54 100644 --- a/observe-application-web/pom.xml +++ b/observe-application-web/pom.xml @@ -23,7 +23,13 @@ <!-- deploy configuration --> <deployFiles>${project.build.directory}/${project.artifactId}-${project.version}.war</deployFiles> - + + <!-- add war to release file --> + <redmine.releaseFiles>${project.build.directory}/${project.artifactId}-${project.version}.war</redmine.releaseFiles> + + <!-- aloow to deploy artifacts --> + <maven.deploy.skip>false</maven.deploy.skip> + </properties> <dependencies> diff --git a/pom.xml b/pom.xml index c27ea3a..21edddb 100644 --- a/pom.xml +++ b/pom.xml @@ -745,11 +745,23 @@ </plugin> <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>buildnumber-maven-plugin</artifactId> + <version>1.3</version> + </plugin> + + <plugin> <groupId>com.thoughtworks.paranamer</groupId> <artifactId>paranamer-maven-plugin</artifactId> <version>${paranamerVersion}</version> </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.4.0</version> + </plugin> + </plugins> </pluginManagement> <extensions> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit 9b398784dbba57cc7abf6491ce8eb0f98403214c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 5 16:47:08 2015 +0100 ajout d'une configuration pour gitlab-ci --- .gitlab-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..8459f7d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,4 @@ +trigger: + type: deploy + script: + - "curl -X POST -F token=0eaf0841239d3a083ced1e15008082 https://gitlab.nuiton.org/ci/api/v1/projects/7/refs/feature/refactor_referen..." \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/refactor_reference in repository tutti. See http://git.codelutin.com/tutti.git commit c6577e5b900e96ddd7b4cf955d2b64bde5113681 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 25 13:56:42 2015 +0100 Updates some libraries + fix thrid parties --- .../src/license/THIRD-PARTY.properties | 36 ++++++++++++++++++++-- pom.xml | 16 +++++----- 2 files changed, 42 insertions(+), 10 deletions(-) diff --git a/observe-application-swing/src/license/THIRD-PARTY.properties b/observe-application-swing/src/license/THIRD-PARTY.properties index 8476846..8d7dba1 100644 --- a/observe-application-swing/src/license/THIRD-PARTY.properties +++ b/observe-application-swing/src/license/THIRD-PARTY.properties @@ -12,9 +12,11 @@ # - Eclipse Distribution License (EDL), Version 1.0 # - Eclipse Public License (EPL), Version 1.0 # - Eclipse Public License 1.0 +# - Eclipse Public License, Version 1.0 # - GNU General Public License - Version 2 with the class path exception # - GNU General Public License, Version 2 with the Classpath Exception # - GNU Lesser General Public License +# - GNU Lesser General Public License, Version 2.1 # - GNU Library or Lesser General Public License # - General Public License (GPL) # - HSQLDB License, a BSD open source license @@ -32,14 +34,44 @@ # - Simplified BSD # - The Apache Software License, Version 2.0 # - The H2 License, Version 1.0 +# - The MIT License(MIT) #------------------------------------------------------------------------------- # Please fill the missing licenses for dependencies : # # -#Tue May 26 16:24:00 CEST 2015 +#Fri Dec 25 13:08:30 CET 2015 commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0 dom4j--dom4j--1.6.1=BSD License -java3d--vecmath--1.3.2=GNU General Public License - Version 2 with the class path exception +it.geosolutions.jaiext.affine--jt-affine--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.algebra--jt-algebra--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.bandcombine--jt-bandcombine--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.bandmerge--jt-bandmerge--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.bandselect--jt-bandselect--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.binarize--jt-binarize--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.border--jt-border--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.buffer--jt-buffer--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.classifier--jt-classifier--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.colorconvert--jt-colorconvert--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.colorindexer--jt-colorindexer--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.crop--jt-crop--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.errordiffusion--jt-errordiffusion--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.format--jt-format--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.imagefunction--jt-imagefunction--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.iterators--jt-iterators--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.lookup--jt-lookup--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.mosaic--jt-mosaic--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.nullop--jt-nullop--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.orderdither--jt-orderdither--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.piecewise--jt-piecewise--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.rescale--jt-rescale--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.rlookup--jt-rlookup--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.scale--jt-scale--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.stats--jt-stats--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.translate--jt-translate--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.utilities--jt-utilities--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.vectorbin--jt-vectorbin--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.warp--jt-warp--1.0.8=Lesser General Public License (LGPL) v 3.0 +it.geosolutions.jaiext.zonal--jt-zonal--1.0.8=Lesser General Public License (LGPL) v 3.0 javax.media--jai_codec--1.1.3=JDL (Java Distribution License) javax.media--jai_core--1.1.3=JDL (Java Distribution License) javax.media--jai_imageio--1.1=JDL (Java Distribution License) diff --git a/pom.xml b/pom.xml index 21edddb..e352104 100644 --- a/pom.xml +++ b/pom.xml @@ -126,15 +126,15 @@ <nuitonI18nVersion>3.3</nuitonI18nVersion> <nuitonValidatorVersion>3.0</nuitonValidatorVersion> - <xworkVersion>2.3.24</xworkVersion> + <xworkVersion>2.3.24.1</xworkVersion> <hibernateVersion>4.3.11.Final</hibernateVersion> - <sl4jVersion>1.7.12</sl4jVersion> + <sl4jVersion>1.7.13</sl4jVersion> <swingXVersion>1.6.4</swingXVersion> - <geoToolsVersion>13.2</geoToolsVersion> + <geoToolsVersion>14.1</geoToolsVersion> <webmotionVersion>2.5</webmotionVersion> <paranamerVersion>2.8</paranamerVersion> - <httpComponentsVersion>4.3.5</httpComponentsVersion> + <httpComponentsVersion>4.5.1</httpComponentsVersion> <!-- license header configuration --> <license.licenseName>gpl_v3</license.licenseName> @@ -203,7 +203,7 @@ <dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> - <version>3.2.1</version> + <version>3.2.2</version> </dependency> <dependency> <groupId>org.apache.commons</groupId> @@ -234,12 +234,12 @@ <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> - <version>18.0</version> + <version>19.0</version> </dependency> <dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> - <version>2.3</version> + <version>2.5</version> </dependency> <dependency> @@ -250,7 +250,7 @@ <dependency> <groupId>org.apache.httpcomponents</groupId> <artifactId>httpcore</artifactId> - <version>4.3.2</version> + <version>4.4.4</version> </dependency> <dependency> <groupId>org.apache.httpcomponents</groupId> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm