This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from 72efaab Retour sur develop pour de nouvelles aventures... Merge branch 'feature/refactor_reference' into develop new 28f6a27 Mise à jour du driver postgresql new 67e1841 o Revue de la gestion des migrations pour la version 5.0 : chaque script de migration a une version, la 5.à aggrègera toutes les versions intermédiaires o Renommage de ReferenceEntity en ObserveReferentialEntity o Introduction de ObserveEntity et ObserveDataEntity o Début de suppression du code sur les FollowedEntity o Revue de l'api de test (so weak, so lame :( avec un héritage très douteux) o Écriture d'un test pour effectuer les migrations facilement des bases de [...] new 87c65fe Correction de la génération du mapping hibernate new 472642a Generation des bases de test pour la version 5.0-2 new 3a106d4 Amélioration de l'API de tests new 7b92724 Revue bis de la configuration des tests new e744c95 Ajout d'une table globale des dates de dernières mises à jour (utilisé pour les suppressions) (See #7470) new 2fd2971 Changement du niveau de log new d6fcd2b Ajout de la talbe LastupdateDate dans la synchronisation du référentiel new 8bd2466 Mise en place de la mise à jour de la date de dernière mise à jour lors de la sauvegarde ou suppression d'une entité (il faudra bien repasser sur chaque appel, car il me semble que cela n'est pas bien géré partout) (See #7470) new cde7c09 Utilisation de la dernière version du modèle de persistence new a97c28b Suppression d'un test inutile new e0e0eac Faire fonctionner les tests de suppression (mais ajout d'un fixme) new 8679f9c Amélioration du code de mise à jour new 6662c85 Renommage méthode de test new 824f7a2 Ajout de la base de test pour longline (migrée en plus de 3heures...) + utilisation (enfin) des bases à jour pour les tests new 46beb5b Amélioration de l'exception de concurrence new b6804fd o Introduction ObserveEntity et ObserveDataEntity o Mise en place de la date de dernière mise à jour sur toutes les entités o Alignement du code pour les dto o Optionmisation des dépendences new a736d26 Refactor des binders new 1fc64bb Implantation efficace de réplication de données new 4747da5 Ajout de fixtures new 026b9a6 Ajout d'un tes de replication de données new cec9b0b Correction de base de référentiels new 18717f0 Ajout d'une base vide pour les tests new 6100451 Utilisation du service topia pour la réplication new d051db8 Ajout de fixtures new 2eb350b Ajout de tests pour la réplication de données ng new 9cb09ec Configuration du nouveau service de réplication new f9c2470 Ajout méthode pour compter le nombre d'éléments d'une table new ca8daea Debut de correction de la javadoc new 49444e3 Ajout de la réplication au niveau du topia application context + suppression autoMigrate configuration new c361698 Ajout d'un nouveau service pour produire les script sql new 0221de9 Fix third parties new 87cbe4e Utilisation du nouveau moteur de requete sql de topia new cde7980 clean code new 22aa205 Ne plus utiliser l'ancien moteur de réplication de topia new 1f07a4c Rendre Closeable DataSourceService et bien fermer la base commune après sa création (cela était fait avant en utilisant la commande restore de H2) new d5d5d55 Retour sur develop, mais le ticket n'est pas fini (il faut voir dans les ui comment bien utiliser la date de dernière mise à jour) Merge branch 'feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour' into develop The 38 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 d5d5d5536ec3a5ba35f9e90c321a997add449af7 Merge: 72efaab 1f07a4c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Jan 9 09:19:39 2016 +0100 Retour sur develop, mais le ticket n'est pas fini (il faut voir dans les ui comment bien utiliser la date de dernière mise à jour) Merge branch 'feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour' into develop commit 1f07a4c195abc5e6b20cec85163eb12d3367b3f5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Jan 9 09:13:03 2016 +0100 Rendre Closeable DataSourceService et bien fermer la base commune après sa création (cela était fait avant en utilisant la commande restore de H2) commit 22aa205b2ad54e7bb850844a48c5dcdc2d0a1097 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Jan 9 08:41:46 2016 +0100 Ne plus utiliser l'ancien moteur de réplication de topia commit cde7980fbe0fa80be9fa07015fc82e4111c2058b Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Jan 8 20:03:08 2016 +0100 clean code commit 87cbe4e32bd581aabc64f64326c76062b18d7aba Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Jan 5 08:50:47 2016 +0100 Utilisation du nouveau moteur de requete sql de topia commit 0221de9898135cac654b8552c4f09ed1507c0999 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Jan 4 17:23:52 2016 +0100 Fix third parties commit c36169804dabc1098efa1fa1d531fda9e8649f3d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Dec 31 19:38:23 2015 +0100 Ajout d'un nouveau service pour produire les script sql commit 49444e38a2741dee5ab6e59af942cf9566f8fb0d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Dec 31 19:36:45 2015 +0100 Ajout de la réplication au niveau du topia application context + suppression autoMigrate configuration commit ca8daeafc9b350b6e51f97a7b90d4ffa49f267da Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 17:01:14 2015 +0100 Debut de correction de la javadoc commit f9c2470d6a7255d15537049b35d38d80c6700dd1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:58:24 2015 +0100 Ajout méthode pour compter le nombre d'éléments d'une table commit 9cb09ecd322da00eaf7f18f37178930dc3925fd1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:57:47 2015 +0100 Configuration du nouveau service de réplication commit 2eb350bde3c37e483d1827358f77102a34b16114 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:54:37 2015 +0100 Ajout de tests pour la réplication de données ng commit d051db817aea147d3f3497a9bc59a6af456aab75 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:54:05 2015 +0100 Ajout de fixtures commit 610045103383d7119aefebc690178f2a012fabc2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:53:25 2015 +0100 Utilisation du service topia pour la réplication commit 18717f0908d797e50d855b50938a78f465b8a7bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 21:48:48 2015 +0100 Ajout d'une base vide pour les tests commit cec9b0be626a0cb4ae451b3aa4714c4849584571 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 21:48:02 2015 +0100 Correction de base de référentiels commit 026b9a6b880b3776b33e313f3795d4d454162905 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 01:18:50 2015 +0100 Ajout d'un tes de replication de données commit 4747da54faf040e78ac3f464c1368c97cee26f7b Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 01:18:28 2015 +0100 Ajout de fixtures commit 1fc64bb2d669887492e84bf983ef42a192da667c Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 01:14:58 2015 +0100 Implantation efficace de réplication de données commit a736d267ac97730bbf50c8436cd1569a552144b2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Dec 27 22:27:27 2015 +0100 Refactor des binders commit b6804fd6cf50bff2d7d2287b8a0cda6fda6933be Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Dec 27 19:15:32 2015 +0100 o Introduction ObserveEntity et ObserveDataEntity o Mise en place de la date de dernière mise à jour sur toutes les entités o Alignement du code pour les dto o Optionmisation des dépendences commit 46beb5bc612fcfc15db8ebff5e20a4ee04cf6e93 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Dec 27 10:58:00 2015 +0100 Amélioration de l'exception de concurrence commit 824f7a2b3025a183e80e74deea3db4b737a526fe Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Dec 27 09:50:54 2015 +0100 Ajout de la base de test pour longline (migrée en plus de 3heures...) + utilisation (enfin) des bases à jour pour les tests commit 6662c85160020e6cd75049709eec1d20cbc6ee92 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:20:25 2015 +0100 Renommage méthode de test commit 8679f9c2dc89e1e15cd1edde92f3c3f34e155f1a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:18:45 2015 +0100 Amélioration du code de mise à jour commit e0e0eacaa0c7b4edecbab50ad5540c487682d9bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:17:11 2015 +0100 Faire fonctionner les tests de suppression (mais ajout d'un fixme) commit a97c28b20462334daaab8e5efedb97d4d2f9102e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:16:19 2015 +0100 Suppression d'un test inutile commit cde7c09f0c3fb2bbb5b40e67a8f0eb873bc90e07 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:48:49 2015 +0100 Utilisation de la dernière version du modèle de persistence commit 8bd2466f6556559993b76de3f465460b4434c15d Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:48:08 2015 +0100 Mise en place de la mise à jour de la date de dernière mise à jour lors de la sauvegarde ou suppression d'une entité (il faudra bien repasser sur chaque appel, car il me semble que cela n'est pas bien géré partout) (See #7470) commit d6fcd2b1510741359981deec9793dd24eb23caed Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:46:46 2015 +0100 Ajout de la talbe LastupdateDate dans la synchronisation du référentiel commit 2fd2971d1f984d1d85e3bd239c5e4b89090824c7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:48:54 2015 +0100 Changement du niveau de log commit e744c95114d9d273575e4215ae0aedf091047608 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:48:32 2015 +0100 Ajout d'une table globale des dates de dernières mises à jour (utilisé pour les suppressions) (See #7470) commit 7b927249b2d1d04bbaf4bdf1772b2c2ecc636e11 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:01:41 2015 +0100 Revue bis de la configuration des tests commit 3a106d48370fa5e957bf5b255fb7c3d753f65d7c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:29:30 2015 +0100 Amélioration de l'API de tests commit 472642ac26abbb1cddfa7cfc412e51f318abed3e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:28:49 2015 +0100 Generation des bases de test pour la version 5.0-2 commit 87c65feab17e6f8e491da90456cb4d86fd2febef Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:27:14 2015 +0100 Correction de la génération du mapping hibernate commit 67e18410e41275b3e4296a196efc7c9b57a8ef0e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 25 23:25:03 2015 +0100 o Revue de la gestion des migrations pour la version 5.0 : chaque script de migration a une version, la 5.à aggrègera toutes les versions intermédiaires o Renommage de ReferenceEntity en ObserveReferentialEntity o Introduction de ObserveEntity et ObserveDataEntity o Début de suppression du code sur les FollowedEntity o Revue de l'api de test (so weak, so lame :( avec un héritage très douteux) o Écriture d'un test pour effectuer les migrations facilement des bases de test (heu faire les migrations à chaque fois qu'on a besoin d'une base pour les test... so L-A-M-E) commit 28f6a271df7b03b34a75b4d3b3e018cded9ecc0f Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 25 18:38:58 2015 +0100 Mise à jour du driver postgresql Summary of changes: .../src/license/THIRD-PARTY.properties | 63 +- .../java/fr/ird/observe/ObserveActionExecutor.java | 2 +- .../main/java/fr/ird/observe/ObserveCLAction.java | 2 +- .../main/java/fr/ird/observe/ObserveRunner.java | 4 +- .../observe/ObserveSwingApplicationContext.java | 6 +- .../ObserveSwingApplicationConfig.java | 2 +- .../fr/ird/observe/db/ObserveSwingDataSource.java | 5 + .../ird/observe/db/constants/DataContextType.java | 2 +- .../src/main/java/fr/ird/observe/ui/UIHelper.java | 6 +- .../java/fr/ird/observe/ui/admin/AdminStep.java | 2 +- .../fr/ird/observe/ui/admin/AdminTabUIHandler.java | 6 +- .../fr/ird/observe/ui/admin/AdminUIHandler.java | 2 +- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 2 +- .../observe/ui/admin/save/SaveLocalUIHandler.java | 6 +- .../ird/observe/ui/content/ContentUIHandler.java | 2 +- .../ui/content/ref/ContentReferenceUIHandler.java | 4 +- .../ui/content/table/ContentTableModel.java | 12 +- .../ui/content/table/ContentTableUIModel.java | 8 +- .../impl/longline/CatchLonglineUIHandler.java | 2 +- .../longline/GearUseFeaturesLonglineUIModel.java | 2 +- .../impl/seine/GearUseFeaturesSeineUIModel.java | 2 +- .../impl/seine/ModeSaisieEchantillonEnum.java | 4 +- .../ird/observe/ui/storage/ObstunaAdminAction.java | 6 +- .../ird/observe/ui/storage/StorageUIHandler.java | 21 +- .../ird/observe/ui/storage/StorageUILauncher.java | 4 +- .../fr/ird/observe/ui/storage/StorageUIModel.java | 7 +- .../ui/tree/AbstractObserveTreeCellRenderer.java | 2 +- .../ui/tree/DataSelectionTreeSelectionModel.java | 14 +- .../java/fr/ird/observe/ui/tree/ObserveNode.java | 2 +- .../fr/ird/observe/ui/tree/ObserveTreeHelper.java | 6 +- .../fr/ird/observe/ui/util/FloatConverter.java | 2 +- .../fr/ird/observe/ui/util/SpringUtilities.java | 8 +- .../ird/observe/validation/ValidationService.java | 2 +- .../dto/AbstractEspeceFieldDtoValidator.java | 8 +- .../dto/ActivityFinDeVeilleExistsDtoValidator.java | 12 +- .../dto/ActivitySimpleSpeedDtoValidator.java | 6 +- .../validator/dto/ActivitySpeedDtoValidator.java | 6 +- .../web/ObserveWebApplicationListener.java | 2 +- .../web/controller/ObserveWebMotionController.java | 2 +- .../DataSourceDumpProducerServiceController.java | 29 - .../entities/AbstractEspeceFieldValidator.java | 8 +- .../ActivityFinDeVeilleExistsValidator.java | 12 +- .../entities/ActivitySimpleSpeedValidator.java | 6 +- .../validator/entities/ActivitySpeedValidator.java | 6 +- observe-entities/pom.xml | 5 +- .../fr/ird/observe/AbstractObserveTopiaDao.java | 44 +- .../observe/ObserveTopiaApplicationContext.java | 351 +++++++++-- .../observe/ObserveTopiaConfigurationFactory.java | 24 +- .../observe/ObserveTopiaPersistenceContext.java | 83 ++- .../java/fr/ird/observe/entities/Activity.java | 2 +- .../java/fr/ird/observe/entities/Entities.java | 37 +- .../observe/entities/LastUpdateDateTopiaDao.java | 9 + .../java/fr/ird/observe/entities/ObserveSet.java | 2 +- .../main/java/fr/ird/observe/entities/Trip.java | 2 +- .../fr/ird/observe/entities/gps/GPSRouteImpl.java | 8 +- .../fr/ird/observe/entities/gps/GpsPoints.java | 12 +- .../migration/AbstractDataSourceMigration.java | 13 +- .../DataSourceMigrationForVersion_3_1.java | 2 +- .../DataSourceMigrationForVersion_5_0.java | 3 +- .../DataSourceMigrationForVersion_5_0_1.java | 8 +- ...va => DataSourceMigrationForVersion_5_0_2.java} | 12 +- ...va => DataSourceMigrationForVersion_5_0_3.java} | 14 +- .../referentiel/I18nReferenceEntities.java | 4 +- .../referentiel/LengthWeightParameters.java | 8 +- ...tities.java => ObserveReferentialEntities.java} | 26 +- ...Impl.java => ObserveReferentialEntityImpl.java} | 2 +- .../ird/observe/entities/referentiel/Programs.java | 2 +- .../ird/observe/entities/seine/ActivitySeines.java | 4 +- .../observe/entities/seine/NonTargetCatchImpl.java | 2 +- .../db/{5.0 => 5.0-1}/remove_open_field-H2.sql | 10 +- .../db/{5.0 => 5.0-1}/remove_open_field-PG.sql | 10 +- .../db/5.0-2/add_lastUpdateDate_field-H2.sql | 676 +++++++++++++++++++++ .../db/5.0-2/add_lastUpdateDate_field-PG.sql | 676 +++++++++++++++++++++ .../db/5.0-3/add_lastUpdateDate_table-H2.sql | 106 ++++ .../db/5.0-3/add_lastUpdateDate_table-PG.sql | 106 ++++ .../db/5.0.1/add_lastUpdate_field_2-H2.sql | 2 - .../db/5.0.1/add_lastUpdate_field_2-PG.sql | 2 - .../resources/db/5.0/add_lastUpdate_field-H2.sql | 153 ----- .../resources/db/5.0/add_lastUpdate_field-PG.sql | 154 ----- .../src/main/xmi/observe-common.properties | 1 + observe-entities/src/main/xmi/observe-common.zargo | Bin 37617 -> 37603 bytes .../src/main/xmi/observe-longline.zargo | Bin 96937 -> 93586 bytes observe-entities/src/main/xmi/observe-seine.zargo | Bin 85015 -> 84567 bytes .../ObserveTopiaApplicationContextTest.java | 20 +- .../service/ConcurrentModificationException.java | 31 +- .../service/DataSourceDumpProducerService.java | 41 -- .../services/service/DataSourceService.java | 4 +- .../services/service/SqlScriptProducerRequest.java | 74 +++ .../services/service/SqlScriptProducerService.java | 19 + observe-services-configuration-api/pom.xml | 5 - observe-services-configuration-rest/pom.xml | 26 - ...bserveDataSourceConfigurationRestConstants.java | 4 +- .../src/test/resources/log4j.properties | 32 - observe-services-configuration-topia/pom.xml | 48 -- .../src/test/resources/log4j.properties | 32 - .../observe/services/dto/AbstractReference.java | 12 + .../fr/ird/observe/services/dto/DataReference.java | 3 +- .../observe/services/dto/FollowedUpdateDto.java | 14 - .../java/fr/ird/observe/services/dto/IdDto.java | 5 +- .../services/dto/constants/ReferentialLocale.java | 4 +- .../services/dto/referential/ReferentialDto.java | 12 +- .../services/dto/referential/ReferentialDtos.java | 6 +- .../observe/services/dto/result/SaveResultDto.java | 5 +- .../services/dto/result/SaveResultDtos.java | 4 +- .../dto/result/TripChildSaveResultDtos.java | 12 + .../fr/ird/observe/util/gps/GPSFileReader.java | 10 +- .../java/fr/ird/observe/util/gps/GPSRouteImpl.java | 8 +- .../java/fr/ird/observe/util/gps/GPSService.java | 12 +- .../java/fr/ird/observe/util/gps/GpsPoints.java | 12 +- .../src/main/xmi/observe-services-dto-common.zargo | Bin 43178 -> 42022 bytes .../main/xmi/observe-services-dto-longline.zargo | Bin 64908 -> 63930 bytes .../src/main/xmi/observe-services-dto-seine.zargo | Bin 60150 -> 59464 bytes .../report/AbstractReportServiceRestTest.java | 4 +- observe-services-topia/pom.xml | 13 +- .../observe/services/ReplicationServiceImpl.java | 4 +- .../referential/ReferentialServiceImpl.java | 8 +- .../ird/observe/services/ObserveServiceTopia.java | 448 +++++--------- .../ObserveTopiaApplicationContextFactory.java | 3 - .../ird/observe/services/binder/BinderEngine.java | 54 +- .../services/binder/BinderEngineInitializer.java | 32 +- .../ird/observe/services/binder/BinderSupport.java | 14 +- .../binder/data/ActivityLonglineBinder.java | 9 +- .../data/ActivityLonglineEncouterDtoBinder.java | 8 +- .../data/ActivityLonglineSensorUsedDtoBinder.java | 8 +- .../binder/data/ActivityLonglineStubDtoBinder.java | 4 +- .../services/binder/data/ActivitySeineBinder.java | 9 +- .../data/ActivitySeineObservedSystemDtoBinder.java | 8 +- .../binder/data/ActivitySeineStubDtoBinder.java | 4 +- .../binder/data/BaitsCompositionBinder.java | 4 +- .../observe/services/binder/data/BasketBinder.java | 4 +- .../services/binder/data/BranchlineBinder.java | 6 +- .../binder/data/BranchlinesCompositionBinder.java | 4 +- .../services/binder/data/CatchLonglineBinder.java | 6 +- .../services/binder/data/DataBinderSupport.java | 38 +- .../services/binder/data/EncounterBinder.java | 5 +- .../services/binder/data/FloatingObjectBinder.java | 6 +- .../FloatingObjectObservedSpeciesDtoBinder.java | 6 +- .../FloatingObjectSchoolEstimateDtoBinder.java | 6 +- .../FloatingObjectTransmittingBuoyDtoBinder.java | 6 +- .../binder/data/FloatlinesCompositionBinder.java | 4 +- .../binder/data/GearUseFeaturesLonglineBinder.java | 6 +- .../GearUseFeaturesMeasurementLonglineBinder.java | 4 +- .../GearUseFeaturesMeasurementSeineBinder.java | 4 +- .../binder/data/GearUseFeaturesSeineBinder.java | 6 +- .../binder/data/HooksCompositionBinder.java | 4 +- .../services/binder/data/NonTargetCatchBinder.java | 6 +- .../binder/data/NonTargetLengthBinder.java | 4 +- .../binder/data/NonTargetSampleBinder.java | 6 +- .../binder/data/ObjectObservedSpeciesBinder.java | 6 +- .../binder/data/ObjectSchoolEstimateBinder.java | 4 +- .../observe/services/binder/data/RouteBinder.java | 12 +- .../services/binder/data/RouteStubDtoBinder.java | 4 +- .../services/binder/data/SchoolEstimateBinder.java | 4 +- .../services/binder/data/SectionBinder.java | 4 +- .../services/binder/data/SensorUsedBinder.java | 4 +- .../services/binder/data/SetLonglineBinder.java | 12 +- .../binder/data/SetLonglineCatchDtoBinder.java | 6 +- .../SetLonglineDetailCompositionDtoBinder.java | 6 +- .../SetLonglineGlobalCompositionDtoBinder.java | 8 +- .../binder/data/SetLonglineStubDtoBinder.java | 2 +- .../binder/data/SetLonglineTdrDtoBinder.java | 6 +- .../services/binder/data/SetSeineBinder.java | 12 +- .../data/SetSeineNonTargetCatchDtoBinder.java | 4 +- .../data/SetSeineSchoolEstimateDtoBinder.java | 8 +- .../binder/data/SetSeineTargetCatchDtoBinder.java | 6 +- .../services/binder/data/SizeMeasureBinder.java | 4 +- .../services/binder/data/TargetCatchBinder.java | 6 +- .../services/binder/data/TargetLengthBinder.java | 4 +- .../services/binder/data/TargetSampleBinder.java | 6 +- .../observe/services/binder/data/TdrBinder.java | 4 +- .../binder/data/TransmittingBuoyBinder.java | 4 +- .../binder/data/TripLonglineActivityDtoBinder.java | 4 +- .../services/binder/data/TripLonglineBinder.java | 8 +- .../binder/data/TripLonglineGearUseDtoBinder.java | 6 +- .../services/binder/data/TripSeineBinder.java | 8 +- .../binder/data/TripSeineGearUseDtoBinder.java | 6 +- .../services/binder/data/WeightMeasureBinder.java | 4 +- .../referential/ReferentialBinderSupport.java | 22 +- .../observe/services/entity/EntitiesExtractor.java | 4 +- .../services/entity/EntitiesSetFactory.java | 32 +- .../entity/SpeciesListEntitiesExtractor.java | 4 +- .../DataSourceDumpProducerServiceTopia.java | 150 ----- .../services/service/DataSourceServiceTopia.java | 98 ++- .../services/service/ReferentialServiceTopia.java | 48 +- .../service/SqlScriptProducerServiceTopia.java | 145 +++++ .../service/actions/report/ReportServiceTopia.java | 18 +- .../GenerateValidatorDescriptorsFileTool.java | 19 +- .../actions/validate/ValidateServiceTopia.java | 23 +- .../ActivityLongLineEncouterServiceTopia.java | 9 +- .../ActivityLongLineSensorUsedServiceTopia.java | 9 +- .../longline/ActivityLonglineServiceTopia.java | 13 +- .../service/longline/BranchlineServiceTopia.java | 9 +- .../longline/SetLonglineCatchServiceTopia.java | 9 +- .../SetLonglineDetailCompositionServiceTopia.java | 7 +- .../SetLonglineGlobalCompositionServiceTopia.java | 9 +- .../service/longline/SetLonglineServiceTopia.java | 7 +- .../services/service/longline/TdrServiceTopia.java | 9 +- .../longline/TripLonglineGearUseServiceTopia.java | 7 +- .../service/longline/TripLonglineServiceTopia.java | 9 +- .../ActivitySeineObservedSystemServiceTopia.java | 9 +- .../service/seine/ActivitySeineServiceTopia.java | 11 +- .../service/seine/FloatingObjectServiceTopia.java | 8 +- .../service/seine/NonTargetCatchServiceTopia.java | 6 +- .../service/seine/NonTargetSampleServiceTopia.java | 6 +- .../seine/ObjectObservedSpeciesServiceTopia.java | 9 +- .../seine/ObjectSchoolEstimateServiceTopia.java | 9 +- .../services/service/seine/RouteServiceTopia.java | 15 +- .../service/seine/SchoolEstimateServiceTopia.java | 6 +- .../service/seine/SetSeineServiceTopia.java | 5 +- .../service/seine/TargetCatchServiceTopia.java | 6 +- .../service/seine/TargetSampleServiceTopia.java | 6 +- .../TransmittingBuoyOperationServiceTopia.java | 9 +- .../seine/TripSeineGearUseServiceTopia.java | 13 +- .../service/seine/TripSeineServiceTopia.java | 9 +- .../referentiel/LengthWeightParemetersTest.java | 20 +- .../replication/ReplicateReferentialsTest.java | 32 + .../entities/replication/ReplicateTestSupport.java | 108 ++++ .../replication/ReplicateTripLonglineTest.java | 65 ++ .../replication/ReplicateTripSeineTest.java | 62 ++ .../services/ApplicationContextResource.java | 217 ++++--- .../ird/observe/services/DataSourceResource.java | 203 ++++--- .../services/ObserveServiceContextTopiaTaiste.java | 2 +- .../services/binder/BinderEngineMetadataTest.java | 49 +- .../observe/services/binder/BinderEngineTest.java | 29 +- .../services/service/AbstractServiceTopiaTest.java | 155 +---- .../DataSourceDumpProducerServiceTopiaTest.java | 85 --- .../service/DataSourceServiceTopiaTest.java | 43 +- .../services/service/MigrateTestsDatabases.java | 94 +++ .../service/ReferentialServiceTopiaTest.java | 37 +- .../service/SqlScriptProducerServiceTopiaTest.java | 81 +++ .../ConsolidateDataServiceTopiaTest.java | 23 +- .../report/AbstractReportServiceTopiaTest.java | 28 +- .../report/ReportSetByAssociation2Test.java | 50 -- .../actions/validate/ValidateServiceTopiaTest.java | 26 +- ...tLonglineDetailCompositionServiceTopiaTest.java | 35 +- .../service/seine/RouteServiceTopiaTest.java | 27 +- .../seine/TargetSampleServiceTopiaTest.java | 22 +- .../seine/TripSeineGearUseServiceTopiaTest.java | 37 +- .../service/seine/TripSeineServiceTopiaTest.java | 104 ++-- .../src/test/resources/log4j.properties | 2 + observe-test-data/pom.xml | 28 +- .../java/fr/ird/observe/test/DatabaseName.java | 13 + .../java/fr/ird/observe/test/ObserveFixtures.java | 311 ++++++++++ .../main/java/fr/ird/observe/test/TestHelper.java | 61 +- .../test/spi/CopyDatabaseConfiguration.java | 17 + .../test/spi/DatabaseNameConfiguration.java | 21 + .../test/spi/DatabaseVersionConfiguration.java | 19 + .../resources/db/5.0-3/dataForTestLongline.sql.gz | Bin 0 -> 1579146 bytes .../resources/db/5.0-3/dataForTestSeine.sql.gz | Bin 0 -> 439122 bytes .../src/main/resources/db/5.0-3/empty.sql.gz | Bin 0 -> 7858 bytes .../src/main/resources/db/5.0-3/referentiel.sql.gz | Bin 0 -> 162896 bytes .../main/resources/db/5.0/dataForTestSeine.sql.gz | Bin 0 -> 438481 bytes .../src/main/resources/db/5.0/referentiel.sql.gz | Bin 0 -> 142316 bytes pom.xml | 11 +- 254 files changed, 4523 insertions(+), 2665 deletions(-) delete mode 100644 observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/DataSourceDumpProducerServiceController.java create mode 100644 observe-entities/src/main/java/fr/ird/observe/entities/LastUpdateDateTopiaDao.java copy observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/{DataSourceMigrationForVersion_5_0_1.java => DataSourceMigrationForVersion_5_0_2.java} (86%) copy observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/{DataSourceMigrationForVersion_5_0_1.java => DataSourceMigrationForVersion_5_0_3.java} (84%) rename observe-entities/src/main/java/fr/ird/observe/entities/referentiel/{ReferenceEntities.java => ObserveReferentialEntities.java} (76%) rename observe-entities/src/main/java/fr/ird/observe/entities/referentiel/{ReferenceEntityImpl.java => ObserveReferentialEntityImpl.java} (92%) rename observe-entities/src/main/resources/db/{5.0 => 5.0-1}/remove_open_field-H2.sql (71%) rename observe-entities/src/main/resources/db/{5.0 => 5.0-1}/remove_open_field-PG.sql (71%) create mode 100644 observe-entities/src/main/resources/db/5.0-2/add_lastUpdateDate_field-H2.sql create mode 100644 observe-entities/src/main/resources/db/5.0-2/add_lastUpdateDate_field-PG.sql create mode 100644 observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-H2.sql create mode 100644 observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-PG.sql delete mode 100644 observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-H2.sql delete mode 100644 observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-PG.sql delete mode 100644 observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-H2.sql delete mode 100644 observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-PG.sql delete mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerService.java create mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java create mode 100644 observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java delete mode 100644 observe-services-configuration-rest/src/test/resources/log4j.properties delete mode 100644 observe-services-configuration-topia/src/test/resources/log4j.properties delete mode 100644 observe-services-model/src/main/java/fr/ird/observe/services/dto/FollowedUpdateDto.java create mode 100644 observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java delete mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopia.java create mode 100644 observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java create mode 100644 observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java create mode 100644 observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java create mode 100644 observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java create mode 100644 observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java delete mode 100644 observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java create mode 100644 observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java create mode 100644 observe-services-topia/src/test/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopiaTest.java delete mode 100644 observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociation2Test.java create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java create mode 100644 observe-test-data/src/main/resources/db/5.0-3/dataForTestLongline.sql.gz create mode 100644 observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz create mode 100644 observe-test-data/src/main/resources/db/5.0-3/empty.sql.gz create mode 100644 observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz create mode 100644 observe-test-data/src/main/resources/db/5.0/dataForTestSeine.sql.gz create mode 100644 observe-test-data/src/main/resources/db/5.0/referentiel.sql.gz -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 28f6a271df7b03b34a75b4d3b3e018cded9ecc0f Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 25 18:38:58 2015 +0100 Mise à jour du driver postgresql --- pom.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index e352104..471860c 100644 --- a/pom.xml +++ b/pom.xml @@ -471,10 +471,11 @@ <!-- FIXME Hum je ne suis pas sur que la 176 soit ok. --> <version>1.3.175</version> </dependency> + <dependency> - <groupId>postgresql</groupId> + <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> - <version>9.1-901-1.jdbc4</version> + <version>9.4-1206-jdbc4</version> </dependency> <!-- hibernate --> -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 67e18410e41275b3e4296a196efc7c9b57a8ef0e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Dec 25 23:25:03 2015 +0100 o Revue de la gestion des migrations pour la version 5.0 : chaque script de migration a une version, la 5.à aggrègera toutes les versions intermédiaires o Renommage de ReferenceEntity en ObserveReferentialEntity o Introduction de ObserveEntity et ObserveDataEntity o Début de suppression du code sur les FollowedEntity o Revue de l'api de test (so weak, so lame :( avec un héritage très douteux) o Écriture d'un test pour effectuer les migrations facilement des bases de test (heu faire les migrations à chaque fois qu'on a besoin d'une base pour les test... so L-A-M-E) --- observe-entities/pom.xml | 2 +- .../fr/ird/observe/AbstractObserveTopiaDao.java | 44 +- .../java/fr/ird/observe/entities/Activity.java | 2 +- .../java/fr/ird/observe/entities/ObserveSet.java | 2 +- .../main/java/fr/ird/observe/entities/Trip.java | 2 +- .../migration/AbstractDataSourceMigration.java | 11 +- .../DataSourceMigrationForVersion_5_0.java | 3 +- .../DataSourceMigrationForVersion_5_0_1.java | 8 +- ...va => DataSourceMigrationForVersion_5_0_2.java} | 12 +- .../referentiel/I18nReferenceEntities.java | 4 +- ...tities.java => ObserveReferentialEntities.java} | 22 +- ...Impl.java => ObserveReferentialEntityImpl.java} | 2 +- .../db/{5.0 => 5.0-1}/remove_open_field-H2.sql | 10 +- .../db/{5.0 => 5.0-1}/remove_open_field-PG.sql | 10 +- .../db/5.0-2/add_lastUpdateDate_field-H2.sql | 676 +++++++++++++++++++++ .../db/5.0-2/add_lastUpdateDate_field-PG.sql | 676 +++++++++++++++++++++ .../db/5.0.1/add_lastUpdate_field_2-H2.sql | 2 - .../db/5.0.1/add_lastUpdate_field_2-PG.sql | 2 - .../resources/db/5.0/add_lastUpdate_field-H2.sql | 153 ----- .../resources/db/5.0/add_lastUpdate_field-PG.sql | 154 ----- observe-entities/src/main/xmi/observe-common.zargo | Bin 37617 -> 37208 bytes .../src/main/xmi/observe-longline.zargo | Bin 96937 -> 93586 bytes observe-entities/src/main/xmi/observe-seine.zargo | Bin 85015 -> 84567 bytes observe-services-topia/pom.xml | 2 +- .../ird/observe/services/ObserveServiceTopia.java | 122 +--- .../ird/observe/services/binder/BinderEngine.java | 26 +- .../services/binder/BinderEngineInitializer.java | 16 +- .../ird/observe/services/binder/BinderSupport.java | 14 +- .../binder/data/ActivityLonglineBinder.java | 5 +- .../data/ActivityLonglineEncouterDtoBinder.java | 4 +- .../data/ActivityLonglineSensorUsedDtoBinder.java | 4 +- .../services/binder/data/ActivitySeineBinder.java | 5 +- .../data/ActivitySeineObservedSystemDtoBinder.java | 4 +- .../binder/data/ActivitySeineStubDtoBinder.java | 2 +- .../observe/services/binder/data/RouteBinder.java | 8 +- .../services/binder/data/SetLonglineBinder.java | 8 +- .../binder/data/SetLonglineCatchDtoBinder.java | 4 +- .../SetLonglineDetailCompositionDtoBinder.java | 4 +- .../SetLonglineGlobalCompositionDtoBinder.java | 4 +- .../binder/data/SetLonglineTdrDtoBinder.java | 4 +- .../services/binder/data/SetSeineBinder.java | 8 +- .../data/SetSeineSchoolEstimateDtoBinder.java | 4 +- .../binder/data/SetSeineTargetCatchDtoBinder.java | 4 +- .../services/binder/data/TripLonglineBinder.java | 4 +- .../binder/data/TripLonglineGearUseDtoBinder.java | 4 +- .../services/binder/data/TripSeineBinder.java | 4 +- .../binder/data/TripSeineGearUseDtoBinder.java | 4 +- .../referential/ReferentialBinderSupport.java | 20 +- .../services/entity/EntitiesSetFactory.java | 10 +- .../entity/SpeciesListEntitiesExtractor.java | 4 +- .../services/service/ReferentialServiceTopia.java | 36 +- .../service/actions/report/ReportServiceTopia.java | 6 +- .../GenerateValidatorDescriptorsFileTool.java | 4 +- .../actions/validate/ValidateServiceTopia.java | 14 +- .../service/longline/BranchlineServiceTopia.java | 2 +- .../referentiel/LengthWeightParemetersTest.java | 14 +- .../ird/observe/services/DataSourceResource.java | 5 +- .../services/binder/BinderEngineMetadataTest.java | 29 +- .../observe/services/binder/BinderEngineTest.java | 24 +- .../services/service/AbstractServiceTopiaTest.java | 39 +- .../DataSourceDumpProducerServiceTopiaTest.java | 13 +- .../service/DataSourceServiceTopiaTest.java | 8 +- .../services/service/MigrateTestsDatabases.java | 98 +++ .../service/ReferentialServiceTopiaTest.java | 16 +- .../ConsolidateDataServiceTopiaTest.java | 11 +- .../report/AbstractReportServiceTopiaTest.java | 14 +- .../actions/validate/ValidateServiceTopiaTest.java | 12 +- ...tLonglineDetailCompositionServiceTopiaTest.java | 14 +- .../service/seine/RouteServiceTopiaTest.java | 13 +- .../seine/TargetSampleServiceTopiaTest.java | 13 +- .../seine/TripSeineGearUseServiceTopiaTest.java | 18 +- .../service/seine/TripSeineServiceTopiaTest.java | 25 +- .../main/resources/db/5.0/dataForTestSeine.sql.gz | Bin 0 -> 438481 bytes .../src/main/resources/db/5.0/referentiel.sql.gz | Bin 0 -> 142316 bytes pom.xml | 2 +- 75 files changed, 1775 insertions(+), 754 deletions(-) diff --git a/observe-entities/pom.xml b/observe-entities/pom.xml index 6f1c79f..5f9e32d 100644 --- a/observe-entities/pom.xml +++ b/observe-entities/pom.xml @@ -129,7 +129,7 @@ <scope>test</scope> </dependency> <dependency> - <groupId>postgresql</groupId> + <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>test</scope> </dependency> diff --git a/observe-entities/src/main/java/fr/ird/observe/AbstractObserveTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/AbstractObserveTopiaDao.java index 5f9ad06..978a6f5 100644 --- a/observe-entities/src/main/java/fr/ird/observe/AbstractObserveTopiaDao.java +++ b/observe-entities/src/main/java/fr/ird/observe/AbstractObserveTopiaDao.java @@ -22,17 +22,55 @@ package fr.ird.observe; * #L% */ -import org.nuiton.topia.persistence.TopiaEntity; +import fr.ird.observe.entities.ObserveEntity; import org.nuiton.topia.persistence.internal.AbstractTopiaDao; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; +import java.util.Date; import java.util.List; import java.util.Map; -public abstract class AbstractObserveTopiaDao<E extends TopiaEntity> extends AbstractTopiaDao<E> { +public abstract class AbstractObserveTopiaDao<E extends ObserveEntity> extends AbstractTopiaDao<E> { - public <O> List<O> findAllFromHql(String hql, Map<String, Object> hqlParameters) { + private final GetLastupdateDateSqlQuery getLastUpdateDateSqlQuery; + + protected AbstractObserveTopiaDao() { + String schemaName = getTopiaEntityEnum().dbSchemaName(); + String tableName = getTopiaEntityEnum().dbTableName(); + getLastUpdateDateSqlQuery = new GetLastupdateDateSqlQuery(schemaName, tableName); + } + public Date getLastUpdateDate() { + Date result = topiaSqlSupport.findSingleResult(getLastUpdateDateSqlQuery); + return result; + } + + public <O> List<O> findAllFromHql(String hql, Map<String, Object> hqlParameters) { return findAll(hql, hqlParameters); + } + + private static class GetLastupdateDateSqlQuery extends TopiaSqlQuery<Timestamp> { + + protected final String sql; + + private GetLastupdateDateSqlQuery(String schemaName, String tableName) { + this.sql = "SELECT max(" + ObserveEntity.PROPERTY_LAST_UPDATE_DATE + ") FROM " + schemaName + "." + tableName; + } + + @Override + public PreparedStatement prepareQuery(Connection connection) throws SQLException { + return connection.prepareStatement(sql); + } + + @Override + public Timestamp prepareResult(ResultSet set) throws SQLException { + return set.getTimestamp(1); + } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Activity.java b/observe-entities/src/main/java/fr/ird/observe/entities/Activity.java index 806df87..77540f7 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Activity.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Activity.java @@ -24,7 +24,7 @@ package fr.ird.observe.entities; import org.nuiton.topia.persistence.TopiaEntity; -public interface Activity extends TopiaEntity, FollowedUpdateEntity{ +public interface Activity extends TopiaEntity{ String PROPERTY_QUADRANT = "quadrant"; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java b/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java index e82d13c..961497a 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java @@ -30,7 +30,7 @@ import org.nuiton.topia.persistence.TopiaEntity; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public interface ObserveSet extends TopiaEntity, FollowedUpdateEntity { +public interface ObserveSet extends TopiaEntity { void initCoordinates(); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java b/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java index bc7cf53..0bcfbe6 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java @@ -39,7 +39,7 @@ import java.util.Date; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public interface Trip extends CommentableEntity, FollowedUpdateEntity { +public interface Trip extends CommentableEntity { String PROPERTY_START_DATE = "startDate"; 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 2e66560..1057701 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 @@ -83,14 +83,21 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version V_4_0_2 = Versions.valueOf("4.0.2"); + // FIXME A utiliser en version final 5.0 public static final Version V_5_0 = Versions.valueOf("5.0"); - public static final Version V_5_0_1 = Versions.valueOf("5.0.1"); + public static final Version V_5_0__1 = Versions.valueOf("5.0-1"); + + public static final Version V_5_0__2 = Versions.valueOf("5.0-2"); /** 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_5_0_1 + 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, + // FIXME A utiliser en version final 5.0 + //V_5_0 + V_5_0__1, V_5_0__2 + }; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java index 1447187..5734c1b 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java @@ -31,6 +31,7 @@ import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; /** + * FIXME A utiliser en version final 5.0 * Created on 25/08/15. * * @author Tony Chemit - chemit@codelutin.com @@ -53,7 +54,7 @@ public class DataSourceMigrationForVersion_5_0 extends AbstractObserveMigrationC // Ajout des champs lastUpdate // See https://forge.codelutin.com/issues/7470 - addScript("add_lastUpdate_field", queries); + addScript("add_lastUpdateDate_field", queries); } 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 index 96c9f5d..3ce6f53 100644 --- 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 @@ -38,7 +38,7 @@ import java.util.List; 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); + super(AbstractDataSourceMigration.V_5_0__1, callBack, scriptSuffix); } @Override @@ -47,9 +47,9 @@ public class DataSourceMigrationForVersion_5_0_1 extends AbstractObserveMigratio boolean showSql, boolean showProgression) { - // Ajout des champs lastUpdate - // See https://forge.codelutin.com/issues/7470 - addScript("add_lastUpdate_field_2", queries); + // Suppression du champ open sur les entités anciennement du type Openable + // See https://forge.codelutin.com/issues/7469 + addScript("remove_open_field", queries); } 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_2.java similarity index 86% copy from observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_1.java copy to observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_2.java index 96c9f5d..ee9282d 100644 --- 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_2.java @@ -35,10 +35,10 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ -public class DataSourceMigrationForVersion_5_0_1 extends AbstractObserveMigrationCallBack { +public class DataSourceMigrationForVersion_5_0_2 extends AbstractObserveMigrationCallBack { - public DataSourceMigrationForVersion_5_0_1(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(AbstractDataSourceMigration.V_5_0_1, callBack, scriptSuffix); + public DataSourceMigrationForVersion_5_0_2(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(AbstractDataSourceMigration.V_5_0__2, callBack, scriptSuffix); } @Override @@ -49,11 +49,11 @@ public class DataSourceMigrationForVersion_5_0_1 extends AbstractObserveMigratio // Ajout des champs lastUpdate // See https://forge.codelutin.com/issues/7470 - addScript("add_lastUpdate_field_2", queries); + addScript("add_lastUpdateDate_field", queries); } - public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_1 { + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_2 { public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { super(callBack, H2DataSourceMigration.TYPE); @@ -61,7 +61,7 @@ public class DataSourceMigrationForVersion_5_0_1 extends AbstractObserveMigratio } - public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_1 { + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_2 { public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { super(callBack, PGDataSourceMigration.TYPE); 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 67a2f91..e52b59e 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 @@ -47,7 +47,7 @@ public class I18nReferenceEntities { return "label" + (referenceLocaleOrdinal + 1); } - public static <E extends I18nReferenceEntity> String getLabel(int referenceLocaleOrdinal, E i18nEntity) { + public static <E extends I18nReferentialEntity> String getLabel(int referenceLocaleOrdinal, E i18nEntity) { String result = null; @@ -82,7 +82,7 @@ public class I18nReferenceEntities { } - public static <E extends I18nReferenceEntity> void setLabel(int referenceLocaleOrdinal, E i18nEntity, String label) { + public static <E extends I18nReferentialEntity> void setLabel(int referenceLocaleOrdinal, E i18nEntity, String label) { switch (referenceLocaleOrdinal + 1) { case 1: 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/ObserveReferentialEntities.java similarity index 79% rename from observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntities.java rename to observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntities.java index 13bf6b8..c9ef0e4 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/ObserveReferentialEntities.java @@ -34,34 +34,34 @@ import java.util.Iterator; import java.util.List; /** - * Helper class around {@link ReferenceEntity}. + * Helper class around {@link ObserveReferentialEntity}. * * @author Tony Chemit - chemit@codelutin.com * @since 3.0 */ -public class ReferenceEntities { +public class ObserveReferentialEntities { - public static final Predicate<? extends ReferenceEntity> IS_ACTIF_PREDICATE = new Predicate<ReferenceEntity>() { + public static final Predicate<? extends ObserveReferentialEntity> IS_ACTIF_PREDICATE = new Predicate<ObserveReferentialEntity>() { @Override - public boolean apply(ReferenceEntity input) { + public boolean apply(ObserveReferentialEntity input) { return ReferenceStatus.disabled != input.getStatus(); } }; /** Logger. */ - private static final Log log = LogFactory.getLog(ReferenceEntities.class); + private static final Log log = LogFactory.getLog(ObserveReferentialEntities.class); /** * 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()} + * entités qui ne sont pas actives {@link ObserveReferentialEntity#getStatus()} * * @param list la liste des entitées à filtrer * @param <E> le type des entites du référentiel */ - public static <E extends ReferenceEntity> void filterReferentielListByStatus( + public static <E extends ObserveReferentialEntity> void filterReferentielListByStatus( List<E> list) { - filterReferentielList(list, ReferenceEntities.<E>newEnablePredicate()); + filterReferentielList(list, ObserveReferentialEntities.<E>newEnablePredicate()); } @@ -73,7 +73,7 @@ public class ReferenceEntities { * @param predicate le prédicate à appliquer pour conserver les valeurs * @param <E> le type des entites du référentiel */ - public static <E extends ReferenceEntity> void filterReferentielList( + public static <E extends ObserveReferentialEntity> void filterReferentielList( List<E> list, Predicate<E> predicate) { Iterator<E> itr = list.iterator(); @@ -92,7 +92,7 @@ public class ReferenceEntities { } } - public static <R extends ReferenceEntity> Predicate<R> newEnablePredicate() { + public static <R extends ObserveReferentialEntity> Predicate<R> newEnablePredicate() { return (Predicate<R>) IS_ACTIF_PREDICATE; } @@ -115,7 +115,7 @@ public class ReferenceEntities { } } - protected ReferenceEntities() { + protected ObserveReferentialEntities() { // avoid instance } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntityImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntityImpl.java similarity index 92% rename from observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntityImpl.java rename to observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntityImpl.java index 50e7ca1..0322566 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ReferenceEntityImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntityImpl.java @@ -24,7 +24,7 @@ package fr.ird.observe.entities.referentiel; import fr.ird.observe.entities.constants.ReferenceStatus; -public abstract class ReferenceEntityImpl extends ReferenceEntityAbstract { +public abstract class ObserveReferentialEntityImpl extends ObserveReferentialEntityAbstract { private static final long serialVersionUID = 1L; diff --git a/observe-entities/src/main/resources/db/5.0/remove_open_field-H2.sql b/observe-entities/src/main/resources/db/5.0-1/remove_open_field-H2.sql similarity index 71% rename from observe-entities/src/main/resources/db/5.0/remove_open_field-H2.sql rename to observe-entities/src/main/resources/db/5.0-1/remove_open_field-H2.sql index 254198f..7f6c0bb 100644 --- a/observe-entities/src/main/resources/db/5.0/remove_open_field-H2.sql +++ b/observe-entities/src/main/resources/db/5.0-1/remove_open_field-H2.sql @@ -19,8 +19,8 @@ -- <http://www.gnu.org/licenses/gpl-3.0.html>. -- #L% --- -ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN OPEN; -ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN OPEN; -ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN OPEN; -ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN OPEN; -ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN OPEN; \ No newline at end of file +ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN IF EXISTS OPEN ; +ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN IF EXISTS OPEN; +ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN IF EXISTS OPEN; +ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN IF EXISTS OPEN; +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN IF EXISTS OPEN; \ No newline at end of file diff --git a/observe-entities/src/main/resources/db/5.0/remove_open_field-PG.sql b/observe-entities/src/main/resources/db/5.0-1/remove_open_field-PG.sql similarity index 71% rename from observe-entities/src/main/resources/db/5.0/remove_open_field-PG.sql rename to observe-entities/src/main/resources/db/5.0-1/remove_open_field-PG.sql index 254198f..e4c2dde 100644 --- a/observe-entities/src/main/resources/db/5.0/remove_open_field-PG.sql +++ b/observe-entities/src/main/resources/db/5.0-1/remove_open_field-PG.sql @@ -19,8 +19,8 @@ -- <http://www.gnu.org/licenses/gpl-3.0.html>. -- #L% --- -ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN OPEN; -ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN OPEN; -ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN OPEN; -ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN OPEN; -ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN OPEN; \ No newline at end of file +ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN IF EXISTS OPEN; +ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN IF EXISTS OPEN; +ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN IF EXISTS OPEN; +ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN IF EXISTS OPEN; +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN IF EXISTS OPEN; \ No newline at end of file diff --git a/observe-entities/src/main/resources/db/5.0-2/add_lastUpdateDate_field-H2.sql b/observe-entities/src/main/resources/db/5.0-2/add_lastUpdateDate_field-H2.sql new file mode 100644 index 0000000..7bb8bf5 --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0-2/add_lastUpdateDate_field-H2.sql @@ -0,0 +1,676 @@ +DROP TABLE IF EXISTS OBSERVE_COMMON.LASTUPDATETYPE; + +-- Referentiel commum + +ALTER TABLE OBSERVE_COMMON.COUNTRY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.COUNTRY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.COUNTRY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_COUNTRY; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_COUNTRY_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_COUNTRY_LASTUPDATEDATE ON OBSERVE_COMMON.COUNTRY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.FPAZONE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.FPAZONE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.FPAZONE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_FPAZONE; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_FPAZONE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_FPAZONE_LASTUPDATEDATE ON OBSERVE_COMMON.FPAZONE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.GEAR DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.GEAR DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.GEAR ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_GEAR; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_GEAR_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_GEAR_LASTUPDATEDATE ON OBSERVE_COMMON.GEAR(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_GEARCARACTERISTIC; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_GEARCARACTERISTIC_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_GEARCARACTERISTIC_LASTUPDATEDATE ON OBSERVE_COMMON.GEARCARACTERISTIC(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_GEARCARACTERISTICTYPE; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_GEARCARACTERISTICTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_GEARCARACTERISTICTYPE_LASTUPDATEDATE ON OBSERVE_COMMON.GEARCARACTERISTICTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.HARBOUR DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.HARBOUR DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.HARBOUR ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_HARBOUR; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_HARBOUR_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_HARBOUR_LASTUPDATEDATE ON OBSERVE_COMMON.HARBOUR(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_LENGTHWEIGHTPARAMETER; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_LENGTHWEIGHTPARAMETER_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_LENGTHWEIGHTPARAMETER_LASTUPDATEDATE ON OBSERVE_COMMON.LENGTHWEIGHTPARAMETER(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.OCEAN DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.OCEAN DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.OCEAN ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_OCEAN; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_OCEAN_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_OCEAN_LASTUPDATEDATE ON OBSERVE_COMMON.OCEAN(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.ORGANISM DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.ORGANISM DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.ORGANISM ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_ORGANISM; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_ORGANISM_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_ORGANISM_LASTUPDATEDATE ON OBSERVE_COMMON.ORGANISM(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.PERSON DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.PERSON DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.PERSON ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_PERSON; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_PERSON_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_PERSON_LASTUPDATEDATE ON OBSERVE_COMMON.PERSON(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.PROGRAM DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.PROGRAM DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.PROGRAM ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_PROGRAM; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_PROGRAM_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_PROGRAM_LASTUPDATEDATE ON OBSERVE_COMMON.PROGRAM(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.SEX DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.SEX DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.SEX ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_SEX; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SEX_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SEX_LASTUPDATEDATE ON OBSERVE_COMMON.SEX(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.SPECIES DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.SPECIES DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.SPECIES ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_SPECIES; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SPECIES_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SPECIES_LASTUPDATEDATE ON OBSERVE_COMMON.SPECIES(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.SPECIESGROUP DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.SPECIESGROUP DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.SPECIESGROUP ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_SPECIESGROUP; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SPECIESGROUP_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SPECIESGROUP_LASTUPDATEDATE ON OBSERVE_COMMON.SPECIESGROUP(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.SPECIESLIST DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.SPECIESLIST DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.SPECIESLIST ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_SPECIESLIST; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SPECIESLIST_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SPECIESLIST_LASTUPDATEDATE ON OBSERVE_COMMON.SPECIESLIST(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.VESSEL DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.VESSEL DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.VESSEL ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_VESSEL; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_VESSEL_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_VESSEL_LASTUPDATEDATE ON OBSERVE_COMMON.VESSEL(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_VESSELSIZECATEGORY; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_VESSELSIZECATEGORY_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_VESSELSIZECATEGORY_LASTUPDATEDATE ON OBSERVE_COMMON.VESSELSIZECATEGORY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.VESSELTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.VESSELTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.VESSELTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_VESSELTYPE; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_VESSELTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_VESSELTYPE_LASTUPDATEDATE ON OBSERVE_COMMON.VESSELTYPE(LASTUPDATEDATE); + +-- Référentiel Senne + +ALTER TABLE OBSERVE_SEINE.DETECTIONMODE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.DETECTIONMODE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.DETECTIONMODE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_DETECTIONMODE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_DETECTIONMODE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_DETECTIONMODE_LASTUPDATEDATE ON OBSERVE_SEINE.DETECTIONMODE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTFATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTFATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTFATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTFATE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTFATE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTFATE_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTFATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTOPERATION; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTOPERATION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTOPERATION_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTOPERATION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTTYPE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTTYPE_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBSERVEDSYSTEM; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBSERVEDSYSTEM_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBSERVEDSYSTEM_LASTUPDATEDATE ON OBSERVE_SEINE.OBSERVEDSYSTEM(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_REASONFORDISCARD; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_REASONFORDISCARD_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_REASONFORDISCARD_LASTUPDATEDATE ON OBSERVE_SEINE.REASONFORDISCARD(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_REASONFORNOFISHING; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_REASONFORNOFISHING_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_REASONFORNOFISHING_LASTUPDATEDATE ON OBSERVE_SEINE.REASONFORNOFISHING(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_REASONFORNULLSET; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_REASONFORNULLSET_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_REASONFORNULLSET_LASTUPDATEDATE ON OBSERVE_SEINE.REASONFORNULLSET(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SPECIESFATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SPECIESFATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SPECIESFATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SPECIESFATE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SPECIESFATE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SPECIESFATE_LASTUPDATEDATE ON OBSERVE_SEINE.SPECIESFATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SPECIESSTATUS; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SPECIESSTATUS_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SPECIESSTATUS_LASTUPDATEDATE ON OBSERVE_SEINE.SPECIESSTATUS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SURROUNDINGACTIVITY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SURROUNDINGACTIVITY_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SURROUNDINGACTIVITY_LASTUPDATEDATE ON OBSERVE_SEINE.SURROUNDINGACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRANSMITTINGBUOYOPERATION; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRANSMITTINGBUOYOPERATION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRANSMITTINGBUOYOPERATION_LASTUPDATEDATE ON OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRANSMITTINGBUOYTYPE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRANSMITTINGBUOYTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRANSMITTINGBUOYTYPE_LASTUPDATEDATE ON OBSERVE_SEINE.TRANSMITTINGBUOYTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_VESSELACTIVITY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_VESSELACTIVITY_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_VESSELACTIVITY_LASTUPDATEDATE ON OBSERVE_SEINE.VESSELACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_WEIGHTCATEGORY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_WEIGHTCATEGORY_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_WEIGHTCATEGORY_LASTUPDATEDATE ON OBSERVE_SEINE.WEIGHTCATEGORY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.WIND DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.WIND DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.WIND ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_WIND; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_WIND_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_WIND_LASTUPDATEDATE ON OBSERVE_SEINE.WIND(LASTUPDATEDATE); + +-- Référentiel Palangre + +ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BAITHAULINGSTATUS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITHAULINGSTATUS_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITHAULINGSTATUS_LASTUPDATEDATE ON OBSERVE_LONGLINE.BAITHAULINGSTATUS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BAITSETTINGSTATUS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITSETTINGSTATUS_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITSETTINGSTATUS_LASTUPDATEDATE ON OBSERVE_LONGLINE.BAITSETTINGSTATUS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BAITTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BAITTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.BAITTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.CATCHFATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.CATCHFATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.CATCHFATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_CATCHFATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_CATCHFATE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_CATCHFATE_LASTUPDATEDATE ON OBSERVE_LONGLINE.CATCHFATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ENCOUNTERTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ENCOUNTERTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ENCOUNTERTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.ENCOUNTERTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HEALTHNESS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HEALTHNESS_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HEALTHNESS_LASTUPDATEDATE ON OBSERVE_LONGLINE.HEALTHNESS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HOOKPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKPOSITION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.HOOKPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HOOKSIZE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKSIZE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKSIZE_LASTUPDATEDATE ON OBSERVE_LONGLINE.HOOKSIZE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HOOKTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.HOOKTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ITEMHORIZONTALPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ITEMHORIZONTALPOSITION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ITEMHORIZONTALPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ITEMVERTICALPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ITEMVERTICALPOSITION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ITEMVERTICALPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.ITEMVERTICALPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_LIGHTSTICKSCOLOR; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_LIGHTSTICKSCOLOR_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_LIGHTSTICKSCOLOR_LASTUPDATEDATE ON OBSERVE_LONGLINE.LIGHTSTICKSCOLOR(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_LIGHTSTICKSTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_LIGHTSTICKSTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_LIGHTSTICKSTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.LIGHTSTICKSTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.LINETYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.LINETYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.LINETYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_LINETYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_LINETYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_LINETYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.LINETYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_MATURITYSTATUS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_MATURITYSTATUS_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_MATURITYSTATUS_LASTUPDATEDATE ON OBSERVE_LONGLINE.MATURITYSTATUS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_MITIGATIONTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_MITIGATIONTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_MITIGATIONTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.MITIGATIONTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SENSORBRAND; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORBRAND_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORBRAND_LASTUPDATEDATE ON OBSERVE_LONGLINE.SENSORBRAND(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SENSORDATAFORMAT; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORDATAFORMAT_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORDATAFORMAT_LASTUPDATEDATE ON OBSERVE_LONGLINE.SENSORDATAFORMAT(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SENSORTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.SENSORTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SETTINGSHAPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SETTINGSHAPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SETTINGSHAPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.SETTINGSHAPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SIZEMEASURETYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SIZEMEASURETYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SIZEMEASURETYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.SIZEMEASURETYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_STOMACFULLNESS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_STOMACFULLNESS_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_STOMACFULLNESS_LASTUPDATEDATE ON OBSERVE_LONGLINE.STOMACFULLNESS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRIPTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TRIPTYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TRIPTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.TRIPTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_VESSELACTIVITY; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_VESSELACTIVITY_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_VESSELACTIVITY_LASTUPDATEDATE ON OBSERVE_LONGLINE.VESSELACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_WEIGHTMEASURETYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_WEIGHTMEASURETYPE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_WEIGHTMEASURETYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.WEIGHTMEASURETYPE(LASTUPDATEDATE); + +-- Data Senne + +ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.ACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ACTIVITY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_ACTIVITY_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_ACTIVITY_LASTUPDATEDATE ON OBSERVE_SEINE.ACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.FLOATINGOBJECT DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.FLOATINGOBJECT DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.FLOATINGOBJECT ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_FLOATINGOBJECT; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_FLOATINGOBJECT_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_FLOATINGOBJECT_LASTUPDATEDATE ON OBSERVE_SEINE.FLOATINGOBJECT(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURESMEASUREMENT DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURESMEASUREMENT DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURESMEASUREMENT ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_GEARUSEFEATURESMEASUREMENT; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_GEARUSEFEATURESMEASUREMENT_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_GEARUSEFEATURESMEASUREMENT_LASTUPDATEDATE ON OBSERVE_SEINE.GEARUSEFEATURESMEASUREMENT(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURES DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURES DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURES ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_GEARUSEFEATURES; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_GEARUSEFEATURES_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_GEARUSEFEATURES_LASTUPDATEDATE ON OBSERVE_SEINE.GEARUSEFEATURES(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.NONTARGETCATCH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETCATCH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETCATCH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_NONTARGETCATCH; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_NONTARGETCATCH_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_NONTARGETCATCH_LASTUPDATEDATE ON OBSERVE_SEINE.NONTARGETCATCH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.NONTARGETLENGTH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETLENGTH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETLENGTH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_NONTARGETLENGTH; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_NONTARGETLENGTH_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_NONTARGETLENGTH_LASTUPDATEDATE ON OBSERVE_SEINE.NONTARGETLENGTH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.NONTARGETSAMPLE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETSAMPLE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETSAMPLE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_NONTARGETSAMPLE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_NONTARGETSAMPLE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_NONTARGETSAMPLE_LASTUPDATEDATE ON OBSERVE_SEINE.NONTARGETSAMPLE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTOBSERVEDSPECIES DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTOBSERVEDSPECIES DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTOBSERVEDSPECIES ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTOBSERVEDSPECIES; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTOBSERVEDSPECIES_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTOBSERVEDSPECIES_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTOBSERVEDSPECIES(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTSCHOOLESTIMATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTSCHOOLESTIMATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTSCHOOLESTIMATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTSCHOOLESTIMATE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTSCHOOLESTIMATE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTSCHOOLESTIMATE_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTSCHOOLESTIMATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.ROUTE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ROUTE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_ROUTE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_ROUTE_LASTUPDATEDATE ON OBSERVE_SEINE.ROUTE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SCHOOLESTIMATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SCHOOLESTIMATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SCHOOLESTIMATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SCHOOLESTIMATE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SCHOOLESTIMATE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SCHOOLESTIMATE_LASTUPDATEDATE ON OBSERVE_SEINE.SCHOOLESTIMATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SET DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SET DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SET ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SET; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SET_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SET_LASTUPDATEDATE ON OBSERVE_SEINE.SET(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TARGETCATCH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TARGETCATCH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TARGETCATCH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TARGETCATCH; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TARGETCATCH_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TARGETCATCH_LASTUPDATEDATE ON OBSERVE_SEINE.TARGETCATCH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TARGETLENGTH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TARGETLENGTH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TARGETLENGTH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TARGETLENGTH; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TARGETLENGTH_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TARGETLENGTH_LASTUPDATEDATE ON OBSERVE_SEINE.TARGETLENGTH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TARGETSAMPLE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TARGETSAMPLE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TARGETSAMPLE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TARGETSAMPLE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TARGETSAMPLE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TARGETSAMPLE_LASTUPDATEDATE ON OBSERVE_SEINE.TARGETSAMPLE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRANSMITTINGBUOY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRANSMITTINGBUOY_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRANSMITTINGBUOY_LASTUPDATEDATE ON OBSERVE_SEINE.TRANSMITTINGBUOY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TRIP ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRIP; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRIP_LASTUPDATEDATE; +CREATE INDEX OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRIP_LASTUPDATEDATE ON OBSERVE_SEINE.TRIP(LASTUPDATEDATE); + +-- Data Palangre + +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ACTIVITY; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ACTIVITY_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ACTIVITY_LASTUPDATEDATE ON OBSERVE_LONGLINE.ACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BAITSCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITSCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITSCOMPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BAITSCOMPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITSCOMPOSITION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITSCOMPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.BAITSCOMPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BASKET DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BASKET DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BASKET ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BASKET; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BASKET_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BASKET_LASTUPDATEDATE ON OBSERVE_LONGLINE.BASKET(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BRANCHLINE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BRANCHLINE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BRANCHLINE_LASTUPDATEDATE ON OBSERVE_LONGLINE.BRANCHLINE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINESCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINESCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINESCOMPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BRANCHLINESCOMPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BRANCHLINESCOMPOSITION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BRANCHLINESCOMPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.BRANCHLINESCOMPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.CATCH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.CATCH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.CATCH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_CATCH; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_CATCH_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_CATCH_LASTUPDATEDATE ON OBSERVE_LONGLINE.CATCH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTER DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTER DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTER ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ENCOUNTER; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ENCOUNTER_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ENCOUNTER_LASTUPDATEDATE ON OBSERVE_LONGLINE.ENCOUNTER(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.FLOATLINESCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.FLOATLINESCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.FLOATLINESCOMPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_FLOATLINESCOMPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_FLOATLINESCOMPOSITION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_FLOATLINESCOMPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.FLOATLINESCOMPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURES DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURES DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURES ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_GEARUSEFEATURES; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_GEARUSEFEATURES_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_GEARUSEFEATURES_LASTUPDATEDATE ON OBSERVE_LONGLINE.GEARUSEFEATURES(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURESMEASUREMENT DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURESMEASUREMENT DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURESMEASUREMENT ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_GEARUSEFEATURESMEASUREMENT; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_GEARUSEFEATURESMEASUREMENT_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_GEARUSEFEATURESMEASUREMENT_LASTUPDATEDATE ON OBSERVE_LONGLINE.GEARUSEFEATURESMEASUREMENT(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HOOKSCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKSCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKSCOMPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HOOKSCOMPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKSCOMPOSITION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKSCOMPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.HOOKSCOMPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SECTION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SECTION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SECTION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SECTION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SECTION_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SECTION_LASTUPDATEDATE ON OBSERVE_LONGLINE.SECTION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SENSORUSED DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORUSED DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORUSED ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SENSORUSED; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORUSED_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORUSED_LASTUPDATEDATE ON OBSERVE_LONGLINE.SENSORUSED(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SET DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SET DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SET ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SET; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SET_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SET_LASTUPDATEDATE ON OBSERVE_LONGLINE.SET(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SIZEMEASURE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SIZEMEASURE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SIZEMEASURE_LASTUPDATEDATE ON OBSERVE_LONGLINE.SIZEMEASURE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.TDR DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.TDR DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.TDR ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TDR; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TDR_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TDR_LASTUPDATEDATE ON OBSERVE_LONGLINE.TDR(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.TDRRECORD DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.TDRRECORD DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.TDRRECORD ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TDRRECORD; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TDRRECORD_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TDRRECORD_LASTUPDATEDATE ON OBSERVE_LONGLINE.TDRRECORD(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.TRIP ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRIP; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TRIP_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TRIP_LASTUPDATEDATE ON OBSERVE_LONGLINE.TRIP(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL AFTER TOPIACREATEDATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_WEIGHTMEASURE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_WEIGHTMEASURE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_WEIGHTMEASURE_LASTUPDATEDATE ON OBSERVE_LONGLINE.WEIGHTMEASURE(LASTUPDATEDATE); \ No newline at end of file diff --git a/observe-entities/src/main/resources/db/5.0-2/add_lastUpdateDate_field-PG.sql b/observe-entities/src/main/resources/db/5.0-2/add_lastUpdateDate_field-PG.sql new file mode 100644 index 0000000..f039817 --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0-2/add_lastUpdateDate_field-PG.sql @@ -0,0 +1,676 @@ +DROP TABLE IF EXISTS OBSERVE_COMMON.LASTUPDATETYPE; + +-- Referentiel commum + +ALTER TABLE OBSERVE_COMMON.COUNTRY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.COUNTRY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.COUNTRY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_COUNTRY; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_COUNTRY_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_COUNTRY_LASTUPDATEDATE ON OBSERVE_COMMON.COUNTRY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.FPAZONE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.FPAZONE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.FPAZONE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_FPAZONE; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_FPAZONE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_FPAZONE_LASTUPDATEDATE ON OBSERVE_COMMON.FPAZONE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.GEAR DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.GEAR DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.GEAR ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_GEAR; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_GEAR_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_GEAR_LASTUPDATEDATE ON OBSERVE_COMMON.GEAR(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_GEARCARACTERISTIC; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_GEARCARACTERISTIC_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_GEARCARACTERISTIC_LASTUPDATEDATE ON OBSERVE_COMMON.GEARCARACTERISTIC(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_GEARCARACTERISTICTYPE; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_GEARCARACTERISTICTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_GEARCARACTERISTICTYPE_LASTUPDATEDATE ON OBSERVE_COMMON.GEARCARACTERISTICTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.HARBOUR DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.HARBOUR DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.HARBOUR ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_HARBOUR; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_HARBOUR_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_HARBOUR_LASTUPDATEDATE ON OBSERVE_COMMON.HARBOUR(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_LENGTHWEIGHTPARAMETER; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_LENGTHWEIGHTPARAMETER_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_LENGTHWEIGHTPARAMETER_LASTUPDATEDATE ON OBSERVE_COMMON.LENGTHWEIGHTPARAMETER(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.OCEAN DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.OCEAN DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.OCEAN ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_OCEAN; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_OCEAN_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_OCEAN_LASTUPDATEDATE ON OBSERVE_COMMON.OCEAN(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.ORGANISM DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.ORGANISM DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.ORGANISM ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_ORGANISM; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_ORGANISM_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_ORGANISM_LASTUPDATEDATE ON OBSERVE_COMMON.ORGANISM(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.PERSON DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.PERSON DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.PERSON ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_PERSON; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_PERSON_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_PERSON_LASTUPDATEDATE ON OBSERVE_COMMON.PERSON(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.PROGRAM DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.PROGRAM DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.PROGRAM ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_PROGRAM; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_PROGRAM_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_PROGRAM_LASTUPDATEDATE ON OBSERVE_COMMON.PROGRAM(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.SEX DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.SEX DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.SEX ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_SEX; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SEX_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_SEX_LASTUPDATEDATE ON OBSERVE_COMMON.SEX(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.SPECIES DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.SPECIES DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.SPECIES ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_SPECIES; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SPECIES_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_SPECIES_LASTUPDATEDATE ON OBSERVE_COMMON.SPECIES(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.SPECIESGROUP DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.SPECIESGROUP DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.SPECIESGROUP ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_SPECIESGROUP; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SPECIESGROUP_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_SPECIESGROUP_LASTUPDATEDATE ON OBSERVE_COMMON.SPECIESGROUP(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.SPECIESLIST DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.SPECIESLIST DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.SPECIESLIST ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_SPECIESLIST; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_SPECIESLIST_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_SPECIESLIST_LASTUPDATEDATE ON OBSERVE_COMMON.SPECIESLIST(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.VESSEL DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.VESSEL DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.VESSEL ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_VESSEL; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_VESSEL_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_VESSEL_LASTUPDATEDATE ON OBSERVE_COMMON.VESSEL(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_VESSELSIZECATEGORY; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_VESSELSIZECATEGORY_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_VESSELSIZECATEGORY_LASTUPDATEDATE ON OBSERVE_COMMON.VESSELSIZECATEGORY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_COMMON.VESSELTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_COMMON.VESSELTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_COMMON.VESSELTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_COMMON.OBSERVE_COMMON_VESSELTYPE; +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_VESSELTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_VESSELTYPE_LASTUPDATEDATE ON OBSERVE_COMMON.VESSELTYPE(LASTUPDATEDATE); + +-- Référentiel Senne + +ALTER TABLE OBSERVE_SEINE.DETECTIONMODE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.DETECTIONMODE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.DETECTIONMODE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_DETECTIONMODE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_DETECTIONMODE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_DETECTIONMODE_LASTUPDATEDATE ON OBSERVE_SEINE.DETECTIONMODE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTFATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTFATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTFATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTFATE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTFATE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_OBJECTFATE_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTFATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTOPERATION; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTOPERATION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_OBJECTOPERATION_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTOPERATION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTTYPE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_OBJECTTYPE_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBSERVEDSYSTEM; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBSERVEDSYSTEM_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_OBSERVEDSYSTEM_LASTUPDATEDATE ON OBSERVE_SEINE.OBSERVEDSYSTEM(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_REASONFORDISCARD; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_REASONFORDISCARD_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_REASONFORDISCARD_LASTUPDATEDATE ON OBSERVE_SEINE.REASONFORDISCARD(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_REASONFORNOFISHING; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_REASONFORNOFISHING_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_REASONFORNOFISHING_LASTUPDATEDATE ON OBSERVE_SEINE.REASONFORNOFISHING(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_REASONFORNULLSET; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_REASONFORNULLSET_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_REASONFORNULLSET_LASTUPDATEDATE ON OBSERVE_SEINE.REASONFORNULLSET(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SPECIESFATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SPECIESFATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SPECIESFATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SPECIESFATE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SPECIESFATE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_SPECIESFATE_LASTUPDATEDATE ON OBSERVE_SEINE.SPECIESFATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SPECIESSTATUS; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SPECIESSTATUS_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_SPECIESSTATUS_LASTUPDATEDATE ON OBSERVE_SEINE.SPECIESSTATUS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SURROUNDINGACTIVITY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SURROUNDINGACTIVITY_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_SURROUNDINGACTIVITY_LASTUPDATEDATE ON OBSERVE_SEINE.SURROUNDINGACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRANSMITTINGBUOYOPERATION; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRANSMITTINGBUOYOPERATION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_TRANSMITTINGBUOYOPERATION_LASTUPDATEDATE ON OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRANSMITTINGBUOYTYPE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRANSMITTINGBUOYTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_TRANSMITTINGBUOYTYPE_LASTUPDATEDATE ON OBSERVE_SEINE.TRANSMITTINGBUOYTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_VESSELACTIVITY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_VESSELACTIVITY_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_VESSELACTIVITY_LASTUPDATEDATE ON OBSERVE_SEINE.VESSELACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_WEIGHTCATEGORY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_WEIGHTCATEGORY_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_WEIGHTCATEGORY_LASTUPDATEDATE ON OBSERVE_SEINE.WEIGHTCATEGORY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.WIND DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.WIND DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.WIND ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_WIND; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_WIND_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_WIND_LASTUPDATEDATE ON OBSERVE_SEINE.WIND(LASTUPDATEDATE); + +-- Référentiel Palangre + +ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BAITHAULINGSTATUS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITHAULINGSTATUS_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_BAITHAULINGSTATUS_LASTUPDATEDATE ON OBSERVE_LONGLINE.BAITHAULINGSTATUS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BAITSETTINGSTATUS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITSETTINGSTATUS_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_BAITSETTINGSTATUS_LASTUPDATEDATE ON OBSERVE_LONGLINE.BAITSETTINGSTATUS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BAITTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BAITTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_BAITTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.BAITTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.CATCHFATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.CATCHFATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.CATCHFATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_CATCHFATE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_CATCHFATE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_CATCHFATE_LASTUPDATEDATE ON OBSERVE_LONGLINE.CATCHFATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ENCOUNTERTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ENCOUNTERTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_ENCOUNTERTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.ENCOUNTERTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HEALTHNESS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HEALTHNESS_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_HEALTHNESS_LASTUPDATEDATE ON OBSERVE_LONGLINE.HEALTHNESS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HOOKPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKPOSITION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_HOOKPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.HOOKPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HOOKSIZE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKSIZE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_HOOKSIZE_LASTUPDATEDATE ON OBSERVE_LONGLINE.HOOKSIZE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HOOKTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_HOOKTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.HOOKTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ITEMHORIZONTALPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ITEMHORIZONTALPOSITION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_ITEMHORIZONTALPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ITEMVERTICALPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ITEMVERTICALPOSITION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_ITEMVERTICALPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.ITEMVERTICALPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_LIGHTSTICKSCOLOR; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_LIGHTSTICKSCOLOR_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_LIGHTSTICKSCOLOR_LASTUPDATEDATE ON OBSERVE_LONGLINE.LIGHTSTICKSCOLOR(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_LIGHTSTICKSTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_LIGHTSTICKSTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_LIGHTSTICKSTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.LIGHTSTICKSTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.LINETYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.LINETYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.LINETYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_LINETYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_LINETYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_LINETYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.LINETYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_MATURITYSTATUS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_MATURITYSTATUS_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_MATURITYSTATUS_LASTUPDATEDATE ON OBSERVE_LONGLINE.MATURITYSTATUS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_MITIGATIONTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_MITIGATIONTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_MITIGATIONTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.MITIGATIONTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SENSORBRAND; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORBRAND_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_SENSORBRAND_LASTUPDATEDATE ON OBSERVE_LONGLINE.SENSORBRAND(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SENSORDATAFORMAT; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORDATAFORMAT_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_SENSORDATAFORMAT_LASTUPDATEDATE ON OBSERVE_LONGLINE.SENSORDATAFORMAT(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SENSORTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_SENSORTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.SENSORTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SETTINGSHAPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SETTINGSHAPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_SETTINGSHAPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.SETTINGSHAPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SIZEMEASURETYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SIZEMEASURETYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_SIZEMEASURETYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.SIZEMEASURETYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_STOMACFULLNESS; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_STOMACFULLNESS_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_STOMACFULLNESS_LASTUPDATEDATE ON OBSERVE_LONGLINE.STOMACFULLNESS(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRIPTYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TRIPTYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_TRIPTYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.TRIPTYPE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_VESSELACTIVITY; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_VESSELACTIVITY_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_VESSELACTIVITY_LASTUPDATEDATE ON OBSERVE_LONGLINE.VESSELACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_WEIGHTMEASURETYPE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_WEIGHTMEASURETYPE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_WEIGHTMEASURETYPE_LASTUPDATEDATE ON OBSERVE_LONGLINE.WEIGHTMEASURETYPE(LASTUPDATEDATE); + +-- Data Senne + +ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.ACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.ACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ACTIVITY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_ACTIVITY_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_ACTIVITY_LASTUPDATEDATE ON OBSERVE_SEINE.ACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.FLOATINGOBJECT DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.FLOATINGOBJECT DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.FLOATINGOBJECT ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_FLOATINGOBJECT; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_FLOATINGOBJECT_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_FLOATINGOBJECT_LASTUPDATEDATE ON OBSERVE_SEINE.FLOATINGOBJECT(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURESMEASUREMENT DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURESMEASUREMENT DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURESMEASUREMENT ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_GEARUSEFEATURESMEASUREMENT; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_GEARUSEFEATURESMEASUREMENT_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_GEARUSEFEATURESMEASUREMENT_LASTUPDATEDATE ON OBSERVE_SEINE.GEARUSEFEATURESMEASUREMENT(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURES DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURES DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.GEARUSEFEATURES ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_GEARUSEFEATURES; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_GEARUSEFEATURES_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_GEARUSEFEATURES_LASTUPDATEDATE ON OBSERVE_SEINE.GEARUSEFEATURES(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.NONTARGETCATCH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETCATCH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETCATCH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_NONTARGETCATCH; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_NONTARGETCATCH_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_NONTARGETCATCH_LASTUPDATEDATE ON OBSERVE_SEINE.NONTARGETCATCH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.NONTARGETLENGTH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETLENGTH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETLENGTH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_NONTARGETLENGTH; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_NONTARGETLENGTH_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_NONTARGETLENGTH_LASTUPDATEDATE ON OBSERVE_SEINE.NONTARGETLENGTH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.NONTARGETSAMPLE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETSAMPLE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.NONTARGETSAMPLE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_NONTARGETSAMPLE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_NONTARGETSAMPLE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_NONTARGETSAMPLE_LASTUPDATEDATE ON OBSERVE_SEINE.NONTARGETSAMPLE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTOBSERVEDSPECIES DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTOBSERVEDSPECIES DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTOBSERVEDSPECIES ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTOBSERVEDSPECIES; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTOBSERVEDSPECIES_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_OBJECTOBSERVEDSPECIES_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTOBSERVEDSPECIES(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.OBJECTSCHOOLESTIMATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTSCHOOLESTIMATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.OBJECTSCHOOLESTIMATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_OBJECTSCHOOLESTIMATE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_OBJECTSCHOOLESTIMATE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_OBJECTSCHOOLESTIMATE_LASTUPDATEDATE ON OBSERVE_SEINE.OBJECTSCHOOLESTIMATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.ROUTE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.ROUTE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ROUTE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_ROUTE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_ROUTE_LASTUPDATEDATE ON OBSERVE_SEINE.ROUTE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SCHOOLESTIMATE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SCHOOLESTIMATE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SCHOOLESTIMATE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SCHOOLESTIMATE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SCHOOLESTIMATE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_SCHOOLESTIMATE_LASTUPDATEDATE ON OBSERVE_SEINE.SCHOOLESTIMATE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.SET DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.SET DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.SET ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SET; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_SET_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_SET_LASTUPDATEDATE ON OBSERVE_SEINE.SET(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TARGETCATCH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TARGETCATCH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TARGETCATCH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TARGETCATCH; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TARGETCATCH_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_TARGETCATCH_LASTUPDATEDATE ON OBSERVE_SEINE.TARGETCATCH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TARGETLENGTH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TARGETLENGTH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TARGETLENGTH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TARGETLENGTH; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TARGETLENGTH_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_TARGETLENGTH_LASTUPDATEDATE ON OBSERVE_SEINE.TARGETLENGTH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TARGETSAMPLE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TARGETSAMPLE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TARGETSAMPLE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TARGETSAMPLE; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TARGETSAMPLE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_TARGETSAMPLE_LASTUPDATEDATE ON OBSERVE_SEINE.TARGETSAMPLE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRANSMITTINGBUOY; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRANSMITTINGBUOY_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_TRANSMITTINGBUOY_LASTUPDATEDATE ON OBSERVE_SEINE.TRANSMITTINGBUOY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_SEINE.TRIP DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_SEINE.TRIP ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRIP; +DROP INDEX IF EXISTS OBSERVE_SEINE.INDEX_OBSERVE_SEINE_TRIP_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_SEINE_TRIP_LASTUPDATEDATE ON OBSERVE_SEINE.TRIP(LASTUPDATEDATE); + +-- Data Palangre + +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ACTIVITY; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ACTIVITY_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_ACTIVITY_LASTUPDATEDATE ON OBSERVE_LONGLINE.ACTIVITY(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BAITSCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITSCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BAITSCOMPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BAITSCOMPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BAITSCOMPOSITION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_BAITSCOMPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.BAITSCOMPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BASKET DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BASKET DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BASKET ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BASKET; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BASKET_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_BASKET_LASTUPDATEDATE ON OBSERVE_LONGLINE.BASKET(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BRANCHLINE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BRANCHLINE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_BRANCHLINE_LASTUPDATEDATE ON OBSERVE_LONGLINE.BRANCHLINE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINESCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINESCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.BRANCHLINESCOMPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_BRANCHLINESCOMPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_BRANCHLINESCOMPOSITION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_BRANCHLINESCOMPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.BRANCHLINESCOMPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.CATCH DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.CATCH DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.CATCH ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_CATCH; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_CATCH_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_CATCH_LASTUPDATEDATE ON OBSERVE_LONGLINE.CATCH(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTER DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTER DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTER ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_ENCOUNTER; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_ENCOUNTER_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_ENCOUNTER_LASTUPDATEDATE ON OBSERVE_LONGLINE.ENCOUNTER(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.FLOATLINESCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.FLOATLINESCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.FLOATLINESCOMPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_FLOATLINESCOMPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_FLOATLINESCOMPOSITION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_FLOATLINESCOMPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.FLOATLINESCOMPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURES DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURES DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURES ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_GEARUSEFEATURES; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_GEARUSEFEATURES_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_GEARUSEFEATURES_LASTUPDATEDATE ON OBSERVE_LONGLINE.GEARUSEFEATURES(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURESMEASUREMENT DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURESMEASUREMENT DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.GEARUSEFEATURESMEASUREMENT ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_GEARUSEFEATURESMEASUREMENT; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_GEARUSEFEATURESMEASUREMENT_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_GEARUSEFEATURESMEASUREMENT_LASTUPDATEDATE ON OBSERVE_LONGLINE.GEARUSEFEATURESMEASUREMENT(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.HOOKSCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKSCOMPOSITION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.HOOKSCOMPOSITION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_HOOKSCOMPOSITION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_HOOKSCOMPOSITION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_HOOKSCOMPOSITION_LASTUPDATEDATE ON OBSERVE_LONGLINE.HOOKSCOMPOSITION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SECTION DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SECTION DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SECTION ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SECTION; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SECTION_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_SECTION_LASTUPDATEDATE ON OBSERVE_LONGLINE.SECTION(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SENSORUSED DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORUSED DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SENSORUSED ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SENSORUSED; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SENSORUSED_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_SENSORUSED_LASTUPDATEDATE ON OBSERVE_LONGLINE.SENSORUSED(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SET DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SET DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SET ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SET; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SET_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_SET_LASTUPDATEDATE ON OBSERVE_LONGLINE.SET(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_SIZEMEASURE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_SIZEMEASURE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_SIZEMEASURE_LASTUPDATEDATE ON OBSERVE_LONGLINE.SIZEMEASURE(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.TDR DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.TDR DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.TDR ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TDR; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TDR_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_TDR_LASTUPDATEDATE ON OBSERVE_LONGLINE.TDR(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.TDRRECORD DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.TDRRECORD DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.TDRRECORD ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TDRRECORD; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TDRRECORD_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_TDRRECORD_LASTUPDATEDATE ON OBSERVE_LONGLINE.TDRRECORD(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.TRIP DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.TRIP ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_TRIP; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_TRIP_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_TRIP_LASTUPDATEDATE ON OBSERVE_LONGLINE.TRIP(LASTUPDATEDATE); + +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURE DROP COLUMN IF EXISTS LASTUPDATEDATE; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURE DROP COLUMN IF EXISTS LASTUPDATE; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURE ADD COLUMN LASTUPDATEDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.OBSERVE_LONGLINE_WEIGHTMEASURE; +DROP INDEX IF EXISTS OBSERVE_LONGLINE.INDEX_OBSERVE_LONGLINE_WEIGHTMEASURE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_LONGLINE_WEIGHTMEASURE_LASTUPDATEDATE ON OBSERVE_LONGLINE.WEIGHTMEASURE(LASTUPDATEDATE); \ No newline at end of file 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 deleted file mode 100644 index 94e0622..0000000 --- a/observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-H2.sql +++ /dev/null @@ -1,2 +0,0 @@ -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 deleted file mode 100644 index 6564a44..0000000 --- a/observe-entities/src/main/resources/db/5.0.1/add_lastUpdate_field_2-PG.sql +++ /dev/null @@ -1,2 +0,0 @@ -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/resources/db/5.0/add_lastUpdate_field-H2.sql b/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-H2.sql deleted file mode 100644 index e26235f..0000000 --- a/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-H2.sql +++ /dev/null @@ -1,153 +0,0 @@ - - --- Referentiel commum -ALTER TABLE OBSERVE_COMMON.COUNTRY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.FPAZONE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.GEAR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.HARBOUR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.OCEAN ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.ORGANISM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.PERSON ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.PROGRAM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.SEX ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.SPECIES ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.SPECIESGROUP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.SPECIESLIST ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.VESSEL ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.VESSELTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - --- Référentiel Senne -ALTER TABLE OBSERVE_SEINE.DETECTIONMODE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.OBJECTFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.OBJECTTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.SPECIESFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.WIND ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - --- Référentiel Palangre -ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.BAITTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.CATCHFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.LINETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - --- Entitées Senne -ALTER TABLE OBSERVE_SEINE.ACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.ROUTE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.SET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.TRIP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - --- Entitées Palangre -ALTER TABLE OBSERVE_LONGLINE.ACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.TRIP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - - --- Création de la table d'historisation -CREATE TABLE OBSERVE_COMMON.LASTUPDATETYPE (TOPIAID VARCHAR(255) NOT NULL, TOPIAVERSION BIGINT NOT NULL, TOPIACREATEDATE TIMESTAMP, TYPE VARCHAR(255) NOT NULL, LASTUPDATE TIMESTAMP NOT NULL); -ALTER TABLE OBSERVE_COMMON.LASTUPDATETYPE ADD CONSTRAINT PK_LASTUPDATETYPE PRIMARY KEY(TOPIAID); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Country', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.FpaZone', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Gear', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristic', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristicType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Harbour', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.LengthWeightParameter', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Ocean', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Organism', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Person', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Program', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Sex', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Species', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesGroup', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesList', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Vessel', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselSizeCategory', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselType', CURRENT_TIMESTAMP); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.DetectionMode', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectFate', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectOperation', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObservedSystem', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForDiscard', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNullSet', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesFate', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesStatus', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SurroundingActivity', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.VesselActivitySeine', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.WeightCategory', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.Wind', CURRENT_TIMESTAMP); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitSettingStatus', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.CatchFateLongline', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.EncounterType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.Healthness', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookPosition', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookSize', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksColor', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LineType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MaturityStatus', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MitigationType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorBrand', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorDataFormat', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.19', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.20', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SettingShape', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.21', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SizeMeasureType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.22', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.StomacFullness', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.23', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.TripType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.24', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.VesselActivityLongline', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ActivitySeine', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.Route', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SetSeine', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TripSeine', CURRENT_TIMESTAMP); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.ActivityLongline', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SetLongline', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TripLongline', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-PG.sql b/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-PG.sql deleted file mode 100644 index cd1a3f6..0000000 --- a/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-PG.sql +++ /dev/null @@ -1,154 +0,0 @@ - - --- Referentiel commum -ALTER TABLE OBSERVE_COMMON.COUNTRY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.FPAZONE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.GEAR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.HARBOUR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.OCEAN ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.ORGANISM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.PERSON ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.PROGRAM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.SEX ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.SPECIES ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.SPECIESGROUP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.SPECIESLIST ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.VESSEL ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_COMMON.VESSELTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - --- Référentiel senne -ALTER TABLE OBSERVE_SEINE.DETECTIONMODE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.OBJECTFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.OBJECTTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.SPECIESFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.WIND ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - --- Référentiel Palangre -ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.BAITTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.CATCHFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.LINETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - --- Entitées Senne -ALTER TABLE OBSERVE_SEINE.ACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.ROUTE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.SET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_SEINE.TRIP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - --- Entitées Palangre -ALTER TABLE OBSERVE_LONGLINE.ACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.SET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; -ALTER TABLE OBSERVE_LONGLINE.TRIP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; - - --- Création de la table d'historisation - -CREATE TABLE OBSERVE_COMMON.LASTUPDATETYPE (TOPIAID CHARACTER VARYING(255) NOT NULL, TOPIAVERSION BIGINT NOT NULL, TOPIACREATEDATE TIMESTAMP, TYPE CHARACTER VARYING(255) NOT NULL, LASTUPDATE TIMESTAMP NOT NULL); -ALTER TABLE OBSERVE_COMMON.LASTUPDATETYPE ADD CONSTRAINT PK_LASTUPDATETYPE PRIMARY KEY(TOPIAID); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Country', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.FpaZone', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Gear', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristic', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristicType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Harbour', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.LengthWeightParameter', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Ocean', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Organism', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Person', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Program', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Sex', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Species', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesGroup', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesList', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Vessel', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselSizeCategory', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselType', CURRENT_TIMESTAMP); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.DetectionMode', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectFate', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectOperation', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObservedSystem', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForDiscard', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNullSet', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesFate', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesStatus', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SurroundingActivity', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.VesselActivitySeine', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.WeightCategory', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.Wind', CURRENT_TIMESTAMP); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitSettingStatus', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.CatchFateLongline', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.EncounterType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.Healthness', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookPosition', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookSize', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksColor', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LineType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MaturityStatus', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MitigationType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorBrand', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorDataFormat', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.19', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.20', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SettingShape', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.21', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SizeMeasureType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.22', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.StomacFullness', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.23', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.TripType', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.24', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.VesselActivityLongline', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ActivitySeine', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.Route', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SetSeine', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TripSeine', CURRENT_TIMESTAMP); - -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.ActivityLongline', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SetLongline', CURRENT_TIMESTAMP); -INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TripLongline', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/xmi/observe-common.zargo b/observe-entities/src/main/xmi/observe-common.zargo index c472cb6..1dfc7c4 100644 Binary files a/observe-entities/src/main/xmi/observe-common.zargo and b/observe-entities/src/main/xmi/observe-common.zargo differ diff --git a/observe-entities/src/main/xmi/observe-longline.zargo b/observe-entities/src/main/xmi/observe-longline.zargo index 9af82f6..41164f5 100644 Binary files a/observe-entities/src/main/xmi/observe-longline.zargo and b/observe-entities/src/main/xmi/observe-longline.zargo differ diff --git a/observe-entities/src/main/xmi/observe-seine.zargo b/observe-entities/src/main/xmi/observe-seine.zargo index 227cb93..0a7451d 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-topia/pom.xml b/observe-services-topia/pom.xml index 39de3ed..2957acc 100644 --- a/observe-services-topia/pom.xml +++ b/observe-services-topia/pom.xml @@ -123,7 +123,7 @@ <scope>runtime</scope> </dependency> <dependency> - <groupId>postgresql</groupId> + <groupId>org.postgresql</groupId> <artifactId>postgresql</artifactId> <scope>runtime</scope> </dependency> 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 df37fb8..fa44f55 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 @@ -29,11 +29,11 @@ import com.google.common.collect.Multimap; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; 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.ObserveDataEntity; +import fr.ird.observe.entities.ObserveEntity; +import fr.ird.observe.entities.ObserveEntityTopiaDao; import fr.ird.observe.entities.longline.TripLongline; -import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.binder.data.DataBinderSupport; import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; @@ -91,7 +91,7 @@ public abstract class ObserveServiceTopia implements ObserveService { return dataEntityType; } - public static <D extends ReferentialDto, E extends ReferenceEntity> Class<E> getReferentialEntityType(Class<D> dtoType) { + public static <D extends ReferentialDto, E extends ObserveReferentialEntity> Class<E> getReferentialEntityType(Class<D> dtoType) { Class<E> referentialEntityType = BINDER_ENGINE.getReferentialEntityType(dtoType); return referentialEntityType; } @@ -144,9 +144,10 @@ public abstract class ObserveServiceTopia implements ObserveService { return entities; } - protected <E extends TopiaEntity & FollowedUpdateEntity> Date saveFollowedEntity(E entity) { + protected <E extends ObserveEntity> Date saveFollowedEntity(E entity) { - Date lastUpdateDate = setLastUpdate(entity); + Date lastUpdateDate = now(); + entity.setLastUpdateDate(lastUpdateDate); // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entity); @@ -156,89 +157,28 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <P extends TopiaEntity & FollowedUpdateEntity, E extends TopiaEntity> Date saveFollowedEntity(P parentEntity, E entity) { + //FIXME Remove this ? + @Deprecated + protected <P extends ObserveEntity, E extends ObserveEntity> Date saveFollowedEntity(P parentEntity, E 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); - Date lastUpdateDate = setLastUpdate(parentEntity); + Date lastUpdateDate = now(); + parentEntity.setLastUpdateDate(lastUpdateDate); + entity.setLastUpdateDate(lastUpdateDate); + return lastUpdateDate; } - protected <E extends FollowedUpdateEntity> Date setLastUpdate(Class<E> entityType) { - - Date lastUpdate = now(); + protected <E extends ObserveEntity> Optional<Date> getLastUpdate(Class<E> entityType) { ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + ObserveEntityTopiaDao dao = (ObserveEntityTopiaDao) persistenceContext.getDao(entityType); - 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 & 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(); - - if (FollowedUpdateEntity.class.isAssignableFrom(entityType)) { - - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - - LastUpdateTypeTopiaDao dao = persistenceContext.getLastUpdateTypeDao(); - - Optional<LastUpdateType> lastUpdateTypeOptional = dao.forTypeEquals(entityType.getCanonicalName()).tryFindUnique(); - - if (lastUpdateTypeOptional.isPresent()) { - result = Optional.of(lastUpdateTypeOptional.get().getLastUpdate()); - } - - } + Optional<Date> result = Optional.fromNullable(dao.getLastUpdateDate()); return result; } @@ -252,10 +192,6 @@ public abstract class ObserveServiceTopia implements ObserveService { throw new DataNotFoundException(dtoType, id); } dao.delete(entity); - if (FollowedUpdateEntity.class.isAssignableFrom(entityType)) { - Class<? extends FollowedUpdateEntity> followedUpdateType = (Class<? extends FollowedUpdateEntity>) entityType; - setLastUpdate(followedUpdateType); - } } } @@ -271,9 +207,9 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends ReferenceEntity, D extends ReferentialDto> Form<D> referentialEntityToForm(Class<D> dtoType, - E entity, - ReferenceSetRequestDefinitions referentialRequestDefinition) { + protected <E extends ObserveReferentialEntity, D extends ReferentialDto> Form<D> referentialEntityToForm(Class<D> dtoType, + E entity, + ReferenceSetRequestDefinitions referentialRequestDefinition) { D dto = BINDER_ENGINE.transformEntityToReferentialDto(serviceContext.getReferentialLocale(), entity); @@ -289,7 +225,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends ReferenceEntity, D extends ReferentialDto> void copyReferentialDtoToEntity(D dto, E entity) { + protected <E extends ObserveReferentialEntity, D extends ReferentialDto> void copyReferentialDtoToEntity(D dto, E entity) { BINDER_ENGINE.copyReferentialDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); @@ -310,7 +246,7 @@ public abstract class ObserveServiceTopia implements ObserveService { return entity; } - protected <E extends ReferenceEntity, D extends ReferentialDto> E loadOrCreateEntityFromReferentialDto(D dto) { + protected <E extends ObserveReferentialEntity, D extends ReferentialDto> E loadOrCreateEntityFromReferentialDto(D dto) { Class<D> dtoType = (Class<D>) dto.getClass(); @@ -325,17 +261,17 @@ public abstract class ObserveServiceTopia implements ObserveService { return entity; } - protected <E extends TopiaEntity & FollowedUpdateEntity, D extends DataDto> E loadOrCreateEntityAndCheckLastUpdate(D dto) { + protected <E extends ObserveDataEntity, D extends DataDto> E loadOrCreateEntityAndCheckLastUpdate(D dto) { E entity = loadOrCreateEntityFromDataDto(dto); checkLastUpdateDate(entity, dto); return entity; } - protected <E extends FollowedUpdateEntity, D extends IdDto & FollowedUpdateDto> void checkLastUpdateDate(E entity, D dto) { + protected <E extends ObserveEntity, D extends IdDto & FollowedUpdateDto> void checkLastUpdateDate(E entity, D dto) { if (dto.isPersisted()) { - Date lasUpdate = entity.getLastUpdate(); + Date lasUpdate = entity.getLastUpdateDate(); Date currentUpdate = dto.getLastUpdate(); @@ -513,7 +449,7 @@ public abstract class ObserveServiceTopia implements ObserveService { return dao.forTopiaIdEquals(id).exists(); } - protected <D extends ReferentialDto> ReferentialReference<D> toReference(ReferenceEntity entity) { + protected <D extends ReferentialDto> ReferentialReference<D> toReference(ObserveReferentialEntity entity) { ReferentialReference<D> reference = BinderEngine.get().transformEntityToReferentialReferenceDto(getReferentialLocale(), entity); return reference; @@ -546,7 +482,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends ReferentialDto, E extends ReferenceEntity> ReferentialReferenceSet<D> toReferentialReferenceSet(Class<D> dtoType, List<E> allStubByTripId, Date lastUpdate) { + protected <D extends ReferentialDto, E extends ObserveReferentialEntity> ReferentialReferenceSet<D> toReferentialReferenceSet(Class<D> dtoType, List<E> allStubByTripId, Date lastUpdate) { ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); @@ -571,7 +507,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends ReferentialDto, E extends ReferenceEntity> ReferentialBinderSupport<E, D> getReferentialBinder(Class<D> dtoType) { + protected <D extends ReferentialDto, E extends ObserveReferentialEntity> 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 caa1f1f..c4c04d6 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 @@ -2,7 +2,7 @@ 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.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.data.DataBinderSupport; import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.DataDto; @@ -29,11 +29,11 @@ public class BinderEngine implements ReferenceBinderEngine { protected ImmutableMap<Class<? extends DataDto>, BinderSupport> dataBinders; - protected ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes; + protected ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ObserveReferentialEntity>> referentialDtoToEntityTypes; protected ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypes; - protected ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; + protected ImmutableMap<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDtoTypes; @@ -57,7 +57,7 @@ public class BinderEngine implements ReferenceBinderEngine { } - public <D extends ReferentialDto, E extends ReferenceEntity> ReferentialBinderSupport<E, D> getReferentialBinder(Class<D> dtoType) { + public <D extends ReferentialDto, E extends ObserveReferentialEntity> ReferentialBinderSupport<E, D> getReferentialBinder(Class<D> dtoType) { return (ReferentialBinderSupport) referentialBinders.get(dtoType); } @@ -91,13 +91,13 @@ public class BinderEngine implements ReferenceBinderEngine { } - public <D extends ReferentialDto, E extends ReferenceEntity> Class<D> getReferentialDtoType(Class<E> entityType) { + public <D extends ReferentialDto, E extends ObserveReferentialEntity> Class<D> getReferentialDtoType(Class<E> 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()) { + for (Map.Entry<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDto>> entry : referentialEntityToDtoTypes.entrySet()) { if (name.startsWith(entry.getKey().getName())) { result = (Class<D>) entry.getValue(); break; @@ -107,11 +107,11 @@ public class BinderEngine implements ReferenceBinderEngine { return result; } - public <D extends ReferentialDto, E extends ReferenceEntity> Class<E> getReferentialEntityType(Class<D> dtoType) { + public <D extends ReferentialDto, E extends ObserveReferentialEntity> 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) { + public <D extends ReferentialDto, E extends ObserveReferentialEntity> D transformEntityToReferentialDto(ReferentialLocale referentialLocale, E entity) { Class<D> dtoType = getReferentialDtoType(entity.getClass()); ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); @@ -123,7 +123,7 @@ public class BinderEngine implements ReferenceBinderEngine { } - public <D extends ReferentialDto, E extends ReferenceEntity> E transformReferentialDtoToEntity(ReferentialLocale referentialLocale, D dto) { + public <D extends ReferentialDto, E extends ObserveReferentialEntity> E transformReferentialDtoToEntity(ReferentialLocale referentialLocale, D dto) { Class<D> dtoType = (Class<D>) dto.getClass(); ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); @@ -178,7 +178,7 @@ public class BinderEngine implements ReferenceBinderEngine { } - public <D extends ReferentialDto, E extends ReferenceEntity> ReferentialReference<D> transformEntityToReferentialReferenceDto(ReferentialLocale referentialLocale, E entity) { + public <D extends ReferentialDto, E extends ObserveReferentialEntity> ReferentialReference<D> transformEntityToReferentialReferenceDto(ReferentialLocale referentialLocale, E entity) { Class<D> dtoType = getReferentialDtoType(entity.getClass()); ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); @@ -197,7 +197,7 @@ public class BinderEngine implements ReferenceBinderEngine { } - public <D extends ReferentialDto, E extends ReferenceEntity> void copyReferentialDtoToEntity(ReferentialLocale referentialLocale, D dto, E entity) { + public <D extends ReferentialDto, E extends ObserveReferentialEntity> void copyReferentialDtoToEntity(ReferentialLocale referentialLocale, D dto, E entity) { Class<D> dtoType = (Class<D>) dto.getClass(); ReferentialBinderSupport<E, D> binder = getReferentialBinder(dtoType); @@ -210,7 +210,7 @@ public class BinderEngine implements ReferenceBinderEngine { return ImmutableSet.copyOf(getReferentialDtoToEntityTypes().keySet()); } - public ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> getReferentialEntityToDtoTypes() { + public ImmutableMap<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDto>> getReferentialEntityToDtoTypes() { return referentialEntityToDtoTypes; } @@ -222,7 +222,7 @@ public class BinderEngine implements ReferenceBinderEngine { return dataDtoToEntityTypes; } - protected ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> getReferentialDtoToEntityTypes() { + protected ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ObserveReferentialEntity>> 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 index 64d0f22..7a969f8 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 @@ -31,7 +31,7 @@ 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.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Sex; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.SpeciesGroup; @@ -340,9 +340,9 @@ class BinderEngineInitializer implements ObserveModelInitializer { ImmutableMap.Builder<Class<? extends DataDto>, BinderSupport> dataBinderBuilder; - ImmutableMap.Builder<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypeBuilder; + ImmutableMap.Builder<Class<? extends ReferentialDto>, Class<? extends ObserveReferentialEntity>> referentialDtoToEntityTypeBuilder; - ImmutableMap.Builder<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypeBuilder; + ImmutableMap.Builder<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypeBuilder; ImmutableMap.Builder<Class<? extends ReferentialDto>, BinderSupport> referentialBinderBuilder; @@ -350,9 +350,9 @@ class BinderEngineInitializer implements ObserveModelInitializer { ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDtoTypes; - ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes; + ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ObserveReferentialEntity>> referentialDtoToEntityTypes; - ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; + ImmutableMap<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; ImmutableMap<Class<? extends DataDto>, BinderSupport> dataBinders; @@ -392,15 +392,15 @@ class BinderEngineInitializer implements ObserveModelInitializer { } } - for (Map.Entry<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> entry : referentialDtoToEntityTypes.entrySet()) { + for (Map.Entry<Class<? extends ReferentialDto>, Class<? extends ObserveReferentialEntity>> entry : referentialDtoToEntityTypes.entrySet()) { Class<? extends ReferentialDto> dtoType = entry.getKey(); - Class<? extends ReferenceEntity> entityType = entry.getValue(); + Class<? extends ObserveReferentialEntity> 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); + referentialEntityToDtoTypeBuilder.put((Class<? extends ObserveReferentialEntity>) observeEntityEnum.getImplementation(), dtoType); } } dataEntityToDtoTypes = dataEntityToDtoTypeBuilder.build(); 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 3d1c949..a798046 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 @@ -5,8 +5,8 @@ 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.entities.referentiel.I18nReferentialEntity; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.constants.GearType; @@ -147,7 +147,7 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { // -- REFERENTIAL REFERENCE → ENTITY ---------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // - protected <DD extends ReferentialDto, EE extends ReferenceEntity> EE toEntity(ReferentialReference<DD> reference, Class<EE> entityType) { + protected <DD extends ReferentialDto, EE extends ObserveReferentialEntity> EE toEntity(ReferentialReference<DD> reference, Class<EE> entityType) { EE entity = null; @@ -167,7 +167,7 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { // -- REFERENTIAL → ENTITY -------------------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // - protected <DD extends ReferentialDto, EE extends ReferenceEntity> LinkedHashSet<EE> toEntitySet(Collection<ReferentialReference<DD>> references, Class<EE> entityType) { + protected <DD extends ReferentialDto, EE extends ObserveReferentialEntity> LinkedHashSet<EE> toEntitySet(Collection<ReferentialReference<DD>> references, Class<EE> entityType) { LinkedHashSet<EE> entityList = null; if (CollectionUtils.isNotEmpty(references)) { @@ -194,7 +194,7 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { // -- ENTITY → REFERENTIAL REFERENCE ---------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // - protected <EE extends ReferenceEntity, DD extends ReferentialDto> ReferentialReference<DD> toReferentialReference(ReferentialLocale referentialLocale, EE entity, Class<DD> dtoType) { + protected <EE extends ObserveReferentialEntity, DD extends ReferentialDto> ReferentialReference<DD> toReferentialReference(ReferentialLocale referentialLocale, EE entity, Class<DD> dtoType) { ReferentialReference<DD> reference = null; if (entity != null) { @@ -207,7 +207,7 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { } - protected <EE extends ReferenceEntity, DD extends ReferentialDto> List<ReferentialReference<DD>> toReferentialReferenceList(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { + protected <EE extends ObserveReferentialEntity, DD extends ReferentialDto> List<ReferentialReference<DD>> toReferentialReferenceList(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { List<ReferentialReference<DD>> references = null; if (CollectionUtils.isNotEmpty(entities)) { @@ -232,7 +232,7 @@ public abstract class BinderSupport<E extends TopiaEntity, D extends IdDto> { // -- LABELS ---------------------------------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // - protected String getLabel(ReferentialLocale locale, I18nReferenceEntity entity) { + protected String getLabel(ReferentialLocale locale, I18nReferentialEntity entity) { return I18nReferenceEntities.getLabel(locale.ordinal(), entity); } 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 d9672f3..e4ea0f7 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,7 +1,6 @@ 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; @@ -25,7 +24,7 @@ public class ActivityLonglineBinder extends DataBinderSupport<ActivityLongline, public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineDto dto, ActivityLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setTimeStamp(dto.getTimeStamp()); @@ -41,7 +40,7 @@ public class ActivityLonglineBinder extends DataBinderSupport<ActivityLongline, public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setTimeStamp(entity.getTimeStamp()); 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 1cb1c99..3fcc387 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 @@ -22,7 +22,7 @@ public class ActivityLonglineEncouterDtoBinder extends DataBinderSupport<Activit public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineEncouterDto dto, ActivityLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setEncounter(toEntityCollection(referentialLocale, dto.getEncounter(), Encounter.class, entity.getEncounter())); @@ -33,7 +33,7 @@ public class ActivityLonglineEncouterDtoBinder extends DataBinderSupport<Activit public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineEncouterDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setEncounter(toLinkedHashSetData(referentialLocale, entity.getEncounter(), EncounterDto.class)); 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 ebc943b..5f78391 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 @@ -21,7 +21,7 @@ public class ActivityLonglineSensorUsedDtoBinder extends DataBinderSupport<Activ public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineSensorUsedDto dto, ActivityLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setSensorUsed(toEntityCollection(referentialLocale, dto.getSensorUsed(), SensorUsed.class, entity.getSensorUsed())); @@ -32,7 +32,7 @@ public class ActivityLonglineSensorUsedDtoBinder extends DataBinderSupport<Activ public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineSensorUsedDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); 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/ActivitySeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java index ed65f3d..4813198 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,7 +7,6 @@ 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; @@ -34,7 +33,7 @@ public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, Activi public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineDto dto, ActivitySeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setTime(dto.getTime()); @@ -60,7 +59,7 @@ public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, Activi public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setTime(dto.getTime()); 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 index 352d0f0..a58b4fe 100644 --- 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 @@ -21,7 +21,7 @@ public class ActivitySeineObservedSystemDtoBinder extends DataBinderSupport<Acti public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineObservedSystemDto dto, ActivitySeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setObservedSystem(toEntitySet(dto.getObservedSystem(), ObservedSystem.class)); @@ -32,7 +32,7 @@ public class ActivitySeineObservedSystemDtoBinder extends DataBinderSupport<Acti public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineObservedSystemDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); 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 index e9b98f4..efe677a 100644 --- 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 @@ -26,7 +26,7 @@ public class ActivitySeineStubDtoBinder extends DataBinderSupport<ActivitySeine, dto.setId(entity.getTopiaId()); dto.setTime(entity.getTime()); - dto.setTime(entity.getLastUpdate()); + dto.setTime(entity.getLastUpdateDate()); dto.setLatitude(entity.getLatitude()); dto.setLongitude(entity.getLongitude()); 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 index 37124db..274989b 100644 --- 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 @@ -21,14 +21,14 @@ public class RouteBinder extends DataBinderSupport<Route, RouteDto> { public void copyToEntity(ReferentialLocale referentialLocale, RouteDto dto, Route entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(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()); + entity.setLastUpdateDate(dto.getLastUpdate()); } @@ -36,14 +36,14 @@ public class RouteBinder extends DataBinderSupport<Route, RouteDto> { public void copyToDto(ReferentialLocale referentialLocale, Route entity, RouteDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); 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.setLastUpdate(entity.getLastUpdateDate()); dto.setActivitySeine(toLinkedHashSetData(referentialLocale, entity.getActivitySeine(), ActivitySeineStubDto.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 index 2d85efd..bb00070 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 @@ -28,7 +28,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setHomeId(dto.getHomeId()); @@ -63,7 +63,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin entity.setHaulingEndLongitude(dto.getHaulingEndLongitude()); entity.setHaulingBreaks(dto.getHaulingBreaks()); entity.setMonitored(dto.getMonitored()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setSettingShape(toEntity(dto.getSettingShape(), SettingShape.class)); entity.setLineType(toEntity(dto.getLineType(), LineType.class)); entity.setLightsticksType(toEntity(dto.getLightsticksType(), LightsticksType.class)); @@ -75,7 +75,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setHomeId(entity.getHomeId()); @@ -110,7 +110,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin dto.setHaulingEndLongitude(entity.getHaulingEndLongitude()); dto.setHaulingBreaks(entity.getHaulingBreaks()); dto.setMonitored(entity.getMonitored()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setSettingShape(toReferentialReference(referentialLocale, entity.getSettingShape(), SettingShapeDto.class)); dto.setLineType(toReferentialReference(referentialLocale, entity.getLineType(), LineTypeDto.class)); dto.setLightsticksType(toReferentialReference(referentialLocale, entity.getLightsticksType(), LightsticksTypeDto.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 index b15ed23..2bf38af 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 @@ -21,7 +21,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineCatchDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setCatchLongline(toEntitySet(referentialLocale, dto.getCatchLongline(), CatchLongline.class, entity.getCatchLongline())); @@ -31,7 +31,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineCatchDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); 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 index 02e4ec5..7db0ee5 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 @@ -21,7 +21,7 @@ public class SetLonglineDetailCompositionDtoBinder extends DataBinderSupport<Set public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDetailCompositionDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setSection(toEntitySet(referentialLocale, dto.getSection(), Section.class, entity.getSection())); entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); @@ -38,7 +38,7 @@ public class SetLonglineDetailCompositionDtoBinder extends DataBinderSupport<Set public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDetailCompositionDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setSection(toLinkedHashSetData(referentialLocale, entity.getSection(), SectionDto.class)); dto.setSettingStartTimeStamp(entity.getSettingStartTimeStamp()); 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 8cd837e..fd648ef 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 @@ -29,7 +29,7 @@ public class SetLonglineGlobalCompositionDtoBinder extends DataBinderSupport<Set public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineGlobalCompositionDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setFloatlinesComposition(toEntityCollection(referentialLocale, dto.getFloatlinesComposition(), FloatlinesComposition.class, entity.getFloatlinesComposition())); @@ -44,7 +44,7 @@ public class SetLonglineGlobalCompositionDtoBinder extends DataBinderSupport<Set public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineGlobalCompositionDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setFloatlinesComposition(toLinkedHashSetData(referentialLocale, entity.getFloatlinesComposition(), FloatlinesCompositionDto.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 index 19e0bdb..6aa735a 100644 --- 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 @@ -19,7 +19,7 @@ public class SetLonglineTdrDtoBinder extends DataBinderSupport<SetLongline, SetL public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineTdrDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); @@ -29,7 +29,7 @@ public class SetLonglineTdrDtoBinder extends DataBinderSupport<SetLongline, SetL public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineTdrDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); 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 index 96bb056..29befd9 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 @@ -22,7 +22,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { public void copyToEntity(ReferentialLocale referentialLocale, SetSeineDto dto, SetSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setStartTime(dto.getStartTime()); @@ -39,7 +39,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { entity.setTargetDiscarded(dto.getTargetDiscarded()); entity.setNonTargetDiscarded(dto.getNonTargetDiscarded()); entity.setCurrentMeasureDepth(dto.getCurrentMeasureDepth()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setSchoolType(SCHOOL_TYPE_TO_ENTITY.apply(dto.getSchoolType())); entity.setReasonForNullSet(toEntity(dto.getReasonForNullSet(), ReasonForNullSet.class)); @@ -49,7 +49,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setStartTime(entity.getStartTime()); @@ -66,7 +66,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { dto.setTargetDiscarded(entity.getTargetDiscarded()); dto.setNonTargetDiscarded(entity.getNonTargetDiscarded()); dto.setCurrentMeasureDepth(entity.getCurrentMeasureDepth()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); 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/SetSeineSchoolEstimateDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java index 2ab858b..440e79e 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 @@ -21,7 +21,7 @@ public class SetSeineSchoolEstimateDtoBinder extends DataBinderSupport<SetSeine, public void copyToEntity(ReferentialLocale referentialLocale, SetSeineSchoolEstimateDto dto, SetSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setSchoolEstimate(toEntityCollection(referentialLocale, dto.getSchoolEstimate(), SchoolEstimate.class, entity.getSchoolEstimate())); @@ -31,7 +31,7 @@ public class SetSeineSchoolEstimateDtoBinder extends DataBinderSupport<SetSeine, public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineSchoolEstimateDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); 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 index b3b37cc..e4a0be8 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 @@ -21,7 +21,7 @@ public class SetSeineTargetCatchDtoBinder extends DataBinderSupport<SetSeine, Se public void copyToEntity(ReferentialLocale referentialLocale, SetSeineTargetCatchDto dto, SetSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setTargetCatch(toEntityCollection(referentialLocale, dto.getTargetCatch(), TargetCatch.class, entity.getTargetCatch())); @@ -31,7 +31,7 @@ public class SetSeineTargetCatchDtoBinder extends DataBinderSupport<SetSeine, Se public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineTargetCatchDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setTargetCatch(toLinkedHashSetData(referentialLocale, entity.getTargetCatch(), TargetCatchDto.class)); 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 71f2b40..cd23436 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 @@ -34,7 +34,7 @@ public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLong public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineDto dto, TripLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setStartDate(dto.getStartDate()); @@ -58,7 +58,7 @@ public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLong public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setStartDate(entity.getStartDate()); 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 80148c1..fb991b8 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 @@ -21,7 +21,7 @@ public class TripLonglineGearUseDtoBinder extends DataBinderSupport<TripLongline public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineGearUseDto dto, TripLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setGearUseFeaturesLongline(toEntitySet(referentialLocale, dto.getGearUseFeaturesLongline(), GearUseFeaturesLongline.class, entity.getGearUseFeaturesLongline())); @@ -31,7 +31,7 @@ public class TripLonglineGearUseDtoBinder extends DataBinderSupport<TripLongline public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineGearUseDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); 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 index eeb6ca6..aa547e1 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 @@ -32,7 +32,7 @@ public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> public void copyToEntity(ReferentialLocale referentialLocale, TripSeineDto dto, TripSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setComment(dto.getComment()); entity.setStartDate(dto.getStartDate()); @@ -58,7 +58,7 @@ public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setStartDate(entity.getStartDate()); 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 6c062fc..80b6054 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 @@ -21,7 +21,7 @@ public class TripSeineGearUseDtoBinder extends DataBinderSupport<TripSeine, Trip public void copyToEntity(ReferentialLocale referentialLocale, TripSeineGearUseDto dto, TripSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setGearUseFeaturesSeine(toEntityCollection(referentialLocale, dto.getGearUseFeaturesSeine(), GearUseFeaturesSeine.class, entity.getGearUseFeaturesSeine())); @@ -31,7 +31,7 @@ public class TripSeineGearUseDtoBinder extends DataBinderSupport<TripSeine, Trip public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineGearUseDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdate()); + dto.setLastUpdate(entity.getLastUpdateDate()); dto.setGearUseFeaturesSeine(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesSeine(), GearUseFeaturesSeineDto.class)); 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 fc4a30b..6f00bea 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 @@ -1,7 +1,7 @@ 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.entities.referentiel.I18nReferentialEntity; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.BinderSupport; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; @@ -17,7 +17,7 @@ import java.io.Serializable; * * @author Tony Chemit - chemit@codelutin.com */ -public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D extends ReferentialDto> extends BinderSupport<E, D> { +public abstract class ReferentialBinderSupport<E extends ObserveReferentialEntity, D extends ReferentialDto> extends BinderSupport<E, D> { protected final ReferenceSetDefinition<D> definition; @@ -40,7 +40,7 @@ public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D exte reference.setCreateDate(entity.getTopiaCreateDate()); reference.setVersion(entity.getTopiaVersion()); - reference.setLastUpdate(entity.getLastUpdate()); + reference.setLastUpdate(entity.getLastUpdateDate()); reference.setEnabled(entity.isEnabled()); reference.setNeedComment(entity.isNeedComment()); @@ -94,7 +94,7 @@ public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D exte } - protected void copyDtoI18nFieldsToEntity(I18nReferentialDto dto, I18nReferenceEntity entity) { + protected void copyDtoI18nFieldsToEntity(I18nReferentialDto dto, I18nReferentialEntity entity) { entity.setLabel1(dto.getLabel1()); entity.setLabel2(dto.getLabel2()); @@ -107,12 +107,12 @@ public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D exte } - protected void copyDtoReferentialFieldsToEntity(ReferentialDto dto, ReferenceEntity entity) { + protected void copyDtoReferentialFieldsToEntity(ReferentialDto dto, ObserveReferentialEntity entity) { entity.setTopiaId(dto.getId()); entity.setStatus(REFERENCE_STATUS_TO_ENTITY.apply(dto.getStatus())); entity.setNeedComment(dto.isNeedComment()); - entity.setLastUpdate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdate()); entity.setTopiaVersion(dto.getVersion()); entity.setTopiaCreateDate(dto.getCreateDate()); entity.setCode(dto.getCode()); @@ -120,13 +120,13 @@ public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D exte } - protected void copyEntityReferentialFieldsToDto(ReferenceEntity entity, ReferentialDto dto) { + protected void copyEntityReferentialFieldsToDto(ObserveReferentialEntity 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.setLastUpdate(entity.getLastUpdateDate()); dto.setVersion(entity.getTopiaVersion()); dto.setCreateDate(entity.getTopiaCreateDate()); dto.setCode(entity.getCode()); @@ -134,7 +134,7 @@ public abstract class ReferentialBinderSupport<E extends ReferenceEntity, D exte } - protected void copyEntityI18nFieldsToDto(I18nReferenceEntity entity, I18nReferentialDto dto) { + protected void copyEntityI18nFieldsToDto(I18nReferentialEntity entity, I18nReferentialDto dto) { dto.setLabel2(entity.getLabel2()); dto.setLabel3(entity.getLabel3()); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java index 25ee3d0..e623342 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java @@ -12,10 +12,10 @@ import fr.ird.observe.entities.longline.Encounter; import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.Tdr; import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Person; import fr.ird.observe.entities.referentiel.Persons; -import fr.ird.observe.entities.referentiel.ReferenceEntities; -import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntities; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.Vessel; import fr.ird.observe.entities.referentiel.Vessels; @@ -188,7 +188,7 @@ public class EntitiesSetFactory { if (Entities.isReferentielClass(propertyType)) { // On veut tous les référentiels sauf ceux qui sont désactivés - entitiesExtractor = new EntitiesExtractor<>(propertyType, (Predicate<C>) ReferenceEntities.newEnablePredicate()); + entitiesExtractor = new EntitiesExtractor<>(propertyType, (Predicate<C>) ObserveReferentialEntities.newEnablePredicate()); } else { @@ -207,14 +207,14 @@ public class EntitiesSetFactory { return parentType.getName() + "#" + propertyName; } - protected <P extends TopiaEntity, C extends ReferenceEntity> void registerReferentialEntitiesExtractor( + protected <P extends TopiaEntity, C extends ObserveReferentialEntity> void registerReferentialEntitiesExtractor( ImmutableMap.Builder<String, EntitiesExtractor> builder, Class<P> parentType, String propertyName, Class<C> propertyType, Predicate<C> filter) { - filter = Predicates.and(filter, ReferenceEntities.newEnablePredicate()); + filter = Predicates.and(filter, ObserveReferentialEntities.newEnablePredicate()); EntitiesExtractor<C> entitiesExtractor = new EntitiesExtractor<>(propertyType, filter); registerEntitiesExtractor(builder, parentType, propertyName, entitiesExtractor); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListEntitiesExtractor.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListEntitiesExtractor.java index 77b4111..12694cd 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListEntitiesExtractor.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/SpeciesListEntitiesExtractor.java @@ -1,7 +1,7 @@ package fr.ird.observe.services.entity; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.referentiel.ReferenceEntities; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntities; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.SpeciesList; import fr.ird.observe.entities.referentiel.SpeciesListTopiaDao; @@ -21,7 +21,7 @@ public class SpeciesListEntitiesExtractor extends EntitiesExtractor<Species> { protected final String speciesListId; public SpeciesListEntitiesExtractor(String speciesListId) { - super(Species.class, ReferenceEntities.<Species>newEnablePredicate()); + super(Species.class, ObserveReferentialEntities.<Species>newEnablePredicate()); this.speciesListId = speciesListId; } 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 0af61c7..c2a5831 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 @@ -27,7 +27,7 @@ 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.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.binder.BinderEngine; @@ -66,7 +66,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe @Override public <D extends ReferentialDto> ReferentialReferenceSet<D> getReferenceSet(Class<D> type, Date lastUpdateDate) { - Class<ReferenceEntity> entityType = BinderEngine.get().getReferentialEntityType(type); + Class<ObserveReferentialEntity> entityType = BinderEngine.get().getReferentialEntityType(type); //FIXME A revoir car on devrait toujours avoir une date de dernière mise à jour Optional<Date> lastUpdateOptional = getLastUpdate(entityType); @@ -75,7 +75,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe if (lastUpdateOptional.isPresent() && (lastUpdateDate == null || lastUpdateOptional.get().after(lastUpdateDate))) { - List<ReferenceEntity> entities = loadEntities(entityType); + List<ObserveReferentialEntity> entities = loadEntities(entityType); result = toReferentialReferenceSet(type, entities, lastUpdateOptional.get()); @@ -125,14 +125,14 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe @Override public <D extends ReferentialDto> Form<D> loadForm(Class<D> dtoType, String id) { - ReferenceEntity entity = loadEntity(dtoType, id); + ObserveReferentialEntity 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.setLastUpdate(entity.getLastUpdateDate()); dto.setStatus(ReferenceStatus.valueOf(entity.getStatus().name())); dto.setEnabled(entity.isEnabled()); @@ -143,8 +143,8 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe @Override 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); + ObserveReferentialEntity entity = loadEntity(type, id); + ReferentialBinderSupport<ObserveReferentialEntity, D> referentialBinder = getReferentialBinder(type); ReferentialReference<D> reference = referentialBinder.toReferentialReference(getReferentialLocale(), entity); return reference; @@ -152,8 +152,8 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe @Override public <D extends ReferentialDto> Form<D> preCreate(Class<D> dtoType) { - Class<ReferenceEntity> entityType = getReferentialEntityType(dtoType); - ReferenceEntity entity = newEntity(entityType); + Class<ObserveReferentialEntity> entityType = getReferentialEntityType(dtoType); + ObserveReferentialEntity entity = newEntity(entityType); //TODO Voir selon le type d'entité si il y a des valeurs par défaut à utiliser //FIXME Definir une definition pour chaque formulaire de référentiel Form<D> form = referentialEntityToForm(dtoType, entity, null); @@ -162,9 +162,9 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe public <D extends ReferentialDto> SaveResultDto save(D dto) { Class<D> dtoType = (Class<D>) dto.getClass(); - Class<ReferenceEntity> entityType = getReferentialEntityType(dtoType); + Class<ObserveReferentialEntity> entityType = getReferentialEntityType(dtoType); - ReferenceEntity entity = loadOrCreateEntityFromReferentialDto(dto); + ObserveReferentialEntity entity = loadOrCreateEntityFromReferentialDto(dto); copyReferentialDtoToEntity(dto, entity); @@ -176,13 +176,13 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe @Override public <D extends ReferentialDto> void delete(Class<D> dtoType, String id) { - Class<? extends ReferenceEntity> entityType = getReferentialEntityType(dtoType); + Class<? extends ObserveReferentialEntity> 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 = getReferentialEntityType(dtoType); + Class<? extends ObserveReferentialEntity> entityType = getReferentialEntityType(dtoType); deleteEntity(dtoType, entityType, ids); } @@ -190,11 +190,11 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe public <R extends ReferentialDto> DtoMap findAllUsages(R bean) throws DataNotFoundException { Class<R> referentialDtoType = (Class<R>) bean.getClass(); - Class<ReferenceEntity> entityType = getReferentialEntityType(referentialDtoType); + Class<ObserveReferentialEntity> entityType = getReferentialEntityType(referentialDtoType); - ReferenceEntity entity = loadEntity(referentialDtoType, bean.getId()); + ObserveReferentialEntity entity = loadEntity(referentialDtoType, bean.getId()); - TopiaDao<ReferenceEntity> dao = getTopiaPersistenceContext().getDao(entityType); + TopiaDao<ObserveReferentialEntity> dao = getTopiaPersistenceContext().getDao(entityType); EntityMap allUsages = new EntityMap(dao.findAllUsages(entity)); Set<AbstractReferenceSet<?, ?>> result = new LinkedHashSet<>(allUsages.size()); @@ -204,7 +204,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe List<? extends TopiaEntity> entities = allUsages.get(type); - if (ReferenceEntity.class.isAssignableFrom(type)) { + if (ObserveReferentialEntity.class.isAssignableFrom(type)) { Class<ReferentialDto> dtoType = BINDER_ENGINE.getReferentialDtoType((Class) type); @@ -228,7 +228,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe @Override public <D extends ReferentialDto> boolean exists(Class<D> dtoType, String id) { - Class<? extends ReferenceEntity> entityType = getReferentialEntityType(dtoType); + Class<? extends ObserveReferentialEntity> entityType = getReferentialEntityType(dtoType); return existsEntity(entityType, id); } 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 6ab985e..9952c19 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,7 +24,7 @@ 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.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.binder.data.DataBinderSupport; @@ -81,12 +81,12 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer Class<? extends ReferentialDto> dtoType = (Class<? extends ReferentialDto>) type; - ReferentialBinderSupport<ReferenceEntity, ? extends ReferentialDto> binder = getReferentialBinder(dtoType); + ReferentialBinderSupport<ObserveReferentialEntity, ? extends ReferentialDto> binder = getReferentialBinder(dtoType); List<TopiaEntity> universe = executeRequest(hql, vars); for (TopiaEntity entity : universe) { - ReferentialReference<? extends ReferentialDto> reference = binder.toReferentialReference(getReferentialLocale(), (ReferenceEntity) entity); + ReferentialReference<? extends ReferentialDto> reference = binder.toReferentialReference(getReferentialLocale(), (ObserveReferentialEntity) entity); values.add(reference); } 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 38ea537..6f60048 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,7 +5,7 @@ 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.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.IdDto; @@ -76,7 +76,7 @@ public class GenerateValidatorDescriptorsFileTool { NuitonValidatorScope[] scopes = NuitonValidatorScope.values(); - for (Map.Entry<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> entry : BinderEngine.get().getReferentialEntityToDtoTypes().entrySet()) { + for (Map.Entry<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDto>> entry : BinderEngine.get().getReferentialEntityToDtoTypes().entrySet()) { Class<? extends TopiaEntity> entityType = entry.getKey(); Class<? extends IdDto> dtoType = entry.getValue(); 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 c916706..c22bc47 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,7 +28,7 @@ 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.referentiel.ReferenceEntity; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReference; @@ -120,7 +120,7 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat for (Class<? extends TopiaEntity> entityType : detector.getDetectedEntityTypes()) { - if (ReferenceEntity.class.isAssignableFrom(entityType)) { + if (ObserveReferentialEntity.class.isAssignableFrom(entityType)) { buildResultForReferentialDtoType((Class) entityType, detector, forDtoTypeBuilder); } else { buildResultForDataDtoType((Class) entityType, detector, forDtoTypeBuilder); @@ -133,9 +133,9 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat } - private <E extends ReferenceEntity, D extends ReferentialDto> void buildResultForReferentialDtoType(Class<E> entityType, - ValidationMessageDetector detector, - ImmutableMap.Builder<Class<? extends IdDto>, ValidateResultForDtoType> forDtoTypeBuilder) { + private <E extends ObserveReferentialEntity, 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<>(); @@ -143,7 +143,7 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat for (Map.Entry<TopiaEntity, Collection<ValidationMessage>> entry : detectedMessages.entrySet()) { TopiaEntity entity = entry.getKey(); - ReferentialReference<D> referenceDto = BINDER_ENGINE.transformEntityToReferentialReferenceDto(serviceContext.getReferentialLocale(), (ReferenceEntity) entity); + ReferentialReference<D> referenceDto = BINDER_ENGINE.transformEntityToReferentialReferenceDto(serviceContext.getReferentialLocale(), (ObserveReferentialEntity) entity); Collection<ValidationMessage> validationMessages = entry.getValue(); ValidateResultForDto<D> validateResultForDto = new ValidateResultForDto<>(referenceDto, ImmutableSet.copyOf(validationMessages)); validateResultForDtoMapBuilder.add(validateResultForDto); @@ -181,7 +181,7 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat } - protected <D extends ReferentialDto, E extends ReferenceEntity> void validateReferential(Class<D> referentialDtoType, ValidationMessageDetector detector) { + protected <D extends ReferentialDto, E extends ObserveReferentialEntity> void validateReferential(Class<D> referentialDtoType, ValidationMessageDetector detector) { Class<E> referentialType = getReferentialEntityType(referentialDtoType); 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 df98b9c..349756a 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 @@ -25,7 +25,7 @@ public class BranchlineServiceTopia extends ObserveServiceTopia implements Branc Branchline entity = loadEntity(BranchlineDto.class, id); Form<BranchlineDto> form = dataEntityToForm(BranchlineDto.class, entity, ReferenceSetRequestDefinitions.BRANCHLINE_FORM); - form.getObject().setLastUpdate(setLongline.getLastUpdate()); + form.getObject().setLastUpdate(setLongline.getLastUpdateDate()); return form; diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java index 431551b..89db270 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java @@ -22,7 +22,6 @@ package fr.ird.observe.entities.referentiel; import com.google.common.base.Optional; -import com.google.common.collect.ImmutableSet; import com.opensymphony.xwork2.interceptor.annotations.After; import fr.ird.observe.ObserveTopiaDaoSupplier; import fr.ird.observe.ObserveTopiaPersistenceContext; @@ -35,7 +34,6 @@ import org.junit.Test; import org.nuiton.util.DateUtil; import java.util.Date; -import java.util.Set; /** * Test de la classe {@link LengthWeightParameters}. @@ -48,14 +46,8 @@ public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { /** Logger */ private static final Log log = LogFactory.getLog(LengthWeightParemetersTest.class); - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of("testGetCorrectLengthWeightParameter"); - } - - @Override - public String getScriptName() { - return "referentiel"; + public LengthWeightParemetersTest() { + super("referentiel", "testGetCorrectLengthWeightParameter"); } private ObserveTopiaPersistenceContext persistenceContext; @@ -133,7 +125,7 @@ public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { entity.setCoefficients("a=3.8E-5:b=2.78"); entity.setLengthWeightFormula("a * Math.pow(L, b)"); entity.setWeightLengthFormula("Math.pow(P/a, 1/b)"); - entity.setLastUpdate(new Date()); + entity.setLastUpdateDate(new Date()); lengthWeightParameterDao.create(entity); 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 e458270..23b0316 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 @@ -23,6 +23,7 @@ package fr.ird.observe.services; */ import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableSet; import com.google.common.io.ByteStreams; import com.google.common.io.Resources; import fr.ird.observe.ObserveTopiaApplicationContext; @@ -74,10 +75,10 @@ public class DataSourceResource implements TestRule { protected ObserveReferentialCache referentialCache; - public DataSourceResource(ApplicationContextResource applicationContextResource, Set<String> testNamesChangeDataBase, String scriptName) { + public DataSourceResource(ApplicationContextResource applicationContextResource, String scriptName, String... testNamesChangeDataBase) { this.applicationContextResource = applicationContextResource; - this.testNamesChangeDataBase = testNamesChangeDataBase; this.scriptName = scriptName; + this.testNamesChangeDataBase = ImmutableSet.<String>builder().add(testNamesChangeDataBase).build(); } public ObserveDataSourceConfigurationTopiaH2 getDataSourceConfiguration() { 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 index 2c51a58..ff73bfd 100644 --- 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 @@ -3,9 +3,9 @@ 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.ObserveDataEntity; import fr.ird.observe.entities.longline.TdrRecord; -import fr.ird.observe.entities.referentiel.ReferenceEntity; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.data.DataBinderSupport; import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.DataDto; @@ -41,7 +41,7 @@ public class BinderEngineMetadataTest { binderEngine = BinderEngine.get(); for (Class<? extends ReferentialDto> dtoType : binderEngine.getReferentialDtoToEntityTypes().keySet()) { - ReferentialBinderSupport<ReferenceEntity, ? extends ReferentialDto> referentialBinder = binderEngine.getReferentialBinder(dtoType); + ReferentialBinderSupport<ObserveReferentialEntity, ? extends ReferentialDto> referentialBinder = binderEngine.getReferentialBinder(dtoType); Assert.assertNotNull(referentialBinder); } @@ -58,18 +58,18 @@ public class BinderEngineMetadataTest { @Test public void testGetReferentialEntityType() throws Exception { - ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ReferenceEntity>> referentialDtoToEntityTypes = binderEngine.getReferentialDtoToEntityTypes(); + ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ObserveReferentialEntity>> 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(); + Set<Class<? extends ObserveReferentialEntity>> entityTypesFromEngine = Sets.newHashSet(referentialDtoToEntityTypes.values()); + Set<Class<? extends ObserveReferentialEntity>> referentialEntityTypesFromTopia = getReferentialEntityTypes(); Assert.assertEquals(referentialEntityTypesFromTopia.size(), entityTypesFromEngine.size()); for (Class<? extends ReferentialDto> dtoType : referentialDtoToEntityTypes.keySet()) { - Class<? extends ReferenceEntity> entityType = binderEngine.getReferentialEntityType(dtoType); + Class<? extends ObserveReferentialEntity> entityType = binderEngine.getReferentialEntityType(dtoType); Assert.assertNotNull(entityType); } @@ -99,12 +99,12 @@ public class BinderEngineMetadataTest { @Test public void testGetReferentialDtoType() throws Exception { - ImmutableMap<Class<? extends ReferenceEntity>, Class<? extends ReferentialDto>> referentialDtoToEntityTypes = binderEngine.getReferentialEntityToDtoTypes(); + ImmutableMap<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDto>> referentialDtoToEntityTypes = binderEngine.getReferentialEntityToDtoTypes(); Assert.assertNotNull(referentialDtoToEntityTypes); Assert.assertEquals(2 * 59, referentialDtoToEntityTypes.size()); - for (Class<? extends ReferenceEntity> entityType : referentialDtoToEntityTypes.keySet()) { + for (Class<? extends ObserveReferentialEntity> entityType : referentialDtoToEntityTypes.keySet()) { Class<? extends ReferentialDto> dtoType = binderEngine.getReferentialDtoType(entityType); Assert.assertNotNull(dtoType); @@ -130,16 +130,16 @@ public class BinderEngineMetadataTest { } - protected Set<Class<? extends ReferenceEntity>> getReferentialEntityTypes() { + protected Set<Class<? extends ObserveReferentialEntity>> getReferentialEntityTypes() { - Set<Class<? extends ReferenceEntity>> result = new LinkedHashSet<>(); + Set<Class<? extends ObserveReferentialEntity>> result = new LinkedHashSet<>(); for (ObserveEntityEnum observeEntityEnum : ObserveEntityEnum.values()) { Class<? extends TopiaEntity> contract = observeEntityEnum.getContract(); - if (ReferenceEntity.class.isAssignableFrom(contract) && !Modifier.isAbstract(observeEntityEnum.getImplementation().getModifiers())) { + if (ObserveReferentialEntity.class.isAssignableFrom(contract) && !Modifier.isAbstract(observeEntityEnum.getImplementation().getModifiers())) { - result.add((Class<? extends ReferenceEntity>) contract); + result.add((Class<? extends ObserveReferentialEntity>) contract); } } return result; @@ -152,12 +152,11 @@ public class BinderEngineMetadataTest { for (ObserveEntityEnum observeEntityEnum : ObserveEntityEnum.values()) { - if (!ReferenceEntity.class.isAssignableFrom(observeEntityEnum.getContract()) && !Modifier.isAbstract(observeEntityEnum.getImplementation().getModifiers())) { + if (ObserveDataEntity.class.isAssignableFrom(observeEntityEnum.getContract()) && !Modifier.isAbstract(observeEntityEnum.getImplementation().getModifiers())) { result.add(observeEntityEnum.getContract()); } } - result.remove(LastUpdateType.class); result.remove(TdrRecord.class); return result; 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 c4e7205..7191477 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 @@ -1,8 +1,7 @@ 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.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; @@ -133,7 +132,6 @@ 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. @@ -147,6 +145,10 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { private BinderEngine binderEngine; + public BinderEngineTest() { + super("dataForTestSeine"); + } + @Override @Before public void setUp() throws Exception { @@ -283,16 +285,6 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { } - @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); @@ -329,7 +321,7 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { } - protected <D extends ReferentialDto, E extends ReferenceEntity> void transformReferentialEntityToDto(Class<D> dtoType) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { + protected <D extends ReferentialDto, E extends ObserveReferentialEntity> void transformReferentialEntityToDto(Class<D> dtoType) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { Class<E> entityType = binderEngine.getReferentialEntityType(dtoType); @@ -349,7 +341,7 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { 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.getLastUpdateDate(), dto.getLastUpdate()); Assert.assertEquals(entity.isNeedComment(), dto.isNeedComment()); Assert.assertEquals(entity.isEnabled(), dto.isEnabled()); Assert.assertEquals(entity.getUri(), dto.getUri()); @@ -361,7 +353,7 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { 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.getLastUpdateDate(), entity.getLastUpdateDate()); Assert.assertEquals(entity.isNeedComment(), entity.isNeedComment()); Assert.assertEquals(entity.isEnabled(), entity.isEnabled()); Assert.assertEquals(entity.getUri(), entity.getUri()); 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 68753aa..ed8c194 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 @@ -22,9 +22,9 @@ package fr.ird.observe.services.service; * #L% */ +import fr.ird.observe.AbstractObserveTopiaDao; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.LastUpdateType; -import fr.ird.observe.entities.LastUpdateTypeTopiaDao; +import fr.ird.observe.entities.ObserveEntity; import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.services.ApplicationContextResource; import fr.ird.observe.services.DataSourceResource; @@ -42,13 +42,11 @@ import org.junit.Assert; import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; -import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.FileUtil; import java.io.File; import java.nio.file.Files; import java.util.Date; -import java.util.Set; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -68,13 +66,22 @@ public abstract class AbstractServiceTopiaTest { private static final Log log = LogFactory.getLog(AbstractServiceTopiaTest.class); - @Rule - public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, getTestNamesChangeDataBase(), getScriptName()); + protected AbstractServiceTopiaTest(String scriptName, String... testNamesChangeDataBase) { + this.scriptName = scriptName; + this.testNamesChangeDataBase = testNamesChangeDataBase; + this.dataSourceResource = new DataSourceResource(applicationContextResource, this.scriptName, this.testNamesChangeDataBase); + } - public abstract Set<String> getTestNamesChangeDataBase(); + private final String scriptName; - public abstract String getScriptName(); + private final String[] testNamesChangeDataBase; + + @Rule + public final DataSourceResource dataSourceResource; + protected DataSourceResource newDataSourceResource(String scriptName, String... testNamesChangeDataBase) { + return new DataSourceResource(applicationContextResource, scriptName, testNamesChangeDataBase); + } @Before public void setUp() throws Exception { @@ -87,13 +94,13 @@ public abstract class AbstractServiceTopiaTest { if (!dataBaseCommonRefDirectory.isDirectory()) { if (log.isInfoEnabled()) { - log.info("create Database on " + dataBaseDirectory + " from script " + getScriptName()); + log.info("create Database on " + dataBaseDirectory + " from script " + scriptName); } Files.createDirectories(dataBaseDirectory.toPath()); // Create database from script - String scriptPath = applicationContextResource.getScriptPath(getScriptName(), H2DataSourceMigration.V_4_0_1); + String scriptPath = applicationContextResource.getScriptPath(scriptName, H2DataSourceMigration.V_4_0_1); dataSourceResource.createCommonsDataSourceFromScript(scriptPath); } @@ -131,7 +138,7 @@ public abstract class AbstractServiceTopiaTest { } - protected void assertEntityEqualsReferenceDto(TopiaEntity entity, ReferentialReference referenceDto) { + protected void assertEntityEqualsReferenceDto(ObserveEntity entity, ReferentialReference referenceDto) { if (entity == null) { Assert.assertNull(referenceDto); } else { @@ -140,7 +147,7 @@ public abstract class AbstractServiceTopiaTest { } - protected void assertReferenceDtoEqualsEntity(ReferentialReference referenceDto, TopiaEntity entity) { + protected void assertReferenceDtoEqualsEntity(ReferentialReference referenceDto, ObserveEntity entity) { if (referenceDto == null) { Assert.assertNull(entity); } else { @@ -151,12 +158,8 @@ public abstract class AbstractServiceTopiaTest { protected Date getLastUpdate(Class entityType) { ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); - - LastUpdateTypeTopiaDao dao = persistenceContext.getLastUpdateTypeDao(); - - LastUpdateType lastUpdateType = dao.forTypeEquals(entityType.getCanonicalName()).findUnique(); - - return lastUpdateType.getLastUpdate(); + AbstractObserveTopiaDao dao = (AbstractObserveTopiaDao) persistenceContext.getDao(entityType); + return dao.getLastUpdateDate(); } 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 1286cf0..6f69f91 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 @@ -28,7 +28,7 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import java.util.Set; +import java.io.File; /** * Created on 26/08/15. @@ -41,14 +41,8 @@ public class DataSourceDumpProducerServiceTopiaTest extends AbstractServiceTopia protected DataSourceDumpProducerService service; - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of(); - } - - @Override - public String getScriptName() { - return "dataForTestSeine"; + public DataSourceDumpProducerServiceTopiaTest() { + super("dataForTestSeine"); } @Before @@ -66,7 +60,6 @@ public class DataSourceDumpProducerServiceTopiaTest extends AbstractServiceTopia } - @Test public void testGetDataDump() throws Exception { 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 8ba9cee..5a811df 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 @@ -51,7 +51,7 @@ import java.util.Date; * Created on 23/08/15. * * @author Tony Chemit - chemit@codelutin.com - * FIXME IT tests + * FIXME IT tests */ @Ignore public class DataSourceServiceTopiaTest { @@ -59,19 +59,19 @@ public class DataSourceServiceTopiaTest { @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); - public static final ImmutableSet<String> TEST_NAMES_CHANGE_DATA_BASE = ImmutableSet.of( + public static final String[] TEST_NAMES_CHANGE_DATA_BASE = new String[]{ "testOpenNotExistingDatabase", "testOpen", "testCreateEmptyDataSource", "testCreateDataSourceFromImportDatabase", "testCreateDataSourceFromImportReferential", - "testCreateDataSourceFromImportReferentialAndData"); + "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"); + public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, "dataSourceTest", TEST_NAMES_CHANGE_DATA_BASE); protected DataSourceService service; diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java new file mode 100644 index 0000000..e910486 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -0,0 +1,98 @@ +package fr.ird.observe.services.service; + +import com.google.common.base.Preconditions; +import fr.ird.observe.services.ApplicationContextResource; +import fr.ird.observe.services.DataSourceResource; +import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; +import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; +import org.apache.commons.io.FileUtils; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +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.net.URL; +import java.nio.file.Files; + +/** + * Created on 25/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Ignore +public class MigrateTestsDatabases { + + @ClassRule + public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); + + public static final String FROM_VERSION = "4.0.1"; + + public static final String TO_VERSION = "5.0"; + + /** Logger. */ + private static final Log log = LogFactory.getLog(MigrateTestsDatabases.class); + + @Rule + public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, "taiste"); + + @Test + public void migrateReferentielDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + migrateReferentielDb(FROM_VERSION, TO_VERSION, "referentiel"); + } + + @Test + public void migrateDataForTestSeineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + migrateReferentielDb(FROM_VERSION, TO_VERSION, "dataForTestSeine"); + } + + @Test + public void migrateDataForTestLonglineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + migrateReferentielDb(FROM_VERSION, TO_VERSION, "dataForTestLongline"); + } + + protected void migrateReferentielDb(String fromVersion, String toVersion, String databaseName) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + + String sqlFilename = databaseName + ".sql.gz"; + String scriptPath = "/db/" + fromVersion + "/" + sqlFilename; + + URL url = getClass().getResource(scriptPath); + + Preconditions.checkNotNull(url, "Could not find database at " + scriptPath); + + File databasesRootDirectory = new File(url.getFile()); + + while (!"observe-test-data".equals(databasesRootDirectory.getName())) { + databasesRootDirectory = databasesRootDirectory.getParentFile(); + } + + File f = databasesRootDirectory + .toPath() + .resolve("src") + .resolve("main") + .resolve("resources") + .resolve("db") + .resolve(toVersion) + .resolve(sqlFilename) + .toFile(); + + if (log.isInfoEnabled()) { + log.info("Will generate " + databaseName + " to " + f); + } + + Files.createDirectories(f.toPath().getParent()); + + dataSourceResource.createDataSourceFromScript(scriptPath); + + DataSourceDumpProducerService service = applicationContextResource.newService(dataSourceResource.getDataSourceConfiguration(), DataSourceDumpProducerService.class); + + byte[] allDataDump = service.getAllDataDump(); + + FileUtils.writeByteArrayToFile(f, allDataDump); + + } + +} 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 f75da3c..7791249 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 @@ -22,11 +22,10 @@ package fr.ird.observe.services.service; * #L% */ -import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.LengthWeightParameter; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Program; -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; @@ -41,7 +40,6 @@ import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import java.util.Date; -import java.util.Set; /** * Created on 16/08/15. @@ -55,14 +53,8 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { protected ReferentialService service; - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of("testDelete"); - } - - @Override - public String getScriptName() { - return "referentiel"; + public ReferentialServiceTopiaTest() { + super("referentiel", "testDelete"); } @Override @@ -96,7 +88,7 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } - protected <D extends ReferentialDto, E extends ReferenceEntity> void loadToEdit(ObserveTopiaPersistenceContext persistenceContext, Class<D> dtoType) { + protected <D extends ReferentialDto, E extends ObserveReferentialEntity> void loadToEdit(ObserveTopiaPersistenceContext persistenceContext, Class<D> dtoType) { Class<E> entityType = BinderEngine.get().getReferentialEntityType(dtoType); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java index 68315d3..cfb845c 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java @@ -29,7 +29,6 @@ import org.junit.Assert; import org.junit.Test; import java.util.List; -import java.util.Set; /** * Created on 29/08/15. @@ -40,14 +39,8 @@ public class ConsolidateDataServiceTopiaTest extends AbstractServiceTopiaTest { protected ConsolidateDataService service; - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of("testConsolidateTripSeines"); - } - - @Override - public String getScriptName() { - return "dataForTestSeine"; + public ConsolidateDataServiceTopiaTest() { + super("dataForTestSeine", "testConsolidateTripSeines"); } @Override 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 f7f8196..1c367fc 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 @@ -22,7 +22,6 @@ 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.AbstractReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; @@ -41,7 +40,6 @@ import java.net.URL; import java.util.HashMap; import java.util.List; import java.util.Map; -import java.util.Set; /** * Classe abstraite de test d'un report. @@ -65,17 +63,11 @@ public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopi /** Le report à tester. */ private Report report; - protected abstract String getReportId(); - - @Override - public String getScriptName() { - return "dataForTestSeine"; + public AbstractReportServiceTopiaTest() { + super("dataForTestSeine"); } - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of(); - } + protected abstract String getReportId(); @Before public final void setUp() throws Exception { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java index 69d07e3..b651473 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java @@ -32,8 +32,6 @@ import org.junit.Assert; import org.junit.Test; import org.nuiton.validator.NuitonValidatorScope; -import java.util.Set; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -41,14 +39,8 @@ public class ValidateServiceTopiaTest extends AbstractServiceTopiaTest { protected ValidateService service; - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of(); - } - - @Override - public String getScriptName() { - return "dataForTestSeine"; + public ValidateServiceTopiaTest() { + super("dataForTestSeine"); } @Override 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 88a6c1e..8708235 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 @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.longline; * #L% */ -import com.google.common.collect.ImmutableSet; import fr.ird.observe.entities.longline.Basket; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.Section; @@ -44,8 +43,6 @@ import org.junit.Assert; import org.junit.Test; import org.nuiton.util.DateUtil; -import java.util.Set; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -55,15 +52,8 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic public static final String SET_LONGLINE_ID = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of( - "saveTest"); - } - - @Override - public String getScriptName() { - return "dataForTestLongline"; + public SetLonglineDetailCompositionServiceTopiaTest() { + super("dataForTestLongline", "saveTest"); } @Override 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 001be0a..7c9b507 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 @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.seine; * #L% */ -import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; @@ -30,8 +29,6 @@ import org.junit.Assert; import org.junit.Test; import org.nuiton.util.DateUtil; -import java.util.Set; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -39,14 +36,8 @@ public class RouteServiceTopiaTest extends AbstractServiceTopiaTest{ protected RouteService service; - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of(); - } - - @Override - public String getScriptName() { - return "dataForTestSeine"; + public RouteServiceTopiaTest() { + super("dataForTestSeine"); } @Override 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 dfb2fee..952ea0a 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 @@ -22,15 +22,12 @@ package fr.ird.observe.services.service.seine; * #L% */ -import com.google.common.collect.ImmutableSet; 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; import org.junit.Test; -import java.util.Set; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -40,14 +37,8 @@ public class TargetSampleServiceTopiaTest extends AbstractServiceTopiaTest { protected TargetSampleService service; - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of(); - } - - @Override - public String getScriptName() { - return "dataForTestSeine"; + public TargetSampleServiceTopiaTest() { + super("dataForTestSeine"); } @Override 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 ad6bd6f..be0e4fa 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.ImmutableSet; import com.google.common.collect.Iterables; import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; import fr.ird.observe.entities.seine.GearUseFeaturesSeine; @@ -38,8 +37,6 @@ import org.junit.Assert; import org.junit.Test; import org.nuiton.topia.persistence.TopiaEntities; -import java.util.Set; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -51,17 +48,10 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { public static final String GEAR_USE_FEATURES_SEINE_ID = "fr.ird.observe.entities.seine.GearUseFeaturesSeine#1440486230661#0.42614931015885216"; - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of( - "saveCreateTest", - "saveUpdateTest", - "deleteTest"); - } - - @Override - public String getScriptName() { - return "dataForTestSeine"; + public TripSeineGearUseServiceTopiaTest() { + super("dataForTestSeine", "saveCreateTest", + "saveUpdateTest", + "deleteTest"); } @Override 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 bb9a2a3..d3c2096 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 @@ -22,7 +22,6 @@ package fr.ird.observe.services.service.seine; * #L% */ -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.DataReference; @@ -47,7 +46,6 @@ import org.nuiton.util.DateUtil; import java.util.Calendar; import java.util.Date; -import java.util.Set; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -58,17 +56,10 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { protected ReferentialService referentialService; - @Override - public Set<String> getTestNamesChangeDataBase() { - return ImmutableSet.of( - "saveCreateTest", - "saveUpdateTest", - "deleteTest"); - } - - @Override - public String getScriptName() { - return "dataForTestSeine"; + public TripSeineServiceTopiaTest() { + super("dataForTestSeine", "saveCreateTest", + "saveUpdateTest", + "deleteTest"); } @Override @@ -141,7 +132,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeine.getFormsUrl(), tripSeineDto.getFormsUrl()); Assert.assertEquals(tripSeine.getReportsUrl(), tripSeineDto.getReportsUrl()); Assert.assertEquals(tripSeine.getComment(), tripSeineDto.getComment()); - Assert.assertEquals(tripSeine.getLastUpdate(), tripSeineDto.getLastUpdate()); + Assert.assertEquals(tripSeine.getLastUpdateDate(), tripSeineDto.getLastUpdate()); loadReferenceSets(referentialService, form); @@ -236,7 +227,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeineDto.getFormsUrl(), tripSeine.getFormsUrl()); Assert.assertEquals(tripSeineDto.getReportsUrl(), tripSeine.getReportsUrl()); Assert.assertEquals(tripSeineDto.getComment(), tripSeine.getComment()); - Assert.assertNotNull(tripSeine.getLastUpdate()); + Assert.assertNotNull(tripSeine.getLastUpdateDate()); Date lastUpdateAfter = getLastUpdate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); @@ -288,8 +279,8 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeineDto.getFormsUrl(), tripSeine.getFormsUrl()); Assert.assertEquals(tripSeineDto.getReportsUrl(), tripSeine.getReportsUrl()); Assert.assertEquals(tripSeineDto.getComment(), tripSeine.getComment()); - Assert.assertNotNull(tripSeine.getLastUpdate()); - Assert.assertNotEquals(tripSeineDto.getLastUpdate(), tripSeine.getLastUpdate()); + Assert.assertNotNull(tripSeine.getLastUpdateDate()); + Assert.assertNotEquals(tripSeineDto.getLastUpdate(), tripSeine.getLastUpdateDate()); Date lastUpdateAfter = getLastUpdate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); diff --git a/observe-test-data/src/main/resources/db/5.0/dataForTestSeine.sql.gz b/observe-test-data/src/main/resources/db/5.0/dataForTestSeine.sql.gz new file mode 100644 index 0000000..94eb000 Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0/dataForTestSeine.sql.gz differ diff --git a/observe-test-data/src/main/resources/db/5.0/referentiel.sql.gz b/observe-test-data/src/main/resources/db/5.0/referentiel.sql.gz new file mode 100644 index 0000000..d4fad8e Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0/referentiel.sql.gz differ diff --git a/pom.xml b/pom.xml index 471860c..e756b9f 100644 --- a/pom.xml +++ b/pom.xml @@ -153,7 +153,7 @@ <devMode>true</devMode> <!--Modèle version--> - <observe.model.version>5.0.1</observe.model.version> + <observe.model.version>5.0-2</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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 87c65feab17e6f8e491da90456cb4d86fd2febef Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:27:14 2015 +0100 Correction de la génération du mapping hibernate --- observe-entities/src/main/xmi/observe-common.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/observe-entities/src/main/xmi/observe-common.properties b/observe-entities/src/main/xmi/observe-common.properties index 3308c19..e586ffe 100644 --- a/observe-entities/src/main/xmi/observe-common.properties +++ b/observe-entities/src/main/xmi/observe-common.properties @@ -24,6 +24,7 @@ model.tagvalue.notGenerateToString=true model.tagvalue.generateForeignKeyNames=true model.tagvalue.generatePropertyChangeSupport =true model.tagvalue.indexForeignKeys=true +model.tagvalue.useEnumerationName=false model.tagvalue.attributeType.String=java.lang.String model.tagvalue.attributeType.Float=java.lang.Float model.tagvalue.attributeType.Integer=java.lang.Integer -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 472642ac26abbb1cddfa7cfc412e51f318abed3e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:28:49 2015 +0100 Generation des bases de test pour la version 5.0-2 --- .../main/resources/db/5.0-2/dataForTestSeine.sql.gz | Bin 0 -> 437609 bytes .../src/main/resources/db/5.0-2/referentiel.sql.gz | Bin 0 -> 142009 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz b/observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz new file mode 100644 index 0000000..a5deaf8 Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz differ diff --git a/observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz b/observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz new file mode 100644 index 0000000..afe626a Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 3a106d48370fa5e957bf5b255fb7c3d753f65d7c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:29:30 2015 +0100 Amélioration de l'API de tests --- .../referentiel/LengthWeightParemetersTest.java | 13 +- .../services/ApplicationContextResource.java | 209 ++++++++++++++------- .../ird/observe/services/DataSourceResource.java | 202 +++++++++++++------- .../services/ObserveServiceContextTopiaTaiste.java | 2 +- .../observe/services/binder/BinderEngineTest.java | 9 +- .../services/service/AbstractServiceTopiaTest.java | 140 +++----------- .../DataSourceDumpProducerServiceTopiaTest.java | 15 +- .../service/DataSourceServiceTopiaTest.java | 36 ++-- .../services/service/MigrateTestsDatabases.java | 54 +++--- .../service/ReferentialServiceTopiaTest.java | 22 ++- .../ConsolidateDataServiceTopiaTest.java | 16 +- .../report/AbstractReportServiceTopiaTest.java | 11 +- .../actions/validate/ValidateServiceTopiaTest.java | 13 +- ...tLonglineDetailCompositionServiceTopiaTest.java | 16 +- .../service/seine/RouteServiceTopiaTest.java | 15 +- .../seine/TargetSampleServiceTopiaTest.java | 13 +- .../seine/TripSeineGearUseServiceTopiaTest.java | 20 +- .../service/seine/TripSeineServiceTopiaTest.java | 25 ++- .../ApplicationContextResourceConfiguration.java | 28 +++ .../test/DataSourceResourceConfiguration.java | 36 ++++ .../java/fr/ird/observe/test/DatabaseName.java | 12 ++ .../main/java/fr/ird/observe/test/TestHelper.java | 51 +++-- 22 files changed, 536 insertions(+), 422 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java index 89db270..eb8e803 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java @@ -26,10 +26,14 @@ import com.opensymphony.xwork2.interceptor.annotations.After; import fr.ird.observe.ObserveTopiaDaoSupplier; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.constants.ReferenceStatus; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; 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.util.DateUtil; @@ -41,20 +45,16 @@ import java.util.Date; * @author Tony Chemit - chemit@codelutin.com * @since 1.8 */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.referentiel, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { /** Logger */ private static final Log log = LogFactory.getLog(LengthWeightParemetersTest.class); - public LengthWeightParemetersTest() { - super("referentiel", "testGetCorrectLengthWeightParameter"); - } - private ObserveTopiaPersistenceContext persistenceContext; - @Override + @Before public void setUp() throws Exception { - super.setUp(); persistenceContext = dataSourceResource.newPersistenceContext(); @@ -136,6 +136,7 @@ public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { * See http://forge.codelutin.com/issues/7628 */ @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void testGetCorrectLengthWeightParameter() { SpeciesTopiaDao speciesDAO = persistenceContext.getSpeciesDao(); 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 56f6955..40f097a 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 @@ -24,11 +24,16 @@ package fr.ird.observe.services; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.migration.AbstractDataSourceMigration; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; +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.dto.constants.ReferentialLocale; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.services.service.DataSourceService; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.test.TestHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -38,8 +43,11 @@ import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; import java.io.File; +import java.io.IOException; +import java.nio.file.Files; import java.nio.file.Path; import java.util.Locale; @@ -55,15 +63,15 @@ public class ApplicationContextResource implements TestRule { protected final ObserveServiceFactoryTopia serviceFactory; - private File testDirectory; + private Path temporaryDirectoryRoot; - private File dataBaseDirectory; + private final ObserveSpeciesListConfiguration speciesListConfiguration; - private File dataBaseCommonRefDirectory; + private final DataSourcesForTestManager dataSourcesForTestManager; - private Path temporaryDirectoryRoot; + protected String dbName; - private final ObserveSpeciesListConfiguration speciesListConfiguration; + protected String dbVersion; public ApplicationContextResource() { this.speciesListConfiguration = ObserveSpeciesListConfiguration.newDefaultConfiguration(); @@ -76,6 +84,57 @@ public class ApplicationContextResource implements TestRule { } }; serviceFactory.setMainServiceFactory(serviceFactory); + + dataSourcesForTestManager = new DataSourcesForTestManager(); + + } + + public ObserveDataSourceConfigurationTopiaH2 createDataSource(Version dbVersion, String dbName, File targetPath) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { + + ObserveDataSourceConfigurationTopiaH2 sharedDatabaseConfiguration = dataSourcesForTestManager.createSharedDataSourceConfigurationH2(dbVersion, dbName); + + File sharedDatabaseFile = sharedDatabaseConfiguration.getDatabaseFile(); + + ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration; + + boolean sharedDatabaseExist = sharedDatabaseFile.exists(); + if (!sharedDatabaseExist) { + + if (log.isInfoEnabled()) { + log.info("Create shared database: " + dbVersion.toString() + "/" + dbName + " to " + sharedDatabaseFile); + } + + byte[] databaseToImportContent = dataSourcesForTestManager.getDatabaseScriptContent(dbVersion, dbName); + + DataSourceService dataSourceService = newService(sharedDatabaseConfiguration, DataSourceService.class); + DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); + createConfiguration.setImportDatabase(databaseToImportContent); + dataSourceService.create(sharedDatabaseConfiguration, createConfiguration); + + } + + if (targetPath == null) { + + dataSourceConfiguration = sharedDatabaseConfiguration; + } else { + + // Use a copy + + dataSourceConfiguration = dataSourcesForTestManager.createDataSourceConfigurationH2(targetPath, dbVersion, dbName); + File databaseFileTarget = dataSourceConfiguration.getDatabaseFile(); + + if (log.isInfoEnabled()) { + log.info("Copy database: " + dbVersion.toString() + "/" + dbName + " to " + databaseFileTarget); + } + Files.createDirectories(databaseFileTarget.toPath().getParent()); + Files.copy(sharedDatabaseFile.toPath(), databaseFileTarget.toPath()); + + } + + dataSourceConfiguration.setModelVersion(Versions.valueOf(AbstractServiceTopiaTest.DEFAULT_VERSION)); + + return dataSourceConfiguration; + } public String getScriptPath(String classifier, Version databaseVersion) { @@ -137,6 +196,13 @@ public class ApplicationContextResource implements TestRule { TestHelper.initTest(testClass); + ApplicationContextResourceConfiguration dataSourceTestConfiguration = getApplicationContextTestConfiguration(testClass); + + if (dataSourceTestConfiguration != null) { + dbName = dataSourceTestConfiguration.dbName().name(); + dbVersion = dataSourceTestConfiguration.dbVersion(); + } + } protected void after(Description description) { @@ -151,68 +217,14 @@ public class ApplicationContextResource implements TestRule { } - public File getTestDirectory() { - return testDirectory; - } + protected ApplicationContextResourceConfiguration getApplicationContextTestConfiguration(Class<?> clazz) { - public void setTestDirectory(File testDirectory) { - this.testDirectory = testDirectory; - } + ApplicationContextResourceConfiguration dataSourceTestConfiguration = clazz.getAnnotation(ApplicationContextResourceConfiguration.class); - public File getDataBaseDirectory() { - return dataBaseDirectory; - } - - public void setDataBaseDirectory(File dataBaseDirectory) { - this.dataBaseDirectory = dataBaseDirectory; - } - - public File getDataBaseCommonRefDirectory() { - return dataBaseCommonRefDirectory; - } - - public void setDataBaseCommonRefDirectory(File dataBaseCommonRefDirectory) { - this.dataBaseCommonRefDirectory = dataBaseCommonRefDirectory; - } - - public ObserveDataSourceConfigurationTopiaH2 createDataSourceConfigurationH2(Class<?> testClass, String dbName) { - - ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); - - File localDbFile = new File(dataBaseDirectory, dbName); - - if (log.isInfoEnabled()) { - log.info("db directory: " + localDbFile); + if (dataSourceTestConfiguration == null && clazz.getSuperclass() != null) { + dataSourceTestConfiguration = getApplicationContextTestConfiguration(clazz.getSuperclass()); } - configurationTopiaH2.setLabel(testClass.getSimpleName() + "#" + dbName); - configurationTopiaH2.setUsername(TestHelper.TEST_H2_LOGIN); - configurationTopiaH2.setPassword(TestHelper.TEST_H2_PASSWORD); - configurationTopiaH2.setDirectory(localDbFile); - configurationTopiaH2.setDbName("obstuna"); - configurationTopiaH2.setAutoMigrate(true); - configurationTopiaH2.setModelVersion(AbstractDataSourceMigration.getLastVersion()); - return configurationTopiaH2; - - } - - public ObserveDataSourceConfigurationTopiaH2 createCommonsDataSourceConfigurationH2(String dbName) { - - ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); - - File localDbFile = new File(dataBaseCommonRefDirectory, dbName); - - if (log.isInfoEnabled()) { - log.info("db directory: " + localDbFile); - } - configurationTopiaH2.setLabel("Commons database#" + dbName); - configurationTopiaH2.setUsername(TestHelper.TEST_H2_LOGIN); - configurationTopiaH2.setPassword(TestHelper.TEST_H2_PASSWORD); - configurationTopiaH2.setDirectory(localDbFile); - configurationTopiaH2.setDbName("obstuna"); - configurationTopiaH2.setAutoMigrate(true); - configurationTopiaH2.setModelVersion(AbstractDataSourceMigration.getLastVersion()); - return configurationTopiaH2; - + return dataSourceTestConfiguration; } public void assertSchemaCreated(ObserveTopiaApplicationContext topiaApplicationContext) { @@ -240,4 +252,71 @@ public class ApplicationContextResource implements TestRule { } } + public String getDbName() { + return dbName; + } + + public String getDbVersion() { + return dbVersion; + } + + /** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ + public static class DataSourcesForTestManager { + + /** + * Root path of shared databases. + */ + private static Path sharedDatabasesRootPath; + + public Path getSharedDatabasesRootPath() { + if (sharedDatabasesRootPath == null) { + sharedDatabasesRootPath = TestHelper.getCommonsDir().toPath(); + } + return sharedDatabasesRootPath; + } + + public Path getSharedDatabasePath(Version dbVersion, String dbName) { + return getDatabasePath(getSharedDatabasesRootPath(), dbVersion, dbName); + } + + public Path getDatabasePath(Path rootPath, Version dbVersion, String dbName) { + return rootPath.resolve(dbVersion.getValidName()).resolve(dbName); + } + + public ObserveDataSourceConfigurationTopiaH2 createSharedDataSourceConfigurationH2(Version dbVersion, String dbName) { + Path databasePath = getDatabasePath(getSharedDatabasesRootPath(), dbVersion, dbName); + return createDataSourceConfigurationH2(databasePath.toFile(), dbVersion, dbName); + } + + public ObserveDataSourceConfigurationTopiaH2 createDataSourceConfigurationH2(File localDbFile, Version dbVersion, String dbName) { + + ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); + + if (log.isDebugEnabled()) { + log.debug("db directory: " + localDbFile); + } + configurationTopiaH2.setLabel("Commons database#" + dbName); + configurationTopiaH2.setUsername(TestHelper.TEST_H2_LOGIN); + configurationTopiaH2.setPassword(TestHelper.TEST_H2_PASSWORD); + configurationTopiaH2.setDirectory(localDbFile); + configurationTopiaH2.setDbName("obstuna"); + configurationTopiaH2.setAutoMigrate(true); + configurationTopiaH2.setModelVersion(dbVersion); + return configurationTopiaH2; + + } + + public byte[] getDatabaseScriptContent(Version dbVersion, String dbName) throws IOException { + String scriptPath = "/db/" + dbVersion.toString() + "/" + dbName + ".sql.gz"; + + byte[] databaseToImportContent = TestHelper.getResourceContent(scriptPath); + return databaseToImportContent; + } + + } + } 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 23b0316..003422d 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 @@ -23,18 +23,21 @@ package fr.ird.observe.services; */ import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableSet; -import com.google.common.io.ByteStreams; -import com.google.common.io.Resources; +import com.google.common.base.Strings; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; 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.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.test.DataSourceResourceConfiguration; import fr.ird.observe.test.TestHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -44,14 +47,13 @@ import org.junit.runners.model.Statement; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaPersistenceContext; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Set; /** * Created on 18/08/15. @@ -69,18 +71,37 @@ public class DataSourceResource implements TestRule { protected ObserveDataSourceConnection dataSourceConnection; - protected Set<String> testNamesChangeDataBase; - - protected String scriptName; - protected ObserveReferentialCache referentialCache; - public DataSourceResource(ApplicationContextResource applicationContextResource, String scriptName, String... testNamesChangeDataBase) { + protected File testDirectory; + + public DataSourceResource(ApplicationContextResource applicationContextResource) { this.applicationContextResource = applicationContextResource; - this.scriptName = scriptName; - this.testNamesChangeDataBase = ImmutableSet.<String>builder().add(testNamesChangeDataBase).build(); } + public <S extends ObserveService> S newService(Class<S> serviceType) throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { + + ObserveDataSourceConnection dataSourceConnection = getDataSourceConnection(); + + if (dataSourceConnection == null) { + + ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = getDataSourceConfiguration(); + + DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); + + dataSourceConnection = dataSourceService.open(dataSourceConfiguration); + + dataSourceConnection = new ObserveDataSourceConnectionTopiaTaiste(dataSourceConnection.getAuthenticationToken()); + + setDataSourceConnection(dataSourceConnection); + } + + S service = applicationContextResource.newService(dataSourceConnection, serviceType); + + return service; + } + + public ObserveDataSourceConfigurationTopiaH2 getDataSourceConfiguration() { return dataSourceConfiguration; } @@ -93,16 +114,6 @@ public class DataSourceResource implements TestRule { this.dataSourceConnection = dataSourceConnection; } - public byte[] getDatabaseToImportContent(String scriptPath) throws IOException { - - URL url = getClass().getResource(scriptPath); - Preconditions.checkNotNull(url, "Could not find database at: " + scriptPath); - try (InputStream inputStream = Resources.asByteSource(url).openStream()) { - byte[] dumpContent = ByteStreams.toByteArray(inputStream); - return dumpContent; - } - } - public ObserveReferentialCache getReferentialCache() { if (referentialCache == null) { referentialCache = new ObserveReferentialCache(); @@ -110,35 +121,9 @@ public class DataSourceResource implements TestRule { return referentialCache; } - public void createDataSourceFromScript(String scriptPath) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - - byte[] databaseToImportContent = getDatabaseToImportContent(scriptPath); - - DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); - DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); - createConfiguration.setImportDatabase(databaseToImportContent); - dataSourceService.create(dataSourceConfiguration, createConfiguration); - - } - - public void createCommonsDataSourceFromScript(String scriptPath) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - - byte[] databaseToImportContent = getDatabaseToImportContent(scriptPath); - - ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = applicationContextResource.createCommonsDataSourceConfigurationH2("localdb"); - - DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); - DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); - createConfiguration.setImportDatabase(databaseToImportContent); - dataSourceService.create(dataSourceConfiguration, createConfiguration); - - } - public ObserveTopiaPersistenceContext newPersistenceContext() { - ObserveTopiaPersistenceContext persistenceContext = getTopiaApplicationContext().newPersistenceContext(); return persistenceContext; - } public ObserveTopiaApplicationContext getTopiaApplicationContext() { @@ -168,6 +153,17 @@ public class DataSourceResource implements TestRule { } + public void createDataSourceFromScript(String scriptPath) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + + byte[] databaseToImportContent = TestHelper.getResourceContent(scriptPath); + + DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); + DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); + createConfiguration.setImportDatabase(databaseToImportContent); + dataSourceService.create(dataSourceConfiguration, createConfiguration); + + } + @Override public Statement apply(final Statement base, final Description description) { return new Statement() { @@ -184,44 +180,110 @@ public class DataSourceResource implements TestRule { }; } + private Class<?> testClass; + + private String methodName; + + private boolean useSharedDatabase; + + private String dbName; + + private Version dbVersion; + + public String getDbName() { + return dbName; + } + + public Version getDbVersion() { + return dbVersion; + } + + public String getMethodName() { + return methodName; + } + + public Class<?> getTestClass() { + return testClass; + } + + public boolean isUseSharedDatabase() { + return useSharedDatabase; + } + + public File getTestDirectory() { + return testDirectory; + } + + public ObserveDataSourceConfigurationTopiaH2 createDataSourceConfigurationH2(Class<?> testClass, String dbName) { + + ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); + + File localDbFile = new File(testDirectory, dbName); + + if (log.isInfoEnabled()) { + log.info("db directory: " + localDbFile); + } + configurationTopiaH2.setLabel(testClass.getSimpleName() + "#" + dbName); + configurationTopiaH2.setUsername(TestHelper.TEST_H2_LOGIN); + configurationTopiaH2.setPassword(TestHelper.TEST_H2_PASSWORD); + configurationTopiaH2.setDirectory(localDbFile); + configurationTopiaH2.setDbName("obstuna"); + configurationTopiaH2.setAutoMigrate(true); + configurationTopiaH2.setModelVersion(AbstractDataSourceMigration.getLastVersion()); + return configurationTopiaH2; + + } + protected void before(Description description) throws Throwable { - Class<?> testClass = description.getTestClass(); - String methodName = description.getMethodName(); + testClass = description.getTestClass(); + methodName = description.getMethodName(); if (log.isDebugEnabled()) { log.debug("Starts " + testClass.getName() + "::" + methodName); } - File testDirectory = TestHelper.newFile(methodName); + DataSourceResourceConfiguration dataSourceResourceConfiguration = testClass.getMethod(methodName).getAnnotation(DataSourceResourceConfiguration.class); - applicationContextResource.setTestDirectory(testDirectory); + String dbVersionStr; - Path temporaryDirectoryRoot = new File(testDirectory, "tmp").toPath(); - - Files.createDirectories(temporaryDirectoryRoot); - - applicationContextResource.setTemporaryDirectoryRoot(temporaryDirectoryRoot); + if (dataSourceResourceConfiguration == null) { + useSharedDatabase = true; + dbName = null; + dbVersionStr = null; + } else { + useSharedDatabase = dataSourceResourceConfiguration.useSharedDatabase(); + dbName = dataSourceResourceConfiguration.dbName().name(); + dbVersionStr = dataSourceResourceConfiguration.dbVersion(); + } + if (Strings.isNullOrEmpty(dbName)) { + dbName = applicationContextResource.getDbName(); + } + Preconditions.checkState(!Strings.isNullOrEmpty(dbName), "Pas de nom de base spécifié"); - File commonsDir = TestHelper.getCommonsDir(); + if (Strings.isNullOrEmpty(dbVersionStr)) { + dbVersionStr = applicationContextResource.getDbVersion(); + } + Preconditions.checkState(!Strings.isNullOrEmpty(dbVersionStr), "Pas de version de base spécifié"); + dbVersion = Versions.valueOf(dbVersionStr); - File dataBaseCommonsRefDirectory = new File(commonsDir, scriptName); + if (log.isDebugEnabled()) { + log.debug("Starts " + testClass.getName() + "::" + methodName); + } - applicationContextResource.setDataBaseCommonRefDirectory(dataBaseCommonsRefDirectory); + testDirectory = TestHelper.newFile(methodName); - //if (testNamesChangeDataBase.contains(methodName)) { + Path temporaryDirectoryRoot = new File(testDirectory, "tmp").toPath(); - File dataBaseDirectory = new File(testDirectory, scriptName); + Files.createDirectories(temporaryDirectoryRoot); - applicationContextResource.setDataBaseDirectory(dataBaseDirectory); + applicationContextResource.setTemporaryDirectoryRoot(temporaryDirectoryRoot); -// } else { -// -// applicationContextResource.setDataBaseDirectory(dataBaseCommonsRefDirectory); -// -// } + File databasePath = useSharedDatabase + ? null + : getTestDirectory().toPath().resolve("localDb").toFile(); - dataSourceConfiguration = applicationContextResource.createDataSourceConfigurationH2(testClass, "localdb"); + dataSourceConfiguration = applicationContextResource.createDataSource(dbVersion, this.dbName, databasePath); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceContextTopiaTaiste.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceContextTopiaTaiste.java index 284c7ad..e78d050 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceContextTopiaTaiste.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceContextTopiaTaiste.java @@ -31,7 +31,7 @@ import java.util.Date; */ public class ObserveServiceContextTopiaTaiste extends ObserveServiceContextTopia { - public static final Date DATE = DateUtil.createDate(36, 15, 17, 21, 8, 2015); + public static final Date DATE = DateUtil.createDate(36, 15, 17, 21, 8, 2016); public ObserveServiceContextTopiaTaiste(ObserveServiceInitializer observeServiceInitializer, ObserveServiceFactory mainServiceFactory, ObserveServiceFactory serviceFactory) { super(observeServiceInitializer, mainServiceFactory, serviceFactory); 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 7191477..a457863 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 @@ -2,6 +2,7 @@ package fr.ird.observe.services.binder; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; @@ -123,6 +124,7 @@ 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 fr.ird.observe.test.DatabaseName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -138,6 +140,7 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class BinderEngineTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -145,15 +148,9 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { private BinderEngine binderEngine; - public BinderEngineTest() { - super("dataForTestSeine"); - } - - @Override @Before public void setUp() throws Exception { - super.setUp(); binderEngine = BinderEngine.get(); } 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 ed8c194..162e2e9 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 @@ -1,57 +1,29 @@ package fr.ird.observe.services.service; -/* - * #%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 fr.ird.observe.AbstractObserveTopiaDao; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.ObserveEntity; -import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.services.ApplicationContextResource; import fr.ird.observe.services.DataSourceResource; -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.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 org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.junit.Assert; -import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; -import org.nuiton.util.FileUtil; -import java.io.File; -import java.nio.file.Files; import java.util.Date; /** - * @author Sylvain Bavencoff - bavencoff@codelutin.com + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com */ -public abstract class AbstractServiceTopiaTest { +public class AbstractServiceTopiaTest { + + public static final String OLD_VERSION = "4.0.1"; + + public static final String DEFAULT_VERSION = "5.0-2"; public static final String TRIP_SEINE_ID_1 = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; @@ -61,83 +33,33 @@ public abstract class AbstractServiceTopiaTest { public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; + @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); - private static final Log log = LogFactory.getLog(AbstractServiceTopiaTest.class); - - protected AbstractServiceTopiaTest(String scriptName, String... testNamesChangeDataBase) { - this.scriptName = scriptName; - this.testNamesChangeDataBase = testNamesChangeDataBase; - this.dataSourceResource = new DataSourceResource(applicationContextResource, this.scriptName, this.testNamesChangeDataBase); - } - - private final String scriptName; - - private final String[] testNamesChangeDataBase; - @Rule - public final DataSourceResource dataSourceResource; - - protected DataSourceResource newDataSourceResource(String scriptName, String... testNamesChangeDataBase) { - return new DataSourceResource(applicationContextResource, scriptName, testNamesChangeDataBase); - } - @Before - public void setUp() throws Exception { - - File dataBaseDirectory = applicationContextResource.getDataBaseDirectory(); - - if (!dataBaseDirectory.isDirectory()) { - - File dataBaseCommonRefDirectory = applicationContextResource.getDataBaseCommonRefDirectory(); - - if (!dataBaseCommonRefDirectory.isDirectory()) { - - if (log.isInfoEnabled()) { - log.info("create Database on " + dataBaseDirectory + " from script " + scriptName); - } - - Files.createDirectories(dataBaseDirectory.toPath()); - - // Create database from script - String scriptPath = applicationContextResource.getScriptPath(scriptName, H2DataSourceMigration.V_4_0_1); - - dataSourceResource.createCommonsDataSourceFromScript(scriptPath); - } - - if (!dataBaseCommonRefDirectory.equals(dataBaseDirectory)) { - - FileUtil.copyAndRenameRecursively(dataBaseCommonRefDirectory, dataBaseDirectory, false, (String) null, (String) null, false); - - } + public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource); + protected Date getLastUpdate(Class entityType) { + try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext()) { + return persistenceContext.getLastUpdate(entityType); } } - public <S extends ObserveService> S newService(Class<S> serviceType) throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { - - ObserveDataSourceConnection dataSourceConnection = dataSourceResource.getDataSourceConnection(); - - if (dataSourceConnection == null) { - - ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = dataSourceResource.getDataSourceConfiguration(); - - DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); - - dataSourceConnection = dataSourceService.open(dataSourceConfiguration); - - dataSourceConnection = new ObserveDataSourceConnectionTopiaTaiste(dataSourceConnection.getAuthenticationToken()); + protected void loadReferenceSets(ReferentialService referentialService, Form<?> form) { + dataSourceResource.getReferentialCache().loadReferenceSets(referentialService, form.getReferentialReferenceSetsRequestName()); + } - dataSourceResource.setDataSourceConnection(dataSourceConnection); - } + protected <R extends ReferentialDto> ReferentialReference<R> getReference(Class<R> type, int index) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { - S service = applicationContextResource.newService(dataSourceConnection, serviceType); + ReferentialService referentialService = dataSourceResource.newService(ReferentialService.class); + ReferentialReferenceSet<R> referentialReferenceSet = dataSourceResource.getReferentialCache().getReferentialReferenceSet(referentialService, type); + ReferentialReference<R> reference = referentialReferenceSet.getReferenceByPosition(index); + return reference; - return service; } - protected void assertEntityEqualsReferenceDto(ObserveEntity entity, ReferentialReference referenceDto) { if (entity == null) { Assert.assertNull(referenceDto); @@ -156,24 +78,4 @@ public abstract class AbstractServiceTopiaTest { } - protected Date getLastUpdate(Class entityType) { - ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); - AbstractObserveTopiaDao dao = (AbstractObserveTopiaDao) persistenceContext.getDao(entityType); - return dao.getLastUpdateDate(); - - } - - protected void loadReferenceSets(ReferentialService referentialService, Form<?> form) { - dataSourceResource.getReferentialCache().loadReferenceSets(referentialService, form.getReferentialReferenceSetsRequestName()); - } - - 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 6f69f91..4d89b4c 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 @@ -23,33 +23,28 @@ package fr.ird.observe.services.service; */ import com.google.common.collect.ImmutableSet; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import java.io.File; - /** * Created on 26/08/15. * * @author Tony Chemit - chemit@codelutin.com - * FIXME IT tests + * FIXME IT tests */ @Ignore +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class DataSourceDumpProducerServiceTopiaTest extends AbstractServiceTopiaTest { protected DataSourceDumpProducerService service; - public DataSourceDumpProducerServiceTopiaTest() { - super("dataForTestSeine"); - } - @Before public void setUp() throws Exception { - - super.setUp(); - service = newService(DataSourceDumpProducerService.class); + service = dataSourceResource.newService(DataSourceDumpProducerService.class); } @Test 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 5a811df..d62bd99 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 @@ -25,8 +25,8 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.entities.migration.H2DataSourceMigration; -import fr.ird.observe.services.ApplicationContextResource; -import fr.ird.observe.services.DataSourceResource; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; @@ -34,13 +34,13 @@ 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.dto.referential.GearDto; +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.TestHelper; import org.apache.commons.logging.Log; 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; @@ -54,25 +54,12 @@ import java.util.Date; * FIXME IT tests */ @Ignore -public class DataSourceServiceTopiaTest { - - @ClassRule - public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); - - public static final String[] TEST_NAMES_CHANGE_DATA_BASE = new String[]{ - "testOpenNotExistingDatabase", - "testOpen", - "testCreateEmptyDataSource", - "testCreateDataSourceFromImportDatabase", - "testCreateDataSourceFromImportReferential", - "testCreateDataSourceFromImportReferentialAndData"}; +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataSourceTest, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ private static final Log log = LogFactory.getLog(DataSourceServiceTopiaTest.class); - @Rule - public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, "dataSourceTest", TEST_NAMES_CHANGE_DATA_BASE); - protected DataSourceService service; @Before @@ -84,6 +71,7 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test(expected = DatabaseNotFoundException.class) public void testOpenNotExistingDatabase() throws IOException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { @@ -169,6 +157,7 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test public void testCreateEmptyDataSource() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -181,12 +170,13 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test public void testCreateDataSourceFromImportDatabase() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { String scriptPath = applicationContextResource.getScriptPath("referentiel", H2DataSourceMigration.V_4_0); - byte[] dumpContent = dataSourceResource.getDatabaseToImportContent(scriptPath); + byte[] dumpContent = TestHelper.getResourceContent(scriptPath); ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = dataSourceResource.getDataSourceConfiguration(); DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); @@ -197,6 +187,7 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test public void testCreateDataSourceFromImportReferential() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -209,7 +200,7 @@ public class DataSourceServiceTopiaTest { DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); dataSourceCreateConfiguration.setImportReferentialDataSourceConfiguration(dataSourceConfiguration); - ObserveDataSourceConfigurationTopiaH2 createdDatabaseDataSourceConfiguration = applicationContextResource.createDataSourceConfigurationH2(getClass(), "resultDatabase"); + ObserveDataSourceConfigurationTopiaH2 createdDatabaseDataSourceConfiguration = dataSourceResource.createDataSourceConfigurationH2(getClass(), "resultDatabase"); DataSourceService dataSourceService = applicationContextResource.newService(createdDatabaseDataSourceConfiguration, DataSourceService.class); @@ -220,6 +211,7 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test public void testCreateDataSourceFromImportReferentialAndData() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -233,7 +225,7 @@ public class DataSourceServiceTopiaTest { dataSourceCreateConfiguration.setImportReferentialDataSourceConfiguration(dataSourceConfiguration); dataSourceCreateConfiguration.setImportDataConfiguration(dataSourceConfiguration, ImmutableSet.of(AbstractServiceTopiaTest.TRIP_SEINE_ID_1)); - ObserveDataSourceConfigurationTopiaH2 createdDatabaseDataSourceConfiguration = applicationContextResource.createDataSourceConfigurationH2(getClass(), "resultDatabase"); + ObserveDataSourceConfigurationTopiaH2 createdDatabaseDataSourceConfiguration = dataSourceResource.createDataSourceConfigurationH2(getClass(), "resultDatabase"); DataSourceService dataSourceService = applicationContextResource.newService(createdDatabaseDataSourceConfiguration, DataSourceService.class); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java index e910486..dd2b991 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -1,21 +1,18 @@ package fr.ird.observe.services.service; -import com.google.common.base.Preconditions; -import fr.ird.observe.services.ApplicationContextResource; -import fr.ird.observe.services.DataSourceResource; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; +import fr.ird.observe.test.DatabaseName; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -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.net.URL; import java.nio.file.Files; /** @@ -24,53 +21,48 @@ import java.nio.file.Files; * @author Tony Chemit - chemit@codelutin.com */ @Ignore -public class MigrateTestsDatabases { - - @ClassRule - public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); - - public static final String FROM_VERSION = "4.0.1"; - - public static final String TO_VERSION = "5.0"; +@ApplicationContextResourceConfiguration(dbVersion = MigrateTestsDatabases.FROM_VERSION) +public class MigrateTestsDatabases extends AbstractServiceTopiaTest { /** Logger. */ private static final Log log = LogFactory.getLog(MigrateTestsDatabases.class); - @Rule - public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, "taiste"); + public static final String FROM_VERSION = "4.0.1"; + + public static final String TO_VERSION = "5.0-2"; + @DataSourceResourceConfiguration(dbName = DatabaseName.referentiel) @Test public void migrateReferentielDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - migrateReferentielDb(FROM_VERSION, TO_VERSION, "referentiel"); + migrateReferentielDb(TO_VERSION); } + @DataSourceResourceConfiguration(dbName = DatabaseName.dataForTestSeine) @Test public void migrateDataForTestSeineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - migrateReferentielDb(FROM_VERSION, TO_VERSION, "dataForTestSeine"); + migrateReferentielDb(TO_VERSION); } + @DataSourceResourceConfiguration(dbName = DatabaseName.dataForTestLongline) @Test public void migrateDataForTestLonglineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - migrateReferentielDb(FROM_VERSION, TO_VERSION, "dataForTestLongline"); + migrateReferentielDb(TO_VERSION); } - protected void migrateReferentielDb(String fromVersion, String toVersion, String databaseName) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + protected void migrateReferentielDb(String toVersion) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - String sqlFilename = databaseName + ".sql.gz"; - String scriptPath = "/db/" + fromVersion + "/" + sqlFilename; + String dbName = dataSourceResource.getDbName(); + File databasesRootDirectory = dataSourceResource.getDataSourceConfiguration().getDatabaseFile(); - URL url = getClass().getResource(scriptPath); - - Preconditions.checkNotNull(url, "Could not find database at " + scriptPath); - - File databasesRootDirectory = new File(url.getFile()); - - while (!"observe-test-data".equals(databasesRootDirectory.getName())) { + while (!"observe".equals(databasesRootDirectory.getName())) { databasesRootDirectory = databasesRootDirectory.getParentFile(); } + String sqlFilename = dbName + ".sql.gz"; + File f = databasesRootDirectory .toPath() + .resolve("observe-test-data") .resolve("src") .resolve("main") .resolve("resources") @@ -80,13 +72,11 @@ public class MigrateTestsDatabases { .toFile(); if (log.isInfoEnabled()) { - log.info("Will generate " + databaseName + " to " + f); + log.info("Will generate " + dbName + " to " + f); } Files.createDirectories(f.toPath().getParent()); - dataSourceResource.createDataSourceFromScript(scriptPath); - DataSourceDumpProducerService service = applicationContextResource.newService(dataSourceResource.getDataSourceConfiguration(), DataSourceDumpProducerService.class); byte[] allDataDump = service.getAllDataDump(); 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 7791249..4960b6b 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,15 +26,20 @@ import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.LengthWeightParameter; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; 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.referential.LengthWeightParameterDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.test.DatabaseName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; +import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; @@ -46,6 +51,7 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -53,15 +59,10 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { protected ReferentialService service; - public ReferentialServiceTopiaTest() { - super("referentiel", "testDelete"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(ReferentialService.class); + service = dataSourceResource.newService(ReferentialService.class); } @@ -78,7 +79,10 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } + //FIXME En réutilisant une table de lastUpdateDate + @Ignore @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void testDelete() throws Exception { ObserveTopiaPersistenceContext tx = dataSourceResource.newPersistenceContext(); @@ -131,13 +135,13 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(form.getObject()); Assert.assertNotNull(form.getObject().getId()); - Date lastUpdateBefore = getLastUpdate(entityType); + Date lastUpdateBefore = persistenceContext.getLastUpdate(entityType); service.delete(dtoType, entity.getTopiaId()); Assert.assertEquals(expectedCount - 1, dao.count()); - Date lastUpdateAfter = getLastUpdate(entityType); + Date lastUpdateAfter = persistenceContext.getLastUpdate(entityType); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); try { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java index cfb845c..248859a 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java @@ -24,8 +24,12 @@ package fr.ird.observe.services.service.actions.consolidate; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import java.util.List; @@ -35,21 +39,18 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class ConsolidateDataServiceTopiaTest extends AbstractServiceTopiaTest { protected ConsolidateDataService service; - public ConsolidateDataServiceTopiaTest() { - super("dataForTestSeine", "testConsolidateTripSeines"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(ConsolidateDataService.class); + service = dataSourceResource.newService(ConsolidateDataService.class); } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void testConsolidateTripSeines() throws Exception { ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); @@ -65,6 +66,5 @@ public class ConsolidateDataServiceTopiaTest extends AbstractServiceTopiaTest { //FIXME faire des asserts sur le résultat Assert.assertEquals(3, results.size()); - } } \ No newline at end of file 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 1c367fc..00b4414 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 @@ -23,12 +23,14 @@ package fr.ird.observe.services.service.actions.report; import com.google.common.collect.Iterables; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; 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; import fr.ird.observe.services.dto.actions.report.ReportVariable; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -50,6 +52,7 @@ import java.util.Map; * @author Tony Chemit - chemit@codelutin.com * @since 1.9 */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger */ @@ -63,18 +66,12 @@ public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopi /** Le report à tester. */ private Report report; - public AbstractReportServiceTopiaTest() { - super("dataForTestSeine"); - } - protected abstract String getReportId(); @Before public final void setUp() throws Exception { - super.setUp(); - - service = newService(ReportService.class); + service = dataSourceResource.newService(ReportService.class); // recuperation du report à tester report = getReport(log, getReportId()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java index b651473..d6ddff8 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java @@ -24,29 +24,28 @@ package fr.ird.observe.services.service.actions.validate; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.validator.NuitonValidatorScope; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class ValidateServiceTopiaTest extends AbstractServiceTopiaTest { protected ValidateService service; - public ValidateServiceTopiaTest() { - super("dataForTestSeine"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(ValidateService.class); + service = dataSourceResource.newService(ValidateService.class); } @Test 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 8708235..effc0a5 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 @@ -26,6 +26,8 @@ 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.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -39,29 +41,26 @@ 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.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.util.DateUtil; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestLongline, dbVersion = AbstractServiceTopiaTest.OLD_VERSION) public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServiceTopiaTest { protected SetLonglineDetailCompositionService service; public static final String SET_LONGLINE_ID = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; - public SetLonglineDetailCompositionServiceTopiaTest() { - super("dataForTestLongline", "saveTest"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - - service = newService(SetLonglineDetailCompositionService.class); + service = dataSourceResource.newService(SetLonglineDetailCompositionService.class); } @@ -93,6 +92,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveTest() { Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID); 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 7c9b507..64267f4 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 @@ -22,29 +22,28 @@ package fr.ird.observe.services.service.seine; * #L% */ +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.util.DateUtil; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -public class RouteServiceTopiaTest extends AbstractServiceTopiaTest{ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +public class RouteServiceTopiaTest extends AbstractServiceTopiaTest { protected RouteService service; - public RouteServiceTopiaTest() { - super("dataForTestSeine"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(RouteService.class); + service = dataSourceResource.newService(RouteService.class); } 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 952ea0a..8aaa1d8 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 @@ -22,30 +22,29 @@ package fr.ird.observe.services.service.seine; * #L% */ +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class TargetSampleServiceTopiaTest extends AbstractServiceTopiaTest { public static String SET_SEINE_ID = "fr.ird.observe.entities.seine.SetSeine#1359573677233#0.016313003525718517"; protected TargetSampleService service; - public TargetSampleServiceTopiaTest() { - super("dataForTestSeine"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(TargetSampleService.class); + service = dataSourceResource.newService(TargetSampleService.class); } 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 be0e4fa..93134a6 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 @@ -26,6 +26,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.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; @@ -33,13 +35,16 @@ import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.topia.persistence.TopiaEntities; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { protected TripSeineGearUseService service; @@ -48,20 +53,12 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { public static final String GEAR_USE_FEATURES_SEINE_ID = "fr.ird.observe.entities.seine.GearUseFeaturesSeine#1440486230661#0.42614931015885216"; - public TripSeineGearUseServiceTopiaTest() { - super("dataForTestSeine", "saveCreateTest", - "saveUpdateTest", - "deleteTest"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - - service = newService(TripSeineGearUseService.class); + service = dataSourceResource.newService(TripSeineGearUseService.class); - referentialService = newService(ReferentialService.class); + referentialService = dataSourceResource.newService(ReferentialService.class); } @@ -114,6 +111,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveUpdateTest() { Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); 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 d3c2096..5b2400c 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,6 +23,8 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.ObserveServiceContextTopiaTaiste; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; @@ -40,7 +42,10 @@ import fr.ird.observe.services.service.ConcurrentModificationException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.nuiton.util.DateUtil; @@ -50,25 +55,19 @@ import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { protected TripSeineService service; protected ReferentialService referentialService; - public TripSeineServiceTopiaTest() { - super("dataForTestSeine", "saveCreateTest", - "saveUpdateTest", - "deleteTest"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(TripSeineService.class); + service = dataSourceResource.newService(TripSeineService.class); - referentialService = newService(ReferentialService.class); + referentialService = dataSourceResource.newService(ReferentialService.class); } @@ -181,6 +180,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveCreateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.preCreate(PROGRAM_ID); @@ -234,6 +234,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveUpdateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); @@ -288,6 +289,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test(expected = ConcurrentModificationException.class) + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveConcurrentTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); @@ -314,7 +316,10 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } + //FIXME En réutilisant une table de lastUpdateDate + @Ignore @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void deleteTest() { Date lastUpdateBefore = getLastUpdate(TripSeine.class); diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java new file mode 100644 index 0000000..9635276 --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java @@ -0,0 +1,28 @@ +package fr.ird.observe.test; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * To define how to load a datasource resource on a test class. + * + * Created on 25/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +public @interface ApplicationContextResourceConfiguration { + + /** + * @return version of database to use. + */ + String dbVersion() default ""; + + /** + * @return Name of database to use. + */ + DatabaseName dbName() default DatabaseName.referentiel; +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java new file mode 100644 index 0000000..4356d07 --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java @@ -0,0 +1,36 @@ +package fr.ird.observe.test; + +import fr.ird.observe.test.DatabaseName; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * To define how to load a datasource resource on a test method. + * + * Created on 25/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface DataSourceResourceConfiguration { + + /** + * @return version of database to use. + */ + String dbVersion() default ""; + + /** + * @return Name of database to use. + */ + DatabaseName dbName() default DatabaseName.referentiel; + + /** + * return {@code true} to use the shared database, otherwise will + * use a copy of the shared database (mainly used when you modify a database). + */ + boolean useSharedDatabase() default true; +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java b/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java new file mode 100644 index 0000000..289e554 --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java @@ -0,0 +1,12 @@ +package fr.ird.observe.test; + +/** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum DatabaseName { + referentiel, + dataForTestLongline, + dataSourceTest, dataForTestSeine +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java index 1c25d25..f4fc944 100644 --- a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java +++ b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java @@ -21,6 +21,9 @@ */ package fr.ird.observe.test; +import com.google.common.base.Preconditions; +import com.google.common.io.ByteStreams; +import com.google.common.io.Resources; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -34,6 +37,7 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Modifier; +import java.net.URL; import java.util.Date; import java.util.List; import java.util.Properties; @@ -68,6 +72,7 @@ public abstract class TestHelper { public static final char[] TEST_REMOTE_PASSWORD = "a".toCharArray(); protected static final String TEST_PROPERTIES_FILE_NAME = "observetest.properties"; + protected static final String MODEL_VERSION_PROPERTY_NAME = "observetest.model.version"; static private Long testsTimeStamp; @@ -206,22 +211,7 @@ public abstract class TestHelper { } public static File getTestDir(Class<?> testClass) { - if (testsBasedir == null) { - String tmp = System.getProperty("basedir"); - if (tmp == null) { - tmp = new File("").getAbsolutePath(); - } - basedir = new File(tmp); - String name = String.format(TEST_BASEDIR_PATTERN, - File.separator, - new Date(getTestsTimeStamp()) - ); - testsBasedir = new File(new File(tmp), name); - if (log.isInfoEnabled()) { - log.info("tests basedir : " + testsBasedir); - } - } - return new File(testsBasedir, testClass.getSimpleName()); + return new File(getTestsBasedir(), testClass.getSimpleName()); } public static File newFile(String name) { @@ -233,9 +223,28 @@ public abstract class TestHelper { } public static File getBasedir() { + if (basedir == null) { + String tmp = System.getProperty("basedir"); + if (tmp == null) { + tmp = new File("").getAbsolutePath(); + } + basedir = new File(tmp); + } return basedir; } + public static File getTestsBasedir() { + if (testsBasedir == null) { + + String name = String.format(TEST_BASEDIR_PATTERN, + File.separator, + new Date(getTestsTimeStamp()) + ); + testsBasedir = new File(getBasedir(), name); + } + return testsBasedir; + } + public static void initTest(Class<?> testClass) { TEST_BASEDIR = getTestDir(testClass); } @@ -283,5 +292,15 @@ public abstract class TestHelper { return version; } + public static byte[] getResourceContent(String scriptPath) throws IOException { + + URL url = TestHelper.class.getResource(scriptPath); + Preconditions.checkNotNull(url, "Could not find resource at: " + scriptPath); + try (InputStream inputStream = Resources.asByteSource(url).openStream()) { + byte[] dumpContent = ByteStreams.toByteArray(inputStream); + return dumpContent; + } + } + } -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 7b927249b2d1d04bbaf4bdf1772b2c2ecc636e11 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:01:41 2015 +0100 Revue bis de la configuration des tests --- .../referentiel/LengthWeightParemetersTest.java | 7 ++--- .../services/ApplicationContextResource.java | 24 ++++++--------- .../ird/observe/services/DataSourceResource.java | 28 +++++++++-------- .../observe/services/binder/BinderEngineTest.java | 4 +-- .../services/service/AbstractServiceTopiaTest.java | 8 +++-- .../DataSourceDumpProducerServiceTopiaTest.java | 4 +-- .../service/DataSourceServiceTopiaTest.java | 16 +++++----- .../services/service/MigrateTestsDatabases.java | 12 ++++---- .../service/ReferentialServiceTopiaTest.java | 12 ++++---- .../ConsolidateDataServiceTopiaTest.java | 8 ++--- .../report/AbstractReportServiceTopiaTest.java | 4 +-- .../actions/validate/ValidateServiceTopiaTest.java | 4 +-- ...tLonglineDetailCompositionServiceTopiaTest.java | 10 +++--- .../service/seine/RouteServiceTopiaTest.java | 4 +-- .../seine/TargetSampleServiceTopiaTest.java | 4 +-- .../seine/TripSeineGearUseServiceTopiaTest.java | 8 ++--- .../service/seine/TripSeineServiceTopiaTest.java | 14 ++++----- .../ApplicationContextResourceConfiguration.java | 28 ----------------- .../test/DataSourceResourceConfiguration.java | 36 ---------------------- .../main/java/fr/ird/observe/test/TestHelper.java | 10 ++++++ .../test/spi/CopyDatabaseConfiguration.java | 17 ++++++++++ .../test/spi/DatabaseNameConfiguration.java | 21 +++++++++++++ .../test/spi/DatabaseVersionConfiguration.java | 19 ++++++++++++ 23 files changed, 152 insertions(+), 150 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java index eb8e803..563339d 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java @@ -26,10 +26,8 @@ import com.opensymphony.xwork2.interceptor.annotations.After; import fr.ird.observe.ObserveTopiaDaoSupplier; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.constants.ReferenceStatus; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.service.AbstractServiceTopiaTest; -import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -45,7 +43,6 @@ import java.util.Date; * @author Tony Chemit - chemit@codelutin.com * @since 1.8 */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.referentiel, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { /** Logger */ @@ -136,7 +133,7 @@ public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { * See http://forge.codelutin.com/issues/7628 */ @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void testGetCorrectLengthWeightParameter() { SpeciesTopiaDao speciesDAO = persistenceContext.getSpeciesDao(); 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 40f097a..c53aa19 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 @@ -33,8 +33,9 @@ import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationExce import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.DataSourceService; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.test.TestHelper; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -196,11 +197,14 @@ public class ApplicationContextResource implements TestRule { TestHelper.initTest(testClass); - ApplicationContextResourceConfiguration dataSourceTestConfiguration = getApplicationContextTestConfiguration(testClass); + DatabaseNameConfiguration databaseNameConfiguration = TestHelper.getAnnotation(testClass, DatabaseNameConfiguration.class); + if (databaseNameConfiguration != null) { + dbName = databaseNameConfiguration.value().name(); + } - if (dataSourceTestConfiguration != null) { - dbName = dataSourceTestConfiguration.dbName().name(); - dbVersion = dataSourceTestConfiguration.dbVersion(); + DatabaseVersionConfiguration databaseVersionConfiguration = TestHelper.getAnnotation(testClass, DatabaseVersionConfiguration.class); + if (databaseVersionConfiguration != null) { + dbVersion = databaseVersionConfiguration.value(); } } @@ -217,16 +221,6 @@ public class ApplicationContextResource implements TestRule { } - protected ApplicationContextResourceConfiguration getApplicationContextTestConfiguration(Class<?> clazz) { - - ApplicationContextResourceConfiguration dataSourceTestConfiguration = clazz.getAnnotation(ApplicationContextResourceConfiguration.class); - - if (dataSourceTestConfiguration == null && clazz.getSuperclass() != null) { - dataSourceTestConfiguration = getApplicationContextTestConfiguration(clazz.getSuperclass()); - } - return dataSourceTestConfiguration; - } - public void assertSchemaCreated(ObserveTopiaApplicationContext topiaApplicationContext) { try (ObserveTopiaPersistenceContext topiaPersistenceContext = topiaApplicationContext.newPersistenceContext()) { 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 003422d..c24c43f 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 @@ -37,8 +37,10 @@ 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.test.DataSourceResourceConfiguration; import fr.ird.observe.test.TestHelper; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.rules.TestRule; @@ -52,6 +54,7 @@ import org.nuiton.util.version.Versions; import java.io.File; import java.io.IOException; +import java.lang.reflect.Method; import java.nio.file.Files; import java.nio.file.Path; @@ -242,31 +245,30 @@ public class DataSourceResource implements TestRule { log.debug("Starts " + testClass.getName() + "::" + methodName); } - DataSourceResourceConfiguration dataSourceResourceConfiguration = testClass.getMethod(methodName).getAnnotation(DataSourceResourceConfiguration.class); + Method testClassMethod = testClass.getMethod(methodName); String dbVersionStr; - if (dataSourceResourceConfiguration == null) { - useSharedDatabase = true; - dbName = null; - dbVersionStr = null; + DatabaseNameConfiguration databaseNameConfiguration = testClassMethod.getAnnotation(DatabaseNameConfiguration.class); + if (databaseNameConfiguration != null) { + dbName = databaseNameConfiguration.value().name(); } else { - useSharedDatabase = dataSourceResourceConfiguration.useSharedDatabase(); - dbName = dataSourceResourceConfiguration.dbName().name(); - dbVersionStr = dataSourceResourceConfiguration.dbVersion(); - } - - if (Strings.isNullOrEmpty(dbName)) { dbName = applicationContextResource.getDbName(); } Preconditions.checkState(!Strings.isNullOrEmpty(dbName), "Pas de nom de base spécifié"); - if (Strings.isNullOrEmpty(dbVersionStr)) { + DatabaseVersionConfiguration databaseVersionConfiguration = testClassMethod.getAnnotation(DatabaseVersionConfiguration.class); + if (databaseVersionConfiguration != null) { + dbVersionStr = databaseVersionConfiguration.value(); + } else { dbVersionStr = applicationContextResource.getDbVersion(); } Preconditions.checkState(!Strings.isNullOrEmpty(dbVersionStr), "Pas de version de base spécifié"); dbVersion = Versions.valueOf(dbVersionStr); + CopyDatabaseConfiguration copyDatabaseConfiguration = testClassMethod.getAnnotation(CopyDatabaseConfiguration.class); + useSharedDatabase = copyDatabaseConfiguration == null; + if (log.isDebugEnabled()) { log.debug("Starts " + testClass.getName() + "::" + methodName); } 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 a457863..0d95dff 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 @@ -2,7 +2,6 @@ package fr.ird.observe.services.binder; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; @@ -125,6 +124,7 @@ import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -140,7 +140,7 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class BinderEngineTest extends AbstractServiceTopiaTest { /** Logger. */ 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 162e2e9..7e9fe9a 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 @@ -8,6 +8,9 @@ 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.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.junit.Assert; import org.junit.ClassRule; import org.junit.Rule; @@ -19,6 +22,8 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ +@DatabaseNameConfiguration(DatabaseName.referentiel) +@DatabaseVersionConfiguration(AbstractServiceTopiaTest.DEFAULT_VERSION) public class AbstractServiceTopiaTest { public static final String OLD_VERSION = "4.0.1"; @@ -33,7 +38,6 @@ public class AbstractServiceTopiaTest { public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; - @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); @@ -42,7 +46,7 @@ public class AbstractServiceTopiaTest { protected Date getLastUpdate(Class entityType) { try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext()) { - return persistenceContext.getLastUpdate(entityType); + return persistenceContext.getLastUpdateDate(entityType); } } 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 4d89b4c..78e445f 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 @@ -23,8 +23,8 @@ package fr.ird.observe.services.service; */ import com.google.common.collect.ImmutableSet; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; @@ -37,7 +37,7 @@ import org.junit.Test; * FIXME IT tests */ @Ignore -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) 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 d62bd99..e95c9ec 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 @@ -25,8 +25,6 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.entities.migration.H2DataSourceMigration; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; @@ -36,6 +34,8 @@ import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationExce import fr.ird.observe.services.dto.referential.GearDto; import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.TestHelper; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -54,7 +54,7 @@ import java.util.Date; * FIXME IT tests */ @Ignore -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataSourceTest, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataSourceTest) public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -71,7 +71,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test(expected = DatabaseNotFoundException.class) public void testOpenNotExistingDatabase() throws IOException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { @@ -157,7 +157,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test public void testCreateEmptyDataSource() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -170,7 +170,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test public void testCreateDataSourceFromImportDatabase() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -187,7 +187,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test public void testCreateDataSourceFromImportReferential() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -211,7 +211,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test public void testCreateDataSourceFromImportReferentialAndData() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java index dd2b991..71842b6 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -1,10 +1,10 @@ package fr.ird.observe.services.service; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -21,7 +21,7 @@ import java.nio.file.Files; * @author Tony Chemit - chemit@codelutin.com */ @Ignore -@ApplicationContextResourceConfiguration(dbVersion = MigrateTestsDatabases.FROM_VERSION) +@DatabaseVersionConfiguration(MigrateTestsDatabases.FROM_VERSION) public class MigrateTestsDatabases extends AbstractServiceTopiaTest { /** Logger. */ @@ -31,19 +31,19 @@ public class MigrateTestsDatabases extends AbstractServiceTopiaTest { public static final String TO_VERSION = "5.0-2"; - @DataSourceResourceConfiguration(dbName = DatabaseName.referentiel) + @DatabaseNameConfiguration(DatabaseName.referentiel) @Test public void migrateReferentielDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { migrateReferentielDb(TO_VERSION); } - @DataSourceResourceConfiguration(dbName = DatabaseName.dataForTestSeine) + @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) @Test public void migrateDataForTestSeineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { migrateReferentielDb(TO_VERSION); } - @DataSourceResourceConfiguration(dbName = DatabaseName.dataForTestLongline) + @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) @Test public void migrateDataForTestLonglineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { migrateReferentielDb(TO_VERSION); 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 4960b6b..46133ef 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,8 +26,6 @@ import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.LengthWeightParameter; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Program; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; @@ -35,6 +33,8 @@ 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.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -51,7 +51,7 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -82,7 +82,7 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { //FIXME En réutilisant une table de lastUpdateDate @Ignore @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void testDelete() throws Exception { ObserveTopiaPersistenceContext tx = dataSourceResource.newPersistenceContext(); @@ -135,13 +135,13 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(form.getObject()); Assert.assertNotNull(form.getObject().getId()); - Date lastUpdateBefore = persistenceContext.getLastUpdate(entityType); + Date lastUpdateBefore = persistenceContext.getLastUpdateDate(entityType); service.delete(dtoType, entity.getTopiaId()); Assert.assertEquals(expectedCount - 1, dao.count()); - Date lastUpdateAfter = persistenceContext.getLastUpdate(entityType); + Date lastUpdateAfter = persistenceContext.getLastUpdateDate(entityType); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); try { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java index 248859a..dd08e50 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java @@ -24,10 +24,10 @@ package fr.ird.observe.services.service.actions.consolidate; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -39,7 +39,7 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class ConsolidateDataServiceTopiaTest extends AbstractServiceTopiaTest { protected ConsolidateDataService service; @@ -50,7 +50,7 @@ public class ConsolidateDataServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void testConsolidateTripSeines() throws Exception { ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); 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 00b4414..73bd3be 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 @@ -23,7 +23,6 @@ package fr.ird.observe.services.service.actions.report; import com.google.common.collect.Iterables; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; 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; @@ -31,6 +30,7 @@ import fr.ird.observe.services.dto.actions.report.ReportRequest; import fr.ird.observe.services.dto.actions.report.ReportVariable; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -52,7 +52,7 @@ import java.util.Map; * @author Tony Chemit - chemit@codelutin.com * @since 1.9 */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger */ diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java index d6ddff8..95f5e5d 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java @@ -24,12 +24,12 @@ package fr.ird.observe.services.service.actions.validate; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -38,7 +38,7 @@ import org.nuiton.validator.NuitonValidatorScope; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class ValidateServiceTopiaTest extends AbstractServiceTopiaTest { protected ValidateService service; 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 effc0a5..d0bef59 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 @@ -26,8 +26,6 @@ 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.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -42,6 +40,9 @@ import fr.ird.observe.services.dto.referential.longline.HookTypeDto; import fr.ird.observe.services.dto.referential.longline.LineTypeDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -50,7 +51,8 @@ import org.nuiton.util.DateUtil; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestLongline, dbVersion = AbstractServiceTopiaTest.OLD_VERSION) +@DatabaseVersionConfiguration(AbstractServiceTopiaTest.OLD_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestLongline) public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServiceTopiaTest { protected SetLonglineDetailCompositionService service; @@ -92,7 +94,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveTest() { Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID); 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 64267f4..fd383e9 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 @@ -22,11 +22,11 @@ package fr.ird.observe.services.service.seine; * #L% */ -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -35,7 +35,7 @@ import org.nuiton.util.DateUtil; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class RouteServiceTopiaTest extends AbstractServiceTopiaTest { protected RouteService service; 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 8aaa1d8..f73dfef 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 @@ -22,11 +22,11 @@ package fr.ird.observe.services.service.seine; * #L% */ -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -34,7 +34,7 @@ import org.junit.Test; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class TargetSampleServiceTopiaTest extends AbstractServiceTopiaTest { public static String SET_SEINE_ID = "fr.ird.observe.entities.seine.SetSeine#1359573677233#0.016313003525718517"; 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 93134a6..6613642 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 @@ -26,8 +26,6 @@ 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.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; @@ -36,6 +34,8 @@ import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -44,7 +44,7 @@ import org.nuiton.topia.persistence.TopiaEntities; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { protected TripSeineGearUseService service; @@ -111,7 +111,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveUpdateTest() { Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); 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 5b2400c..0e99d68 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 fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.ObserveServiceContextTopiaTaiste; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; @@ -43,6 +41,8 @@ import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; @@ -55,7 +55,7 @@ import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { protected TripSeineService service; @@ -180,7 +180,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveCreateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.preCreate(PROGRAM_ID); @@ -234,7 +234,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveUpdateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); @@ -289,7 +289,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test(expected = ConcurrentModificationException.class) - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveConcurrentTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); @@ -319,7 +319,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { //FIXME En réutilisant une table de lastUpdateDate @Ignore @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void deleteTest() { Date lastUpdateBefore = getLastUpdate(TripSeine.class); diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java deleted file mode 100644 index 9635276..0000000 --- a/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.ird.observe.test; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * To define how to load a datasource resource on a test class. - * - * Created on 25/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -public @interface ApplicationContextResourceConfiguration { - - /** - * @return version of database to use. - */ - String dbVersion() default ""; - - /** - * @return Name of database to use. - */ - DatabaseName dbName() default DatabaseName.referentiel; -} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java deleted file mode 100644 index 4356d07..0000000 --- a/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.ird.observe.test; - -import fr.ird.observe.test.DatabaseName; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * To define how to load a datasource resource on a test method. - * - * Created on 25/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -@Target(ElementType.METHOD) -@Retention(RetentionPolicy.RUNTIME) -public @interface DataSourceResourceConfiguration { - - /** - * @return version of database to use. - */ - String dbVersion() default ""; - - /** - * @return Name of database to use. - */ - DatabaseName dbName() default DatabaseName.referentiel; - - /** - * return {@code true} to use the shared database, otherwise will - * use a copy of the shared database (mainly used when you modify a database). - */ - boolean useSharedDatabase() default true; -} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java index f4fc944..aa3defc 100644 --- a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java +++ b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java @@ -36,6 +36,7 @@ import org.nuiton.util.version.Versions; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.lang.annotation.Annotation; import java.lang.reflect.Modifier; import java.net.URL; import java.util.Date; @@ -303,4 +304,13 @@ public abstract class TestHelper { } + public static <E extends Annotation> E getAnnotation(Class<?> clazz, Class<E> annotationType) { + + E dataSourceTestConfiguration = clazz.getAnnotation(annotationType); + + if (dataSourceTestConfiguration == null && clazz.getSuperclass() != null) { + dataSourceTestConfiguration = getAnnotation(clazz.getSuperclass(), annotationType); + } + return dataSourceTestConfiguration; + } } diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java new file mode 100644 index 0000000..f63e548 --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java @@ -0,0 +1,17 @@ +package fr.ird.observe.test.spi; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface CopyDatabaseConfiguration { + +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java new file mode 100644 index 0000000..5d37dfe --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java @@ -0,0 +1,21 @@ +package fr.ird.observe.test.spi; + +import fr.ird.observe.test.DatabaseName; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(value = {ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface DatabaseNameConfiguration { + + DatabaseName value() default DatabaseName.referentiel; + +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java new file mode 100644 index 0000000..6bd1c9d --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java @@ -0,0 +1,19 @@ +package fr.ird.observe.test.spi; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(value = {ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface DatabaseVersionConfiguration { + + String value() default ""; + +} -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit e744c95114d9d273575e4215ae0aedf091047608 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:48:32 2015 +0100 Ajout d'une table globale des dates de dernières mises à jour (utilisé pour les suppressions) (See #7470) --- .../migration/AbstractDataSourceMigration.java | 4 +- .../DataSourceMigrationForVersion_5_0_3.java | 72 ++++++++++++++ .../db/5.0-3/add_lastUpdateDate_table-H2.sql | 106 +++++++++++++++++++++ .../db/5.0-3/add_lastUpdateDate_table-PG.sql | 106 +++++++++++++++++++++ observe-entities/src/main/xmi/observe-common.zargo | Bin 37208 -> 37603 bytes .../services/service/MigrateTestsDatabases.java | 2 +- .../resources/db/5.0-3/dataForTestSeine.sql.gz | Bin 0 -> 437565 bytes .../src/main/resources/db/5.0-3/referentiel.sql.gz | Bin 0 -> 142041 bytes pom.xml | 2 +- 9 files changed, 289 insertions(+), 3 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 1057701..7aaaa1f 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 @@ -90,13 +90,15 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version V_5_0__2 = Versions.valueOf("5.0-2"); + public static final Version V_5_0__3 = Versions.valueOf("5.0-3"); + /** 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, // FIXME A utiliser en version final 5.0 //V_5_0 - V_5_0__1, V_5_0__2 + V_5_0__1, V_5_0__2, V_5_0__3 }; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_3.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_3.java new file mode 100644 index 0000000..b857242 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_3.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_3 extends AbstractObserveMigrationCallBack { + + public DataSourceMigrationForVersion_5_0_3(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(AbstractDataSourceMigration.V_5_0__3, callBack, scriptSuffix); + } + + @Override + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, + List<String> queries, + boolean showSql, + boolean showProgression) { + + // Ajout de la table lastUpdateDate + // See https://forge.codelutin.com/issues/7470 + addScript("add_lastUpdateDate_table", queries); + + } + + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_3 { + + public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, H2DataSourceMigration.TYPE); + } + + } + + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_3 { + + public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, PGDataSourceMigration.TYPE); + } + + } + +} diff --git a/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-H2.sql b/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-H2.sql new file mode 100644 index 0000000..68ce124 --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-H2.sql @@ -0,0 +1,106 @@ +DROP TABLE IF EXISTS OBSERVE_COMMON.LASTUPDATEDATE; +CREATE TABLE OBSERVE_COMMON.LASTUPDATEDATE (TOPIAID VARCHAR(255) NOT NULL, TOPIAVERSION BIGINT NOT NULL, TOPIACREATEDATE TIMESTAMP NOT NULL, TYPE VARCHAR(255) NOT NULL UNIQUE, LASTUPDATEDATE TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP); +ALTER TABLE OBSERVE_COMMON.LASTUPDATEDATE ADD CONSTRAINT PK_LASTUPDATEDATE PRIMARY KEY (TOPIAID); +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_LASTUPDATEDATE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_LASTUPDATEDATE_LASTUPDATEDATE ON OBSERVE_COMMON.LASTUPDATEDATE (TYPE, LASTUPDATEDATE); + +-- Referentiel commum +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Country', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.FpaZone', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Gear', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristic', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristicType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Harbour', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.LengthWeightParameter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Ocean', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Organism', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Person', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Program', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Sex', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Species', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesGroup', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesList', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Vessel', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselSizeCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselType', CURRENT_TIMESTAMP); +-- Référentiel Senne +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.19', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.DetectionMode', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.20', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.21', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.22', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.23', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObservedSystem', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.24', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForDiscard', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.26', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNullSet', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.27', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.28', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.29', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SurroundingActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.30', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.31', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.32', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.VesselActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.33', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.WeightCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.34', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.Wind', CURRENT_TIMESTAMP); +-- Référentiel Palangre +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.35', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.36', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitSettingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.37', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.38', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.CatchFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.39', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.EncounterType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.40', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.Healthness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.41', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.42', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookSize', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.43', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.44', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.45', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.46', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksColor', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.47', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightstickstTpe', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.48', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LineType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.49', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MaturityStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.50', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MitigationType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.51', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorBrand', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.52', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorDataFormat', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.53', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.54', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SettingShape', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.55', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SizeMeasureType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.56', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.StomacFullness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.57', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.TripType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.58', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.VesselActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.59', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); +-- Data Senne +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.60', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ActivitySeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.61', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.FloatingObject', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.62', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.GearUsefeaturesMeasurement', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.63', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.GearUsefeatures', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.64', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetCatch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.65', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetLength', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.66', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetSample', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.67', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ObjectObservedSpecies', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.68', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ObjectSchoolEstimate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.69', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.Route', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.70', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SchoolEstimate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.71', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SetSeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.72', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetCatch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.73', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetLength', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.74', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetSample', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.75', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TransmittingBuoy', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.76', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TripSeine', CURRENT_TIMESTAMP); +-- Data Palangre +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.77', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.ActivityLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.78', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.BaitsComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.79', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Basket', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.80', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Branchline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.81', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.BranchlinesComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.82', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Catch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.83', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Encounter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.84', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.FloatlinesComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.85', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.GearUsefeatures', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.86', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.GearUsefeaturesMeasurement', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.87', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.HooksComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.88', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Section', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.89', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SensorUsed', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.90', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SetLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.91', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SizeMeasure', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.92', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Tdr', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.93', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TdrRecord', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.94', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TripLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.95', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.WeightMeasure ', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-PG.sql b/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-PG.sql new file mode 100644 index 0000000..a9e8aab --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-PG.sql @@ -0,0 +1,106 @@ +DROP TABLE IF EXISTS OBSERVE_COMMON.LASTUPDATEDATE; +CREATE TABLE OBSERVE_COMMON.LASTUPDATEDATE (TOPIAID character varying(255) NOT NULL, TOPIAVERSION BIGINT NOT NULL, TOPIACREATEDATE TIMESTAMP NOT NULL, TYPE character varying(255) NOT NULL UNIQUE, LASTUPDATEDATE TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP); +ALTER TABLE OBSERVE_COMMON.LASTUPDATEDATE ADD CONSTRAINT PK_LASTUPDATEDATE PRIMARY KEY (TOPIAID); +DROP INDEX IF EXISTS INDEX_OBSERVE_COMMON_LASTUPDATEDATE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_LASTUPDATEDATE_LASTUPDATEDATE ON OBSERVE_COMMON.LASTUPDATEDATE (TYPE, LASTUPDATEDATE); + +-- Referentiel commum +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Country', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.FpaZone', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Gear', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristic', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristicType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Harbour', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.LengthWeightParameter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Ocean', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Organism', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Person', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Program', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Sex', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Species', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesGroup', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesList', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Vessel', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselSizeCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselType', CURRENT_TIMESTAMP); +-- Référentiel Senne +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.19', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.DetectionMode', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.20', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.21', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.22', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.23', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObservedSystem', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.24', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForDiscard', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.26', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNullSet', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.27', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.28', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.29', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SurroundingActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.30', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.31', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.32', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.VesselActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.33', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.WeightCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.34', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.Wind', CURRENT_TIMESTAMP); +-- Référentiel Palangre +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.35', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.36', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitSettingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.37', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.38', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.CatchFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.39', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.EncounterType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.40', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.Healthness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.41', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.42', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookSize', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.43', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.44', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.45', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.46', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksColor', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.47', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightstickstTpe', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.48', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LineType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.49', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MaturityStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.50', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MitigationType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.51', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorBrand', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.52', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorDataFormat', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.53', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.54', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SettingShape', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.55', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SizeMeasureType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.56', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.StomacFullness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.57', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.TripType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.58', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.VesselActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.59', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); +-- Data Senne +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.60', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ActivitySeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.61', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.FloatingObject', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.62', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.GearUsefeaturesMeasurement', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.63', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.GearUsefeatures', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.64', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetCatch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.65', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetLength', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.66', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetSample', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.67', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ObjectObservedSpecies', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.68', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ObjectSchoolEstimate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.69', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.Route', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.70', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SchoolEstimate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.71', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SetSeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.72', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetCatch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.73', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetLength', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.74', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetSample', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.75', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TransmittingBuoy', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.76', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TripSeine', CURRENT_TIMESTAMP); +-- Data Palangre +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.77', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.ActivityLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.78', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.BaitsComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.79', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Basket', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.80', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Branchline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.81', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.BranchlinesComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.82', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Catch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.83', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Encounter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.84', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.FloatlinesComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.85', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.GearUsefeatures', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.86', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.GearUsefeaturesMeasurement', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.87', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.HooksComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.88', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Section', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.89', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SensorUsed', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.90', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SetLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.91', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SizeMeasure', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.92', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Tdr', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.93', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TdrRecord', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.94', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TripLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.95', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.WeightMeasure ', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/xmi/observe-common.zargo b/observe-entities/src/main/xmi/observe-common.zargo index 1dfc7c4..6816ec0 100644 Binary files a/observe-entities/src/main/xmi/observe-common.zargo and b/observe-entities/src/main/xmi/observe-common.zargo differ diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java index 71842b6..c67b4d5 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -29,7 +29,7 @@ public class MigrateTestsDatabases extends AbstractServiceTopiaTest { public static final String FROM_VERSION = "4.0.1"; - public static final String TO_VERSION = "5.0-2"; + public static final String TO_VERSION = "5.0-3"; @DatabaseNameConfiguration(DatabaseName.referentiel) @Test diff --git a/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz new file mode 100644 index 0000000..f9f2226 Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz differ diff --git a/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz new file mode 100644 index 0000000..25eba82 Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz differ diff --git a/pom.xml b/pom.xml index e756b9f..0eff8c7 100644 --- a/pom.xml +++ b/pom.xml @@ -153,7 +153,7 @@ <devMode>true</devMode> <!--Modèle version--> - <observe.model.version>5.0-2</observe.model.version> + <observe.model.version>5.0-3</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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 2fd2971d1f984d1d85e3bd239c5e4b89090824c7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:48:54 2015 +0100 Changement du niveau de log --- .../java/fr/ird/observe/services/service/DataSourceServiceTopia.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java index 19af79f..9150146 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java @@ -157,8 +157,8 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaSupport) dataSourceConfiguration, initSchema); - if (log.isInfoEnabled()) { - log.info("Create topia application context: " + topiaApplicationContext); + if (log.isDebugEnabled()) { + log.debug("Create topia application context: " + topiaApplicationContext); } if (dataSourceCreateConfiguration.isImportDatabase()) { -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit d6fcd2b1510741359981deec9793dd24eb23caed Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:46:46 2015 +0100 Ajout de la talbe LastupdateDate dans la synchronisation du référentiel --- .../observe/ObserveTopiaPersistenceContext.java | 28 ++++++++++++++++++++- .../java/fr/ird/observe/entities/Entities.java | 4 ++- .../observe/entities/LastUpdateDateTopiaDao.java | 9 +++++++ .../dto/result/TripChildSaveResultDtos.java | 12 +++++++++ .../resources/db/5.0-3/dataForTestSeine.sql.gz | Bin 437565 -> 439122 bytes .../src/main/resources/db/5.0-3/referentiel.sql.gz | Bin 142041 -> 143337 bytes 6 files changed, 51 insertions(+), 2 deletions(-) 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 f3d777c..1eb669b 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -23,16 +23,43 @@ package fr.ird.observe; */ import com.google.common.base.Preconditions; +import fr.ird.observe.entities.LastUpdateDate; +import fr.ird.observe.entities.LastUpdateDateTopiaDao; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; +import java.util.Date; + public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersistenceContext { public ObserveTopiaPersistenceContext(AbstractTopiaPersistenceContextConstructorParameter parameter) { super(parameter); } + public Date getLastUpdateDate(Class entityType) { + + LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); + LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + return lastUpdateDate.getLastUpdateDate(); + + } + + public <E extends TopiaEntity> void updateLastUpdateDate(Class<E> entityType, Date date) { + + LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); + LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + lastUpdateDate.setLastUpdateDate(date); + + } + + public <E extends TopiaEntity> void updateLastUpdateDate(E entityType, Date date) { + + Class<E> type = getType(entityType); + updateLastUpdateDate(type, date); + + } + public void flush() { getHibernateSupport().getHibernateSession().flush(); } @@ -48,5 +75,4 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste public <E extends TopiaEntity> TopiaDao<E> getDao(E entity) { return getDao(getType(entity)); } - } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java index b2d3f62..2df93dc 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java @@ -72,7 +72,8 @@ public class Entities { ObserveEntityEnum.Program, ObserveEntityEnum.GearCaracteristicType, ObserveEntityEnum.GearCaracteristic, - ObserveEntityEnum.Gear + ObserveEntityEnum.Gear, + ObserveEntityEnum.LastUpdateDate }; public static final ObserveEntityEnum[] REFERENCE_SEINE_ENTITIES = @@ -153,6 +154,7 @@ public class Entities { ObserveEntityEnum.GearCaracteristicType, ObserveEntityEnum.GearCaracteristic, ObserveEntityEnum.Gear, + ObserveEntityEnum.LastUpdateDate, ObserveEntityEnum.VesselActivitySeine, ObserveEntityEnum.SurroundingActivity, diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/LastUpdateDateTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/LastUpdateDateTopiaDao.java new file mode 100644 index 0000000..e8c5582 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/LastUpdateDateTopiaDao.java @@ -0,0 +1,9 @@ +package fr.ird.observe.entities; + +public class LastUpdateDateTopiaDao extends AbstractLastUpdateDateTopiaDao<LastUpdateDate> { + + public LastUpdateDate findUniqueByType(String v) { + return forTypeEquals(v).findUnique(); + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java new file mode 100644 index 0000000..56d2d6c --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java @@ -0,0 +1,12 @@ +package fr.ird.observe.services.dto.result; + +public class TripChildSaveResultDtos extends AbstractTripChildSaveResultDtos { + + public static TripChildSaveResultDto of(SaveResultDto incoming) { + TripChildSaveResultDto result = new TripChildSaveResultDto(); + result.setId(incoming.getId()); + result.setLastUpdate(incoming.getLastUpdate()); + return result; + } + +} diff --git a/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz index f9f2226..e776b2d 100644 Binary files a/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz and b/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz differ diff --git a/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz index 25eba82..508bb0a 100644 Binary files a/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz and b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 8bd2466f6556559993b76de3f465460b4434c15d Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:48:08 2015 +0100 Mise en place de la mise à jour de la date de dernière mise à jour lors de la sauvegarde ou suppression d'une entité (il faudra bien repasser sur chaque appel, car il me semble que cela n'est pas bien géré partout) (See #7470) --- .../ird/observe/services/ObserveServiceTopia.java | 74 ++++++++++++---------- .../services/service/ReferentialServiceTopia.java | 9 +-- .../ActivityLongLineEncouterServiceTopia.java | 9 +-- .../ActivityLongLineSensorUsedServiceTopia.java | 9 +-- .../longline/ActivityLonglineServiceTopia.java | 13 ++-- .../service/longline/BranchlineServiceTopia.java | 7 +- .../longline/SetLonglineCatchServiceTopia.java | 9 +-- .../SetLonglineDetailCompositionServiceTopia.java | 7 +- .../SetLonglineGlobalCompositionServiceTopia.java | 9 +-- .../service/longline/SetLonglineServiceTopia.java | 7 +- .../services/service/longline/TdrServiceTopia.java | 9 +-- .../longline/TripLonglineGearUseServiceTopia.java | 7 +- .../service/longline/TripLonglineServiceTopia.java | 9 ++- .../ActivitySeineObservedSystemServiceTopia.java | 9 +-- .../service/seine/ActivitySeineServiceTopia.java | 11 ++-- .../service/seine/FloatingObjectServiceTopia.java | 8 +-- .../service/seine/NonTargetCatchServiceTopia.java | 6 +- .../service/seine/NonTargetSampleServiceTopia.java | 6 +- .../seine/ObjectObservedSpeciesServiceTopia.java | 9 +-- .../seine/ObjectSchoolEstimateServiceTopia.java | 9 +-- .../services/service/seine/RouteServiceTopia.java | 13 ++-- .../service/seine/SchoolEstimateServiceTopia.java | 6 +- .../service/seine/SetSeineServiceTopia.java | 5 +- .../service/seine/TargetCatchServiceTopia.java | 6 +- .../service/seine/TargetSampleServiceTopia.java | 6 +- .../TransmittingBuoyOperationServiceTopia.java | 9 +-- .../seine/TripSeineGearUseServiceTopia.java | 13 +--- .../service/seine/TripSeineServiceTopia.java | 9 ++- 28 files changed, 93 insertions(+), 210 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 fa44f55..822db49 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 @@ -31,7 +31,6 @@ import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.entities.ObserveEntity; -import fr.ird.observe.entities.ObserveEntityTopiaDao; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.BinderEngine; @@ -52,6 +51,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti 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.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.service.ConcurrentModificationException; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.DataSourceService; @@ -144,55 +145,64 @@ public abstract class ObserveServiceTopia implements ObserveService { return entities; } - protected <E extends ObserveEntity> Date saveFollowedEntity(E entity) { + protected <E extends ObserveEntity> Optional<Date> getLastUpdate(Class<E> entityType) { - Date lastUpdateDate = now(); - entity.setLastUpdateDate(lastUpdateDate); + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + Date lastUpdateDate = persistenceContext.getLastUpdateDate(entityType); + Optional<Date> result = Optional.fromNullable(lastUpdateDate); - // 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 result; + } - return lastUpdateDate; + protected <D extends IdDto, E extends ObserveEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); + for (String id : ids) { + E entity = dao.forTopiaIdEquals(id).findUniqueOrNull(); + if (entity == null) { + throw new DataNotFoundException(dtoType, id); + } + dao.delete(entity); + } + + persistenceContext.updateLastUpdateDate(entityType, now()); } - //FIXME Remove this ? - @Deprecated - protected <P extends ObserveEntity, E extends ObserveEntity> Date saveFollowedEntity(P parentEntity, E entity) { + protected <E extends ObserveEntity> SaveResultDto saveEntity(E entity) { + + Date lastUpdateDate = now(); + entity.setLastUpdateDate(lastUpdateDate); + + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) - TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entity); + TopiaDao<E> dao = persistenceContext.getDao(entity); dao.update(entity); - Date lastUpdateDate = now(); - parentEntity.setLastUpdateDate(lastUpdateDate); - entity.setLastUpdateDate(lastUpdateDate); + persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); - return lastUpdateDate; + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } - protected <E extends ObserveEntity> Optional<Date> getLastUpdate(Class<E> entityType) { + protected <P extends ObserveEntity, E extends ObserveEntity> SaveResultDto saveEntity(P parenEntity, E entity) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - ObserveEntityTopiaDao dao = (ObserveEntityTopiaDao) persistenceContext.getDao(entityType); + Date lastUpdateDate = now(); - Optional<Date> result = Optional.fromNullable(dao.getLastUpdateDate()); + parenEntity.setLastUpdateDate(lastUpdateDate); + entity.setLastUpdateDate(lastUpdateDate); - return result; - } + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); + + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) + TopiaDao<E> dao = persistenceContext.getDao(entity); + dao.update(entity); + + persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); + + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - protected <D extends IdDto, E extends TopiaEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = persistenceContext.getDao(entityType); - for (String id : ids) { - E entity = dao.forTopiaIdEquals(id).findUniqueOrNull(); - if (entity == null) { - throw new DataNotFoundException(dtoType, id); - } - dao.delete(entity); - } } protected <E extends TopiaEntity, D extends DataDto> Form<D> dataEntityToForm(Class<D> dtoType, 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 c2a5831..4b6df57 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 @@ -45,7 +45,6 @@ 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; @@ -161,16 +160,10 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe } public <D extends ReferentialDto> SaveResultDto save(D dto) { - Class<D> dtoType = (Class<D>) dto.getClass(); - Class<ObserveReferentialEntity> entityType = getReferentialEntityType(dtoType); ObserveReferentialEntity entity = loadOrCreateEntityFromReferentialDto(dto); - copyReferentialDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } 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 39cf17f..53fb1c4 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 @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; 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 @@ -55,12 +52,8 @@ public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia im public SaveResultDto save(ActivityLonglineEncouterDto dto) { ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } 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 649a9df..b4ad724 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 @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; 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 @@ -54,12 +51,8 @@ public class ActivityLongLineSensorUsedServiceTopia extends ObserveServiceTopia public SaveResultDto save(ActivityLonglineSensorUsedDto dto) { ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } 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 460e63e..9d5524e 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 @@ -35,7 +35,9 @@ 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.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; +import fr.ird.observe.services.dto.result.TripChildSaveResultDtos; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.type.CoordinateHelper; @@ -159,18 +161,15 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements @Override public TripChildSaveResultDto save(String tripLonglineId, ActivityLonglineDto dto) { - TripChildSaveResultDto result = new TripChildSaveResultDto(); - TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto saveResultDto = saveEntity(entity); - result.setId(entity.getTopiaId()); - result.setLastUpdate(lastUpdateDate); + TripChildSaveResultDto result = TripChildSaveResultDtos.of(saveResultDto); if (dto.isNotPersisted()) { @@ -215,7 +214,7 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.addActivityLongline(activityLongline); - saveFollowedEntity(tripLongline); + saveEntity(tripLongline); return getActivityLonglinePositionInTripLongline(tripLongline, activityLongline); @@ -235,7 +234,7 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements result.add(getActivityLonglinePositionInTripLongline(tripLongline, activityLongline)); } - saveFollowedEntity(tripLongline); + saveEntity(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 349756a..cb4e638 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 @@ -8,9 +8,6 @@ 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 @@ -41,9 +38,7 @@ public class BranchlineServiceTopia extends ObserveServiceTopia implements Branc copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(setLongline, entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(setLongline, entity); } } 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 3085880..76b3e04 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 @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; 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 @@ -101,12 +98,8 @@ public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements public SaveResultDto save(SetLonglineCatchDto dto) { SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } 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 949b718..8476de2 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 @@ -34,9 +34,6 @@ import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; 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 @@ -103,13 +100,13 @@ public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopi copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); for (Section section : entity.getSection()) { section.setSetLongline(entity); } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } 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 6f99b5d..732a8d9 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 @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; 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 @@ -54,12 +51,8 @@ public class SetLonglineGlobalCompositionServiceTopia extends ObserveServiceTopi public SaveResultDto save(SetLonglineGlobalCompositionDto dto) { SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } 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 8e03be4..eb1095f 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 @@ -37,7 +37,6 @@ import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDto; 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; import org.apache.commons.lang3.time.DateUtils; @@ -136,15 +135,13 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); if (dto.isNotPersisted()) { - activityLongline.setSetLongline(entity); - } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } 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 01ccff0..c0ecda1 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 @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; 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 @@ -102,12 +99,8 @@ public class TdrServiceTopia extends ObserveServiceTopia implements TdrService { public SaveResultDto save(SetLonglineTdrDto dto) { SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } 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 5da1029..cb7770c 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 @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; 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 @@ -58,14 +55,12 @@ public class TripLonglineGearUseServiceTopia extends ObserveServiceTopia impleme copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + return saveEntity(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(), 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 7a31e8c..e526d16 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 @@ -37,7 +37,6 @@ import fr.ird.observe.services.dto.longline.TripLonglineDto; 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; import org.nuiton.util.DateUtil; import java.util.ArrayList; @@ -163,12 +162,12 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } @@ -185,7 +184,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri Program program = loadEntity(ProgramDto.class, programId); tripLongline.setProgram(program); - saveFollowedEntity(tripLongline); + saveEntity(tripLongline); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); @@ -207,7 +206,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.setProgram(program); - saveFollowedEntity(tripLongline); + saveEntity(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 a1edbab..9a3f757 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 @@ -27,11 +27,8 @@ 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.ActivitySeineObservedSystemDto; -import java.util.Date; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -53,12 +50,8 @@ public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia public SaveResultDto save(ActivitySeineObservedSystemDto dto) { ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } 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 5416d8e..ff31660 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 @@ -35,7 +35,6 @@ 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.service.DataNotFoundException; @@ -181,15 +180,13 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); if (dto.isNotPersisted()) { - route.addActivitySeine(entity); - } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } @@ -215,7 +212,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac Route route = loadEntity(RouteDto.class, routeId); route.addActivitySeine(activitySeine); - saveFollowedEntity(route); + saveEntity(route); return getActivitySeinePositionInRoute(route, activitySeine); @@ -235,7 +232,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac result.add(getActivitySeinePositionInRoute(routeId, activityId)); } - saveFollowedEntity(route); + saveEntity(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 ab7235e..2632952 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,12 +32,10 @@ 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; /** @@ -108,15 +106,13 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); if (dto.isNotPersisted()) { - activitySeine.addFloatingObject(entity); - } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } 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 267503a..57b91b1 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 @@ -37,13 +37,11 @@ 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.NonTargetCatchDto; 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; /** @@ -144,9 +142,7 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N } } - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } 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 039633c..c93f36e 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,12 +32,10 @@ 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; /** @@ -128,9 +126,7 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements } - Date lastUpdateDate = saveFollowedEntity(setSeine, entity); - - return SaveResultDtos.of(setSeine.getTopiaId(), lastUpdateDate); + return saveEntity(setSeine, entity); } } 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 024ae98..dbd4b07 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 @@ -27,11 +27,8 @@ 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 */ @@ -56,12 +53,8 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple public SaveResultDto save(FloatingObjectObservedSpeciesDto dto) { FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } 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 579266c..87dac72 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 @@ -27,11 +27,8 @@ 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 */ @@ -57,12 +54,8 @@ public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implem public SaveResultDto save(FloatingObjectSchoolEstimateDto dto) { FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } 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 9b2eafd..4f298be 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 @@ -38,6 +38,7 @@ 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.SaveResultDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; import fr.ird.observe.services.dto.seine.RouteDto; @@ -198,16 +199,16 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto saveResultDto = saveEntity(entity); - result.setId(entity.getTopiaId()); - result.setLastUpdate(lastUpdateDate); + result.setId(saveResultDto.getId()); + result.setLastUpdate(saveResultDto.getLastUpdate()); if (dto.isNotPersisted()) { tripSeine.addRoute(entity); - saveFollowedEntity(tripSeine); + saveEntity(tripSeine); } else { Date oldDate = DateUtil.getDay(oldRouteDate); @@ -255,7 +256,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); + saveEntity(tripSeine); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); @@ -276,7 +277,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi result.add(getRoutePositionInTripSeine(tripSeine, route)); } - saveFollowedEntity(tripSeine); + saveEntity(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 c0f5694..65adbeb 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 @@ -30,12 +30,9 @@ 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 */ @@ -71,8 +68,7 @@ public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements S schoolEstimate.setSetSeine(entity); } - Date lastUpdateDate = saveFollowedEntity(entity); - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } 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 6e516dd..c2b0bce 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 @@ -31,7 +31,6 @@ 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; @@ -127,7 +126,7 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); if (dto.isNotPersisted()) { @@ -135,7 +134,7 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } 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 a27ef1f..4e26028 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 @@ -17,7 +17,6 @@ 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; import fr.ird.observe.services.dto.seine.TargetCatchDto; import fr.ird.observe.services.dto.seine.TargetCatchDtos; @@ -25,7 +24,6 @@ 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; @@ -148,9 +146,7 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ Optional<TargetCatch> targetCatchDiscardedOptional = Iterables.tryFind(entity.getTargetCatch(), TargetCatchs.newDiscardedPredicate(true)); entity.setTargetDiscarded(targetCatchDiscardedOptional.isPresent()); - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } 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 8697d4d..0934319 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,13 +32,11 @@ 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.SetSeineDto; 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; /** @@ -132,9 +130,7 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } - Date lastUpdateDate = saveFollowedEntity(setSeine, entity); - - return SaveResultDtos.of(setSeine.getTopiaId(), lastUpdateDate); + return saveEntity(setSeine, entity); } } 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 821e03f..8e29444 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 @@ -27,11 +27,8 @@ 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 */ @@ -57,12 +54,8 @@ public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia i public SaveResultDto save(FloatingObjectTransmittingBuoyDto dto) { FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } 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 4fd50ae..0fd9082 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 @@ -27,11 +27,8 @@ 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.TripSeineGearUseDto; -import java.util.Date; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -55,16 +52,8 @@ public class TripSeineGearUseServiceTopia extends ObserveServiceTopia implements public SaveResultDto save(TripSeineGearUseDto dto) { TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(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(), lastUpdateDate); + return saveEntity(entity); } } 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 8649932..f7a3812 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 @@ -36,7 +36,6 @@ 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; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.nuiton.util.DateUtil; @@ -169,12 +168,12 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } @@ -191,7 +190,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); + saveEntity(tripSeine); getTopiaPersistenceContext().flush(); @@ -211,7 +210,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); tripSeine.setProgram(program); - saveFollowedEntity(tripSeine); + saveEntity(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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit cde7c09f0c3fb2bbb5b40e67a8f0eb873bc90e07 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:48:49 2015 +0100 Utilisation de la dernière version du modèle de persistence --- .../java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 7e9fe9a..80a233e 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 @@ -28,7 +28,7 @@ public class AbstractServiceTopiaTest { public static final String OLD_VERSION = "4.0.1"; - public static final String DEFAULT_VERSION = "5.0-2"; + public static final String DEFAULT_VERSION = "5.0-3"; public static final String TRIP_SEINE_ID_1 = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit a97c28b20462334daaab8e5efedb97d4d2f9102e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:16:19 2015 +0100 Suppression d'un test inutile --- .../report/ReportSetByAssociation2Test.java | 50 ---------------------- 1 file changed, 50 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociation2Test.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociation2Test.java deleted file mode 100644 index c20e07b..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociation2Test.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * #%L - * ObServe :: Business - * %% - * 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.services.service.actions.report; - - -import fr.ird.observe.services.dto.actions.report.DataMatrix; -import org.junit.Ignore; - -/** - * Pour tester le report {@code dailySetAndCapture}. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 1.9 - */ -@Ignore -public class ReportSetByAssociation2Test extends ReportSetByAssociationTest { - - @Override - protected void testReportResult(DataMatrix result) { - assertResultDimension(result, 5, 3, 0, 0); - - // les 8 sets qu test 1 - // 10 calées representant chaque cas (set +, -) sur les 4 types - // d'association (le cas du BL sans 11 est traité 2 fois : une fois - // sans SO et une fois avec un BL spécifié) - assertResultRow(result, 0, "3", "2", "2", "2", "9"); - assertResultRow(result, 1, "3", "2", "2", "2", "9"); - assertResultRow(result, 2, "6", "4", "4", "4", "18"); - - } -} -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit e0e0eacaa0c7b4edecbab50ad5540c487682d9bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:17:11 2015 +0100 Faire fonctionner les tests de suppression (mais ajout d'un fixme) --- .../service/ReferentialServiceTopiaTest.java | 17 ++++------- .../service/seine/TripSeineServiceTopiaTest.java | 33 ++++------------------ 2 files changed, 12 insertions(+), 38 deletions(-) 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 46133ef..9e65256 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 @@ -32,17 +32,13 @@ import fr.ird.observe.services.dto.IdDto; 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.test.DatabaseName; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; -import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.nuiton.topia.persistence.TopiaDao; -import org.nuiton.topia.persistence.TopiaEntity; import java.util.Date; @@ -51,7 +47,6 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ -@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -79,8 +74,6 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } - //FIXME En réutilisant une table de lastUpdateDate - @Ignore @Test @CopyDatabaseConfiguration public void testDelete() throws Exception { @@ -120,12 +113,12 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } } - protected void delete(ObserveTopiaPersistenceContext persistenceContext, Class dtoType, Class entityType) { + protected <D extends ReferentialDto, E extends ObserveReferentialEntity> void delete(ObserveTopiaPersistenceContext persistenceContext, Class<D> dtoType, Class<E> entityType) { - TopiaDao<?> dao = persistenceContext.getDao(entityType); + TopiaDao<E> dao = persistenceContext.getDao(entityType); long expectedCount = dao.count(); - TopiaEntity entity = dao.iterator().next(); + E entity = dao.iterator().next(); if (log.isInfoEnabled()) { log.info("Test delete: " + entity.getTopiaId()); } @@ -141,7 +134,9 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(expectedCount - 1, dao.count()); - Date lastUpdateAfter = persistenceContext.getLastUpdateDate(entityType); + //FIXME On ne voit pas la date de mise à jour ici? alors que le dao est ok +// Date lastUpdateAfter = persistenceContext.getLastUpdateDate(entityType); + Date lastUpdateAfter = getLastUpdateDate(entityType); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); try { 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 0e99d68..c7a06a4 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 @@ -27,7 +27,6 @@ import fr.ird.observe.services.ObserveServiceContextTopiaTaiste; 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.referential.HarbourDto; import fr.ird.observe.services.dto.referential.OceanDto; import fr.ird.observe.services.dto.referential.PersonDto; @@ -45,7 +44,6 @@ import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.nuiton.util.DateUtil; @@ -208,7 +206,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { tripSeineDto.setComment("Un commentaire"); - Date lastUpdateBefore = getLastUpdate(TripSeine.class); + Date lastUpdateBefore = getLastUpdateDate(TripSeine.class); SaveResultDto saveResult = service.save(form.getObject()); @@ -229,7 +227,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeineDto.getComment(), tripSeine.getComment()); Assert.assertNotNull(tripSeine.getLastUpdateDate()); - Date lastUpdateAfter = getLastUpdate(TripSeine.class); + Date lastUpdateAfter = getLastUpdateDate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); } @@ -261,7 +259,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { tripSeineDto.setComment("Un commentaire"); - Date lastUpdateBefore = getLastUpdate(TripSeine.class); + Date lastUpdateBefore = getLastUpdateDate(TripSeine.class); service.save(form.getObject()); @@ -283,7 +281,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(tripSeine.getLastUpdateDate()); Assert.assertNotEquals(tripSeineDto.getLastUpdate(), tripSeine.getLastUpdateDate()); - Date lastUpdateAfter = getLastUpdate(TripSeine.class); + Date lastUpdateAfter = getLastUpdateDate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); } @@ -316,13 +314,11 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } - //FIXME En réutilisant une table de lastUpdateDate - @Ignore @Test @CopyDatabaseConfiguration public void deleteTest() { - Date lastUpdateBefore = getLastUpdate(TripSeine.class); + Date lastUpdateBefore = getLastUpdateDate(TripSeine.class); service.delete(TRIP_SEINE_ID_1); @@ -332,26 +328,9 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertFalse(dataSourceResource.exists(TripSeine.class, TRIP_SEINE_ID_1)); - Date lastUpdateAfter = getLastUpdate(TripSeine.class); + Date lastUpdateAfter = getLastUpdateDate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); } - 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 8679f9c2dc89e1e15cd1edde92f3c3f34e155f1a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:18:45 2015 +0100 Amélioration du code de mise à jour --- .../observe/ObserveTopiaPersistenceContext.java | 33 ++++++++++++++++------ .../ird/observe/services/ObserveServiceTopia.java | 17 ++--------- 2 files changed, 27 insertions(+), 23 deletions(-) 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 1eb669b..70330ca 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -25,6 +25,9 @@ package fr.ird.observe; import com.google.common.base.Preconditions; import fr.ird.observe.entities.LastUpdateDate; import fr.ird.observe.entities.LastUpdateDateTopiaDao; +import fr.ird.observe.entities.ObserveEntity; +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.internal.AbstractTopiaPersistenceContextConstructorParameter; @@ -33,30 +36,44 @@ import java.util.Date; public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersistenceContext { + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveTopiaPersistenceContext.class); + public ObserveTopiaPersistenceContext(AbstractTopiaPersistenceContextConstructorParameter parameter) { super(parameter); } - public Date getLastUpdateDate(Class entityType) { + public <E extends ObserveEntity> Date getLastUpdateDate(Class<E> entityType) { LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + if (log.isInfoEnabled()) { + log.info("getLastUpdateDate: " + lastUpdateDate.getLastUpdateDate() + " for entity type: " + entityType.getName()); + } return lastUpdateDate.getLastUpdateDate(); } - public <E extends TopiaEntity> void updateLastUpdateDate(Class<E> entityType, Date date) { + public <E extends ObserveEntity> void updateLastUpdateDate(E entity, Date date) { - LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); - LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); - lastUpdateDate.setLastUpdateDate(date); + entity.setLastUpdateDate(date); + + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) + getDao(entity).update(entity); + + Class<E> type = getType(entity); + updateLastUpdateDate(type, date); } - public <E extends TopiaEntity> void updateLastUpdateDate(E entityType, Date date) { + public <E extends ObserveEntity> void updateLastUpdateDate(Class<E> entityType, Date date) { - Class<E> type = getType(entityType); - updateLastUpdateDate(type, date); + LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); + LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + if (log.isInfoEnabled()) { + log.info("Change LastUpdateDate: " + date + " for entity type: " + entityType.getName()); + } + lastUpdateDate.setLastUpdateDate(date); } 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 822db49..e81b0c6 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 @@ -172,15 +172,8 @@ public abstract class ObserveServiceTopia implements ObserveService { protected <E extends ObserveEntity> SaveResultDto saveEntity(E entity) { Date lastUpdateDate = now(); - entity.setLastUpdateDate(lastUpdateDate); - ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); - - // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) - TopiaDao<E> dao = persistenceContext.getDao(entity); - dao.update(entity); - - persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); + getTopiaPersistenceContext().updateLastUpdateDate(entity, lastUpdateDate); return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); @@ -190,15 +183,9 @@ public abstract class ObserveServiceTopia implements ObserveService { Date lastUpdateDate = now(); - parenEntity.setLastUpdateDate(lastUpdateDate); - entity.setLastUpdateDate(lastUpdateDate); - ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); - // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) - TopiaDao<E> dao = persistenceContext.getDao(entity); - dao.update(entity); - + persistenceContext.updateLastUpdateDate(parenEntity, lastUpdateDate); persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 6662c85160020e6cd75049709eec1d20cbc6ee92 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:20:25 2015 +0100 Renommage méthode de test --- .../fr/ird/observe/services/service/AbstractServiceTopiaTest.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) 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 80a233e..9fc9ad2 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 @@ -44,11 +44,10 @@ public class AbstractServiceTopiaTest { @Rule public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource); - protected Date getLastUpdate(Class entityType) { + protected <E extends ObserveEntity> Date getLastUpdateDate(Class<E> entityType) { try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext()) { return persistenceContext.getLastUpdateDate(entityType); } - } protected void loadReferenceSets(ReferentialService referentialService, Form<?> form) { @@ -70,7 +69,6 @@ public class AbstractServiceTopiaTest { } else { Assert.assertEquals(entity.getTopiaId(), referenceDto.getId()); } - } protected void assertReferenceDtoEqualsEntity(ReferentialReference referenceDto, ObserveEntity entity) { @@ -79,7 +77,6 @@ public class AbstractServiceTopiaTest { } else { Assert.assertEquals(referenceDto.getId(), entity.getTopiaId()); } - } } -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 824f7a2b3025a183e80e74deea3db4b737a526fe Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Dec 27 09:50:54 2015 +0100 Ajout de la base de test pour longline (migrée en plus de 3heures...) + utilisation (enfin) des bases à jour pour les tests --- .../services/service/AbstractServiceTopiaTest.java | 2 -- .../SetLonglineDetailCompositionServiceTopiaTest.java | 2 -- .../main/resources/db/5.0-2/dataForTestSeine.sql.gz | Bin 437609 -> 0 bytes .../src/main/resources/db/5.0-2/referentiel.sql.gz | Bin 142009 -> 0 bytes .../resources/db/5.0-3/dataForTestLongline.sql.gz | Bin 0 -> 1579146 bytes 5 files changed, 4 deletions(-) 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 9fc9ad2..cfc5c0d 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 @@ -26,8 +26,6 @@ import java.util.Date; @DatabaseVersionConfiguration(AbstractServiceTopiaTest.DEFAULT_VERSION) public class AbstractServiceTopiaTest { - public static final String OLD_VERSION = "4.0.1"; - public static final String DEFAULT_VERSION = "5.0-3"; public static final String TRIP_SEINE_ID_1 = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; 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 d0bef59..e38cf70 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 @@ -42,7 +42,6 @@ import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import fr.ird.observe.test.spi.DatabaseNameConfiguration; -import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -51,7 +50,6 @@ import org.nuiton.util.DateUtil; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@DatabaseVersionConfiguration(AbstractServiceTopiaTest.OLD_VERSION) @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServiceTopiaTest { diff --git a/observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz b/observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz deleted file mode 100644 index a5deaf8..0000000 Binary files a/observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz and /dev/null differ diff --git a/observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz b/observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz deleted file mode 100644 index afe626a..0000000 Binary files a/observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz and /dev/null differ diff --git a/observe-test-data/src/main/resources/db/5.0-3/dataForTestLongline.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/dataForTestLongline.sql.gz new file mode 100644 index 0000000..36fb5aa Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-3/dataForTestLongline.sql.gz 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 46beb5bc612fcfc15db8ebff5e20a4ee04cf6e93 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Dec 27 10:58:00 2015 +0100 Amélioration de l'exception de concurrence --- .../service/ConcurrentModificationException.java | 31 +++++++++++----- .../ird/observe/services/ObserveServiceTopia.java | 41 +++++++++++----------- 2 files changed, 42 insertions(+), 30 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ConcurrentModificationException.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ConcurrentModificationException.java index 8d70181..f25fc4d 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ConcurrentModificationException.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ConcurrentModificationException.java @@ -7,20 +7,33 @@ import java.util.Date; */ public class ConcurrentModificationException extends RuntimeException { - protected final Date lastUpdate; + private static final long serialVersionUID = -4964630055605654415L; - protected final Date currentUpdate; + /** + * Entity id. + */ + protected final String id; + /** + * Last update date stored in database. + */ + protected final Date lastUpdateDate; - public ConcurrentModificationException(Date lastUpdate, Date currentUpdate) { - this.lastUpdate = lastUpdate; - this.currentUpdate = currentUpdate; + /** + * Last update date coming from entity to store. + */ + protected final Date currentUpdateDate; + + public ConcurrentModificationException(String id, Date lastUpdateDate, Date currentUpdateDate) { + this.id = id; + this.lastUpdateDate = lastUpdateDate; + this.currentUpdateDate = currentUpdateDate; } - public Date getLastUpdate() { - return lastUpdate; + public Date getLastUpdateDate() { + return lastUpdateDate; } - public Date getCurrentUpdate() { - return currentUpdate; + public Date getCurrentUpdateDate() { + return currentUpdateDate; } } 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 e81b0c6..c192c5c 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 @@ -59,7 +59,6 @@ import fr.ird.observe.services.service.DataSourceService; 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; @@ -87,7 +86,7 @@ public abstract class ObserveServiceTopia implements ObserveService { protected ObserveServiceContextTopia serviceContext; - public static <D extends DataDto, E extends TopiaEntity> Class<E> getDataEntityType(Class<D> dtoType) { + public static <D extends DataDto, E extends ObserveEntity> Class<E> getDataEntityType(Class<D> dtoType) { Class<E> dataEntityType = BINDER_ENGINE.getDataEntityType(dtoType); return dataEntityType; } @@ -115,7 +114,7 @@ public abstract class ObserveServiceTopia implements ObserveService { return serviceContext.getApplicationLocale(); } - public <D extends IdDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, String id) { + public <D extends IdDto, E extends ObserveEntity> E loadEntity(Class<D> dtoType, String id) { if (log.isInfoEnabled()) { log.info("Load entity: " + id); } @@ -127,7 +126,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } } - public <E extends TopiaEntity> E newEntity(Class<E> entityType) { + public <E extends ObserveEntity> E newEntity(Class<E> entityType) { ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); E entity = dao.newInstance(); @@ -138,7 +137,7 @@ public abstract class ObserveServiceTopia implements ObserveService { return serviceContext.getTopiaPersistenceContext(); } - protected <E extends TopiaEntity> List<E> loadEntities(Class<E> entityType) { + protected <E extends ObserveEntity> List<E> loadEntities(Class<E> entityType) { ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); List<E> entities = dao.findAll(); @@ -192,7 +191,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends TopiaEntity, D extends DataDto> Form<D> dataEntityToForm(Class<D> dtoType, + protected <E extends ObserveEntity, D extends DataDto> Form<D> dataEntityToForm(Class<D> dtoType, E entity, ReferenceSetRequestDefinitions referentialRequestDefinition) { @@ -216,7 +215,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends TopiaEntity, D extends DataDto> void copyDataDtoToEntity(D dto, E entity) { + protected <E extends ObserveEntity, D extends DataDto> void copyDataDtoToEntity(D dto, E entity) { BINDER_ENGINE.copyDataDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); @@ -228,7 +227,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends TopiaEntity, D extends DataDto> E loadOrCreateEntityFromDataDto(D dto) { + protected <E extends ObserveEntity, D extends DataDto> E loadOrCreateEntityFromDataDto(D dto) { Class<D> dtoType = (Class<D>) dto.getClass(); @@ -264,17 +263,17 @@ public abstract class ObserveServiceTopia implements ObserveService { return entity; } - protected <E extends ObserveEntity, D extends IdDto & FollowedUpdateDto> void checkLastUpdateDate(E entity, D dto) { + protected <E extends ObserveEntity, D extends FollowedUpdateDto> void checkLastUpdateDate(E entity, D dto) { - if (dto.isPersisted()) { + if (entity.isPersisted()) { - Date lasUpdate = entity.getLastUpdateDate(); + Date lastUpdateDate = entity.getLastUpdateDate(); - Date currentUpdate = dto.getLastUpdate(); + Date currentUpdateDate = dto.getLastUpdate(); - if (lasUpdate.after(currentUpdate)) { + if (lastUpdateDate.after(currentUpdateDate)) { - throw new ConcurrentModificationException(lasUpdate, currentUpdate); + throw new ConcurrentModificationException(entity.getTopiaId(), lastUpdateDate, currentUpdateDate); } @@ -397,7 +396,7 @@ public abstract class ObserveServiceTopia implements ObserveService { try (ObserveTopiaPersistenceContext sourcePersistenceContext = sourceTopiaApplicationContext.newPersistenceContext()) { - TopiaEntity e = sourcePersistenceContext.findByTopiaId(id); + ObserveEntity e = sourcePersistenceContext.findByTopiaId(id); if (e instanceof TripLongline) { @@ -431,16 +430,16 @@ public abstract class ObserveServiceTopia implements ObserveService { } } - protected <D extends DataDto, E extends TopiaEntity> D loadEntityToDataDto(Class<D> dtoType, String id) { + protected <D extends DataDto, E extends ObserveEntity> D loadEntityToDataDto(Class<D> dtoType, String id) { E entity = loadEntity(dtoType, id); - DataBinderSupport<TopiaEntity, D> binder = getDataBinder(dtoType); + DataBinderSupport<ObserveEntity, D> binder = getDataBinder(dtoType); D dto = binder.toData(getReferentialLocale(), entity); return dto; } - protected <E extends TopiaEntity> boolean existsEntity(Class<E> entityType, String id) { + protected <E extends ObserveEntity> boolean existsEntity(Class<E> entityType, String id) { ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); return dao.forTopiaIdEquals(id).exists(); @@ -453,7 +452,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends DataDto> DataReference<D> toReference(TopiaEntity entity) { + protected <D extends DataDto> DataReference<D> toReference(ObserveEntity entity) { DataReference<D> reference = BinderEngine.get().transformEntityToDataReferenceDto(getReferentialLocale(), entity); return reference; @@ -461,7 +460,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends DataDto, E extends TopiaEntity> DataReferenceSet<D> toDataReferenceSet(Class<D> dtoType, List<E> allStubByTripId) { + protected <D extends DataDto, E extends ObserveEntity> DataReferenceSet<D> toDataReferenceSet(Class<D> dtoType, List<E> allStubByTripId) { DataBinderSupport<E, D> binder = getDataBinder(dtoType); @@ -497,7 +496,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends DataDto, E extends TopiaEntity> DataBinderSupport<E, D> getDataBinder(Class<D> dtoType) { + protected <D extends DataDto, E extends ObserveEntity> DataBinderSupport<E, D> getDataBinder(Class<D> dtoType) { DataBinderSupport<E, D> reference = BINDER_ENGINE.getDataBinder(dtoType); return reference; -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit b6804fd6cf50bff2d7d2287b8a0cda6fda6933be Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Dec 27 19:15:32 2015 +0100 o Introduction ObserveEntity et ObserveDataEntity o Mise en place de la date de dernière mise à jour sur toutes les entités o Alignement du code pour les dto o Optionmisation des dépendences --- .../ui/content/ref/ContentReferenceUIHandler.java | 2 +- .../impl/longline/CatchLonglineUIHandler.java | 2 +- .../longline/GearUseFeaturesLonglineUIModel.java | 2 +- .../impl/seine/GearUseFeaturesSeineUIModel.java | 2 +- .../observe/ObserveTopiaPersistenceContext.java | 5 +-- .../java/fr/ird/observe/entities/Entities.java | 13 +++--- observe-services-configuration-api/pom.xml | 5 --- observe-services-configuration-rest/pom.xml | 26 ----------- ...bserveDataSourceConfigurationRestConstants.java | 4 +- .../src/test/resources/log4j.properties | 32 -------------- observe-services-configuration-topia/pom.xml | 48 --------------------- .../src/test/resources/log4j.properties | 32 -------------- .../observe/services/dto/AbstractReference.java | 12 ++++++ .../fr/ird/observe/services/dto/DataReference.java | 3 +- .../observe/services/dto/FollowedUpdateDto.java | 14 ------ .../java/fr/ird/observe/services/dto/IdDto.java | 5 ++- .../services/dto/referential/ReferentialDto.java | 12 +++--- .../observe/services/dto/result/SaveResultDto.java | 5 +-- .../services/dto/result/SaveResultDtos.java | 4 +- .../dto/result/TripChildSaveResultDtos.java | 6 +-- .../src/main/xmi/observe-services-dto-common.zargo | Bin 43178 -> 42022 bytes .../main/xmi/observe-services-dto-longline.zargo | Bin 64908 -> 63930 bytes .../src/main/xmi/observe-services-dto-seine.zargo | Bin 60150 -> 59464 bytes observe-services-topia/pom.xml | 9 ++-- .../ird/observe/services/ObserveServiceTopia.java | 23 +++++----- .../ird/observe/services/binder/BinderEngine.java | 28 ++++++------ .../services/binder/BinderEngineInitializer.java | 18 ++++---- .../binder/data/ActivityLonglineBinder.java | 4 +- .../data/ActivityLonglineEncouterDtoBinder.java | 4 +- .../data/ActivityLonglineSensorUsedDtoBinder.java | 4 +- .../services/binder/data/ActivitySeineBinder.java | 4 +- .../data/ActivitySeineObservedSystemDtoBinder.java | 4 +- .../services/binder/data/DataBinderSupport.java | 17 ++++---- .../observe/services/binder/data/RouteBinder.java | 8 ++-- .../services/binder/data/SetLonglineBinder.java | 8 ++-- .../binder/data/SetLonglineCatchDtoBinder.java | 4 +- .../SetLonglineDetailCompositionDtoBinder.java | 4 +- .../SetLonglineGlobalCompositionDtoBinder.java | 4 +- .../binder/data/SetLonglineTdrDtoBinder.java | 4 +- .../services/binder/data/SetSeineBinder.java | 8 ++-- .../data/SetSeineSchoolEstimateDtoBinder.java | 4 +- .../binder/data/SetSeineTargetCatchDtoBinder.java | 4 +- .../services/binder/data/TripLonglineBinder.java | 4 +- .../binder/data/TripLonglineGearUseDtoBinder.java | 4 +- .../services/binder/data/TripSeineBinder.java | 4 +- .../binder/data/TripSeineGearUseDtoBinder.java | 4 +- .../referential/ReferentialBinderSupport.java | 6 +-- .../observe/services/entity/EntitiesExtractor.java | 4 +- .../services/entity/EntitiesSetFactory.java | 26 +++++------ .../services/service/ReferentialServiceTopia.java | 7 +-- .../service/actions/report/ReportServiceTopia.java | 12 +++--- .../GenerateValidatorDescriptorsFileTool.java | 15 ++++--- .../actions/validate/ValidateServiceTopia.java | 9 ++-- .../service/longline/BranchlineServiceTopia.java | 2 +- .../services/service/seine/RouteServiceTopia.java | 6 +-- .../services/binder/BinderEngineMetadataTest.java | 20 ++++----- .../observe/services/binder/BinderEngineTest.java | 6 +-- .../service/seine/TripSeineServiceTopiaTest.java | 10 ++--- observe-test-data/pom.xml | 28 ++++-------- 59 files changed, 203 insertions(+), 361 deletions(-) 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 9d96dc0..2e59236 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 @@ -408,7 +408,7 @@ public class ContentReferenceUIHandler<E extends ReferentialDto> extends Content content.add(new JLabel(t("observe.common.lastUpdateDate"))); - content.add(new JLabel(dateFormat.format(bean.getLastUpdate()))); + content.add(new JLabel(dateFormat.format(bean.getLastUpdateDate()))); content.add(new JLabel(t("observe.common.topiaVersion"))); content.add(new JLabel(String.valueOf(bean.getVersion()))); 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 64459df..124c1a7 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 @@ -597,7 +597,7 @@ public class CatchLonglineUIHandler extends ContentTableUIHandler<SetLonglineCat @Override protected void doPersist(SetLonglineCatchDto bean) { SaveResultDto saveResult = getSetLonglineCatchService().save(bean); - bean.setLastUpdate(saveResult.getLastUpdate()); + bean.setLastUpdateDate(saveResult.getLastUpdateDate()); } @Override diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIModel.java index 4b4df39..8c7766f 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/longline/GearUseFeaturesLonglineUIModel.java @@ -63,7 +63,7 @@ public class GearUseFeaturesLonglineUIModel extends ContentTableUIModel<TripLong new String[]{ TripLonglineGearUseDto.PROPERTY_ID, TripLonglineGearUseDto.PROPERTY_GEAR_USE_FEATURES_LONGLINE, - TripLonglineGearUseDto.PROPERTY_LAST_UPDATE, + TripLonglineGearUseDto.PROPERTY_LAST_UPDATE_DATE, }, new String[]{ GearUseFeaturesLonglineDto.PROPERTY_ID, diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIModel.java index f252bde..c76af87 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/GearUseFeaturesSeineUIModel.java @@ -63,7 +63,7 @@ public class GearUseFeaturesSeineUIModel extends ContentTableUIModel<TripSeineGe new String[]{ TripSeineGearUseDto.PROPERTY_ID, TripSeineGearUseDto.PROPERTY_GEAR_USE_FEATURES_SEINE, - TripSeineGearUseDto.PROPERTY_LAST_UPDATE, + TripSeineGearUseDto.PROPERTY_LAST_UPDATE_DATE, }, new String[]{ GearUseFeaturesSeineDto.PROPERTY_ID, 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 70330ca..841e2e0 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -29,7 +29,6 @@ import fr.ird.observe.entities.ObserveEntity; 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.internal.AbstractTopiaPersistenceContextConstructorParameter; import java.util.Date; @@ -81,7 +80,7 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste getHibernateSupport().getHibernateSession().flush(); } - public <E extends TopiaEntity> Class<E> getType(E entity) { + public <E extends ObserveEntity> Class<E> getType(E entity) { ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entity); Preconditions.checkNotNull(entityEnum, "Entity " + entity + " is not managed by ToPIA"); @@ -89,7 +88,7 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste } - public <E extends TopiaEntity> TopiaDao<E> getDao(E entity) { + public <E extends ObserveEntity> TopiaDao<E> getDao(E entity) { return getDao(getType(entity)); } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java index 2df93dc..b6a63b4 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java @@ -34,7 +34,6 @@ import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaEntities; -import org.nuiton.topia.persistence.TopiaEntity; import java.util.Arrays; import java.util.Collection; @@ -309,10 +308,10 @@ public class Entities { */ public static boolean isReferentielClass( Class<?> klass) { - if (!TopiaEntity.class.isAssignableFrom(klass)) { + if (!ObserveEntity.class.isAssignableFrom(klass)) { return false; } - klass = ObserveEntityEnum.getContractClass((Class<? extends TopiaEntity>) klass); + klass = ObserveEntityEnum.getContractClass((Class<? extends ObserveEntity>) klass); for (ObserveEntityEnum c : REFERENCE_ENTITIES_LIST) { if (c.getContract().equals(klass)) { return true; @@ -339,10 +338,10 @@ public class Entities { * @return {@code true} si c'est une classe de donnée. */ public static boolean isDataClass(Class<?> klass) { - if (!TopiaEntity.class.isAssignableFrom(klass)) { + if (!ObserveEntity.class.isAssignableFrom(klass)) { return false; } - klass = ObserveEntityEnum.getContractClass((Class<? extends TopiaEntity>) klass); + klass = ObserveEntityEnum.getContractClass((Class<? extends ObserveEntity>) klass); for (ObserveEntityEnum c : DATA_ENTITIES_LIST) { if (c.getContract().equals(klass)) { return true; @@ -351,7 +350,7 @@ public class Entities { return false; } - public static <E extends TopiaEntity> Map<String, E> toIdMap(Collection<E> entities) { + public static <E extends ObserveEntity> Map<String, E> toIdMap(Collection<E> entities) { Map<String, E> map = CollectionUtils.isEmpty(entities) ? Maps.<String, E>newHashMap() @@ -361,7 +360,7 @@ public class Entities { } - public static <E extends TopiaEntity> String getTableName(E entity) { + public static <E extends ObserveEntity> String getTableName(E entity) { ObserveEntityEnum entityEnum = ObserveEntityEnum.valueOf(entity); return entityEnum.dbSchemaName() + "." + entityEnum.dbTableName(); diff --git a/observe-services-configuration-api/pom.xml b/observe-services-configuration-api/pom.xml index bbae81e..eae3ae5 100644 --- a/observe-services-configuration-api/pom.xml +++ b/observe-services-configuration-api/pom.xml @@ -19,11 +19,6 @@ <!-- commons dependencies --> - <!--dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </dependency--> - <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> diff --git a/observe-services-configuration-rest/pom.xml b/observe-services-configuration-rest/pom.xml index b789c89..e50756e 100644 --- a/observe-services-configuration-rest/pom.xml +++ b/observe-services-configuration-rest/pom.xml @@ -23,11 +23,6 @@ <artifactId>observe-services-configuration-api</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>observe-services-api</artifactId> - <version>${project.version}</version> - </dependency> <!-- commons dependencies --> @@ -42,27 +37,6 @@ <artifactId>nuiton-utils</artifactId> </dependency> - <!-- Logging --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-jcl</artifactId> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <scope>runtime</scope> - </dependency> - - <!-- test dependencies --> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </dependency> - - </dependencies> diff --git a/observe-services-configuration-rest/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationRestConstants.java b/observe-services-configuration-rest/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationRestConstants.java index 2570a0d..5e83140 100644 --- a/observe-services-configuration-rest/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationRestConstants.java +++ b/observe-services-configuration-rest/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationRestConstants.java @@ -22,8 +22,6 @@ package fr.ird.observe.services.configuration; * #L% */ -import fr.ird.observe.services.service.DataSourceService; - /** * Created on 04/09/15. * @@ -31,7 +29,7 @@ import fr.ird.observe.services.service.DataSourceService; */ public interface ObserveDataSourceConfigurationRestConstants { - Package ROOT_SERVICES_PACKAGE = DataSourceService.class.getPackage(); + Package ROOT_SERVICES_PACKAGE = ObserveDataSourceConfigurationRestConstants.class.getPackage(); String PARAMETER_DATA_SOURCE_CONFIGURATION = "dataSourceConfiguration"; diff --git a/observe-services-configuration-rest/src/test/resources/log4j.properties b/observe-services-configuration-rest/src/test/resources/log4j.properties deleted file mode 100644 index 0f21768..0000000 --- a/observe-services-configuration-rest/src/test/resources/log4j.properties +++ /dev/null @@ -1,32 +0,0 @@ -### -# #%L -# ObServe :: Swing -# %% -# 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% -### - -# Global logging configuration -log4j.rootLogger=ERROR, stdout -#log4j.rootLogger=ERROR, stdout -# Console output... -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%c:%L) %M - %m%n -#log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) %M - %m%n - -log4j.logger.fr.ird.observe=INFO diff --git a/observe-services-configuration-topia/pom.xml b/observe-services-configuration-topia/pom.xml index 5d22416..53510e1 100644 --- a/observe-services-configuration-topia/pom.xml +++ b/observe-services-configuration-topia/pom.xml @@ -25,19 +25,6 @@ </dependency> <!-- commons dependencies --> - - <!--dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - </dependency--> - <!--dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-collections4</artifactId> - </dependency> - <dependency> - <groupId>org.apache.commons</groupId> - <artifactId>commons-lang3</artifactId> - </dependency--> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> @@ -49,41 +36,6 @@ <artifactId>nuiton-utils</artifactId> </dependency> - <!-- persistence --> - <!--dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-core</artifactId> - </dependency--> - <!--dependency> - <groupId>org.nuiton.topia</groupId> - <artifactId>topia-persistence</artifactId> - </dependency--> - <!--dependency> - <groupId>org.nuiton.topia</groupId> - <artifactId>topia-service-replication</artifactId> - </dependency--> - - <!-- Logging --> - <dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-jcl</artifactId> - <scope>runtime</scope> - </dependency> - - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <scope>runtime</scope> - </dependency> - - <!-- test dependencies --> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - </dependency> - - </dependencies> diff --git a/observe-services-configuration-topia/src/test/resources/log4j.properties b/observe-services-configuration-topia/src/test/resources/log4j.properties deleted file mode 100644 index 0f21768..0000000 --- a/observe-services-configuration-topia/src/test/resources/log4j.properties +++ /dev/null @@ -1,32 +0,0 @@ -### -# #%L -# ObServe :: Swing -# %% -# 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% -### - -# Global logging configuration -log4j.rootLogger=ERROR, stdout -#log4j.rootLogger=ERROR, stdout -# Console output... -log4j.appender.stdout=org.apache.log4j.ConsoleAppender -log4j.appender.stdout.layout=org.apache.log4j.PatternLayout -log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%c:%L) %M - %m%n -#log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) %M - %m%n - -log4j.logger.fr.ird.observe=INFO 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 index 7992da5..0c972be 100644 --- 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 @@ -24,6 +24,8 @@ public abstract class AbstractReference<D extends IdDto> implements ObserveDto, public static final String PROPERTY_ID = "id"; + public static final String PROPERTY_LAST_UPDATE_DATE = "lastUpdateDate"; + public static final String PROPERTY_TYPE = "type"; public static final String PROPERTY_CREATE_DATE = "createDate"; @@ -45,6 +47,8 @@ public abstract class AbstractReference<D extends IdDto> implements ObserveDto, protected String id; + protected Date lastUpdateDate; + protected Date createDate; protected long version; @@ -140,6 +144,14 @@ public abstract class AbstractReference<D extends IdDto> implements ObserveDto, this.version = version; } + public Date getLastUpdateDate() { + return lastUpdateDate; + } + + public void setLastUpdateDate(Date lastUpdateDate) { + this.lastUpdateDate = lastUpdateDate; + } + public Serializable getPropertyValue(String propertyName) { int propertyIndex = getPropertyIndex(propertyName); return labelPropertyValues[propertyIndex]; 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 index e4e7554..bd421f1 100644 --- 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 @@ -55,7 +55,8 @@ public class DataReference<D extends DataDto> extends AbstractReference<D> { public String toString() { MoreObjects.ToStringHelper toStringHelper = MoreObjects.toStringHelper(this) .add(PROPERTY_TYPE, type.getSimpleName()) - .add(PROPERTY_ID, id); + .add(PROPERTY_ID, id) + .add(PROPERTY_LAST_UPDATE_DATE, lastUpdateDate); if (log.isDebugEnabled()) { toStringHelper diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FollowedUpdateDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/FollowedUpdateDto.java deleted file mode 100644 index f304477..0000000 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/FollowedUpdateDto.java +++ /dev/null @@ -1,14 +0,0 @@ -package fr.ird.observe.services.dto; - -import java.util.Date; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public interface FollowedUpdateDto { - - Date getLastUpdate(); - - void setLastUpdate(Date lastUpdate); - -} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDto.java index 3d40e1d..e8f2815 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/IdDto.java @@ -31,6 +31,8 @@ public abstract class IdDto extends AbstractIdDto { private static final long serialVersionUID = 1L; + public static final String PROPERTY_LAST_UPDATE_DATE = "lastUpdateDate"; + public boolean isPersisted() { return StringUtils.isNotBlank(id); } @@ -55,7 +57,8 @@ public abstract class IdDto extends AbstractIdDto { @Override public String toString() { return MoreObjects.toStringHelper(this) - .add("id", id) + .add(PROPERTY_ID, id) + .add(PROPERTY_LAST_UPDATE_DATE, lastUpdateDate) .toString(); } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDto.java index e9507ff..e3b450c 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/referential/ReferentialDto.java @@ -9,12 +9,12 @@ public abstract class ReferentialDto extends AbstractReferentialDto { @Override public String toString() { return MoreObjects.toStringHelper(this) - .add("id", id) - .add("enabled", enabled) - .add("needComment", needComment) - .add("createDate", createDate) - .add("lastUpdate", lastUpdate) - .add("version", version) + .add(PROPERTY_ID, id) + .add(PROPERTY_ENABLED, enabled) + .add(PROPERTY_NEED_COMMENT, needComment) + .add(PROPERTY_CREATE_DATE, createDate) + .add(PROPERTY_LAST_UPDATE_DATE, lastUpdateDate) + .add(PROPERTY_VERSION, version) .toString(); } 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 index bd7d551..691365c 100644 --- 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 @@ -1,15 +1,14 @@ 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) { + public <D extends IdDto> void toDto(D dto) { dto.setId(getId()); - dto.setLastUpdate(getLastUpdate()); + dto.setLastUpdateDate(getLastUpdateDate()); } } 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 cd6f2fc..f4fb3aa 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,10 +4,10 @@ import java.util.Date; public class SaveResultDtos extends AbstractSaveResultDtos { - public static SaveResultDto of(String id, Date lastUpdate) { + public static SaveResultDto of(String id, Date lastUpdateDate) { SaveResultDto result = new SaveResultDto(); result.setId(id); - result.setLastUpdate(lastUpdate); + result.setLastUpdateDate(lastUpdateDate); return result; } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java index 56d2d6c..128e800 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java @@ -2,10 +2,10 @@ package fr.ird.observe.services.dto.result; public class TripChildSaveResultDtos extends AbstractTripChildSaveResultDtos { - public static TripChildSaveResultDto of(SaveResultDto incoming) { - TripChildSaveResultDto result = new TripChildSaveResultDto(); + public static TripChildSaveResultDto of(SaveResultDto incoming) { + TripChildSaveResultDto result = new TripChildSaveResultDto(); result.setId(incoming.getId()); - result.setLastUpdate(incoming.getLastUpdate()); + result.setLastUpdateDate(incoming.getLastUpdateDate()); return result; } 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 41fc634..7ad6973 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 a4fa3e2..5747114 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 2d55d89..779c220 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/pom.xml b/observe-services-topia/pom.xml index 2957acc..89366ed 100644 --- a/observe-services-topia/pom.xml +++ b/observe-services-topia/pom.xml @@ -63,6 +63,10 @@ <artifactId>commons-logging</artifactId> </dependency> <dependency> + <groupId>commons-io</groupId> + <artifactId>commons-io</artifactId> + </dependency> + <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-collections4</artifactId> </dependency> @@ -93,11 +97,6 @@ <artifactId>nuiton-validator</artifactId> </dependency> - <!-- persistence --> - <dependency> - <groupId>org.hibernate</groupId> - <artifactId>hibernate-core</artifactId> - </dependency> <dependency> <groupId>org.nuiton.topia</groupId> <artifactId>topia-persistence</artifactId> 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 c192c5c..91cf69a 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 @@ -42,7 +42,6 @@ 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.Form; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; @@ -86,7 +85,7 @@ public abstract class ObserveServiceTopia implements ObserveService { protected ObserveServiceContextTopia serviceContext; - public static <D extends DataDto, E extends ObserveEntity> Class<E> getDataEntityType(Class<D> dtoType) { + public static <D extends DataDto, E extends ObserveDataEntity> Class<E> getDataEntityType(Class<D> dtoType) { Class<E> dataEntityType = BINDER_ENGINE.getDataEntityType(dtoType); return dataEntityType; } @@ -191,7 +190,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends ObserveEntity, D extends DataDto> Form<D> dataEntityToForm(Class<D> dtoType, + protected <E extends ObserveDataEntity, D extends DataDto> Form<D> dataEntityToForm(Class<D> dtoType, E entity, ReferenceSetRequestDefinitions referentialRequestDefinition) { @@ -215,7 +214,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends ObserveEntity, D extends DataDto> void copyDataDtoToEntity(D dto, E entity) { + protected <E extends ObserveDataEntity, D extends DataDto> void copyDataDtoToEntity(D dto, E entity) { BINDER_ENGINE.copyDataDtoToEntity(serviceContext.getReferentialLocale(), dto, entity); @@ -227,7 +226,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <E extends ObserveEntity, D extends DataDto> E loadOrCreateEntityFromDataDto(D dto) { + protected <E extends ObserveDataEntity, D extends DataDto> E loadOrCreateEntityFromDataDto(D dto) { Class<D> dtoType = (Class<D>) dto.getClass(); @@ -263,13 +262,13 @@ public abstract class ObserveServiceTopia implements ObserveService { return entity; } - protected <E extends ObserveEntity, D extends FollowedUpdateDto> void checkLastUpdateDate(E entity, D dto) { + protected <E extends ObserveEntity, D extends IdDto> void checkLastUpdateDate(E entity, D dto) { if (entity.isPersisted()) { Date lastUpdateDate = entity.getLastUpdateDate(); - Date currentUpdateDate = dto.getLastUpdate(); + Date currentUpdateDate = dto.getLastUpdateDate(); if (lastUpdateDate.after(currentUpdateDate)) { @@ -430,10 +429,10 @@ public abstract class ObserveServiceTopia implements ObserveService { } } - protected <D extends DataDto, E extends ObserveEntity> D loadEntityToDataDto(Class<D> dtoType, String id) { + protected <D extends DataDto, E extends ObserveDataEntity> D loadEntityToDataDto(Class<D> dtoType, String id) { E entity = loadEntity(dtoType, id); - DataBinderSupport<ObserveEntity, D> binder = getDataBinder(dtoType); + DataBinderSupport<E, D> binder = getDataBinder(dtoType); D dto = binder.toData(getReferentialLocale(), entity); return dto; @@ -452,7 +451,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends DataDto> DataReference<D> toReference(ObserveEntity entity) { + protected <D extends DataDto> DataReference<D> toReference(ObserveDataEntity entity) { DataReference<D> reference = BinderEngine.get().transformEntityToDataReferenceDto(getReferentialLocale(), entity); return reference; @@ -460,7 +459,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends DataDto, E extends ObserveEntity> DataReferenceSet<D> toDataReferenceSet(Class<D> dtoType, List<E> allStubByTripId) { + protected <D extends DataDto, E extends ObserveDataEntity> DataReferenceSet<D> toDataReferenceSet(Class<D> dtoType, List<E> allStubByTripId) { DataBinderSupport<E, D> binder = getDataBinder(dtoType); @@ -496,7 +495,7 @@ public abstract class ObserveServiceTopia implements ObserveService { } - protected <D extends DataDto, E extends ObserveEntity> DataBinderSupport<E, D> getDataBinder(Class<D> dtoType) { + protected <D extends DataDto, E extends ObserveDataEntity> DataBinderSupport<E, D> getDataBinder(Class<D> dtoType) { DataBinderSupport<E, D> reference = BINDER_ENGINE.getDataBinder(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 c4c04d6..cf6a780 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 @@ -2,6 +2,7 @@ package fr.ird.observe.services.binder; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; +import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.data.DataBinderSupport; import fr.ird.observe.services.binder.referential.ReferentialBinderSupport; @@ -12,7 +13,6 @@ 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; @@ -31,11 +31,11 @@ public class BinderEngine implements ReferenceBinderEngine { protected ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ObserveReferentialEntity>> referentialDtoToEntityTypes; - protected ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypes; + protected ImmutableMap<Class<? extends DataDto>, Class<? extends ObserveDataEntity>> dataDtoToEntityTypes; protected ImmutableMap<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDto>> referentialEntityToDtoTypes; - protected ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDtoTypes; + protected ImmutableMap<Class<? extends ObserveDataEntity>, Class<? extends DataDto>> dataEntityToDtoTypes; public static BinderEngine get() { return INSTANCE; @@ -61,26 +61,26 @@ public class BinderEngine implements ReferenceBinderEngine { return (ReferentialBinderSupport) referentialBinders.get(dtoType); } - public <D extends DataDto, E extends TopiaEntity> DataBinderSupport<E, D> getDataBinder(Class<D> dtoType) { + public <D extends DataDto, E extends ObserveDataEntity> 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) { + public <D extends DataDto, E extends ObserveDataEntity> 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) { + public <D extends DataDto, E extends ObserveDataEntity> 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) { + public <D extends DataDto, E extends ObserveDataEntity> Class<D> getDataDtoType(Class<E> 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()) { + for (Map.Entry<Class<? extends ObserveDataEntity>, Class<? extends DataDto>> entry : dataEntityToDtoTypes.entrySet()) { if (name.startsWith(entry.getKey().getName())) { result = (Class<D>) entry.getValue(); break; @@ -150,14 +150,14 @@ public class BinderEngine implements ReferenceBinderEngine { public <D extends DataDto> DataReference<D> transformDataDtoToReference(ReferentialLocale referentialLocale, D dto) { Class<D> dtoType = (Class<D>) dto.getClass(); - DataBinderSupport<?, D> binder = getDataBinder(dtoType); + DataBinderSupport<?, D> binder = getDataBinder((Class)dtoType); DataReference<D> reference = binder.toDataReference(referentialLocale, dto); return reference; } - public <D extends DataDto, E extends TopiaEntity> D transformEntityToDataDto(ReferentialLocale referentialLocale, Class<D> dtoType, E entity) { + public <D extends DataDto, E extends ObserveDataEntity> D transformEntityToDataDto(ReferentialLocale referentialLocale, Class<D> dtoType, E entity) { DataBinderSupport<E, D> binder = getDataBinder(dtoType); @@ -168,7 +168,7 @@ public class BinderEngine implements ReferenceBinderEngine { } - public <D extends DataDto, E extends TopiaEntity> DataReference<D> transformEntityToDataReferenceDto(ReferentialLocale referentialLocale, E entity) { + public <D extends DataDto, E extends ObserveDataEntity> DataReference<D> transformEntityToDataReferenceDto(ReferentialLocale referentialLocale, E entity) { Class<D> dtoType = getDataDtoType(entity.getClass()); DataBinderSupport<E, D> binder = getDataBinder(dtoType); @@ -188,7 +188,7 @@ public class BinderEngine implements ReferenceBinderEngine { } - public <D extends DataDto, E extends TopiaEntity> void copyDataDtoToEntity(ReferentialLocale referentialLocale, D dto, E entity) { + public <D extends DataDto, E extends ObserveDataEntity> void copyDataDtoToEntity(ReferentialLocale referentialLocale, D dto, E entity) { Class<D> dtoType = (Class<D>) dto.getClass(); DataBinderSupport<E, D> binder = getDataBinder(dtoType); @@ -214,11 +214,11 @@ public class BinderEngine implements ReferenceBinderEngine { return referentialEntityToDtoTypes; } - public ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> getDataEntityToDtoTypes() { + public ImmutableMap<Class<? extends ObserveDataEntity>, Class<? extends DataDto>> getDataEntityToDtoTypes() { return dataEntityToDtoTypes; } - protected ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> getDataDtoToEntityTypes() { + protected ImmutableMap<Class<? extends DataDto>, Class<? extends ObserveDataEntity>> getDataDtoToEntityTypes() { return dataDtoToEntityTypes; } 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 7a969f8..82b6873 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 @@ -2,6 +2,7 @@ package fr.ird.observe.services.binder; import com.google.common.collect.ImmutableMap; import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.entities.longline.ActivityLongline; import fr.ird.observe.entities.longline.BaitsComposition; import fr.ird.observe.entities.longline.Basket; @@ -27,11 +28,11 @@ 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.ObserveReferentialEntity; 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.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Sex; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.SpeciesGroup; @@ -328,15 +329,14 @@ 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 DataDto>, Class<? extends ObserveDataEntity>> dataDtoToEntityTypeBuilder; - ImmutableMap.Builder<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDtoTypeBuilder; + ImmutableMap.Builder<Class<? extends ObserveDataEntity>, 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>> dataDtoToEntityTypes; + ImmutableMap<Class<? extends DataDto>, Class<? extends ObserveDataEntity>> dataDtoToEntityTypes; - ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> dataEntityToDtoTypes; + ImmutableMap<Class<? extends ObserveDataEntity>, Class<? extends DataDto>> dataEntityToDtoTypes; ImmutableMap<Class<? extends ReferentialDto>, Class<? extends ObserveReferentialEntity>> referentialDtoToEntityTypes; @@ -380,15 +380,15 @@ class BinderEngineInitializer implements ObserveModelInitializer { dataBinders = dataBinderBuilder.build(); referentialBinders = referentialBinderBuilder.build(); - for (Map.Entry<Class<? extends DataDto>, Class<? extends TopiaEntity>> entry : dataDtoToEntityTypes.entrySet()) { + for (Map.Entry<Class<? extends DataDto>, Class<? extends ObserveDataEntity>> entry : dataDtoToEntityTypes.entrySet()) { Class<? extends DataDto> dtoType = entry.getKey(); - Class<? extends TopiaEntity> entityType = entry.getValue(); + Class<? extends ObserveDataEntity> 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((Class<? extends ObserveDataEntity>) observeEntityEnum.getImplementation(), dtoType); } } 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 e4ea0f7..f3481f7 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 @@ -24,7 +24,7 @@ public class ActivityLonglineBinder extends DataBinderSupport<ActivityLongline, public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineDto dto, ActivityLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setTimeStamp(dto.getTimeStamp()); @@ -40,7 +40,7 @@ public class ActivityLonglineBinder extends DataBinderSupport<ActivityLongline, public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setTimeStamp(entity.getTimeStamp()); 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 3fcc387..087fd8c 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 @@ -22,7 +22,7 @@ public class ActivityLonglineEncouterDtoBinder extends DataBinderSupport<Activit public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineEncouterDto dto, ActivityLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setEncounter(toEntityCollection(referentialLocale, dto.getEncounter(), Encounter.class, entity.getEncounter())); @@ -33,7 +33,7 @@ public class ActivityLonglineEncouterDtoBinder extends DataBinderSupport<Activit public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineEncouterDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setEncounter(toLinkedHashSetData(referentialLocale, entity.getEncounter(), EncounterDto.class)); 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 5f78391..50673ad 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 @@ -21,7 +21,7 @@ public class ActivityLonglineSensorUsedDtoBinder extends DataBinderSupport<Activ public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineSensorUsedDto dto, ActivityLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setSensorUsed(toEntityCollection(referentialLocale, dto.getSensorUsed(), SensorUsed.class, entity.getSensorUsed())); @@ -32,7 +32,7 @@ public class ActivityLonglineSensorUsedDtoBinder extends DataBinderSupport<Activ public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineSensorUsedDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); 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/ActivitySeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/ActivitySeineBinder.java index 4813198..95f8dc1 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 @@ -33,7 +33,7 @@ public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, Activi public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineDto dto, ActivitySeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setTime(dto.getTime()); @@ -59,7 +59,7 @@ public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, Activi public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setTime(dto.getTime()); 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 index a58b4fe..dc7b5c9 100644 --- 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 @@ -21,7 +21,7 @@ public class ActivitySeineObservedSystemDtoBinder extends DataBinderSupport<Acti public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineObservedSystemDto dto, ActivitySeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setObservedSystem(toEntitySet(dto.getObservedSystem(), ObservedSystem.class)); @@ -32,7 +32,7 @@ public class ActivitySeineObservedSystemDtoBinder extends DataBinderSupport<Acti public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineObservedSystemDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); 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/DataBinderSupport.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/DataBinderSupport.java index f89ffab..ca41c91 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 @@ -4,6 +4,7 @@ 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.entities.ObserveDataEntity; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.binder.BinderSupport; import fr.ird.observe.services.dto.DataDto; @@ -13,7 +14,6 @@ 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; import java.util.Collection; @@ -25,7 +25,7 @@ import java.util.Set; * * @author Tony Chemit - chemit@codelutin.com */ -public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto> extends BinderSupport<E, D> { +public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends DataDto> extends BinderSupport<E, D> { protected final ReferenceSetDefinition<D> definition; @@ -71,7 +71,7 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto return reference; } - protected <EE extends TopiaEntity, DD extends DataDto> DataReference<DD> toDataReference(ReferentialLocale referentialLocale, EE entity, Class<DD> dtoType) { + protected <EE extends ObserveDataEntity, DD extends DataDto> DataReference<DD> toDataReference(ReferentialLocale referentialLocale, EE entity, Class<DD> dtoType) { DataReference<DD> reference = null; if (entity != null) { @@ -84,7 +84,7 @@ 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) { + protected <EE extends ObserveDataEntity, DD extends DataDto> LinkedHashSet<DD> toLinkedHashSetData(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { LinkedHashSet<DD> dtos = null; if (CollectionUtils.isNotEmpty(entities)) { @@ -135,7 +135,7 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto return entity; } - protected <DD extends DataDto, EE extends TopiaEntity> Set<EE> toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, Set<EE> entityList) { + protected <DD extends DataDto, EE extends ObserveDataEntity> Set<EE> toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, Set<EE> entityList) { if (entityList == null) { @@ -148,7 +148,7 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto } - 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 ObserveDataEntity> Collection<EE> toEntityCollection(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, Collection<EE> entityList) { if (entityList == null) { @@ -161,7 +161,7 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto } - protected <DD extends DataDto, EE extends TopiaEntity, C extends Collection<EE>> void fillEntityCollection(ReferentialLocale referentialLocale, Collection<DD> dtos, C entityList) { + protected <DD extends DataDto, EE extends ObserveDataEntity, C extends Collection<EE>> void fillEntityCollection(ReferentialLocale referentialLocale, Collection<DD> dtos, C entityList) { ImmutableMap<String, EE> entitiesById = Maps.uniqueIndex(entityList, TopiaEntities.getTopiaIdFunction()); @@ -211,7 +211,8 @@ public abstract class DataBinderSupport<E extends TopiaEntity, D extends DataDto return entity; } - protected <DD extends DataDto, EE extends TopiaEntity> EE toEntity(DataReference<DD> reference, Class<EE> entityType) { + + protected <DD extends DataDto, EE extends ObserveDataEntity> EE toEntity(DataReference<DD> reference, Class<EE> entityType) { Class<DD> type = reference.getType(); DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(type); 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 index 274989b..0fe15d9 100644 --- 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 @@ -21,14 +21,14 @@ public class RouteBinder extends DataBinderSupport<Route, RouteDto> { public void copyToEntity(ReferentialLocale referentialLocale, RouteDto dto, Route entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setDate(dto.getDate()); entity.setStartLogValue(dto.getStartLogValue()); entity.setEndLogValue(dto.getEndLogValue()); entity.setCheckLevel(dto.getCheckLevel()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); } @@ -36,14 +36,14 @@ public class RouteBinder extends DataBinderSupport<Route, RouteDto> { public void copyToDto(ReferentialLocale referentialLocale, Route entity, RouteDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setDate(entity.getDate()); dto.setStartLogValue(entity.getStartLogValue()); dto.setEndLogValue(entity.getEndLogValue()); dto.setCheckLevel(entity.getCheckLevel()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setActivitySeine(toLinkedHashSetData(referentialLocale, entity.getActivitySeine(), ActivitySeineStubDto.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 index bb00070..e1f1350 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 @@ -28,7 +28,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setHomeId(dto.getHomeId()); @@ -63,7 +63,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin entity.setHaulingEndLongitude(dto.getHaulingEndLongitude()); entity.setHaulingBreaks(dto.getHaulingBreaks()); entity.setMonitored(dto.getMonitored()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setSettingShape(toEntity(dto.getSettingShape(), SettingShape.class)); entity.setLineType(toEntity(dto.getLineType(), LineType.class)); entity.setLightsticksType(toEntity(dto.getLightsticksType(), LightsticksType.class)); @@ -75,7 +75,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setHomeId(entity.getHomeId()); @@ -110,7 +110,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin dto.setHaulingEndLongitude(entity.getHaulingEndLongitude()); dto.setHaulingBreaks(entity.getHaulingBreaks()); dto.setMonitored(entity.getMonitored()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setSettingShape(toReferentialReference(referentialLocale, entity.getSettingShape(), SettingShapeDto.class)); dto.setLineType(toReferentialReference(referentialLocale, entity.getLineType(), LineTypeDto.class)); dto.setLightsticksType(toReferentialReference(referentialLocale, entity.getLightsticksType(), LightsticksTypeDto.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 index 2bf38af..021db91 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 @@ -21,7 +21,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineCatchDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setCatchLongline(toEntitySet(referentialLocale, dto.getCatchLongline(), CatchLongline.class, entity.getCatchLongline())); @@ -31,7 +31,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineCatchDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); 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 index 7db0ee5..589287b 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 @@ -21,7 +21,7 @@ public class SetLonglineDetailCompositionDtoBinder extends DataBinderSupport<Set public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDetailCompositionDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setSection(toEntitySet(referentialLocale, dto.getSection(), Section.class, entity.getSection())); entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); @@ -38,7 +38,7 @@ public class SetLonglineDetailCompositionDtoBinder extends DataBinderSupport<Set public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDetailCompositionDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setSection(toLinkedHashSetData(referentialLocale, entity.getSection(), SectionDto.class)); dto.setSettingStartTimeStamp(entity.getSettingStartTimeStamp()); 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 fd648ef..a94da46 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 @@ -29,7 +29,7 @@ public class SetLonglineGlobalCompositionDtoBinder extends DataBinderSupport<Set public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineGlobalCompositionDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setFloatlinesComposition(toEntityCollection(referentialLocale, dto.getFloatlinesComposition(), FloatlinesComposition.class, entity.getFloatlinesComposition())); @@ -44,7 +44,7 @@ public class SetLonglineGlobalCompositionDtoBinder extends DataBinderSupport<Set public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineGlobalCompositionDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setFloatlinesComposition(toLinkedHashSetData(referentialLocale, entity.getFloatlinesComposition(), FloatlinesCompositionDto.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 index 6aa735a..b4ad017 100644 --- 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 @@ -19,7 +19,7 @@ public class SetLonglineTdrDtoBinder extends DataBinderSupport<SetLongline, SetL public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineTdrDto dto, SetLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); @@ -29,7 +29,7 @@ public class SetLonglineTdrDtoBinder extends DataBinderSupport<SetLongline, SetL public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineTdrDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); 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 index 29befd9..4cfbf59 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 @@ -22,7 +22,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { public void copyToEntity(ReferentialLocale referentialLocale, SetSeineDto dto, SetSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setStartTime(dto.getStartTime()); @@ -39,7 +39,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { entity.setTargetDiscarded(dto.getTargetDiscarded()); entity.setNonTargetDiscarded(dto.getNonTargetDiscarded()); entity.setCurrentMeasureDepth(dto.getCurrentMeasureDepth()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setSchoolType(SCHOOL_TYPE_TO_ENTITY.apply(dto.getSchoolType())); entity.setReasonForNullSet(toEntity(dto.getReasonForNullSet(), ReasonForNullSet.class)); @@ -49,7 +49,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setStartTime(entity.getStartTime()); @@ -66,7 +66,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { dto.setTargetDiscarded(entity.getTargetDiscarded()); dto.setNonTargetDiscarded(entity.getNonTargetDiscarded()); dto.setCurrentMeasureDepth(entity.getCurrentMeasureDepth()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); 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/SetSeineSchoolEstimateDtoBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/SetSeineSchoolEstimateDtoBinder.java index 440e79e..30186cd 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 @@ -21,7 +21,7 @@ public class SetSeineSchoolEstimateDtoBinder extends DataBinderSupport<SetSeine, public void copyToEntity(ReferentialLocale referentialLocale, SetSeineSchoolEstimateDto dto, SetSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setSchoolEstimate(toEntityCollection(referentialLocale, dto.getSchoolEstimate(), SchoolEstimate.class, entity.getSchoolEstimate())); @@ -31,7 +31,7 @@ public class SetSeineSchoolEstimateDtoBinder extends DataBinderSupport<SetSeine, public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineSchoolEstimateDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); 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 index e4a0be8..623e223 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 @@ -21,7 +21,7 @@ public class SetSeineTargetCatchDtoBinder extends DataBinderSupport<SetSeine, Se public void copyToEntity(ReferentialLocale referentialLocale, SetSeineTargetCatchDto dto, SetSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setTargetCatch(toEntityCollection(referentialLocale, dto.getTargetCatch(), TargetCatch.class, entity.getTargetCatch())); @@ -31,7 +31,7 @@ public class SetSeineTargetCatchDtoBinder extends DataBinderSupport<SetSeine, Se public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineTargetCatchDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setTargetCatch(toLinkedHashSetData(referentialLocale, entity.getTargetCatch(), TargetCatchDto.class)); 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 cd23436..c12eab5 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 @@ -34,7 +34,7 @@ public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLong public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineDto dto, TripLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setStartDate(dto.getStartDate()); @@ -58,7 +58,7 @@ public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLong public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setStartDate(entity.getStartDate()); 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 fb991b8..4781322 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 @@ -21,7 +21,7 @@ public class TripLonglineGearUseDtoBinder extends DataBinderSupport<TripLongline public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineGearUseDto dto, TripLongline entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setGearUseFeaturesLongline(toEntitySet(referentialLocale, dto.getGearUseFeaturesLongline(), GearUseFeaturesLongline.class, entity.getGearUseFeaturesLongline())); @@ -31,7 +31,7 @@ public class TripLonglineGearUseDtoBinder extends DataBinderSupport<TripLongline public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineGearUseDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); 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 index aa547e1..946f0a2 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 @@ -32,7 +32,7 @@ public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> public void copyToEntity(ReferentialLocale referentialLocale, TripSeineDto dto, TripSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setComment(dto.getComment()); entity.setStartDate(dto.getStartDate()); @@ -58,7 +58,7 @@ public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setComment(entity.getComment()); dto.setStartDate(entity.getStartDate()); 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 80b6054..1e21186 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 @@ -21,7 +21,7 @@ public class TripSeineGearUseDtoBinder extends DataBinderSupport<TripSeine, Trip public void copyToEntity(ReferentialLocale referentialLocale, TripSeineGearUseDto dto, TripSeine entity) { entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setGearUseFeaturesSeine(toEntityCollection(referentialLocale, dto.getGearUseFeaturesSeine(), GearUseFeaturesSeine.class, entity.getGearUseFeaturesSeine())); @@ -31,7 +31,7 @@ public class TripSeineGearUseDtoBinder extends DataBinderSupport<TripSeine, Trip public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineGearUseDto dto) { dto.setId(entity.getTopiaId()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setGearUseFeaturesSeine(toLinkedHashSetData(referentialLocale, entity.getGearUseFeaturesSeine(), GearUseFeaturesSeineDto.class)); 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 6f00bea..ac31029 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 @@ -63,7 +63,7 @@ public abstract class ReferentialBinderSupport<E extends ObserveReferentialEntit reference.setCreateDate(dto.getCreateDate()); reference.setVersion(dto.getVersion()); - reference.setLastUpdate(dto.getLastUpdate()); + reference.setLastUpdate(dto.getLastUpdateDate()); reference.setEnabled(dto.isEnabled()); reference.setNeedComment(dto.isNeedComment()); @@ -112,7 +112,7 @@ public abstract class ReferentialBinderSupport<E extends ObserveReferentialEntit entity.setTopiaId(dto.getId()); entity.setStatus(REFERENCE_STATUS_TO_ENTITY.apply(dto.getStatus())); entity.setNeedComment(dto.isNeedComment()); - entity.setLastUpdateDate(dto.getLastUpdate()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); entity.setTopiaVersion(dto.getVersion()); entity.setTopiaCreateDate(dto.getCreateDate()); entity.setCode(dto.getCode()); @@ -126,7 +126,7 @@ public abstract class ReferentialBinderSupport<E extends ObserveReferentialEntit dto.setStatus(REFERENCE_STATUS_TO_DTO.apply(entity.getStatus())); dto.setEnabled(entity.isEnabled()); dto.setNeedComment(entity.isNeedComment()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setVersion(entity.getTopiaVersion()); dto.setCreateDate(entity.getTopiaCreateDate()); dto.setCode(entity.getCode()); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesExtractor.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesExtractor.java index 8e2b26e..8ea35b6 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesExtractor.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesExtractor.java @@ -4,8 +4,8 @@ import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.ObserveEntity; import org.nuiton.topia.persistence.TopiaDao; -import org.nuiton.topia.persistence.TopiaEntity; import java.util.Map; @@ -16,7 +16,7 @@ import java.util.Map; * * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -public class EntitiesExtractor<E extends TopiaEntity> { +public class EntitiesExtractor<E extends ObserveEntity> { /** * Le type de l'entité dont on cherche des éléments. diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java index e623342..b43159b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/entity/EntitiesSetFactory.java @@ -5,6 +5,7 @@ import com.google.common.base.Predicate; import com.google.common.base.Predicates; import com.google.common.collect.ImmutableMap; import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.ObserveEntity; import fr.ird.observe.entities.longline.Basket; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.CatchLongline; @@ -12,10 +13,10 @@ import fr.ird.observe.entities.longline.Encounter; import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.Tdr; import fr.ird.observe.entities.longline.TripLongline; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntities; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Person; import fr.ird.observe.entities.referentiel.Persons; -import fr.ird.observe.entities.referentiel.ObserveReferentialEntities; import fr.ird.observe.entities.referentiel.Species; import fr.ird.observe.entities.referentiel.Vessel; import fr.ird.observe.entities.referentiel.Vessels; @@ -27,7 +28,6 @@ import fr.ird.observe.entities.seine.TargetCatch; import fr.ird.observe.entities.seine.TargetCatchImpl; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveSpeciesListConfiguration; -import org.nuiton.topia.persistence.TopiaEntity; /** * Une usine de {@link EntitiesExtractor}. @@ -170,9 +170,9 @@ public class EntitiesSetFactory { } - public <P extends TopiaEntity, C extends TopiaEntity> EntitiesExtractor<C> newEntitiesSet(Class<P> parentType, - Class<C> propertyType, - String propertyName) { + public <P extends ObserveEntity, C extends ObserveEntity> EntitiesExtractor<C> newEntitiesSet(Class<P> parentType, + Class<C> propertyType, + String propertyName) { Preconditions.checkNotNull(parentType, "Parent type is required"); Preconditions.checkNotNull(propertyName, "Property name is required"); @@ -203,11 +203,11 @@ public class EntitiesSetFactory { } - protected <P extends TopiaEntity> String buildKey(Class<P> parentType, String propertyName) { + protected <P extends ObserveEntity> String buildKey(Class<P> parentType, String propertyName) { return parentType.getName() + "#" + propertyName; } - protected <P extends TopiaEntity, C extends ObserveReferentialEntity> void registerReferentialEntitiesExtractor( + protected <P extends ObserveEntity, C extends ObserveReferentialEntity> void registerReferentialEntitiesExtractor( ImmutableMap.Builder<String, EntitiesExtractor> builder, Class<P> parentType, String propertyName, @@ -221,7 +221,7 @@ public class EntitiesSetFactory { } - protected <P extends TopiaEntity> void registerSpeciesListEntitiesExtractor( + protected <P extends ObserveEntity> void registerSpeciesListEntitiesExtractor( ImmutableMap.Builder<String, EntitiesExtractor> builder, Class<P> parentType, String propertyName, @@ -232,7 +232,7 @@ public class EntitiesSetFactory { } - protected <P extends TopiaEntity> void registerSpeciesListOceanEntitiesExtractor( + protected <P extends ObserveEntity> void registerSpeciesListOceanEntitiesExtractor( ImmutableMap.Builder<String, EntitiesExtractor> builder, Class<P> parentType, String propertyName, @@ -243,7 +243,7 @@ public class EntitiesSetFactory { } - protected <P extends TopiaEntity> void registerSectionEntitiesExtractor( + protected <P extends ObserveEntity> void registerSectionEntitiesExtractor( ImmutableMap.Builder<String, EntitiesExtractor> builder, Class<P> parentType, String propertyName) { @@ -253,7 +253,7 @@ public class EntitiesSetFactory { } - protected <P extends TopiaEntity> void registerBasketEntitiesExtractor( + protected <P extends ObserveEntity> void registerBasketEntitiesExtractor( ImmutableMap.Builder<String, EntitiesExtractor> builder, Class<P> parentType, String propertyName) { @@ -263,7 +263,7 @@ public class EntitiesSetFactory { } - protected <P extends TopiaEntity> void registerBranchlineEntitiesExtractor( + protected <P extends ObserveEntity> void registerBranchlineEntitiesExtractor( ImmutableMap.Builder<String, EntitiesExtractor> builder, Class<P> parentType, String propertyName) { @@ -273,7 +273,7 @@ public class EntitiesSetFactory { } - protected <P extends TopiaEntity, C extends TopiaEntity> void registerEntitiesExtractor( + protected <P extends ObserveEntity, C extends ObserveEntity> void registerEntitiesExtractor( ImmutableMap.Builder<String, EntitiesExtractor> builder, Class<P> parentType, String propertyName, 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 4b6df57..949fe9e 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 @@ -131,7 +131,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe D dto = form.getObject(); dto.setVersion(entity.getTopiaVersion()); dto.setCreateDate(entity.getTopiaCreateDate()); - dto.setLastUpdate(entity.getLastUpdateDate()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); dto.setStatus(ReferenceStatus.valueOf(entity.getStatus().name())); dto.setEnabled(entity.isEnabled()); @@ -200,14 +200,11 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe if (ObserveReferentialEntity.class.isAssignableFrom(type)) { Class<ReferentialDto> dtoType = BINDER_ENGINE.getReferentialDtoType((Class) type); - referenceSet = toReferentialReferenceSet(dtoType, (List) entities, null); } else { - Class<DataDto> dtoType = BINDER_ENGINE.getDataDtoType(type); - - + Class<DataDto> dtoType = BINDER_ENGINE.getDataDtoType((Class)type); referenceSet = toDataReferenceSet(dtoType, (List) entities); } 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 9952c19..224f461 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,6 +24,8 @@ package fr.ird.observe.services.service.actions.report; import com.google.common.collect.Maps; import fr.ird.observe.AbstractObserveTopiaDao; +import fr.ird.observe.entities.ObserveDataEntity; +import fr.ird.observe.entities.ObserveEntity; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.services.ObserveServiceTopia; @@ -82,7 +84,7 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer Class<? extends ReferentialDto> dtoType = (Class<? extends ReferentialDto>) type; ReferentialBinderSupport<ObserveReferentialEntity, ? extends ReferentialDto> binder = getReferentialBinder(dtoType); - List<TopiaEntity> universe = executeRequest(hql, vars); + List<ObserveEntity> universe = executeRequest(hql, vars); for (TopiaEntity entity : universe) { @@ -95,12 +97,12 @@ public class ReportServiceTopia extends ObserveServiceTopia implements ReportSer Class<? extends DataDto> dtoType = (Class<? extends DataDto>) type; - DataBinderSupport<TopiaEntity, ? extends DataDto> binder = getDataBinder(dtoType); - List<TopiaEntity> universe = executeRequest(hql, vars); + DataBinderSupport<ObserveDataEntity, ? extends DataDto> binder = getDataBinder(dtoType); + List<ObserveEntity> universe = executeRequest(hql, vars); - for (TopiaEntity entity : universe) { + for (ObserveEntity entity : universe) { - DataReference<? extends DataDto> reference = binder.toDataReference(getReferentialLocale(), entity); + DataReference<? extends DataDto> reference = binder.toDataReference(getReferentialLocale(), (ObserveDataEntity) entity); values.add(reference); } 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 6f60048..2e3f42d 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,6 +5,8 @@ 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.ObserveDataEntity; +import fr.ird.observe.entities.ObserveEntity; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.dto.DataDto; @@ -13,7 +15,6 @@ 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; import org.nuiton.validator.NuitonValidatorScope; import org.nuiton.validator.bean.simple.SimpleBeanValidator; @@ -78,8 +79,8 @@ public class GenerateValidatorDescriptorsFileTool { for (Map.Entry<Class<? extends ObserveReferentialEntity>, Class<? extends ReferentialDto>> entry : BinderEngine.get().getReferentialEntityToDtoTypes().entrySet()) { - Class<? extends TopiaEntity> entityType = entry.getKey(); - Class<? extends IdDto> dtoType = entry.getValue(); + Class<? extends ObserveReferentialEntity> entityType = entry.getKey(); + Class<? extends ReferentialDto> dtoType = entry.getValue(); for (String context : ValidateServiceTopia.AVAILABLE_CONTEXT_NAMES) { Set<ValidatorDto> validatorDtos = getValidatorDtos(context, scopes, entityType, dtoType); @@ -88,10 +89,10 @@ public class GenerateValidatorDescriptorsFileTool { } - for (Map.Entry<Class<? extends TopiaEntity>, Class<? extends DataDto>> entry : BinderEngine.get().getDataEntityToDtoTypes().entrySet()) { + for (Map.Entry<Class<? extends ObserveDataEntity>, Class<? extends DataDto>> entry : BinderEngine.get().getDataEntityToDtoTypes().entrySet()) { - Class<? extends TopiaEntity> entityType = entry.getKey(); - Class<? extends IdDto> dtoType = entry.getValue(); + Class<? extends ObserveDataEntity> entityType = entry.getKey(); + Class<? extends DataDto> dtoType = entry.getValue(); for (String context : ValidateServiceTopia.AVAILABLE_CONTEXT_NAMES) { Set<ValidatorDto> validatorDtos = getValidatorDtos(context, scopes, entityType, dtoType); @@ -114,7 +115,7 @@ public class GenerateValidatorDescriptorsFileTool { */ protected static Set<ValidatorDto> getValidatorDtos(String context, NuitonValidatorScope[] scopes, - Class<? extends TopiaEntity> entityType, + Class<? extends ObserveEntity> entityType, Class<? extends IdDto> dtoType) { SimpleBeanValidator valitator = SimpleBeanValidator.newValidator( 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 c22bc47..2606cd4 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 @@ -27,6 +27,7 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.entities.Trip; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.ObserveServiceTopia; @@ -157,16 +158,16 @@ public class ValidateServiceTopia extends ObserveServiceTopia implements Validat } - private <E extends TopiaEntity, D extends DataDto> void buildResultForDataDtoType(Class<E> entityType, - ValidationMessageDetector detector, - ImmutableMap.Builder<Class<? extends IdDto>, ValidateResultForDtoType> forDtoTypeBuilder) { + private <E extends ObserveDataEntity, 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(); + ObserveDataEntity entity = (ObserveDataEntity) 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)); 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 cb4e638..e1d60c5 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 @@ -22,7 +22,7 @@ public class BranchlineServiceTopia extends ObserveServiceTopia implements Branc Branchline entity = loadEntity(BranchlineDto.class, id); Form<BranchlineDto> form = dataEntityToForm(BranchlineDto.class, entity, ReferenceSetRequestDefinitions.BRANCHLINE_FORM); - form.getObject().setLastUpdate(setLongline.getLastUpdateDate()); + form.getObject().setLastUpdateDate(setLongline.getLastUpdateDate()); 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 4f298be..79a84d5 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 @@ -40,6 +40,7 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; +import fr.ird.observe.services.dto.result.TripChildSaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.TripSeineDto; @@ -182,8 +183,6 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi @Override public TripChildSaveResultDto save(String tripSeineId, RouteDto dto) { - TripChildSaveResultDto result = new TripChildSaveResultDto(); - TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); Date oldRouteDate; @@ -201,8 +200,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi SaveResultDto saveResultDto = saveEntity(entity); - result.setId(saveResultDto.getId()); - result.setLastUpdate(saveResultDto.getLastUpdate()); + TripChildSaveResultDto result = TripChildSaveResultDtos.of(saveResultDto); if (dto.isNotPersisted()) { 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 index ff73bfd..1afdc5c 100644 --- 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 @@ -48,7 +48,7 @@ public class BinderEngineMetadataTest { for (Class<? extends DataDto> dtoType : binderEngine.getDataDtoToEntityTypes().keySet()) { - DataBinderSupport<TopiaEntity, ? extends DataDto> referentialBinder = binderEngine.getDataBinder(dtoType); + DataBinderSupport<ObserveDataEntity, ? extends DataDto> referentialBinder = binderEngine.getDataBinder(dtoType); Assert.assertNotNull("No binder for " + dtoType, referentialBinder); } @@ -79,17 +79,17 @@ public class BinderEngineMetadataTest { @Test public void testGetDataEntityType() throws Exception { - ImmutableMap<Class<? extends DataDto>, Class<? extends TopiaEntity>> dataDtoToEntityTypes = binderEngine.getDataDtoToEntityTypes(); + ImmutableMap<Class<? extends DataDto>, Class<? extends ObserveDataEntity>> 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(); + Set<Class<? extends ObserveDataEntity>> entityTypesFromEngine = Sets.newConcurrentHashSet(dataDtoToEntityTypes.values()); + Set<Class<? extends ObserveDataEntity>> dataEntityTypesFromTopia = getDataEntityTypesFromTopia(); Assert.assertEquals(dataEntityTypesFromTopia.size(), entityTypesFromEngine.size()); for (Class<? extends DataDto> dtoType : dataDtoToEntityTypes.keySet()) { - Class<TopiaEntity> entityType = binderEngine.getDataEntityType(dtoType); + Class<ObserveDataEntity> entityType = binderEngine.getDataEntityType(dtoType); Assert.assertNotNull(entityType); } @@ -116,12 +116,12 @@ public class BinderEngineMetadataTest { @Test public void testGetDataDtoType() throws Exception { - ImmutableMap<Class<? extends TopiaEntity>, Class<? extends DataDto>> referentialDtoToEntityTypes = binderEngine.getDataEntityToDtoTypes(); + ImmutableMap<Class<? extends ObserveDataEntity>, Class<? extends DataDto>> referentialDtoToEntityTypes = binderEngine.getDataEntityToDtoTypes(); Assert.assertNotNull(referentialDtoToEntityTypes); Assert.assertEquals(2 * 35, referentialDtoToEntityTypes.size()); - for (Class<? extends TopiaEntity> entityType : referentialDtoToEntityTypes.keySet()) { + for (Class<? extends ObserveDataEntity> entityType : referentialDtoToEntityTypes.keySet()) { Class<? extends DataDto> dtoType = binderEngine.getDataDtoType(entityType); Assert.assertNotNull(dtoType); @@ -146,14 +146,14 @@ public class BinderEngineMetadataTest { } - protected Set<Class<? extends TopiaEntity>> getDataEntityTypesFromTopia() { + protected Set<Class<? extends ObserveDataEntity>> getDataEntityTypesFromTopia() { - Set<Class<? extends TopiaEntity>> result = new LinkedHashSet<>(); + Set<Class<? extends ObserveDataEntity>> result = new LinkedHashSet<>(); for (ObserveEntityEnum observeEntityEnum : ObserveEntityEnum.values()) { if (ObserveDataEntity.class.isAssignableFrom(observeEntityEnum.getContract()) && !Modifier.isAbstract(observeEntityEnum.getImplementation().getModifiers())) { - result.add(observeEntityEnum.getContract()); + result.add((Class<? extends ObserveDataEntity>) observeEntityEnum.getContract()); } } 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 0d95dff..899a3bf 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 @@ -1,6 +1,7 @@ package fr.ird.observe.services.binder; import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; @@ -131,7 +132,6 @@ 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; @@ -282,7 +282,7 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { } - protected <D extends DataDto, E extends TopiaEntity> void transformDataEntityToDto(Class<D> dtoType) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { + protected <D extends DataDto, E extends ObserveDataEntity> void transformDataEntityToDto(Class<D> dtoType) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { Class<E> entityType = binderEngine.getDataEntityType(dtoType); @@ -338,7 +338,7 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { Assert.assertEquals(entity.getTopiaId(), dto.getId()); Assert.assertEquals(entity.getTopiaCreateDate(), dto.getCreateDate()); Assert.assertEquals(entity.getTopiaVersion(), dto.getVersion()); - Assert.assertEquals(entity.getLastUpdateDate(), dto.getLastUpdate()); + Assert.assertEquals(entity.getLastUpdateDate(), dto.getLastUpdateDate()); Assert.assertEquals(entity.isNeedComment(), dto.isNeedComment()); Assert.assertEquals(entity.isEnabled(), dto.isEnabled()); Assert.assertEquals(entity.getUri(), dto.getUri()); 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 c7a06a4..0d8b333 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 @@ -129,7 +129,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeine.getFormsUrl(), tripSeineDto.getFormsUrl()); Assert.assertEquals(tripSeine.getReportsUrl(), tripSeineDto.getReportsUrl()); Assert.assertEquals(tripSeine.getComment(), tripSeineDto.getComment()); - Assert.assertEquals(tripSeine.getLastUpdateDate(), tripSeineDto.getLastUpdate()); + Assert.assertEquals(tripSeine.getLastUpdateDate(), tripSeineDto.getLastUpdateDate()); loadReferenceSets(referentialService, form); @@ -164,7 +164,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNull(tripSeineDto.getFormsUrl()); Assert.assertNull(tripSeineDto.getReportsUrl()); Assert.assertNull(tripSeineDto.getComment()); - Assert.assertNull(tripSeineDto.getLastUpdate()); + Assert.assertNull(tripSeineDto.getLastUpdateDate()); //FIXME Topia test // assertTripFormLabels(formDto); @@ -279,7 +279,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeineDto.getReportsUrl(), tripSeine.getReportsUrl()); Assert.assertEquals(tripSeineDto.getComment(), tripSeine.getComment()); Assert.assertNotNull(tripSeine.getLastUpdateDate()); - Assert.assertNotEquals(tripSeineDto.getLastUpdate(), tripSeine.getLastUpdateDate()); + Assert.assertNotEquals(tripSeineDto.getLastUpdateDate(), tripSeine.getLastUpdateDate()); Date lastUpdateAfter = getLastUpdateDate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); @@ -306,9 +306,9 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { // on fait croire que notre version est plus ancienne Calendar calendar = Calendar.getInstance(); - calendar.setTime(tripSeineDto.getLastUpdate()); + calendar.setTime(tripSeineDto.getLastUpdateDate()); calendar.add(Calendar.HOUR, -1); - tripSeineDto.setLastUpdate(calendar.getTime()); + tripSeineDto.setLastUpdateDate(calendar.getTime()); service.save(form.getObject()); diff --git a/observe-test-data/pom.xml b/observe-test-data/pom.xml index 3695e16..f4e3f7f 100644 --- a/observe-test-data/pom.xml +++ b/observe-test-data/pom.xml @@ -37,17 +37,11 @@ <dependencies> - <!-- Sibling dependencies --> - <!--dependency> - <groupId>${project.groupId}</groupId> - <artifactId>observe-services-configuration-api</artifactId> - <version>${project.version}</version> - </dependency--> + <!-- Commons --> - <!-- Nuiton --> <dependency> - <groupId>org.nuiton</groupId> - <artifactId>nuiton-utils</artifactId> + <groupId>com.google.guava</groupId> + <artifactId>guava</artifactId> </dependency> <dependency> @@ -55,6 +49,12 @@ <artifactId>commons-logging</artifactId> </dependency> + <!-- Nuiton --> + <dependency> + <groupId>org.nuiton</groupId> + <artifactId>nuiton-utils</artifactId> + </dependency> + <dependency> <groupId>org.nuiton.topia</groupId> <artifactId>topia-persistence</artifactId> @@ -66,16 +66,6 @@ <artifactId>junit</artifactId> <scope>compile</scope> </dependency> - <!--dependency> - <groupId>org.slf4j</groupId> - <artifactId>slf4j-jcl</artifactId> - <scope>test</scope> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <scope>test</scope> - </dependency--> </dependencies> -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit a736d267ac97730bbf50c8436cd1569a552144b2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Dec 27 22:27:27 2015 +0100 Refactor des binders --- .../binder/data/ActivityLonglineBinder.java | 8 ++------ .../data/ActivityLonglineEncouterDtoBinder.java | 8 ++------ .../data/ActivityLonglineSensorUsedDtoBinder.java | 8 ++------ .../binder/data/ActivityLonglineStubDtoBinder.java | 4 ++-- .../services/binder/data/ActivitySeineBinder.java | 8 ++------ .../data/ActivitySeineObservedSystemDtoBinder.java | 8 ++------ .../binder/data/ActivitySeineStubDtoBinder.java | 2 +- .../binder/data/BaitsCompositionBinder.java | 4 ++-- .../observe/services/binder/data/BasketBinder.java | 4 ++-- .../services/binder/data/BranchlineBinder.java | 6 ++---- .../binder/data/BranchlinesCompositionBinder.java | 4 ++-- .../services/binder/data/CatchLonglineBinder.java | 6 ++---- .../services/binder/data/DataBinderSupport.java | 21 +++++++++++++++++++++ .../services/binder/data/EncounterBinder.java | 5 +++-- .../services/binder/data/FloatingObjectBinder.java | 6 ++---- .../FloatingObjectObservedSpeciesDtoBinder.java | 6 ++---- .../data/FloatingObjectSchoolEstimateDtoBinder.java | 6 ++---- .../FloatingObjectTransmittingBuoyDtoBinder.java | 6 ++---- .../binder/data/FloatlinesCompositionBinder.java | 4 ++-- .../binder/data/GearUseFeaturesLonglineBinder.java | 6 ++---- .../GearUseFeaturesMeasurementLonglineBinder.java | 4 ++-- .../data/GearUseFeaturesMeasurementSeineBinder.java | 4 ++-- .../binder/data/GearUseFeaturesSeineBinder.java | 6 ++---- .../binder/data/HooksCompositionBinder.java | 4 ++-- .../services/binder/data/NonTargetCatchBinder.java | 6 ++---- .../services/binder/data/NonTargetLengthBinder.java | 4 ++-- .../services/binder/data/NonTargetSampleBinder.java | 6 ++---- .../binder/data/ObjectObservedSpeciesBinder.java | 6 ++---- .../binder/data/ObjectSchoolEstimateBinder.java | 4 ++-- .../observe/services/binder/data/RouteBinder.java | 10 +++------- .../services/binder/data/RouteStubDtoBinder.java | 4 ++-- .../services/binder/data/SchoolEstimateBinder.java | 4 ++-- .../observe/services/binder/data/SectionBinder.java | 4 ++-- .../services/binder/data/SensorUsedBinder.java | 4 ++-- .../services/binder/data/SetLonglineBinder.java | 10 +++------- .../binder/data/SetLonglineCatchDtoBinder.java | 6 ++---- .../data/SetLonglineDetailCompositionDtoBinder.java | 6 ++---- .../data/SetLonglineGlobalCompositionDtoBinder.java | 8 ++------ .../binder/data/SetLonglineStubDtoBinder.java | 2 +- .../binder/data/SetLonglineTdrDtoBinder.java | 6 ++---- .../services/binder/data/SetSeineBinder.java | 10 +++------- .../data/SetSeineNonTargetCatchDtoBinder.java | 4 ++-- .../data/SetSeineSchoolEstimateDtoBinder.java | 8 ++------ .../binder/data/SetSeineTargetCatchDtoBinder.java | 6 ++---- .../services/binder/data/SizeMeasureBinder.java | 4 ++-- .../services/binder/data/TargetCatchBinder.java | 6 ++---- .../services/binder/data/TargetLengthBinder.java | 4 ++-- .../services/binder/data/TargetSampleBinder.java | 6 ++---- .../ird/observe/services/binder/data/TdrBinder.java | 4 ++-- .../binder/data/TransmittingBuoyBinder.java | 4 ++-- .../binder/data/TripLonglineActivityDtoBinder.java | 4 ++-- .../services/binder/data/TripLonglineBinder.java | 8 ++------ .../binder/data/TripLonglineGearUseDtoBinder.java | 6 ++---- .../services/binder/data/TripSeineBinder.java | 8 ++------ .../binder/data/TripSeineGearUseDtoBinder.java | 6 ++---- .../services/binder/data/WeightMeasureBinder.java | 4 ++-- 56 files changed, 133 insertions(+), 197 deletions(-) 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 f3481f7..b9beb1a 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 @@ -23,9 +23,7 @@ public class ActivityLonglineBinder extends DataBinderSupport<ActivityLongline, @Override public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineDto dto, ActivityLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setTimeStamp(dto.getTimeStamp()); entity.setLatitude(dto.getLatitude()); @@ -39,9 +37,7 @@ public class ActivityLonglineBinder extends DataBinderSupport<ActivityLongline, @Override public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setTimeStamp(entity.getTimeStamp()); dto.setLatitude(entity.getLatitude()); 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 087fd8c..73ec21f 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 @@ -21,9 +21,7 @@ public class ActivityLonglineEncouterDtoBinder extends DataBinderSupport<Activit @Override public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineEncouterDto dto, ActivityLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setEncounter(toEntityCollection(referentialLocale, dto.getEncounter(), Encounter.class, entity.getEncounter())); @@ -32,9 +30,7 @@ public class ActivityLonglineEncouterDtoBinder extends DataBinderSupport<Activit @Override public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineEncouterDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setEncounter(toLinkedHashSetData(referentialLocale, entity.getEncounter(), EncounterDto.class)); 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 50673ad..9138c04 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 @@ -20,9 +20,7 @@ public class ActivityLonglineSensorUsedDtoBinder extends DataBinderSupport<Activ @Override public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineSensorUsedDto dto, ActivityLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSensorUsed(toEntityCollection(referentialLocale, dto.getSensorUsed(), SensorUsed.class, entity.getSensorUsed())); @@ -31,9 +29,7 @@ public class ActivityLonglineSensorUsedDtoBinder extends DataBinderSupport<Activ @Override public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineSensorUsedDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); 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 index 30c2f1a..1ad7a31 100644 --- 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 @@ -18,7 +18,7 @@ public class ActivityLonglineStubDtoBinder extends DataBinderSupport<ActivityLon @Override public void copyToEntity(ReferentialLocale referentialLocale, ActivityLonglineStubDto dto, ActivityLongline entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); } @@ -26,7 +26,7 @@ public class ActivityLonglineStubDtoBinder extends DataBinderSupport<ActivityLon @Override public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, ActivityLonglineStubDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setVesselActivityLonglineLabel(getLabel(referentialLocale, entity.getVesselActivityLongline())); dto.setHasSetLongline(entity.getSetLongline() != null); 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 95f8dc1..3ed93ba 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 @@ -32,9 +32,7 @@ public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, Activi @Override public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineDto dto, ActivitySeine entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setTime(dto.getTime()); entity.setLatitude(dto.getLatitude()); @@ -58,9 +56,7 @@ public class ActivitySeineBinder extends DataBinderSupport<ActivitySeine, Activi @Override public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setTime(dto.getTime()); dto.setLatitude(dto.getLatitude()); 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 index dc7b5c9..72b5661 100644 --- 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 @@ -20,9 +20,7 @@ public class ActivitySeineObservedSystemDtoBinder extends DataBinderSupport<Acti @Override public void copyToEntity(ReferentialLocale referentialLocale, ActivitySeineObservedSystemDto dto, ActivitySeine entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setObservedSystem(toEntitySet(dto.getObservedSystem(), ObservedSystem.class)); @@ -31,9 +29,7 @@ public class ActivitySeineObservedSystemDtoBinder extends DataBinderSupport<Acti @Override public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineObservedSystemDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); 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 index efe677a..94ebb92 100644 --- 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 @@ -23,7 +23,7 @@ public class ActivitySeineStubDtoBinder extends DataBinderSupport<ActivitySeine, @Override public void copyToDto(ReferentialLocale referentialLocale, ActivitySeine entity, ActivitySeineStubDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setTime(entity.getTime()); dto.setTime(entity.getLastUpdateDate()); 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 index 087b809..f7fdd54 100644 --- 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 @@ -22,7 +22,7 @@ public class BaitsCompositionBinder extends DataBinderSupport<BaitsComposition, @Override public void copyToEntity(ReferentialLocale referentialLocale, BaitsCompositionDto dto, BaitsComposition entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setProportion(dto.getProportion()); entity.setIndividualSize(dto.getIndividualSize()); @@ -35,7 +35,7 @@ public class BaitsCompositionBinder extends DataBinderSupport<BaitsComposition, @Override public void copyToDto(ReferentialLocale referentialLocale, BaitsComposition entity, BaitsCompositionDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setProportion(entity.getProportion()); dto.setIndividualSize(entity.getIndividualSize()); 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 4e7837b..e681e29 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 @@ -21,7 +21,7 @@ public class BasketBinder extends DataBinderSupport<Basket, BasketDto> { @Override public void copyToEntity(ReferentialLocale referentialLocale, BasketDto dto, Basket entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSettingIdentifier(dto.getSettingIdentifier()); entity.setHaulingIdentifier(dto.getHaulingIdentifier()); @@ -34,7 +34,7 @@ public class BasketBinder extends DataBinderSupport<Basket, BasketDto> { @Override public void copyToDto(ReferentialLocale referentialLocale, Basket entity, BasketDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setSettingIdentifier(entity.getSettingIdentifier()); dto.setHaulingIdentifier(entity.getHaulingIdentifier()); 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 index 03dec1a..d7dd9c4 100644 --- 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 @@ -31,8 +31,7 @@ public class BranchlineBinder extends DataBinderSupport<Branchline, BranchlineDt @Override public void copyToEntity(ReferentialLocale referentialLocale, BranchlineDto dto, Branchline entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSettingIdentifier(dto.getSettingIdentifier()); entity.setHaulingIdentifier(dto.getHaulingIdentifier()); @@ -63,8 +62,7 @@ public class BranchlineBinder extends DataBinderSupport<Branchline, BranchlineDt @Override public void copyToDto(ReferentialLocale referentialLocale, Branchline entity, BranchlineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setSettingIdentifier(entity.getSettingIdentifier()); dto.setHaulingIdentifier(entity.getHaulingIdentifier()); 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 index 1452288..0259589 100644 --- 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 @@ -20,7 +20,7 @@ public class BranchlinesCompositionBinder extends DataBinderSupport<BranchlinesC @Override public void copyToEntity(ReferentialLocale referentialLocale, BranchlinesCompositionDto dto, BranchlinesComposition entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setLength(dto.getLength()); entity.setProportion(dto.getProportion()); @@ -32,7 +32,7 @@ public class BranchlinesCompositionBinder extends DataBinderSupport<BranchlinesC @Override public void copyToDto(ReferentialLocale referentialLocale, BranchlinesComposition entity, BranchlinesCompositionDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setLength(entity.getLength()); dto.setProportion(entity.getProportion()); 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 af83484..d8e11bd 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 @@ -43,8 +43,7 @@ public class CatchLonglineBinder extends DataBinderSupport<CatchLongline, CatchL @Override public void copyToEntity(ReferentialLocale referentialLocale, CatchLonglineDto dto, CatchLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setHomeId(dto.getHomeId()); entity.setCount(dto.getCount()); @@ -76,8 +75,7 @@ public class CatchLonglineBinder extends DataBinderSupport<CatchLongline, CatchL @Override public void copyToDto(ReferentialLocale referentialLocale, CatchLongline entity, CatchLonglineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setHomeId(entity.getHomeId()); dto.setCount(entity.getCount()); 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 ca41c91..dce95d3 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 @@ -4,9 +4,11 @@ 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.entities.CommentableEntity; import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.binder.BinderSupport; +import fr.ird.observe.services.dto.CommentableDto; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.ReferentialLocale; @@ -50,6 +52,15 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D } + protected void copyEntityDataFieldsToDto(E entity, D dto) { + dto.setId(entity.getTopiaId()); + dto.setLastUpdateDate(entity.getLastUpdateDate()); + + if (dto instanceof CommentableDto && entity instanceof CommentableEntity) { + ((CommentableDto)dto).setComment(((CommentableEntity)entity).getComment()); + } + } + // -------------------------------------------------------------------------------------------------------------- // // -- ENTITY → DATA REFERENCE ----------------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // @@ -135,6 +146,14 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D return entity; } + protected void copyDtoDataFieldsToEntity(D dto, E entity) { + entity.setTopiaId(dto.getId()); + entity.setLastUpdateDate(dto.getLastUpdateDate()); + if (dto instanceof CommentableDto && entity instanceof CommentableEntity) { + ((CommentableEntity)entity).setComment(((CommentableDto)dto).getComment()); + } + } + protected <DD extends DataDto, EE extends ObserveDataEntity> Set<EE> toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, Set<EE> entityList) { if (entityList == null) { @@ -208,6 +227,7 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D public E toEntity(DataReference<D> reference) { E entity = newEntity(); entity.setTopiaId(reference.getId()); + entity.setLastUpdateDate(reference.getLastUpdateDate()); return entity; } @@ -218,6 +238,7 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(type); EE entity = binder.toEntity(reference); entity.setTopiaId(reference.getId()); + entity.setLastUpdateDate(reference.getLastUpdateDate()); 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 index 83d5418..97e6197 100644 --- 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 @@ -23,7 +23,7 @@ public class EncounterBinder extends DataBinderSupport<Encounter, EncounterDto> @Override public void copyToEntity(ReferentialLocale referentialLocale, EncounterDto dto, Encounter entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); entity.setEncounterType(toEntity(dto.getEncounterType(), EncounterType.class)); @@ -36,7 +36,8 @@ public class EncounterBinder extends DataBinderSupport<Encounter, EncounterDto> @Override public void copyToDto(ReferentialLocale referentialLocale, Encounter entity, EncounterDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); + dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); dto.setEncounterType(toReferentialReference(referentialLocale, entity.getEncounterType(), EncounterTypeDto.class)); dto.setDistance(entity.getDistance()); 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 index a9e8fb0..683d5e4 100644 --- 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 @@ -25,8 +25,7 @@ public class FloatingObjectBinder extends DataBinderSupport<FloatingObject, Floa @Override public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectDto dto, FloatingObject entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setDaysAtSeaCount(dto.getDaysAtSeaCount()); entity.setSupportVesselName(dto.getSupportVesselName()); @@ -39,8 +38,7 @@ public class FloatingObjectBinder extends DataBinderSupport<FloatingObject, Floa @Override public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setDaysAtSeaCount(entity.getDaysAtSeaCount()); dto.setSupportVesselName(entity.getSupportVesselName()); 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 0e765c7..b542707 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 @@ -20,8 +20,7 @@ public class FloatingObjectObservedSpeciesDtoBinder extends DataBinderSupport<Fl @Override public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectObservedSpeciesDto dto, FloatingObject entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setObjectObservedSpecies(toEntityCollection(referentialLocale, dto.getObjectObservedSpecies(), ObjectObservedSpecies.class, entity.getObjectObservedSpecies())); @@ -30,8 +29,7 @@ public class FloatingObjectObservedSpeciesDtoBinder extends DataBinderSupport<Fl @Override public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectObservedSpeciesDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); 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 index b2e75d0..9f169a3 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 @@ -20,8 +20,7 @@ public class FloatingObjectSchoolEstimateDtoBinder extends DataBinderSupport<Flo @Override public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectSchoolEstimateDto dto, FloatingObject entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setObjectSchoolEstimate(toEntityCollection(referentialLocale, dto.getObjectSchoolEstimate(), ObjectSchoolEstimate.class, entity.getObjectSchoolEstimate())); @@ -30,8 +29,7 @@ public class FloatingObjectSchoolEstimateDtoBinder extends DataBinderSupport<Flo @Override public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectSchoolEstimateDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); 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 index 7f43381..120f9a6 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 @@ -20,8 +20,7 @@ public class FloatingObjectTransmittingBuoyDtoBinder extends DataBinderSupport<F @Override public void copyToEntity(ReferentialLocale referentialLocale, FloatingObjectTransmittingBuoyDto dto, FloatingObject entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setTransmittingBuoy(toEntitySet(referentialLocale, dto.getTransmittingBuoy(), TransmittingBuoy.class, entity.getTransmittingBuoy())); @@ -30,8 +29,7 @@ public class FloatingObjectTransmittingBuoyDtoBinder extends DataBinderSupport<F @Override public void copyToDto(ReferentialLocale referentialLocale, FloatingObject entity, FloatingObjectTransmittingBuoyDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); 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 index 09fe24e..fb05bd3 100644 --- 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 @@ -20,7 +20,7 @@ public class FloatlinesCompositionBinder extends DataBinderSupport<FloatlinesCom @Override public void copyToEntity(ReferentialLocale referentialLocale, FloatlinesCompositionDto dto, FloatlinesComposition entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setLength(dto.getLength()); entity.setProportion(dto.getProportion()); @@ -31,7 +31,7 @@ public class FloatlinesCompositionBinder extends DataBinderSupport<FloatlinesCom @Override public void copyToDto(ReferentialLocale referentialLocale, FloatlinesComposition entity, FloatlinesCompositionDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setLength(entity.getLength()); dto.setProportion(entity.getProportion()); 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 9c05d7d..7e3b659 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 @@ -22,8 +22,7 @@ public class GearUseFeaturesLonglineBinder extends DataBinderSupport<GearUseFeat @Override public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesLonglineDto dto, GearUseFeaturesLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setNumber(dto.getNumber()); entity.setUsedInTrip(dto.getUsedInTrip()); @@ -34,8 +33,7 @@ public class GearUseFeaturesLonglineBinder extends DataBinderSupport<GearUseFeat @Override public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesLongline entity, GearUseFeaturesLonglineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setNumber(entity.getNumber()); dto.setUsedInTrip(entity.getUsedInTrip()); 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 index 5ac6435..ad83ddf 100644 --- 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 @@ -20,7 +20,7 @@ public class GearUseFeaturesMeasurementLonglineBinder extends DataBinderSupport< @Override public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementLonglineDto dto, GearUseFeaturesMeasurementLongline entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setMeasurementValue(dto.getMeasurementValue()); entity.setGearCaracteristic(toEntity(dto.getGearCaracteristic(), GearCaracteristic.class)); @@ -30,7 +30,7 @@ public class GearUseFeaturesMeasurementLonglineBinder extends DataBinderSupport< @Override public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementLongline entity, GearUseFeaturesMeasurementLonglineDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); 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/GearUseFeaturesMeasurementSeineBinder.java b/observe-services-topia/src/main/java/fr/ird/observe/services/binder/data/GearUseFeaturesMeasurementSeineBinder.java index 98ff84d..000d686 100644 --- 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 @@ -20,7 +20,7 @@ public class GearUseFeaturesMeasurementSeineBinder extends DataBinderSupport<Gea @Override public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementSeineDto dto, GearUseFeaturesMeasurementSeine entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setMeasurementValue(dto.getMeasurementValue()); entity.setGearCaracteristic(toEntity(dto.getGearCaracteristic(), GearCaracteristic.class)); @@ -31,7 +31,7 @@ public class GearUseFeaturesMeasurementSeineBinder extends DataBinderSupport<Gea @Override public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesMeasurementSeine entity, GearUseFeaturesMeasurementSeineDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); 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 index ecb11c2..2df4e9a 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 @@ -22,8 +22,7 @@ public class GearUseFeaturesSeineBinder extends DataBinderSupport<GearUseFeature @Override public void copyToEntity(ReferentialLocale referentialLocale, GearUseFeaturesSeineDto dto, GearUseFeaturesSeine entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setNumber(dto.getNumber()); entity.setUsedInTrip(dto.getUsedInTrip()); @@ -35,8 +34,7 @@ public class GearUseFeaturesSeineBinder extends DataBinderSupport<GearUseFeature @Override public void copyToDto(ReferentialLocale referentialLocale, GearUseFeaturesSeine entity, GearUseFeaturesSeineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setNumber(entity.getNumber()); dto.setUsedInTrip(entity.getUsedInTrip()); 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 index 061d94d..661f17f 100644 --- 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 @@ -22,7 +22,7 @@ public class HooksCompositionBinder extends DataBinderSupport<HooksComposition, @Override public void copyToEntity(ReferentialLocale referentialLocale, HooksCompositionDto dto, HooksComposition entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setProportion(dto.getProportion()); entity.setHookOffset(dto.getHookOffset()); @@ -34,7 +34,7 @@ public class HooksCompositionBinder extends DataBinderSupport<HooksComposition, @Override public void copyToDto(ReferentialLocale referentialLocale, HooksComposition entity, HooksCompositionDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setProportion(entity.getProportion()); dto.setHookOffset(entity.getHookOffset()); 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 index 1c08288..74b2208 100644 --- 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 @@ -25,8 +25,7 @@ public class NonTargetCatchBinder extends DataBinderSupport<NonTargetCatch, NonT @Override public void copyToEntity(ReferentialLocale referentialLocale, NonTargetCatchDto dto, NonTargetCatch entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setCatchWeight(dto.getCatchWeight()); entity.setMeanWeight(dto.getMeanWeight()); @@ -46,8 +45,7 @@ public class NonTargetCatchBinder extends DataBinderSupport<NonTargetCatch, NonT @Override public void copyToDto(ReferentialLocale referentialLocale, NonTargetCatch entity, NonTargetCatchDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setCatchWeight(entity.getCatchWeight()); dto.setMeanWeight(entity.getMeanWeight()); 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 index 05f8e35..5a25365 100644 --- 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 @@ -22,7 +22,7 @@ public class NonTargetLengthBinder extends DataBinderSupport<NonTargetLength, No @Override public void copyToEntity(ReferentialLocale referentialLocale, NonTargetLengthDto dto, NonTargetLength entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setLength(dto.getLength()); entity.setWeight(dto.getWeight()); @@ -40,7 +40,7 @@ public class NonTargetLengthBinder extends DataBinderSupport<NonTargetLength, No @Override public void copyToDto(ReferentialLocale referentialLocale, NonTargetLength entity, NonTargetLengthDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setLength(entity.getLength()); dto.setWeight(entity.getWeight()); 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 c0d8cc6..094ee8c 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 @@ -20,8 +20,7 @@ public class NonTargetSampleBinder extends DataBinderSupport<NonTargetSample, No @Override public void copyToEntity(ReferentialLocale referentialLocale, NonTargetSampleDto dto, NonTargetSample entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setNonTargetLength(toEntitySet(referentialLocale, dto.getNonTargetLength(), NonTargetLength.class, entity.getNonTargetLength())); @@ -30,8 +29,7 @@ public class NonTargetSampleBinder extends DataBinderSupport<NonTargetSample, No @Override public void copyToDto(ReferentialLocale referentialLocale, NonTargetSample entity, NonTargetSampleDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); 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 index 76d559f..52387ac 100644 --- 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 @@ -22,8 +22,7 @@ public class ObjectObservedSpeciesBinder extends DataBinderSupport<ObjectObserve @Override public void copyToEntity(ReferentialLocale referentialLocale, ObjectObservedSpeciesDto dto, ObjectObservedSpecies entity) { - entity.setTopiaId(dto.getId()); - + copyDtoDataFieldsToEntity(dto, entity); entity.setCount(entity.getCount()); entity.setStatut(entity.getStatut()); @@ -35,8 +34,7 @@ public class ObjectObservedSpeciesBinder extends DataBinderSupport<ObjectObserve @Override public void copyToDto(ReferentialLocale referentialLocale, ObjectObservedSpecies entity, ObjectObservedSpeciesDto dto) { - dto.setId(entity.getTopiaId()); - + copyEntityDataFieldsToDto(entity, dto); dto.setCount(entity.getCount()); dto.setStatut(entity.getStatut()); 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 index bb429b3..6790643 100644 --- 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 @@ -20,7 +20,7 @@ public class ObjectSchoolEstimateBinder extends DataBinderSupport<ObjectSchoolEs @Override public void copyToEntity(ReferentialLocale referentialLocale, ObjectSchoolEstimateDto dto, ObjectSchoolEstimate entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setTotalWeight(dto.getTotalWeight()); entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); @@ -30,7 +30,7 @@ public class ObjectSchoolEstimateBinder extends DataBinderSupport<ObjectSchoolEs @Override public void copyToDto(ReferentialLocale referentialLocale, ObjectSchoolEstimate entity, ObjectSchoolEstimateDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); 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 index 0fe15d9..3afb393 100644 --- 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 @@ -20,10 +20,8 @@ public class RouteBinder extends DataBinderSupport<Route, RouteDto> { @Override public void copyToEntity(ReferentialLocale referentialLocale, RouteDto dto, Route entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); + copyDtoDataFieldsToEntity(dto, entity); - entity.setComment(dto.getComment()); entity.setDate(dto.getDate()); entity.setStartLogValue(dto.getStartLogValue()); entity.setEndLogValue(dto.getEndLogValue()); @@ -35,15 +33,13 @@ public class RouteBinder extends DataBinderSupport<Route, RouteDto> { @Override public void copyToDto(ReferentialLocale referentialLocale, Route entity, RouteDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + copyEntityDataFieldsToDto(entity, dto); - dto.setComment(entity.getComment()); dto.setDate(entity.getDate()); dto.setStartLogValue(entity.getStartLogValue()); dto.setEndLogValue(entity.getEndLogValue()); dto.setCheckLevel(entity.getCheckLevel()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + dto.setActivitySeine(toLinkedHashSetData(referentialLocale, entity.getActivitySeine(), ActivitySeineStubDto.class)); } 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 index 6f5c765..7691089 100644 --- 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 @@ -18,7 +18,7 @@ public class RouteStubDtoBinder extends DataBinderSupport<Route, RouteStubDto> { @Override public void copyToEntity(ReferentialLocale referentialLocale, RouteStubDto dto, Route entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setDate(dto.getDate()); entity.setStartLogValue(dto.getStartLogValue()); @@ -29,7 +29,7 @@ public class RouteStubDtoBinder extends DataBinderSupport<Route, RouteStubDto> { @Override public void copyToDto(ReferentialLocale referentialLocale, Route entity, RouteStubDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setDate(entity.getDate()); dto.setStartLogValue(entity.getStartLogValue()); 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 index d5c908c..8fe6dde 100644 --- 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 @@ -21,7 +21,7 @@ public class SchoolEstimateBinder extends DataBinderSupport<SchoolEstimate, Scho @Override public void copyToEntity(ReferentialLocale referentialLocale, SchoolEstimateDto dto, SchoolEstimate entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setTotalWeight(dto.getTotalWeight()); entity.setMeanWeight(dto.getMeanWeight()); @@ -32,7 +32,7 @@ public class SchoolEstimateBinder extends DataBinderSupport<SchoolEstimate, Scho @Override public void copyToDto(ReferentialLocale referentialLocale, SchoolEstimate entity, SchoolEstimateDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setTotalWeight(entity.getTotalWeight()); dto.setMeanWeight(entity.getMeanWeight()); 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 986d51e..4102ccb 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 @@ -21,7 +21,7 @@ public class SectionBinder extends DataBinderSupport<Section, SectionDto> { @Override public void copyToEntity(ReferentialLocale referentialLocale, SectionDto dto, Section entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSettingIdentifier(dto.getSettingIdentifier()); entity.setHaulingIdentifier(dto.getHaulingIdentifier()); @@ -32,7 +32,7 @@ public class SectionBinder extends DataBinderSupport<Section, SectionDto> { @Override public void copyToDto(ReferentialLocale referentialLocale, Section entity, SectionDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setSettingIdentifier(entity.getSettingIdentifier()); dto.setHaulingIdentifier(entity.getHaulingIdentifier()); 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 index 5df54cf..5983504 100644 --- 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 @@ -24,7 +24,7 @@ public class SensorUsedBinder extends DataBinderSupport<SensorUsed, SensorUsedDt @Override public void copyToEntity(ReferentialLocale referentialLocale, SensorUsedDto dto, SensorUsed entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setData(dto.getData()); entity.setDataFilename(dto.getDataFilename()); @@ -39,7 +39,7 @@ public class SensorUsedBinder extends DataBinderSupport<SensorUsed, SensorUsedDt @Override public void copyToDto(ReferentialLocale referentialLocale, SensorUsed entity, SensorUsedDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setData(entity.getData()); dto.setDataFilename(entity.getDataFilename()); 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 e1f1350..d25dace 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 @@ -27,9 +27,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin @Override public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDto dto, SetLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setHomeId(dto.getHomeId()); entity.setNumber(dto.getNumber()); @@ -74,9 +72,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin @Override public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setHomeId(entity.getHomeId()); dto.setNumber(entity.getNumber()); @@ -110,7 +106,7 @@ public class SetLonglineBinder extends DataBinderSupport<SetLongline, SetLonglin dto.setHaulingEndLongitude(entity.getHaulingEndLongitude()); dto.setHaulingBreaks(entity.getHaulingBreaks()); dto.setMonitored(entity.getMonitored()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + dto.setSettingShape(toReferentialReference(referentialLocale, entity.getSettingShape(), SettingShapeDto.class)); dto.setLineType(toReferentialReference(referentialLocale, entity.getLineType(), LineTypeDto.class)); dto.setLightsticksType(toReferentialReference(referentialLocale, entity.getLightsticksType(), LightsticksTypeDto.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 index 021db91..10dad09 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 @@ -20,8 +20,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se @Override public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineCatchDto dto, SetLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); + copyDtoDataFieldsToEntity(dto, entity); entity.setCatchLongline(toEntitySet(referentialLocale, dto.getCatchLongline(), CatchLongline.class, entity.getCatchLongline())); @@ -30,8 +29,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se @Override public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineCatchDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + copyEntityDataFieldsToDto(entity, dto); 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 index 589287b..ad9a2b1 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 @@ -20,8 +20,7 @@ public class SetLonglineDetailCompositionDtoBinder extends DataBinderSupport<Set @Override public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineDetailCompositionDto dto, SetLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSection(toEntitySet(referentialLocale, dto.getSection(), Section.class, entity.getSection())); entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); @@ -37,8 +36,7 @@ public class SetLonglineDetailCompositionDtoBinder extends DataBinderSupport<Set @Override public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineDetailCompositionDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + copyEntityDataFieldsToDto(entity, dto); dto.setSection(toLinkedHashSetData(referentialLocale, entity.getSection(), SectionDto.class)); dto.setSettingStartTimeStamp(entity.getSettingStartTimeStamp()); 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 a94da46..f079563 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 @@ -28,9 +28,7 @@ public class SetLonglineGlobalCompositionDtoBinder extends DataBinderSupport<Set @Override public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineGlobalCompositionDto dto, SetLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setFloatlinesComposition(toEntityCollection(referentialLocale, dto.getFloatlinesComposition(), FloatlinesComposition.class, entity.getFloatlinesComposition())); entity.setBranchlinesComposition(toEntityCollection(referentialLocale, dto.getBranchlinesComposition(), BranchlinesComposition.class, entity.getBranchlinesComposition())); @@ -43,9 +41,7 @@ public class SetLonglineGlobalCompositionDtoBinder extends DataBinderSupport<Set @Override public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineGlobalCompositionDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setFloatlinesComposition(toLinkedHashSetData(referentialLocale, entity.getFloatlinesComposition(), FloatlinesCompositionDto.class)); dto.setBranchlinesComposition(toLinkedHashSetData(referentialLocale, entity.getBranchlinesComposition(), BranchlinesCompositionDto.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 index 9fe3c24..11c6139 100644 --- 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 @@ -24,7 +24,7 @@ public class SetLonglineStubDtoBinder extends DataBinderSupport<SetLongline, Set @Override public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineStubDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setHomeId(entity.getHomeId()); dto.setNumber(entity.getNumber()); 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 index b4ad017..c4f3253 100644 --- 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 @@ -18,8 +18,7 @@ public class SetLonglineTdrDtoBinder extends DataBinderSupport<SetLongline, SetL @Override public void copyToEntity(ReferentialLocale referentialLocale, SetLonglineTdrDto dto, SetLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSettingStartTimeStamp(dto.getSettingStartTimeStamp()); @@ -28,8 +27,7 @@ public class SetLonglineTdrDtoBinder extends DataBinderSupport<SetLongline, SetL @Override public void copyToDto(ReferentialLocale referentialLocale, SetLongline entity, SetLonglineTdrDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + copyEntityDataFieldsToDto(entity, dto); 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 index 4cfbf59..824e1c0 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 @@ -21,9 +21,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { @Override public void copyToEntity(ReferentialLocale referentialLocale, SetSeineDto dto, SetSeine entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setStartTime(dto.getStartTime()); entity.setEndPursingTimeStamp(dto.getEndPursingTimeStamp()); @@ -48,9 +46,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { @Override public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setStartTime(entity.getStartTime()); dto.setEndPursingTimeStamp(entity.getEndPursingTimeStamp()); @@ -66,7 +62,7 @@ public class SetSeineBinder extends DataBinderSupport<SetSeine, SetSeineDto> { dto.setTargetDiscarded(entity.getTargetDiscarded()); dto.setNonTargetDiscarded(entity.getNonTargetDiscarded()); dto.setCurrentMeasureDepth(entity.getCurrentMeasureDepth()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + 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 index 9637541..e5041b6 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 @@ -20,7 +20,7 @@ public class SetSeineNonTargetCatchDtoBinder extends DataBinderSupport<SetSeine, @Override public void copyToEntity(ReferentialLocale referentialLocale, SetSeineNonTargetCatchDto dto, SetSeine entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setNonTargetCatch(toEntityCollection(referentialLocale, dto.getNonTargetCatch(), NonTargetCatch.class, entity.getNonTargetCatch())); @@ -29,7 +29,7 @@ public class SetSeineNonTargetCatchDtoBinder extends DataBinderSupport<SetSeine, @Override public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineNonTargetCatchDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); 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 index 30186cd..104b1fa 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 @@ -20,9 +20,7 @@ public class SetSeineSchoolEstimateDtoBinder extends DataBinderSupport<SetSeine, @Override public void copyToEntity(ReferentialLocale referentialLocale, SetSeineSchoolEstimateDto dto, SetSeine entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSchoolEstimate(toEntityCollection(referentialLocale, dto.getSchoolEstimate(), SchoolEstimate.class, entity.getSchoolEstimate())); } @@ -30,9 +28,7 @@ public class SetSeineSchoolEstimateDtoBinder extends DataBinderSupport<SetSeine, @Override public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineSchoolEstimateDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); 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 index 623e223..f4ef420 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 @@ -20,8 +20,7 @@ public class SetSeineTargetCatchDtoBinder extends DataBinderSupport<SetSeine, Se @Override public void copyToEntity(ReferentialLocale referentialLocale, SetSeineTargetCatchDto dto, SetSeine entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); + copyDtoDataFieldsToEntity(dto, entity); entity.setTargetCatch(toEntityCollection(referentialLocale, dto.getTargetCatch(), TargetCatch.class, entity.getTargetCatch())); @@ -30,8 +29,7 @@ public class SetSeineTargetCatchDtoBinder extends DataBinderSupport<SetSeine, Se @Override public void copyToDto(ReferentialLocale referentialLocale, SetSeine entity, SetSeineTargetCatchDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + copyEntityDataFieldsToDto(entity, dto); 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 index 35c3bf0..7eebb80 100644 --- 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 @@ -20,7 +20,7 @@ public class SizeMeasureBinder extends DataBinderSupport<SizeMeasure, SizeMeasur @Override public void copyToEntity(ReferentialLocale referentialLocale, SizeMeasureDto dto, SizeMeasure entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSize(dto.getSize()); entity.setSizeMeasureType(toEntity(dto.getSizeMeasureType(), SizeMeasureType.class)); @@ -31,7 +31,7 @@ public class SizeMeasureBinder extends DataBinderSupport<SizeMeasure, SizeMeasur @Override public void copyToDto(ReferentialLocale referentialLocale, SizeMeasure entity, SizeMeasureDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); 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 index 33724dd..dd59de1 100644 --- 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 @@ -24,8 +24,7 @@ public class TargetCatchBinder extends DataBinderSupport<TargetCatch, TargetCatc @Override public void copyToEntity(ReferentialLocale referentialLocale, TargetCatchDto dto, TargetCatch entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setCatchWeight(dto.getCatchWeight()); entity.setWell(dto.getWell()); @@ -40,8 +39,7 @@ public class TargetCatchBinder extends DataBinderSupport<TargetCatch, TargetCatc @Override public void copyToDto(ReferentialLocale referentialLocale, TargetCatch entity, TargetCatchDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setCatchWeight(entity.getCatchWeight()); dto.setWell(entity.getWell()); 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 index 79338c6..348fac3 100644 --- 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 @@ -21,7 +21,7 @@ public class TargetLengthBinder extends DataBinderSupport<TargetLength, TargetLe @Override public void copyToEntity(ReferentialLocale referentialLocale, TargetLengthDto dto, TargetLength entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setSpecies(toEntity(dto.getSpecies(), Species.class)); entity.setMeasureType(dto.getMeasureType()); @@ -39,7 +39,7 @@ public class TargetLengthBinder extends DataBinderSupport<TargetLength, TargetLe @Override public void copyToDto(ReferentialLocale referentialLocale, TargetLength entity, TargetLengthDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setSpecies(toReferentialReference(referentialLocale, entity.getSpecies(), SpeciesDto.class)); dto.setMeasureType(entity.getMeasureType()); 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 0b5d176..b2a36ae 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 @@ -20,8 +20,7 @@ public class TargetSampleBinder extends DataBinderSupport<TargetSample, TargetSa @Override public void copyToEntity(ReferentialLocale referentialLocale, TargetSampleDto dto, TargetSample entity) { - entity.setTopiaId(dto.getId()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setNature(dto.getNature()); entity.setDiscarded(dto.getDiscarded()); @@ -32,8 +31,7 @@ public class TargetSampleBinder extends DataBinderSupport<TargetSample, TargetSa @Override public void copyToDto(ReferentialLocale referentialLocale, TargetSample entity, TargetSampleDto dto) { - dto.setId(entity.getTopiaId()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setNature(entity.getNature()); dto.setDiscarded(entity.getDiscarded()); 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 index 66ed5a4..92d1ca1 100644 --- 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 @@ -32,7 +32,7 @@ public class TdrBinder extends DataBinderSupport<Tdr, TdrDto> { @Override public void copyToEntity(ReferentialLocale referentialLocale, TdrDto dto, Tdr entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setHomeId(dto.getHomeId()); entity.setFloatline1Length(dto.getFloatline1Length()); @@ -66,7 +66,7 @@ public class TdrBinder extends DataBinderSupport<Tdr, TdrDto> { @Override public void copyToDto(ReferentialLocale referentialLocale, Tdr entity, TdrDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setHomeId(entity.getHomeId()); dto.setFloatline1Length(entity.getFloatline1Length()); 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 cd1a70b..3fa5660 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 @@ -25,7 +25,7 @@ public class TransmittingBuoyBinder extends DataBinderSupport<TransmittingBuoy, @Override public void copyToEntity(ReferentialLocale referentialLocale, TransmittingBuoyDto dto, TransmittingBuoy entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setCode(dto.getCode()); entity.setBrand(dto.getBrand()); @@ -39,7 +39,7 @@ public class TransmittingBuoyBinder extends DataBinderSupport<TransmittingBuoy, @Override public void copyToDto(ReferentialLocale referentialLocale, TransmittingBuoy entity, TransmittingBuoyDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setCode(entity.getCode()); dto.setBrand(entity.getBrand()); 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 index 5c39510..51b5b8e 100644 --- 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 @@ -18,7 +18,7 @@ public class TripLonglineActivityDtoBinder extends DataBinderSupport<ActivityLon @Override public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineActivityDto dto, ActivityLongline entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setTimeStamp(dto.getTimeStamp()); @@ -27,7 +27,7 @@ public class TripLonglineActivityDtoBinder extends DataBinderSupport<ActivityLon @Override public void copyToDto(ReferentialLocale referentialLocale, ActivityLongline entity, TripLonglineActivityDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); 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 index c12eab5..e238d37 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 @@ -33,9 +33,7 @@ public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLong @Override public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineDto dto, TripLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setStartDate(dto.getStartDate()); entity.setEndDate(dto.getEndDate()); @@ -57,9 +55,7 @@ public class TripLonglineBinder extends DataBinderSupport<TripLongline, TripLong @Override public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); dto.setStartDate(entity.getStartDate()); dto.setEndDate(entity.getEndDate()); 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 4781322..fab4dba 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 @@ -20,8 +20,7 @@ public class TripLonglineGearUseDtoBinder extends DataBinderSupport<TripLongline @Override public void copyToEntity(ReferentialLocale referentialLocale, TripLonglineGearUseDto dto, TripLongline entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); + copyDtoDataFieldsToEntity(dto, entity); entity.setGearUseFeaturesLongline(toEntitySet(referentialLocale, dto.getGearUseFeaturesLongline(), GearUseFeaturesLongline.class, entity.getGearUseFeaturesLongline())); @@ -30,8 +29,7 @@ public class TripLonglineGearUseDtoBinder extends DataBinderSupport<TripLongline @Override public void copyToDto(ReferentialLocale referentialLocale, TripLongline entity, TripLonglineGearUseDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + copyEntityDataFieldsToDto(entity, dto); 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 index 946f0a2..0279961 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 @@ -31,9 +31,7 @@ public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> @Override public void copyToEntity(ReferentialLocale referentialLocale, TripSeineDto dto, TripSeine entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); - entity.setComment(dto.getComment()); + copyDtoDataFieldsToEntity(dto, entity); entity.setStartDate(dto.getStartDate()); entity.setEndDate(dto.getEndDate()); @@ -57,9 +55,7 @@ public class TripSeineBinder extends DataBinderSupport<TripSeine, TripSeineDto> @Override public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); - dto.setComment(entity.getComment()); + copyEntityDataFieldsToDto(entity, dto); 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 1e21186..bc7720b 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 @@ -20,8 +20,7 @@ public class TripSeineGearUseDtoBinder extends DataBinderSupport<TripSeine, Trip @Override public void copyToEntity(ReferentialLocale referentialLocale, TripSeineGearUseDto dto, TripSeine entity) { - entity.setTopiaId(dto.getId()); - entity.setLastUpdateDate(dto.getLastUpdateDate()); + copyDtoDataFieldsToEntity(dto, entity); entity.setGearUseFeaturesSeine(toEntityCollection(referentialLocale, dto.getGearUseFeaturesSeine(), GearUseFeaturesSeine.class, entity.getGearUseFeaturesSeine())); @@ -30,8 +29,7 @@ public class TripSeineGearUseDtoBinder extends DataBinderSupport<TripSeine, Trip @Override public void copyToDto(ReferentialLocale referentialLocale, TripSeine entity, TripSeineGearUseDto dto) { - dto.setId(entity.getTopiaId()); - dto.setLastUpdateDate(entity.getLastUpdateDate()); + copyEntityDataFieldsToDto(entity, dto); 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 index 4173926..81ccb85 100644 --- 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 @@ -20,7 +20,7 @@ public class WeightMeasureBinder extends DataBinderSupport<WeightMeasure, Weight @Override public void copyToEntity(ReferentialLocale referentialLocale, WeightMeasureDto dto, WeightMeasure entity) { - entity.setTopiaId(dto.getId()); + copyDtoDataFieldsToEntity(dto, entity); entity.setWeight(dto.getWeight()); entity.setWeightMeasureType(toEntity(dto.getWeightMeasureType(), WeightMeasureType.class)); @@ -30,7 +30,7 @@ public class WeightMeasureBinder extends DataBinderSupport<WeightMeasure, Weight @Override public void copyToDto(ReferentialLocale referentialLocale, WeightMeasure entity, WeightMeasureDto dto) { - dto.setId(entity.getTopiaId()); + copyEntityDataFieldsToDto(entity, dto); dto.setWeight(entity.getWeight()); dto.setWeightMeasureType(toReferentialReference(referentialLocale, entity.getWeightMeasureType(), WeightMeasureTypeDto.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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 1fc64bb2d669887492e84bf983ef42a192da667c Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 01:14:58 2015 +0100 Implantation efficace de réplication de données --- .../replication/ObserveReplicationAction.java | 127 +++++++++++ .../ObserveReplicationActionContext.java | 236 +++++++++++++++++++++ .../replication/ObserveReplicationContext.java | 48 +++++ .../replication/ObserveReplicationEngine.java | 58 +++++ .../ReplicationActionContextsBuilderSupport.java | 91 ++++++++ ...ipLonglineReplicationActionContextsBuilder.java | 174 +++++++++++++++ .../TripSeineReplicationActionContextsBuilder.java | 145 +++++++++++++ 7 files changed, 879 insertions(+) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationAction.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationAction.java new file mode 100644 index 0000000..bcbaf44 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationAction.java @@ -0,0 +1,127 @@ +package fr.ird.observe.entities.replication; + +import fr.ird.observe.ObserveTopiaPersistenceContext; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.topia.persistence.support.TopiaSqlWork; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.sql.Statement; + +/** + * Created on 28/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReplicationAction { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReplicationAction.class); + + protected final ObserveReplicationActionContext replicationActionContext; + + public static void replicate(ObserveReplicationActionContext replicationActionContext) { + ObserveReplicationAction action = new ObserveReplicationAction(replicationActionContext); + action.replicate(); + } + + public ObserveReplicationAction(ObserveReplicationActionContext replicationActionContext) { + this.replicationActionContext = replicationActionContext; + } + + public void replicate() { + + ObserveTopiaPersistenceContext sourcePersistenceContext = replicationActionContext.getSourcePersistenceContext(); + TopiaSqlSupport sqlSupport = sourcePersistenceContext.getSqlSupport(); + ReadSqlWork sqlWork = new ReadSqlWork(); + sqlSupport.doSqlWork(sqlWork); + + } + + protected class ReadSqlWork implements TopiaSqlWork { + + @Override + public void execute(Connection connection) throws SQLException { + + ObserveTopiaPersistenceContext targetPersistenceContext = replicationActionContext.getTargetPersistenceContext(); + + try (PreparedStatement readStatement = replicationActionContext.createReadStatement(connection)) { + + readStatement.execute(); + CopySqlWork sqlWork = new CopySqlWork(readStatement); + targetPersistenceContext.getSqlSupport().doSqlWork(sqlWork); + + } + + } + + } + + protected class CopySqlWork implements TopiaSqlWork { + + protected final Statement readStatement; + + public CopySqlWork(Statement readStatement) { + this.readStatement = readStatement; + } + + @Override + public void execute(Connection connection) throws SQLException { + + ResultSet readResultSet = readStatement.getResultSet(); + + ResultSetMetaData readResultSetMetaData = readResultSet.getMetaData(); + int columnCount = readResultSetMetaData.getColumnCount(); + + int fetchSize = replicationActionContext.getFetchSize(); + String tableName = replicationActionContext.getFullyTableName(); + + try (PreparedStatement writeStatement = replicationActionContext.createWriteStatement(connection, readResultSetMetaData)) { + + + long index = 0; + while (readResultSet.next()) { + + copyRow(readResultSet, writeStatement, columnCount); + + if ((++index % fetchSize) == 0) { + + flush(writeStatement, tableName, index); + + } + } + + flush(writeStatement, tableName, index); + } + + } + + protected void copyRow(ResultSet readResultSet, PreparedStatement writeStatement, int columnCount) throws SQLException { + writeStatement.clearParameters(); + + if (log.isDebugEnabled()) { + log.debug("Copy " + readResultSet.getString(1)); + } + for (int i = 1; i <= columnCount; i++) { + Object object = readResultSet.getObject(i); + writeStatement.setObject(i, object); + } + writeStatement.addBatch(); + } + + protected void flush(PreparedStatement writeStatement, String tableName, long index) throws SQLException { + + if (log.isInfoEnabled()) { + log.info("Flush for : " + tableName + " (size: " + index + ")"); + } + writeStatement.executeBatch(); + writeStatement.clearBatch(); + + } + } +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationActionContext.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationActionContext.java new file mode 100644 index 0000000..a6da8ed --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationActionContext.java @@ -0,0 +1,236 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.Sets; +import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.ObserveTopiaPersistenceContext; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.util.LinkedHashSet; +import java.util.Set; + +/** + * Created on 28/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReplicationActionContext { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReplicationActionContext.class); + + protected final ObserveReplicationContext replicationContext; + + protected final ObserveReplicationActionContext parentActionContext; + + protected final Set<String> joinClauses; + + protected String whereClause; + + protected String fromClause; + + protected final String queryArg; + + protected final String schemaName; + + protected final String tableName; + + protected final String parentTableName; + + protected final int order; + + public static ObserveReplicationActionContext onJoin( + ObserveReplicationActionContext parentActionContext, + String tableName, + int order) { + + String schemaName = parentActionContext.schemaName; + + return new ObserveReplicationActionContext( + parentActionContext.replicationContext, + schemaName, + tableName, + parentActionContext, + parentActionContext.joinClauses, + parentActionContext.fromClause, + parentActionContext.whereClause, + parentActionContext.queryArg, + order + ); + + } + + public static ObserveReplicationActionContext onAssociationJoin( + ObserveReplicationActionContext parentActionContext, + String tableName, + int order) { + + String schemaName = parentActionContext.schemaName; + tableName = getAssociationTableName(tableName, parentActionContext.tableName); + + return new ObserveReplicationActionContext( + parentActionContext.replicationContext, + schemaName, + tableName, + parentActionContext, + parentActionContext.joinClauses, + parentActionContext.fromClause, + parentActionContext.whereClause, + parentActionContext.queryArg, + order + ); + } + + public static ObserveReplicationActionContext onTrip(ObserveReplicationContext replicationContext, + ObserveEntityEnum entityEnum, + String id, + int order) { + + + return new ObserveReplicationActionContext( + replicationContext, + entityEnum.dbSchemaName(), + entityEnum.dbTableName(), + null, + new LinkedHashSet<String>(), + null, + null, + id, + order); + } + + private ObserveReplicationActionContext(ObserveReplicationContext replicationContext, + String schemaName, + String tableName, + ObserveReplicationActionContext parentActionContext, + Set<String> joinClauses, + String fromClause, + String whereClause, + String queryArg, + int order) { + this.replicationContext = replicationContext; + this.parentActionContext = parentActionContext; + this.joinClauses = Sets.newLinkedHashSet(joinClauses); + this.fromClause = fromClause; + this.whereClause = whereClause; + this.queryArg = queryArg; + this.order = order; + this.parentTableName = parentActionContext == null ? null : parentActionContext.tableName; + this.schemaName = schemaName; + this.tableName = tableName; + } + + public ObserveTopiaPersistenceContext getSourcePersistenceContext() { + return replicationContext.getSourcePersistenceContext(); + } + + public ObserveTopiaPersistenceContext getTargetPersistenceContext() { + return replicationContext.getTargetPersistenceContext(); + } + + public int getFetchSize() { + return replicationContext.getFetchSize(); + } + + public String getTableName() { + return tableName; + } + + public String getFullyTableName() { + return schemaName + "." + tableName; + } + + public PreparedStatement createReadStatement(Connection connection) throws SQLException { + + StringBuilder sqlBuilder = new StringBuilder("SELECT " + tableName + ".*"); + + sqlBuilder.append(" FROM ").append(fromClause); + for (String joinClause : joinClauses) { + sqlBuilder.append(" ").append(joinClause); + } + sqlBuilder.append(" WHERE ").append(whereClause); + + String sql = sqlBuilder.toString(); + if (log.isInfoEnabled()) { + log.info("Read sql: " + sql); + } + PreparedStatement statement = connection.prepareStatement(sql); + statement.setString(1, queryArg); + statement.setFetchSize(replicationContext.getFetchSize()); + return statement; + } + + public PreparedStatement createWriteStatement(Connection connection, ResultSetMetaData readResultTatMetaData) throws SQLException { + + int columnCount = readResultTatMetaData.getColumnCount(); + + StringBuilder sqlBuilder = new StringBuilder("INSERT INTO "); + sqlBuilder.append(schemaName).append(".").append(tableName); + + StringBuilder columnNamesBuilder = new StringBuilder(); + StringBuilder argsBuilder = new StringBuilder(); + + columnNamesBuilder.append(" ").append(readResultTatMetaData.getColumnName(1)); + argsBuilder.append("?"); + + for (int i = 2; i <= columnCount; i++) { + + String columnName = readResultTatMetaData.getColumnName(i); + columnNamesBuilder.append(", ").append(columnName); + argsBuilder.append(", ?"); + } + + sqlBuilder.append("(") + .append(columnNamesBuilder) + .append(")") + .append("VALUES (") + .append(argsBuilder) + .append(")"); + + String sql = sqlBuilder.toString(); + if (log.isInfoEnabled()) { + log.info("Write sql: " + sql); + } + PreparedStatement statement = connection.prepareStatement(sql); + + return statement; + + } + + public void addInnerJoinClause() { + String joinClause = " INNER JOIN " + schemaName + "." + tableName + " " + tableName + " ON " + tableName + "." + parentTableName + " = " + parentTableName + ".topiaId"; + joinClauses.add(joinClause); + } + + public void addInverseInnerJoinClause() { + String joinClause = " INNER JOIN " + schemaName + "." + tableName + " " + tableName + " ON " + tableName + ".topiaId = " + parentTableName + "." + tableName; + joinClauses.add(joinClause); + } + + public void setWhereTopiaIdEqualsClause() { + this.whereClause = tableName + ".topiaid = ?"; + } + + public void setWhereJoinTopiaIdEqualsClause() { + this.whereClause = tableName + "." + parentTableName + " = ?"; + } + + public void setFromClause() { + this.fromClause = schemaName + "." + tableName + " " + tableName; + } + + protected static String getAssociationTableName(String tableName, String parentTableName) { + String associationTableName; + if (tableName.toLowerCase().compareTo(parentTableName.toLowerCase()) < 0) { + associationTableName = tableName + "_" + parentTableName; + } else { + associationTableName = parentTableName + "_" + tableName; + } + return associationTableName; + } + +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationContext.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationContext.java new file mode 100644 index 0000000..ff26576 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationContext.java @@ -0,0 +1,48 @@ +package fr.ird.observe.entities.replication; + +import fr.ird.observe.ObserveTopiaApplicationContext; +import fr.ird.observe.ObserveTopiaPersistenceContext; + +/** + * Created on 28/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReplicationContext { + + protected final ObserveTopiaApplicationContext sourceTopiaApplicationContext; + + protected final ObserveTopiaApplicationContext targetTopiaApplicationContext; + + protected final int fetchSize; + + protected ObserveTopiaPersistenceContext sourcePersistenceContext; + + protected ObserveTopiaPersistenceContext targetPersistenceContext; + + public ObserveReplicationContext(ObserveTopiaApplicationContext sourceTopiaApplicationContext, + ObserveTopiaApplicationContext targetTopiaApplicationContext, + int fetchSize) { + this.sourceTopiaApplicationContext = sourceTopiaApplicationContext; + this.targetTopiaApplicationContext = targetTopiaApplicationContext; + this.fetchSize=fetchSize; + } + + public ObserveTopiaPersistenceContext getSourcePersistenceContext() { + if (sourcePersistenceContext == null) { + sourcePersistenceContext = sourceTopiaApplicationContext.newPersistenceContext(); + } + return sourcePersistenceContext; + } + + public ObserveTopiaPersistenceContext getTargetPersistenceContext() { + if (targetPersistenceContext == null) { + targetPersistenceContext = targetTopiaApplicationContext.newPersistenceContext(); + } + return targetPersistenceContext; + } + + public int getFetchSize() { + return fetchSize; + } +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationEngine.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationEngine.java new file mode 100644 index 0000000..9a283bc --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationEngine.java @@ -0,0 +1,58 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableSet; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Created on 28/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReplicationEngine { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveReplicationEngine.class); + + protected final ObserveReplicationContext replicationContext; + + public ObserveReplicationEngine(ObserveReplicationContext replicationContext) { + this.replicationContext = replicationContext; + } + + public ImmutableSet<ObserveReplicationActionContext> replicateTripSeine(String id) { + + ImmutableSet<ObserveReplicationActionContext> actionContexts = TripSeineReplicationActionContextsBuilder + .of(replicationContext, id); + + execute(actionContexts); + + return actionContexts; + + } + + public ImmutableSet<ObserveReplicationActionContext> replicateTripLongline(String id) { + + ImmutableSet<ObserveReplicationActionContext> actionContexts = TripLonglineReplicationActionContextsBuilder + .of(replicationContext, id); + + execute(actionContexts); + + return actionContexts; + } + + protected void execute(ImmutableSet<ObserveReplicationActionContext> actionContexts) { + + for (ObserveReplicationActionContext actionContext : actionContexts) { + + if (log.isInfoEnabled()) { + log.info("Replicate: " + actionContext.tableName); + } + ObserveReplicationAction.replicate(actionContext); + } + + replicationContext.getTargetPersistenceContext().commit(); + + } + +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ReplicationActionContextsBuilderSupport.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ReplicationActionContextsBuilderSupport.java new file mode 100644 index 0000000..b7f9b3a --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ReplicationActionContextsBuilderSupport.java @@ -0,0 +1,91 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Lists; +import fr.ird.observe.ObserveEntityEnum; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * Created on 28/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public abstract class ReplicationActionContextsBuilderSupport<Context extends ReplicationActionContextsBuilderSupport> { + + protected final ObserveReplicationContext replicationContext; + + protected final Map<String, ObserveReplicationActionContext> actionContexts; + + protected ReplicationActionContextsBuilderSupport(ObserveReplicationContext replicationContext) { + this.replicationContext = replicationContext; + this.actionContexts = new LinkedHashMap<>(); + } + + public ImmutableSet<ObserveReplicationActionContext> build() { + + ArrayList<ObserveReplicationActionContext> actionContextList = Lists.newArrayList(this.actionContexts.values()); + Collections.sort(actionContextList, new Comparator<ObserveReplicationActionContext>() { + + @Override + public int compare(ObserveReplicationActionContext o1, ObserveReplicationActionContext o2) { + return o1.order - o2.order; + } + }); + return ImmutableSet.copyOf(actionContextList); + } + + protected Context createFirstActionContext(ObserveEntityEnum entityEnum, String id) { + ObserveReplicationActionContext actionContext = + ObserveReplicationActionContext.onTrip( + replicationContext, + entityEnum, + id, + 0); + + actionContext.setFromClause(); + actionContext.setWhereTopiaIdEqualsClause(); + + registerActionContext(actionContext); + return (Context) this; + } + + protected ObserveReplicationActionContext createActionContext(ObserveEntityEnum parentEntityEnum, ObserveEntityEnum entityEnum, int order) { + + ObserveReplicationActionContext parentActionContext = getActionContext(parentEntityEnum); + + ObserveReplicationActionContext actionContext = + ObserveReplicationActionContext.onJoin(parentActionContext, + entityEnum.dbTableName(), + order); + registerActionContext(actionContext); + return actionContext; + } + + protected ObserveReplicationActionContext createAssociationActionContext(ObserveEntityEnum parentEntityEnum, String associationName, int order) { + + ObserveReplicationActionContext parentActionContext = getActionContext(parentEntityEnum); + + ObserveReplicationActionContext actionContext = + ObserveReplicationActionContext.onAssociationJoin(parentActionContext, + associationName, + order); + registerActionContext(actionContext); + return actionContext; + } + + protected ObserveReplicationActionContext getActionContext(ObserveEntityEnum entityEnum) { + String fullyTableName = entityEnum.dbSchemaName().toLowerCase() + "." + entityEnum.dbTableName().toLowerCase(); + ObserveReplicationActionContext parentactioncontext = actionContexts.get(fullyTableName); + return parentactioncontext; + } + + protected void registerActionContext(ObserveReplicationActionContext actionContext) { + actionContexts.put(actionContext.getFullyTableName(), actionContext); + } + +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripLonglineReplicationActionContextsBuilder.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripLonglineReplicationActionContextsBuilder.java new file mode 100644 index 0000000..90cfc5c --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripLonglineReplicationActionContextsBuilder.java @@ -0,0 +1,174 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.ObserveEntityEnum; + +/** + * Created on 28/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripLonglineReplicationActionContextsBuilder extends ReplicationActionContextsBuilderSupport<TripLonglineReplicationActionContextsBuilder> { + + public static ImmutableSet<ObserveReplicationActionContext> of(ObserveReplicationContext replicationContext, String tripId) { + return new TripLonglineReplicationActionContextsBuilder(replicationContext) + .createFirstActionContext(ObserveEntityEnum.TripLongline, tripId) + .addGearUseFeaturesActionContext() + .addGearUseFeatureMeasurementActionContext() + .addActivityActionContext() + .addSetActionContext() + .addEncounterActionContext() + .addSensorUsedActionContext() + .addTdrActionContext() + .addBaitsCompositionActionContext() + .addFloatlinesCompositionActionContext() + .addHooksCompositionActionContext() + .addBranchlinesCompositionActionContext() + .addCatchActionContext() + + .addSectionActionContext() + .addBasketActionContext() + .addBranchlineActionContext() + + .addSetMitigationTypeActionContext() + .addSizeMeasureActionContext() + .addWeightMeasureActionContext() + .addCatchPredatorActionContext() + .addTdrRecordActionContext() + .addTdrSpeciesActionContext() + .build(); + } + + protected TripLonglineReplicationActionContextsBuilder(ObserveReplicationContext replicationContext) { + super(replicationContext); + } + + public TripLonglineReplicationActionContextsBuilder addGearUseFeaturesActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TripLongline, ObserveEntityEnum.GearUseFeaturesLongline, 1); + actionContext.setFromClause(); + actionContext.setWhereJoinTopiaIdEqualsClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addGearUseFeatureMeasurementActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.GearUseFeaturesLongline, ObserveEntityEnum.GearUseFeaturesMeasurementLongline, 2); + actionContext.addInnerJoinClause(); + return this; + } + + + public TripLonglineReplicationActionContextsBuilder addSetActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.SetLongline, 10); + actionContext.addInverseInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addActivityActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TripLongline, ObserveEntityEnum.ActivityLongline, 11); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addEncounterActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.Encounter, 12); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addSensorUsedActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.SensorUsed, 13); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addTdrActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.Tdr, 20); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addBaitsCompositionActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.BaitsComposition, 21); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addFloatlinesCompositionActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.FloatlinesComposition, 22); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addHooksCompositionActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.HooksComposition, 23); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addBranchlinesCompositionActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.BranchlinesComposition, 24); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addSectionActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.Section, 25); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addBasketActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.Section, ObserveEntityEnum.Basket, 26); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addBranchlineActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.Basket, ObserveEntityEnum.Branchline, 27); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addCatchActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.CatchLongline, 28); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addSetMitigationTypeActionContext() { + ObserveReplicationActionContext actionContext = createAssociationActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.MitigationType.name(), 29); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addSizeMeasureActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.CatchLongline, ObserveEntityEnum.SizeMeasure, 30); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addWeightMeasureActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.CatchLongline, ObserveEntityEnum.WeightMeasure, 31); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addCatchPredatorActionContext() { + ObserveReplicationActionContext actionContext = createAssociationActionContext(ObserveEntityEnum.CatchLongline, "Predator", 32); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addTdrRecordActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.Tdr, ObserveEntityEnum.TdrRecord, 40); + actionContext.addInnerJoinClause(); + return this; + } + + public TripLonglineReplicationActionContextsBuilder addTdrSpeciesActionContext() { + ObserveReplicationActionContext actionContext = createAssociationActionContext(ObserveEntityEnum.Tdr, ObserveEntityEnum.Species.name(), 41); + actionContext.addInnerJoinClause(); + return this; + } + +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripSeineReplicationActionContextsBuilder.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripSeineReplicationActionContextsBuilder.java new file mode 100644 index 0000000..9f92fce --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripSeineReplicationActionContextsBuilder.java @@ -0,0 +1,145 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.ObserveEntityEnum; + +/** + * Created on 28/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class TripSeineReplicationActionContextsBuilder extends ReplicationActionContextsBuilderSupport<TripSeineReplicationActionContextsBuilder> { + + public static ImmutableSet<ObserveReplicationActionContext> of(ObserveReplicationContext replicationContext, String tripId) { + return new TripSeineReplicationActionContextsBuilder(replicationContext) + .createFirstActionContext(ObserveEntityEnum.TripSeine, tripId) + .addGearUseFeaturesActionContext() + .addGearUseFeatureMeasurementActionContext() + .addRouteActionContext() + .addActivityActionContext() + .addActivityObservedSystemActionContext() + .addSetActionContext() + .addSchoolEstimateActionContext() + .addNonTargetCatchActionContext() + .addNonTargetSampleActionContext() + .addNonTargetLengthActionContext() + .addTargetCatchActionContext() + .addTargetSampleActionContext() + .addTargetLengthActionContext() + + .addFloatingObjectActionContext() + .addObjectObservedSpeciesActionContext() + .addObjectSchoolEstimateActionContext() + .addTransmittingBuoyActionContext() + .build(); + } + + protected TripSeineReplicationActionContextsBuilder(ObserveReplicationContext replicationContext) { + super(replicationContext); + } + + public TripSeineReplicationActionContextsBuilder addGearUseFeaturesActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TripSeine, ObserveEntityEnum.GearUseFeaturesSeine, 1); + actionContext.setFromClause(); + actionContext.setWhereJoinTopiaIdEqualsClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addGearUseFeatureMeasurementActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.GearUseFeaturesSeine, ObserveEntityEnum.GearUseFeaturesMeasurementSeine, 2); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addRouteActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TripSeine, ObserveEntityEnum.Route, 3); + actionContext.setFromClause(); + actionContext.setWhereJoinTopiaIdEqualsClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addSetActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.SetSeine, 4); + actionContext.addInverseInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addActivityActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.Route, ObserveEntityEnum.ActivitySeine, 5); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addActivityObservedSystemActionContext() { + ObserveReplicationActionContext actionContext = createAssociationActionContext(ObserveEntityEnum.ActivitySeine, "ObservedSystem", 6); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addFloatingObjectActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.FloatingObject, 7); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addSchoolEstimateActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.SchoolEstimate, 10); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addNonTargetCatchActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.NonTargetCatch, 11); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addNonTargetSampleActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.NonTargetSample, 12); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addNonTargetLengthActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.NonTargetSample, ObserveEntityEnum.NonTargetLength, 13); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addTargetCatchActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.TargetCatch, 14); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addTargetSampleActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.TargetSample, 15); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addTargetLengthActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TargetSample, ObserveEntityEnum.TargetLength, 16); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addObjectObservedSpeciesActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.ObjectObservedSpecies, 20); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addObjectSchoolEstimateActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.ObjectSchoolEstimate, 21); + actionContext.addInnerJoinClause(); + return this; + } + + public TripSeineReplicationActionContextsBuilder addTransmittingBuoyActionContext() { + ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.TransmittingBuoy, 22); + actionContext.addInnerJoinClause(); + 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 4747da54faf040e78ac3f464c1368c97cee26f7b Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 01:18:28 2015 +0100 Ajout de fixtures --- .../fr/ird/observe/services/service/AbstractServiceTopiaTest.java | 8 ++++++++ .../longline/SetLonglineDetailCompositionServiceTopiaTest.java | 8 +++----- 2 files changed, 11 insertions(+), 5 deletions(-) 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 cfc5c0d..b39899d 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 @@ -36,6 +36,14 @@ public class AbstractServiceTopiaTest { public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; + public static final String TRIP_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.TripLongline#1429538088091#0.763886003987864"; + + public static final String TRIP_LONGLINE_ID_2 = "fr.ird.observe.entities.longline.TripLongline#1429540363472#0.517173705156893"; + + public static final String TRIP_LONGLINE_ID_3 = "fr.ird.observe.entities.longline.TripLongline#1429537115030#0.493692863034084"; + + public static final String SET_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; + @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); 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 e38cf70..8a1155b 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 @@ -55,8 +55,6 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic protected SetLonglineDetailCompositionService service; - public static final String SET_LONGLINE_ID = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; - @Before public void setUp() throws Exception { @@ -67,7 +65,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic @Test public void loadToEditTest() { - Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID); + Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID_1); Assert.assertNotNull(form); @@ -95,7 +93,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic @CopyDatabaseConfiguration public void saveTest() { - Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID); + Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID_1); SetLonglineDetailCompositionDto compositionDto = form.getObject(); SectionDto sectionDto = compositionDto.getSection(4); @@ -145,7 +143,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic service.save(compositionDto); - SetLongline setLongline = dataSourceResource.findById(SetLongline.class, SET_LONGLINE_ID); + SetLongline setLongline = dataSourceResource.findById(SetLongline.class, SET_LONGLINE_ID_1); Section section = setLongline.getSectionByTopiaId(sectionDto.getId()); Assert.assertEquals(sectionDto.getSettingIdentifier(), section.getSettingIdentifier()); -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 026b9a6b880b3776b33e313f3795d4d454162905 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 01:18:50 2015 +0100 Ajout d'un tes de replication de données --- .../replication/ObserveReplicationEngineTest.java | 314 +++++++++++++++++++++ 1 file changed, 314 insertions(+) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ObserveReplicationEngineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ObserveReplicationEngineTest.java new file mode 100644 index 0000000..bde6b91 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ObserveReplicationEngineTest.java @@ -0,0 +1,314 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.ObserveTopiaApplicationContext; +import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.services.service.DataSourceService; +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; + +import java.io.File; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.Map; + +/** + * Created on 28/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReplicationEngineTest extends AbstractServiceTopiaTest { + + protected DataSourceService service; + + private static final ImmutableMap<String, Long> TRIP_SEINE_1_RESULT = ImmutableMap + .<String, Long>builder() + .put("observe_seine.trip", 1L) + .put("observe_seine.gearusefeatures", 2L) + .put("observe_seine.gearusefeaturesmeasurement", 4L) + .put("observe_seine.route", 34L) + .put("observe_seine.set", 35L) + .put("observe_seine.activity", 862L) + .put("observe_seine.observedsystem", 21L) + .put("observe_seine.floatingobject", 54L) + .put("observe_seine.schoolestimate", 27L) + .put("observe_seine.nontargetcatch", 109L) + .put("observe_seine.nontargetsample", 20L) + .put("observe_seine.nontargetlength", 767L) + .put("observe_seine.targetcatch", 73L) + .put("observe_seine.targetsample", 10L) + .put("observe_seine.targetlength", 85L) + .put("observe_seine.objectobservedspecies", 3L) + .put("observe_seine.objectschoolestimate", 1L) + .put("observe_seine.transmittingbuoy", 62L) + .put("observe_seine.activity_observedsystem", 1182L) + .build(); + + private static final ImmutableMap<String, Long> TRIP_SEINE_2_RESULT = ImmutableMap + .<String, Long>builder() + .put("observe_seine.trip", 1L) + .put("observe_seine.gearusefeatures", 0L) + .put("observe_seine.gearusefeaturesmeasurement", 0L) + .put("observe_seine.route", 46L) + .put("observe_seine.set", 42L) + .put("observe_seine.activity", 657L) + .put("observe_seine.observedsystem", 21L) + .put("observe_seine.activity_observedsystem", 652L) + .put("observe_seine.floatingobject", 50L) + .put("observe_seine.schoolestimate", 10L) + .put("observe_seine.nontargetcatch", 112L) + .put("observe_seine.nontargetsample", 19L) + .put("observe_seine.nontargetlength", 242L) + .put("observe_seine.targetcatch", 73L) + .put("observe_seine.targetsample", 0L) + .put("observe_seine.targetlength", 0L) + .put("observe_seine.objectobservedspecies", 2L) + .put("observe_seine.objectschoolestimate", 3L) + .put("observe_seine.transmittingbuoy", 68L) + .build(); + + private static final ImmutableMap<String, Long> TRIP_SEINE_3_RESULT = ImmutableMap + .<String, Long>builder() + .put("observe_seine.trip", 1L) + .put("observe_seine.gearusefeatures", 0L) + .put("observe_seine.gearusefeaturesmeasurement", 0L) + .put("observe_seine.route", 45L) + .put("observe_seine.set", 35L) + .put("observe_seine.activity", 816L) + .put("observe_seine.observedsystem", 21L) + .put("observe_seine.floatingobject", 41L) + .put("observe_seine.schoolestimate", 35L) + .put("observe_seine.nontargetcatch", 104L) + .put("observe_seine.nontargetsample", 16L) + .put("observe_seine.nontargetlength", 1193L) + .put("observe_seine.targetcatch", 118L) + .put("observe_seine.targetsample", 14L) + .put("observe_seine.targetlength", 53L) + .put("observe_seine.objectobservedspecies", 0L) + .put("observe_seine.objectschoolestimate", 24L) + .put("observe_seine.transmittingbuoy", 39L) + .put("observe_seine.activity_observedsystem", 321L) + .build(); + + private static final ImmutableMap<String, Long> TRIP_LONGLINE_1_RESULT = ImmutableMap + .<String, Long>builder() + .put("observe_longline.trip", 1L) + .put("observe_longline.set", 13L) + .put("observe_longline.activity", 13L) + .put("observe_longline.gearusefeatures", 0L) + .put("observe_longline.gearusefeaturesmeasurement", 0L) + .put("observe_longline.encounter", 27L) + .put("observe_longline.sensorused", 0L) + .put("observe_longline.tdr", 0L) + .put("observe_longline.baitscomposition", 13L) + .put("observe_longline.floatlinescomposition", 65L) + .put("observe_longline.hookscomposition", 39L) + .put("observe_longline.branchlinescomposition", 13L) + .put("observe_longline.section", 234L) + .put("observe_longline.basket", 3042L) + .put("observe_longline.branchline", 18252L) + .put("observe_longline.catch", 435L) + .put("observe_longline.catch_predator", 49L) + .put("observe_longline.mitigationtype", 15L) + .put("observe_longline.sizemeasure", 340L) + .put("observe_longline.weightmeasure", 0L) + .put("observe_longline.tdrrecord", 0L) + .put("observe_longline.species_tdr", 0L) + .put("observe_longline.mitigationtype_set", 0L) + .build(); + + private static final ImmutableMap<String, Long> TRIP_LONGLINE_2_RESULT = ImmutableMap + .<String, Long>builder() + .put("observe_longline.trip", 1L) + .put("observe_longline.set", 5L) + .put("observe_longline.activity", 5L) + .put("observe_longline.gearusefeatures", 0L) + .put("observe_longline.gearusefeaturesmeasurement", 0L) + .put("observe_longline.encounter", 3L) + .put("observe_longline.sensorused", 0L) + .put("observe_longline.tdr", 0L) + .put("observe_longline.baitscomposition", 10L) + .put("observe_longline.floatlinescomposition", 0L) + .put("observe_longline.hookscomposition", 10L) + .put("observe_longline.branchlinescomposition", 2L) + .put("observe_longline.section", 95L) + .put("observe_longline.basket", 1140L) + .put("observe_longline.branchline", 6840L) + .put("observe_longline.catch", 152L) + .put("observe_longline.mitigationtype", 15L) + .put("observe_longline.sizemeasure", 116L) + .put("observe_longline.weightmeasure", 0L) + .put("observe_longline.tdrrecord", 0L) + .put("observe_longline.species_tdr", 0L) + .put("observe_longline.mitigationtype_set", 0L) + .put("observe_longline.catch_predator", 9L) + .build(); + + private static final ImmutableMap<String, Long> TRIP_LONGLINE_3_RESULT = ImmutableMap + .<String, Long>builder() + .put("observe_longline.trip", 1L) + .put("observe_longline.set", 14L) + .put("observe_longline.activity", 14L) + .put("observe_longline.gearusefeatures", 0L) + .put("observe_longline.gearusefeaturesmeasurement", 0L) + .put("observe_longline.encounter", 12L) + .put("observe_longline.sensorused", 0L) + .put("observe_longline.tdr", 0L) + .put("observe_longline.baitscomposition", 14L) + .put("observe_longline.floatlinescomposition", 36L) + .put("observe_longline.hookscomposition", 42L) + .put("observe_longline.branchlinescomposition", 14L) + .put("observe_longline.section", 243L) + .put("observe_longline.basket", 3229L) + .put("observe_longline.branchline", 19374L) + .put("observe_longline.catch", 677L) + .put("observe_longline.MitigationType_set", 0L) + .put("observe_longline.sizemeasure", 647L) + .put("observe_longline.weightmeasure", 0L) + .put("observe_longline.catch_Predator", 25L) + .put("observe_longline.tdrrecord", 0L) + .put("observe_longline.Species_tdr", 0L) + .build(); + + protected ObserveReplicationEngine engine; + + protected ObserveReplicationContext replicationContext; + + protected ObserveTopiaApplicationContext targetTopiaApplicationContext; + + protected ObserveTopiaApplicationContext sourceTopiaApplicationContext; + + @Before + public void setUp() throws Exception { + service = dataSourceResource.newService(DataSourceService.class); + + File targetDatabaseDirectory = new File(dataSourceResource.getTestDirectory(), "targetReplication"); + ObserveDataSourceConfigurationTopiaH2 targetTopiaConfiguration = applicationContextResource.createDataSource(dataSourceResource.getDbVersion(), DatabaseName.referentiel.name(), targetDatabaseDirectory); + + targetTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(targetTopiaConfiguration); + + sourceTopiaApplicationContext = dataSourceResource.getTopiaApplicationContext(); + + replicationContext = new ObserveReplicationContext(sourceTopiaApplicationContext, targetTopiaApplicationContext, 1000); + engine = new ObserveReplicationEngine(replicationContext); + + } + + @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) + @Test + public void testReplicateTripSeine1() throws Exception { + testTripSeine(engine, TRIP_SEINE_ID_1, TRIP_SEINE_1_RESULT); + } + + @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) + @Test + public void testReplicateTripSeine2() throws Exception { + testTripSeine(engine, TRIP_SEINE_ID_2, TRIP_SEINE_2_RESULT); + } + + @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) + @Test + public void testReplicateTripSeine3() throws Exception { + testTripSeine(engine, TRIP_SEINE_ID_3, TRIP_SEINE_3_RESULT); + } + + @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) + @Test + public void testReplicateTripLonline1() throws Exception { + testTripLongline(engine, TRIP_LONGLINE_ID_1, TRIP_LONGLINE_1_RESULT); + } + + @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) + @Test + public void testReplicateTripLonline2() throws Exception { + testTripLongline(engine, TRIP_LONGLINE_ID_2, TRIP_LONGLINE_2_RESULT); + } + + @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) + @Test + public void testReplicateTripLonline3() throws Exception { + testTripLongline(engine, TRIP_LONGLINE_ID_3, TRIP_LONGLINE_3_RESULT); + } + + protected void testTripSeine(ObserveReplicationEngine engine, String tripId, ImmutableMap<String, Long> expectedResults) { + + ImmutableSet<ObserveReplicationActionContext> actionContexts = engine.replicateTripSeine(tripId); + + assertReplicateTripResults(expectedResults, actionContexts); + + } + + protected void testTripLongline(ObserveReplicationEngine engine, String tripId, ImmutableMap<String, Long> expectedResults) { + + ImmutableSet<ObserveReplicationActionContext> actionContexts = engine.replicateTripLongline(tripId); + + assertReplicateTripResults(expectedResults, actionContexts); + + } + + private void assertReplicateTripResults(ImmutableMap<String, Long> expectedResults, ImmutableSet<ObserveReplicationActionContext> actionContexts) { + + try (ObserveTopiaPersistenceContext persistenceContext = targetTopiaApplicationContext.newPersistenceContext()) { + + for (ObserveReplicationActionContext actionContext : actionContexts) { + + String fullyTableName = actionContext.getFullyTableName(); + + if (!expectedResults.containsKey(fullyTableName.toLowerCase())) { + + CountTableSqlWork countQuery = new CountTableSqlWork(fullyTableName); + Long count = persistenceContext.getSqlSupport().findSingleResult(countQuery); + + System.out.println(fullyTableName + " , " + count); + } + + } + + for (Map.Entry<String, Long> entry : expectedResults.entrySet()) { + String fullyTableName = entry.getKey(); + Long expectedCount = entry.getValue(); + CountTableSqlWork countQuery = new CountTableSqlWork(fullyTableName); + Long count = persistenceContext.getSqlSupport().findSingleResult(countQuery); + + System.out.println("Found: " + fullyTableName + " , " + count); + Assert.assertEquals("Should have found " + expectedCount + " on " + fullyTableName + ", but was " + count, expectedCount, count); + + } + + } + } + + + protected class CountTableSqlWork extends TopiaSqlQuery<Long> { + + private final String fullyTableName; + + public CountTableSqlWork(String fullyTableName) { + this.fullyTableName = fullyTableName; + } + + @Override + public PreparedStatement prepareQuery(Connection connection) throws SQLException { + String sql = "SELECT count(*) FROM " + fullyTableName; + PreparedStatement statement = connection.prepareStatement(sql); + + return statement; + } + + @Override + public Long prepareResult(ResultSet set) throws SQLException { + return set.getLong(1); + } + } + +} \ 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit cec9b0be626a0cb4ae451b3aa4714c4849584571 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 21:48:02 2015 +0100 Correction de base de référentiels --- .../src/main/resources/db/5.0-3/referentiel.sql.gz | Bin 143337 -> 162896 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz index 508bb0a..613251c 100644 Binary files a/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz and b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 18717f0908d797e50d855b50938a78f465b8a7bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Dec 29 21:48:48 2015 +0100 Ajout d'une base vide pour les tests --- .../observe/services/service/MigrateTestsDatabases.java | 14 ++++++++++---- .../src/main/java/fr/ird/observe/test/DatabaseName.java | 1 + .../src/main/resources/db/5.0-3/empty.sql.gz | Bin 0 -> 7858 bytes 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java index c67b4d5..1080b96 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -34,22 +34,28 @@ public class MigrateTestsDatabases extends AbstractServiceTopiaTest { @DatabaseNameConfiguration(DatabaseName.referentiel) @Test public void migrateReferentielDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - migrateReferentielDb(TO_VERSION); + migrate(TO_VERSION); } @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) @Test public void migrateDataForTestSeineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - migrateReferentielDb(TO_VERSION); + migrate(TO_VERSION); } @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) @Test public void migrateDataForTestLonglineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - migrateReferentielDb(TO_VERSION); + migrate(TO_VERSION); } - protected void migrateReferentielDb(String toVersion) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + @DatabaseNameConfiguration(DatabaseName.empty) + @Test + public void migrateEmptyDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + migrate(TO_VERSION); + } + + protected void migrate(String toVersion) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { String dbName = dataSourceResource.getDbName(); File databasesRootDirectory = dataSourceResource.getDataSourceConfiguration().getDatabaseFile(); diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java b/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java index 289e554..338aaac 100644 --- a/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java +++ b/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java @@ -6,6 +6,7 @@ package fr.ird.observe.test; * @author Tony Chemit - chemit@codelutin.com */ public enum DatabaseName { + empty, referentiel, dataForTestLongline, dataSourceTest, dataForTestSeine diff --git a/observe-test-data/src/main/resources/db/5.0-3/empty.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/empty.sql.gz new file mode 100644 index 0000000..6e0d66c Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-3/empty.sql.gz 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 610045103383d7119aefebc690178f2a012fabc2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:53:25 2015 +0100 Utilisation du service topia pour la réplication --- .../replication/ObserveReplicationAction.java | 127 ----------- .../ObserveReplicationActionContext.java | 236 --------------------- .../replication/ObserveReplicationContext.java | 48 ----- .../replication/ObserveReplicationEngine.java | 58 ----- .../replication/ObserveReplicationTables.java | 169 +++++++++++++++ .../ReplicationActionContextsBuilderSupport.java | 91 -------- ...ipLonglineReplicationActionContextsBuilder.java | 174 --------------- .../TripSeineReplicationActionContextsBuilder.java | 145 ------------- 8 files changed, 169 insertions(+), 879 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationAction.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationAction.java deleted file mode 100644 index bcbaf44..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationAction.java +++ /dev/null @@ -1,127 +0,0 @@ -package fr.ird.observe.entities.replication; - -import fr.ird.observe.ObserveTopiaPersistenceContext; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.support.TopiaSqlSupport; -import org.nuiton.topia.persistence.support.TopiaSqlWork; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.ResultSetMetaData; -import java.sql.SQLException; -import java.sql.Statement; - -/** - * Created on 28/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReplicationAction { - - /** Logger. */ - private static final Log log = LogFactory.getLog(ObserveReplicationAction.class); - - protected final ObserveReplicationActionContext replicationActionContext; - - public static void replicate(ObserveReplicationActionContext replicationActionContext) { - ObserveReplicationAction action = new ObserveReplicationAction(replicationActionContext); - action.replicate(); - } - - public ObserveReplicationAction(ObserveReplicationActionContext replicationActionContext) { - this.replicationActionContext = replicationActionContext; - } - - public void replicate() { - - ObserveTopiaPersistenceContext sourcePersistenceContext = replicationActionContext.getSourcePersistenceContext(); - TopiaSqlSupport sqlSupport = sourcePersistenceContext.getSqlSupport(); - ReadSqlWork sqlWork = new ReadSqlWork(); - sqlSupport.doSqlWork(sqlWork); - - } - - protected class ReadSqlWork implements TopiaSqlWork { - - @Override - public void execute(Connection connection) throws SQLException { - - ObserveTopiaPersistenceContext targetPersistenceContext = replicationActionContext.getTargetPersistenceContext(); - - try (PreparedStatement readStatement = replicationActionContext.createReadStatement(connection)) { - - readStatement.execute(); - CopySqlWork sqlWork = new CopySqlWork(readStatement); - targetPersistenceContext.getSqlSupport().doSqlWork(sqlWork); - - } - - } - - } - - protected class CopySqlWork implements TopiaSqlWork { - - protected final Statement readStatement; - - public CopySqlWork(Statement readStatement) { - this.readStatement = readStatement; - } - - @Override - public void execute(Connection connection) throws SQLException { - - ResultSet readResultSet = readStatement.getResultSet(); - - ResultSetMetaData readResultSetMetaData = readResultSet.getMetaData(); - int columnCount = readResultSetMetaData.getColumnCount(); - - int fetchSize = replicationActionContext.getFetchSize(); - String tableName = replicationActionContext.getFullyTableName(); - - try (PreparedStatement writeStatement = replicationActionContext.createWriteStatement(connection, readResultSetMetaData)) { - - - long index = 0; - while (readResultSet.next()) { - - copyRow(readResultSet, writeStatement, columnCount); - - if ((++index % fetchSize) == 0) { - - flush(writeStatement, tableName, index); - - } - } - - flush(writeStatement, tableName, index); - } - - } - - protected void copyRow(ResultSet readResultSet, PreparedStatement writeStatement, int columnCount) throws SQLException { - writeStatement.clearParameters(); - - if (log.isDebugEnabled()) { - log.debug("Copy " + readResultSet.getString(1)); - } - for (int i = 1; i <= columnCount; i++) { - Object object = readResultSet.getObject(i); - writeStatement.setObject(i, object); - } - writeStatement.addBatch(); - } - - protected void flush(PreparedStatement writeStatement, String tableName, long index) throws SQLException { - - if (log.isInfoEnabled()) { - log.info("Flush for : " + tableName + " (size: " + index + ")"); - } - writeStatement.executeBatch(); - writeStatement.clearBatch(); - - } - } -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationActionContext.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationActionContext.java deleted file mode 100644 index a6da8ed..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationActionContext.java +++ /dev/null @@ -1,236 +0,0 @@ -package fr.ird.observe.entities.replication; - -import com.google.common.collect.Sets; -import fr.ird.observe.ObserveEntityEnum; -import fr.ird.observe.ObserveTopiaPersistenceContext; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSetMetaData; -import java.sql.SQLException; -import java.util.LinkedHashSet; -import java.util.Set; - -/** - * Created on 28/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReplicationActionContext { - - /** Logger. */ - private static final Log log = LogFactory.getLog(ObserveReplicationActionContext.class); - - protected final ObserveReplicationContext replicationContext; - - protected final ObserveReplicationActionContext parentActionContext; - - protected final Set<String> joinClauses; - - protected String whereClause; - - protected String fromClause; - - protected final String queryArg; - - protected final String schemaName; - - protected final String tableName; - - protected final String parentTableName; - - protected final int order; - - public static ObserveReplicationActionContext onJoin( - ObserveReplicationActionContext parentActionContext, - String tableName, - int order) { - - String schemaName = parentActionContext.schemaName; - - return new ObserveReplicationActionContext( - parentActionContext.replicationContext, - schemaName, - tableName, - parentActionContext, - parentActionContext.joinClauses, - parentActionContext.fromClause, - parentActionContext.whereClause, - parentActionContext.queryArg, - order - ); - - } - - public static ObserveReplicationActionContext onAssociationJoin( - ObserveReplicationActionContext parentActionContext, - String tableName, - int order) { - - String schemaName = parentActionContext.schemaName; - tableName = getAssociationTableName(tableName, parentActionContext.tableName); - - return new ObserveReplicationActionContext( - parentActionContext.replicationContext, - schemaName, - tableName, - parentActionContext, - parentActionContext.joinClauses, - parentActionContext.fromClause, - parentActionContext.whereClause, - parentActionContext.queryArg, - order - ); - } - - public static ObserveReplicationActionContext onTrip(ObserveReplicationContext replicationContext, - ObserveEntityEnum entityEnum, - String id, - int order) { - - - return new ObserveReplicationActionContext( - replicationContext, - entityEnum.dbSchemaName(), - entityEnum.dbTableName(), - null, - new LinkedHashSet<String>(), - null, - null, - id, - order); - } - - private ObserveReplicationActionContext(ObserveReplicationContext replicationContext, - String schemaName, - String tableName, - ObserveReplicationActionContext parentActionContext, - Set<String> joinClauses, - String fromClause, - String whereClause, - String queryArg, - int order) { - this.replicationContext = replicationContext; - this.parentActionContext = parentActionContext; - this.joinClauses = Sets.newLinkedHashSet(joinClauses); - this.fromClause = fromClause; - this.whereClause = whereClause; - this.queryArg = queryArg; - this.order = order; - this.parentTableName = parentActionContext == null ? null : parentActionContext.tableName; - this.schemaName = schemaName; - this.tableName = tableName; - } - - public ObserveTopiaPersistenceContext getSourcePersistenceContext() { - return replicationContext.getSourcePersistenceContext(); - } - - public ObserveTopiaPersistenceContext getTargetPersistenceContext() { - return replicationContext.getTargetPersistenceContext(); - } - - public int getFetchSize() { - return replicationContext.getFetchSize(); - } - - public String getTableName() { - return tableName; - } - - public String getFullyTableName() { - return schemaName + "." + tableName; - } - - public PreparedStatement createReadStatement(Connection connection) throws SQLException { - - StringBuilder sqlBuilder = new StringBuilder("SELECT " + tableName + ".*"); - - sqlBuilder.append(" FROM ").append(fromClause); - for (String joinClause : joinClauses) { - sqlBuilder.append(" ").append(joinClause); - } - sqlBuilder.append(" WHERE ").append(whereClause); - - String sql = sqlBuilder.toString(); - if (log.isInfoEnabled()) { - log.info("Read sql: " + sql); - } - PreparedStatement statement = connection.prepareStatement(sql); - statement.setString(1, queryArg); - statement.setFetchSize(replicationContext.getFetchSize()); - return statement; - } - - public PreparedStatement createWriteStatement(Connection connection, ResultSetMetaData readResultTatMetaData) throws SQLException { - - int columnCount = readResultTatMetaData.getColumnCount(); - - StringBuilder sqlBuilder = new StringBuilder("INSERT INTO "); - sqlBuilder.append(schemaName).append(".").append(tableName); - - StringBuilder columnNamesBuilder = new StringBuilder(); - StringBuilder argsBuilder = new StringBuilder(); - - columnNamesBuilder.append(" ").append(readResultTatMetaData.getColumnName(1)); - argsBuilder.append("?"); - - for (int i = 2; i <= columnCount; i++) { - - String columnName = readResultTatMetaData.getColumnName(i); - columnNamesBuilder.append(", ").append(columnName); - argsBuilder.append(", ?"); - } - - sqlBuilder.append("(") - .append(columnNamesBuilder) - .append(")") - .append("VALUES (") - .append(argsBuilder) - .append(")"); - - String sql = sqlBuilder.toString(); - if (log.isInfoEnabled()) { - log.info("Write sql: " + sql); - } - PreparedStatement statement = connection.prepareStatement(sql); - - return statement; - - } - - public void addInnerJoinClause() { - String joinClause = " INNER JOIN " + schemaName + "." + tableName + " " + tableName + " ON " + tableName + "." + parentTableName + " = " + parentTableName + ".topiaId"; - joinClauses.add(joinClause); - } - - public void addInverseInnerJoinClause() { - String joinClause = " INNER JOIN " + schemaName + "." + tableName + " " + tableName + " ON " + tableName + ".topiaId = " + parentTableName + "." + tableName; - joinClauses.add(joinClause); - } - - public void setWhereTopiaIdEqualsClause() { - this.whereClause = tableName + ".topiaid = ?"; - } - - public void setWhereJoinTopiaIdEqualsClause() { - this.whereClause = tableName + "." + parentTableName + " = ?"; - } - - public void setFromClause() { - this.fromClause = schemaName + "." + tableName + " " + tableName; - } - - protected static String getAssociationTableName(String tableName, String parentTableName) { - String associationTableName; - if (tableName.toLowerCase().compareTo(parentTableName.toLowerCase()) < 0) { - associationTableName = tableName + "_" + parentTableName; - } else { - associationTableName = parentTableName + "_" + tableName; - } - return associationTableName; - } - -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationContext.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationContext.java deleted file mode 100644 index ff26576..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationContext.java +++ /dev/null @@ -1,48 +0,0 @@ -package fr.ird.observe.entities.replication; - -import fr.ird.observe.ObserveTopiaApplicationContext; -import fr.ird.observe.ObserveTopiaPersistenceContext; - -/** - * Created on 28/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReplicationContext { - - protected final ObserveTopiaApplicationContext sourceTopiaApplicationContext; - - protected final ObserveTopiaApplicationContext targetTopiaApplicationContext; - - protected final int fetchSize; - - protected ObserveTopiaPersistenceContext sourcePersistenceContext; - - protected ObserveTopiaPersistenceContext targetPersistenceContext; - - public ObserveReplicationContext(ObserveTopiaApplicationContext sourceTopiaApplicationContext, - ObserveTopiaApplicationContext targetTopiaApplicationContext, - int fetchSize) { - this.sourceTopiaApplicationContext = sourceTopiaApplicationContext; - this.targetTopiaApplicationContext = targetTopiaApplicationContext; - this.fetchSize=fetchSize; - } - - public ObserveTopiaPersistenceContext getSourcePersistenceContext() { - if (sourcePersistenceContext == null) { - sourcePersistenceContext = sourceTopiaApplicationContext.newPersistenceContext(); - } - return sourcePersistenceContext; - } - - public ObserveTopiaPersistenceContext getTargetPersistenceContext() { - if (targetPersistenceContext == null) { - targetPersistenceContext = targetTopiaApplicationContext.newPersistenceContext(); - } - return targetPersistenceContext; - } - - public int getFetchSize() { - return fetchSize; - } -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationEngine.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationEngine.java deleted file mode 100644 index 9a283bc..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationEngine.java +++ /dev/null @@ -1,58 +0,0 @@ -package fr.ird.observe.entities.replication; - -import com.google.common.collect.ImmutableSet; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -/** - * Created on 28/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReplicationEngine { - - /** Logger. */ - private static final Log log = LogFactory.getLog(ObserveReplicationEngine.class); - - protected final ObserveReplicationContext replicationContext; - - public ObserveReplicationEngine(ObserveReplicationContext replicationContext) { - this.replicationContext = replicationContext; - } - - public ImmutableSet<ObserveReplicationActionContext> replicateTripSeine(String id) { - - ImmutableSet<ObserveReplicationActionContext> actionContexts = TripSeineReplicationActionContextsBuilder - .of(replicationContext, id); - - execute(actionContexts); - - return actionContexts; - - } - - public ImmutableSet<ObserveReplicationActionContext> replicateTripLongline(String id) { - - ImmutableSet<ObserveReplicationActionContext> actionContexts = TripLonglineReplicationActionContextsBuilder - .of(replicationContext, id); - - execute(actionContexts); - - return actionContexts; - } - - protected void execute(ImmutableSet<ObserveReplicationActionContext> actionContexts) { - - for (ObserveReplicationActionContext actionContext : actionContexts) { - - if (log.isInfoEnabled()) { - log.info("Replicate: " + actionContext.tableName); - } - ObserveReplicationAction.replicate(actionContext); - } - - replicationContext.getTargetPersistenceContext().commit(); - - } - -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationTables.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationTables.java new file mode 100644 index 0000000..68243fa --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationTables.java @@ -0,0 +1,169 @@ +package fr.ird.observe.entities.replication; + +import fr.ird.observe.ObserveEntityEnum; +import org.nuiton.topia.replication.sql.action.ReplicateActionBuilderSupport; +import org.nuiton.topia.replication.sql.table.TopiaReplicationTables; +import org.nuiton.topia.replication.sql.table.TopiaReplicationTablesBuilder; + +/** + * Created on 30/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveReplicationTables { + + protected static <B extends ReplicateActionBuilderSupport> void addReferentialTables(B actionBuilder) { + actionBuilder.setTables(getReferentialTables()); + } + + protected static <B extends ReplicateActionBuilderSupport> void addTripLongline(B actionBuilder, String tripId) { + actionBuilder.setTables(getTripLonglineTables(tripId != null)).setArg(tripId); + + } + + protected static <B extends ReplicateActionBuilderSupport> void addTripSeine(B actionBuilder, String tripId) { + actionBuilder.setTables(getTripSeineTables(tripId != null)).setArg(tripId); + } + + public static TopiaReplicationTables getTripSeineTables(boolean withId) { + + return TopiaReplicationTablesBuilder + .builder(withId) + .addTopTable(ObserveEntityEnum.TripSeine) + .addTopJoinTable(ObserveEntityEnum.TripSeine, ObserveEntityEnum.GearUseFeaturesSeine) + .addJoinTable(ObserveEntityEnum.GearUseFeaturesSeine, ObserveEntityEnum.GearUseFeaturesMeasurementSeine) + .addTopJoinTable(ObserveEntityEnum.TripSeine, ObserveEntityEnum.Route) + .orderPlusOne() + .addJoinTable(ObserveEntityEnum.Route, ObserveEntityEnum.ActivitySeine) + .orderMinusTwo() + .addInversedJoinTable(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.SetSeine) + .orderPlusOne() + .addAssociationTable(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.ObservedSystem.name(), true) + .addJoinTable(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.FloatingObject) + .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.SchoolEstimate) + .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.NonTargetCatch) + .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.NonTargetSample) + .addJoinTable(ObserveEntityEnum.NonTargetSample, ObserveEntityEnum.NonTargetLength) + .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.TargetCatch) + .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.TargetSample) + .addJoinTable(ObserveEntityEnum.TargetSample, ObserveEntityEnum.TargetLength) + .addJoinTable(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.ObjectObservedSpecies) + .addJoinTable(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.ObjectSchoolEstimate) + .addJoinTable(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.TransmittingBuoy) + .build(); + + } + + public static TopiaReplicationTables getTripLonglineTablesForAll() { + return getTripLonglineTables(false); + } + + public static TopiaReplicationTables getTripLonglineTablesForOne() { + return getTripLonglineTables(true); + } + + public static TopiaReplicationTables getTripLonglineTables(boolean withId) { + + return TopiaReplicationTablesBuilder + .builder(withId) + .addTopTable(ObserveEntityEnum.TripLongline) + .addTopJoinTable(ObserveEntityEnum.TripLongline, ObserveEntityEnum.GearUseFeaturesLongline) + .addJoinTable(ObserveEntityEnum.GearUseFeaturesLongline, ObserveEntityEnum.GearUseFeaturesMeasurementLongline) + .orderPlusOne() + .addJoinTable(ObserveEntityEnum.TripLongline, ObserveEntityEnum.ActivityLongline) + .orderMinusTwo() + .addInversedJoinTable(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.SetLongline) + .orderPlusOne() + .addJoinTable(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.Encounter) + .addJoinTable(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.SensorUsed) + .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.Tdr) + .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.BaitsComposition) + .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.FloatlinesComposition) + .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.HooksComposition) + .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.BranchlinesComposition) + .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.Section) + .addJoinTable(ObserveEntityEnum.Section, ObserveEntityEnum.Basket) + .addJoinTable(ObserveEntityEnum.Basket, ObserveEntityEnum.Branchline) + .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.CatchLongline) + .addAssociationTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.MitigationType.name(), true) + .addJoinTable(ObserveEntityEnum.CatchLongline, ObserveEntityEnum.SizeMeasure) + .addJoinTable(ObserveEntityEnum.CatchLongline, ObserveEntityEnum.WeightMeasure) + .addAssociationTable(ObserveEntityEnum.CatchLongline, "Predator", true) + .addJoinTable(ObserveEntityEnum.Tdr, ObserveEntityEnum.TdrRecord) + .addAssociationTable(ObserveEntityEnum.Tdr, ObserveEntityEnum.Species.name(), true) + .build(); + + } + + public static TopiaReplicationTables getReferentialTables() { + + return TopiaReplicationTablesBuilder + .builder(false) + .addTopTable(ObserveEntityEnum.VesselSizeCategory) + .addTopTable(ObserveEntityEnum.Country) + .addTopTable(ObserveEntityEnum.Harbour) + .addTopTable(ObserveEntityEnum.VesselType) + .addTopTable(ObserveEntityEnum.Vessel) + .addTopTable(ObserveEntityEnum.Ocean) + .addTopTable(ObserveEntityEnum.SpeciesGroup) + .addTopTable(ObserveEntityEnum.Species) + .addAssociationTable(ObserveEntityEnum.Species, ObserveEntityEnum.Ocean.name(), false) + .addTopTable(ObserveEntityEnum.Sex) + .addTopTable(ObserveEntityEnum.FpaZone) + .addTopTable(ObserveEntityEnum.SpeciesList) + .addAssociationTable(ObserveEntityEnum.SpeciesList, ObserveEntityEnum.Species.name(), false) + .addTopTable(ObserveEntityEnum.Person) + .addTopTable(ObserveEntityEnum.Organism) + .addTopTable(ObserveEntityEnum.LengthWeightParameter) + .addTopTable(ObserveEntityEnum.Program) + .addTopTable(ObserveEntityEnum.GearCaracteristicType) + .addTopTable(ObserveEntityEnum.GearCaracteristic) + .addTopTable(ObserveEntityEnum.Gear) + .addAssociationTable(ObserveEntityEnum.Gear, ObserveEntityEnum.GearCaracteristic.name(), false) + .addTopTable(ObserveEntityEnum.LastUpdateDate) + .addTopTable(ObserveEntityEnum.VesselActivitySeine) + .addTopTable(ObserveEntityEnum.SurroundingActivity) + .addTopTable(ObserveEntityEnum.ReasonForNullSet) + .addTopTable(ObserveEntityEnum.ReasonForNoFishing) + .addTopTable(ObserveEntityEnum.SpeciesFate) + .addTopTable(ObserveEntityEnum.ObjectFate) + .addTopTable(ObserveEntityEnum.WeightCategory) + .addTopTable(ObserveEntityEnum.DetectionMode) + .addTopTable(ObserveEntityEnum.TransmittingBuoyOperation) + .addTopTable(ObserveEntityEnum.ObjectOperation) + .addTopTable(ObserveEntityEnum.ReasonForDiscard) + .addTopTable(ObserveEntityEnum.SpeciesStatus) + .addTopTable(ObserveEntityEnum.ObservedSystem) + .addTopTable(ObserveEntityEnum.TransmittingBuoyType) + .addTopTable(ObserveEntityEnum.ObjectType) + .addTopTable(ObserveEntityEnum.Wind) + .addTopTable(ObserveEntityEnum.BaitHaulingStatus) + .addTopTable(ObserveEntityEnum.BaitSettingStatus) + .addTopTable(ObserveEntityEnum.BaitType) + .addTopTable(ObserveEntityEnum.CatchFateLongline) + .addTopTable(ObserveEntityEnum.EncounterType) + .addTopTable(ObserveEntityEnum.Healthness) + .addTopTable(ObserveEntityEnum.HookPosition) + .addTopTable(ObserveEntityEnum.HookSize) + .addTopTable(ObserveEntityEnum.HookType) + .addTopTable(ObserveEntityEnum.ItemVerticalPosition) + .addTopTable(ObserveEntityEnum.ItemHorizontalPosition) + .addTopTable(ObserveEntityEnum.LightsticksColor) + .addTopTable(ObserveEntityEnum.LightsticksType) + .addTopTable(ObserveEntityEnum.LineType) + .addTopTable(ObserveEntityEnum.MaturityStatus) + .addTopTable(ObserveEntityEnum.MitigationType) + .addTopTable(ObserveEntityEnum.SensorBrand) + .addTopTable(ObserveEntityEnum.SensorDataFormat) + .addTopTable(ObserveEntityEnum.SensorType) + .addTopTable(ObserveEntityEnum.SettingShape) + .addTopTable(ObserveEntityEnum.SizeMeasureType) + .addTopTable(ObserveEntityEnum.StomacFullness) + .addTopTable(ObserveEntityEnum.TripType) + .addTopTable(ObserveEntityEnum.VesselActivityLongline) + .addTopTable(ObserveEntityEnum.WeightMeasureType) + + .build(); + + } +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ReplicationActionContextsBuilderSupport.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ReplicationActionContextsBuilderSupport.java deleted file mode 100644 index b7f9b3a..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ReplicationActionContextsBuilderSupport.java +++ /dev/null @@ -1,91 +0,0 @@ -package fr.ird.observe.entities.replication; - -import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Lists; -import fr.ird.observe.ObserveEntityEnum; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.Comparator; -import java.util.LinkedHashMap; -import java.util.Map; - -/** - * Created on 28/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public abstract class ReplicationActionContextsBuilderSupport<Context extends ReplicationActionContextsBuilderSupport> { - - protected final ObserveReplicationContext replicationContext; - - protected final Map<String, ObserveReplicationActionContext> actionContexts; - - protected ReplicationActionContextsBuilderSupport(ObserveReplicationContext replicationContext) { - this.replicationContext = replicationContext; - this.actionContexts = new LinkedHashMap<>(); - } - - public ImmutableSet<ObserveReplicationActionContext> build() { - - ArrayList<ObserveReplicationActionContext> actionContextList = Lists.newArrayList(this.actionContexts.values()); - Collections.sort(actionContextList, new Comparator<ObserveReplicationActionContext>() { - - @Override - public int compare(ObserveReplicationActionContext o1, ObserveReplicationActionContext o2) { - return o1.order - o2.order; - } - }); - return ImmutableSet.copyOf(actionContextList); - } - - protected Context createFirstActionContext(ObserveEntityEnum entityEnum, String id) { - ObserveReplicationActionContext actionContext = - ObserveReplicationActionContext.onTrip( - replicationContext, - entityEnum, - id, - 0); - - actionContext.setFromClause(); - actionContext.setWhereTopiaIdEqualsClause(); - - registerActionContext(actionContext); - return (Context) this; - } - - protected ObserveReplicationActionContext createActionContext(ObserveEntityEnum parentEntityEnum, ObserveEntityEnum entityEnum, int order) { - - ObserveReplicationActionContext parentActionContext = getActionContext(parentEntityEnum); - - ObserveReplicationActionContext actionContext = - ObserveReplicationActionContext.onJoin(parentActionContext, - entityEnum.dbTableName(), - order); - registerActionContext(actionContext); - return actionContext; - } - - protected ObserveReplicationActionContext createAssociationActionContext(ObserveEntityEnum parentEntityEnum, String associationName, int order) { - - ObserveReplicationActionContext parentActionContext = getActionContext(parentEntityEnum); - - ObserveReplicationActionContext actionContext = - ObserveReplicationActionContext.onAssociationJoin(parentActionContext, - associationName, - order); - registerActionContext(actionContext); - return actionContext; - } - - protected ObserveReplicationActionContext getActionContext(ObserveEntityEnum entityEnum) { - String fullyTableName = entityEnum.dbSchemaName().toLowerCase() + "." + entityEnum.dbTableName().toLowerCase(); - ObserveReplicationActionContext parentactioncontext = actionContexts.get(fullyTableName); - return parentactioncontext; - } - - protected void registerActionContext(ObserveReplicationActionContext actionContext) { - actionContexts.put(actionContext.getFullyTableName(), actionContext); - } - -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripLonglineReplicationActionContextsBuilder.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripLonglineReplicationActionContextsBuilder.java deleted file mode 100644 index 90cfc5c..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripLonglineReplicationActionContextsBuilder.java +++ /dev/null @@ -1,174 +0,0 @@ -package fr.ird.observe.entities.replication; - -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.ObserveEntityEnum; - -/** - * Created on 28/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class TripLonglineReplicationActionContextsBuilder extends ReplicationActionContextsBuilderSupport<TripLonglineReplicationActionContextsBuilder> { - - public static ImmutableSet<ObserveReplicationActionContext> of(ObserveReplicationContext replicationContext, String tripId) { - return new TripLonglineReplicationActionContextsBuilder(replicationContext) - .createFirstActionContext(ObserveEntityEnum.TripLongline, tripId) - .addGearUseFeaturesActionContext() - .addGearUseFeatureMeasurementActionContext() - .addActivityActionContext() - .addSetActionContext() - .addEncounterActionContext() - .addSensorUsedActionContext() - .addTdrActionContext() - .addBaitsCompositionActionContext() - .addFloatlinesCompositionActionContext() - .addHooksCompositionActionContext() - .addBranchlinesCompositionActionContext() - .addCatchActionContext() - - .addSectionActionContext() - .addBasketActionContext() - .addBranchlineActionContext() - - .addSetMitigationTypeActionContext() - .addSizeMeasureActionContext() - .addWeightMeasureActionContext() - .addCatchPredatorActionContext() - .addTdrRecordActionContext() - .addTdrSpeciesActionContext() - .build(); - } - - protected TripLonglineReplicationActionContextsBuilder(ObserveReplicationContext replicationContext) { - super(replicationContext); - } - - public TripLonglineReplicationActionContextsBuilder addGearUseFeaturesActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TripLongline, ObserveEntityEnum.GearUseFeaturesLongline, 1); - actionContext.setFromClause(); - actionContext.setWhereJoinTopiaIdEqualsClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addGearUseFeatureMeasurementActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.GearUseFeaturesLongline, ObserveEntityEnum.GearUseFeaturesMeasurementLongline, 2); - actionContext.addInnerJoinClause(); - return this; - } - - - public TripLonglineReplicationActionContextsBuilder addSetActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.SetLongline, 10); - actionContext.addInverseInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addActivityActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TripLongline, ObserveEntityEnum.ActivityLongline, 11); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addEncounterActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.Encounter, 12); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addSensorUsedActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.SensorUsed, 13); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addTdrActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.Tdr, 20); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addBaitsCompositionActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.BaitsComposition, 21); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addFloatlinesCompositionActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.FloatlinesComposition, 22); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addHooksCompositionActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.HooksComposition, 23); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addBranchlinesCompositionActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.BranchlinesComposition, 24); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addSectionActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.Section, 25); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addBasketActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.Section, ObserveEntityEnum.Basket, 26); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addBranchlineActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.Basket, ObserveEntityEnum.Branchline, 27); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addCatchActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.CatchLongline, 28); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addSetMitigationTypeActionContext() { - ObserveReplicationActionContext actionContext = createAssociationActionContext(ObserveEntityEnum.SetLongline, ObserveEntityEnum.MitigationType.name(), 29); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addSizeMeasureActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.CatchLongline, ObserveEntityEnum.SizeMeasure, 30); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addWeightMeasureActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.CatchLongline, ObserveEntityEnum.WeightMeasure, 31); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addCatchPredatorActionContext() { - ObserveReplicationActionContext actionContext = createAssociationActionContext(ObserveEntityEnum.CatchLongline, "Predator", 32); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addTdrRecordActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.Tdr, ObserveEntityEnum.TdrRecord, 40); - actionContext.addInnerJoinClause(); - return this; - } - - public TripLonglineReplicationActionContextsBuilder addTdrSpeciesActionContext() { - ObserveReplicationActionContext actionContext = createAssociationActionContext(ObserveEntityEnum.Tdr, ObserveEntityEnum.Species.name(), 41); - actionContext.addInnerJoinClause(); - return this; - } - -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripSeineReplicationActionContextsBuilder.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripSeineReplicationActionContextsBuilder.java deleted file mode 100644 index 9f92fce..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/replication/TripSeineReplicationActionContextsBuilder.java +++ /dev/null @@ -1,145 +0,0 @@ -package fr.ird.observe.entities.replication; - -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.ObserveEntityEnum; - -/** - * Created on 28/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class TripSeineReplicationActionContextsBuilder extends ReplicationActionContextsBuilderSupport<TripSeineReplicationActionContextsBuilder> { - - public static ImmutableSet<ObserveReplicationActionContext> of(ObserveReplicationContext replicationContext, String tripId) { - return new TripSeineReplicationActionContextsBuilder(replicationContext) - .createFirstActionContext(ObserveEntityEnum.TripSeine, tripId) - .addGearUseFeaturesActionContext() - .addGearUseFeatureMeasurementActionContext() - .addRouteActionContext() - .addActivityActionContext() - .addActivityObservedSystemActionContext() - .addSetActionContext() - .addSchoolEstimateActionContext() - .addNonTargetCatchActionContext() - .addNonTargetSampleActionContext() - .addNonTargetLengthActionContext() - .addTargetCatchActionContext() - .addTargetSampleActionContext() - .addTargetLengthActionContext() - - .addFloatingObjectActionContext() - .addObjectObservedSpeciesActionContext() - .addObjectSchoolEstimateActionContext() - .addTransmittingBuoyActionContext() - .build(); - } - - protected TripSeineReplicationActionContextsBuilder(ObserveReplicationContext replicationContext) { - super(replicationContext); - } - - public TripSeineReplicationActionContextsBuilder addGearUseFeaturesActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TripSeine, ObserveEntityEnum.GearUseFeaturesSeine, 1); - actionContext.setFromClause(); - actionContext.setWhereJoinTopiaIdEqualsClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addGearUseFeatureMeasurementActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.GearUseFeaturesSeine, ObserveEntityEnum.GearUseFeaturesMeasurementSeine, 2); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addRouteActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TripSeine, ObserveEntityEnum.Route, 3); - actionContext.setFromClause(); - actionContext.setWhereJoinTopiaIdEqualsClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addSetActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.SetSeine, 4); - actionContext.addInverseInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addActivityActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.Route, ObserveEntityEnum.ActivitySeine, 5); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addActivityObservedSystemActionContext() { - ObserveReplicationActionContext actionContext = createAssociationActionContext(ObserveEntityEnum.ActivitySeine, "ObservedSystem", 6); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addFloatingObjectActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.FloatingObject, 7); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addSchoolEstimateActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.SchoolEstimate, 10); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addNonTargetCatchActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.NonTargetCatch, 11); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addNonTargetSampleActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.NonTargetSample, 12); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addNonTargetLengthActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.NonTargetSample, ObserveEntityEnum.NonTargetLength, 13); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addTargetCatchActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.TargetCatch, 14); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addTargetSampleActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.SetSeine, ObserveEntityEnum.TargetSample, 15); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addTargetLengthActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.TargetSample, ObserveEntityEnum.TargetLength, 16); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addObjectObservedSpeciesActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.ObjectObservedSpecies, 20); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addObjectSchoolEstimateActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.ObjectSchoolEstimate, 21); - actionContext.addInnerJoinClause(); - return this; - } - - public TripSeineReplicationActionContextsBuilder addTransmittingBuoyActionContext() { - ObserveReplicationActionContext actionContext = createActionContext(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.TransmittingBuoy, 22); - actionContext.addInnerJoinClause(); - 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit d051db817aea147d3f3497a9bc59a6af456aab75 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:54:05 2015 +0100 Ajout de fixtures --- .../services/service/AbstractServiceTopiaTest.java | 21 +- .../DataSourceDumpProducerServiceTopiaTest.java | 3 +- .../service/DataSourceServiceTopiaTest.java | 5 +- .../report/AbstractReportServiceTopiaTest.java | 9 +- .../actions/validate/ValidateServiceTopiaTest.java | 5 +- ...tLonglineDetailCompositionServiceTopiaTest.java | 7 +- .../service/seine/RouteServiceTopiaTest.java | 3 +- .../seine/TripSeineGearUseServiceTopiaTest.java | 7 +- .../service/seine/TripSeineServiceTopiaTest.java | 29 +- .../java/fr/ird/observe/test/ObserveFixtures.java | 298 +++++++++++++++++++++ 10 files changed, 338 insertions(+), 49 deletions(-) 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 b39899d..71eba10 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 @@ -9,6 +9,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.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.junit.Assert; @@ -23,27 +24,9 @@ import java.util.Date; * @author Tony Chemit - chemit@codelutin.com */ @DatabaseNameConfiguration(DatabaseName.referentiel) -@DatabaseVersionConfiguration(AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseVersionConfiguration(ObserveFixtures.DEFAULT_VERSION) public class AbstractServiceTopiaTest { - public static final String DEFAULT_VERSION = "5.0-3"; - - 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"; - - public static final String TRIP_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.TripLongline#1429538088091#0.763886003987864"; - - public static final String TRIP_LONGLINE_ID_2 = "fr.ird.observe.entities.longline.TripLongline#1429540363472#0.517173705156893"; - - public static final String TRIP_LONGLINE_ID_3 = "fr.ird.observe.entities.longline.TripLongline#1429537115030#0.493692863034084"; - - public static final String SET_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; - @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); 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 78e445f..a67b644 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 @@ -24,6 +24,7 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; @@ -58,7 +59,7 @@ public class DataSourceDumpProducerServiceTopiaTest extends AbstractServiceTopia @Test public void testGetDataDump() throws Exception { - byte[] dataDump = service.getDataDump(ImmutableSet.of(TRIP_SEINE_ID_1)); + byte[] dataDump = service.getDataDump(ImmutableSet.of(ObserveFixtures.TRIP_SEINE_ID_1)); Assert.assertNotNull(dataDump); } 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 e95c9ec..6afd455 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 @@ -33,6 +33,7 @@ import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportExcept import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.referential.GearDto; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.TestHelper; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import fr.ird.observe.test.spi.DatabaseNameConfiguration; @@ -223,7 +224,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); dataSourceCreateConfiguration.setImportReferentialDataSourceConfiguration(dataSourceConfiguration); - dataSourceCreateConfiguration.setImportDataConfiguration(dataSourceConfiguration, ImmutableSet.of(AbstractServiceTopiaTest.TRIP_SEINE_ID_1)); + dataSourceCreateConfiguration.setImportDataConfiguration(dataSourceConfiguration, ImmutableSet.of(ObserveFixtures.TRIP_SEINE_ID_1)); ObserveDataSourceConfigurationTopiaH2 createdDatabaseDataSourceConfiguration = dataSourceResource.createDataSourceConfigurationH2(getClass(), "resultDatabase"); @@ -234,7 +235,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { ObserveTopiaApplicationContext createdDatabaseTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(createdDatabaseDataSourceConfiguration); applicationContextResource.assertSchemaCreated(createdDatabaseTopiaApplicationContext); - applicationContextResource.assertEntitiesExist(createdDatabaseTopiaApplicationContext, AbstractServiceTopiaTest.TRIP_SEINE_ID_1); + applicationContextResource.assertEntitiesExist(createdDatabaseTopiaApplicationContext, ObserveFixtures.TRIP_SEINE_ID_1); } protected void closeDatabase(ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration) throws InterruptedException { 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 73bd3be..7deaa3a 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 @@ -30,6 +30,7 @@ import fr.ird.observe.services.dto.actions.report.ReportRequest; import fr.ird.observe.services.dto.actions.report.ReportVariable; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -45,7 +46,7 @@ import java.util.Map; /** * Classe abstraite de test d'un report. - * <p/> + * * On définit ici le mécanisme pour tester unitairement un report et son * résultat. * @@ -85,7 +86,7 @@ public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopi /** * L'unique test à lancer. - * <p/> + * * On vérifie : * <ul> * <li>la syntaxe du report via {@link #testReportSyntax(Report)}</li> @@ -101,7 +102,7 @@ public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopi testReportSyntax(report); // creation de l'executeur de report - report = service.populateVariables(report, TRIP_SEINE_ID_1); + report = service.populateVariables(report, ObserveFixtures.TRIP_SEINE_ID_1); // les variables a utiliser (par defaut, pas de variable) Map<String, Object> variables = new HashMap<String, Object>(); @@ -111,7 +112,7 @@ public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopi // on execute le report - DataMatrix result = service.executeReport(report, TRIP_SEINE_ID_1); + DataMatrix result = service.executeReport(report, ObserveFixtures.TRIP_SEINE_ID_1); if (log.isInfoEnabled()) { log.info("Result :\n" + result.getClipbordContent(true, true)); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java index 95f5e5d..0b28883 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java @@ -29,6 +29,7 @@ import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; @@ -138,7 +139,7 @@ public class ValidateServiceTopiaTest extends AbstractServiceTopiaTest { request.setValidationContext(ValidateService.N1_CREATE_CONTEXT); request.setScopes(ImmutableSet.copyOf(NuitonValidatorScope.values())); - request.setDataIds(ImmutableSet.of(TRIP_SEINE_ID_1, TRIP_SEINE_ID_2)); + request.setDataIds(ImmutableSet.of(ObserveFixtures.TRIP_SEINE_ID_1, ObserveFixtures.TRIP_SEINE_ID_2)); ValidateDataResult result = service.validateData(request); Assert.assertNotNull(result); @@ -165,7 +166,7 @@ public class ValidateServiceTopiaTest extends AbstractServiceTopiaTest { request.setValidationContext(ValidateService.N1_UPDATE_CONTEXT); request.setScopes(ImmutableSet.copyOf(NuitonValidatorScope.values())); - request.setDataIds(ImmutableSet.of(TRIP_SEINE_ID_1, TRIP_SEINE_ID_2)); + request.setDataIds(ImmutableSet.of(ObserveFixtures.TRIP_SEINE_ID_1, ObserveFixtures.TRIP_SEINE_ID_2)); ValidateDataResult result = service.validateData(request); Assert.assertNotNull(result); 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 8a1155b..15f6ca0 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 @@ -40,6 +40,7 @@ import fr.ird.observe.services.dto.referential.longline.HookTypeDto; import fr.ird.observe.services.dto.referential.longline.LineTypeDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; @@ -65,7 +66,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic @Test public void loadToEditTest() { - Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID_1); + Form<SetLonglineDetailCompositionDto> form = service.loadForm(ObserveFixtures.SET_LONGLINE_ID_1); Assert.assertNotNull(form); @@ -93,7 +94,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic @CopyDatabaseConfiguration public void saveTest() { - Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID_1); + Form<SetLonglineDetailCompositionDto> form = service.loadForm(ObserveFixtures.SET_LONGLINE_ID_1); SetLonglineDetailCompositionDto compositionDto = form.getObject(); SectionDto sectionDto = compositionDto.getSection(4); @@ -143,7 +144,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic service.save(compositionDto); - SetLongline setLongline = dataSourceResource.findById(SetLongline.class, SET_LONGLINE_ID_1); + SetLongline setLongline = dataSourceResource.findById(SetLongline.class, ObserveFixtures.SET_LONGLINE_ID_1); 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/RouteServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java index fd383e9..f722612 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 @@ -26,6 +26,7 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; @@ -50,7 +51,7 @@ public class RouteServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void preCreateTest() { - Form<RouteDto> form = service.preCreate(TRIP_SEINE_ID_1); + Form<RouteDto> form = service.preCreate(ObserveFixtures.TRIP_SEINE_ID_1); Assert.assertNotNull(form); RouteDto routeDto = form.getObject(); 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 6613642..e249708 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 @@ -34,6 +34,7 @@ import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; @@ -65,9 +66,9 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void loadToEditTest() { - TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, ObserveFixtures.TRIP_SEINE_ID_1); - Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineGearUseDto> form = service.loadForm(ObserveFixtures.TRIP_SEINE_ID_1); Assert.assertNotNull(form); TripSeineGearUseDto tripSeineGearUseDto = form.getObject(); @@ -113,7 +114,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { @Test @CopyDatabaseConfiguration public void saveUpdateTest() { - Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineGearUseDto> form = service.loadForm(ObserveFixtures.TRIP_SEINE_ID_1); TripSeineGearUseDto tripSeineGearUseDto = form.getObject(); 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 0d8b333..9aba86f 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 @@ -40,6 +40,7 @@ import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; @@ -72,14 +73,14 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void getTripSeineByProgramTest() { - DataReferenceSet<TripSeineDto> stubDtos = service.getTripSeineByProgram(PROGRAM_ID); + DataReferenceSet<TripSeineDto> stubDtos = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); Assert.assertNotNull(stubDtos); Assert.assertEquals(3, stubDtos.sizeReference()); DataReference<TripSeineDto> tripSeineStubDto = stubDtos.getReferenceByPosition(0); - TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, ObserveFixtures.TRIP_SEINE_ID_1); Assert.assertEquals(tripSeine.getTopiaId(), tripSeineStubDto.getId()); Assert.assertEquals(0, tripSeine.getStartDate().compareTo((Date) tripSeineStubDto.getPropertyValue(TripSeineDto.PROPERTY_START_DATE))); @@ -88,7 +89,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeine.getObserverLabel(), tripSeineStubDto.getPropertyValue(TripSeineDto.PROPERTY_OBSERVER)); tripSeineStubDto = stubDtos.getReferenceByPosition(1); - tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_2); + tripSeine = dataSourceResource.findById(TripSeine.class, ObserveFixtures.TRIP_SEINE_ID_2); Assert.assertEquals(tripSeine.getTopiaId(), tripSeineStubDto.getId()); Assert.assertEquals(0, tripSeine.getStartDate().compareTo((Date) tripSeineStubDto.getPropertyValue(TripSeineDto.PROPERTY_START_DATE))); @@ -97,7 +98,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeine.getObserverLabel(), tripSeineStubDto.getPropertyValue(TripSeineDto.PROPERTY_OBSERVER)); tripSeineStubDto = stubDtos.getReferenceByPosition(2); - tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_3); + tripSeine = dataSourceResource.findById(TripSeine.class, ObserveFixtures.TRIP_SEINE_ID_3); Assert.assertEquals(tripSeine.getTopiaId(), tripSeineStubDto.getId()); Assert.assertEquals(0, tripSeine.getStartDate().compareTo((Date) tripSeineStubDto.getPropertyValue(TripSeineDto.PROPERTY_START_DATE))); @@ -110,8 +111,8 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void loadFormTest() throws Exception { - TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); - Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, ObserveFixtures.TRIP_SEINE_ID_1); + Form<TripSeineDto> form = service.loadForm(ObserveFixtures.TRIP_SEINE_ID_1); Assert.assertNotNull(form); TripSeineDto tripSeineDto = form.getObject(); @@ -146,7 +147,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { @Test public void preCreateTest() { - Form<TripSeineDto> form = service.preCreate(PROGRAM_ID); + Form<TripSeineDto> form = service.preCreate(ObserveFixtures.PROGRAM_ID); Assert.assertNotNull(form); TripSeineDto tripSeineDto = form.getObject(); @@ -181,7 +182,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { @CopyDatabaseConfiguration public void saveCreateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - Form<TripSeineDto> form = service.preCreate(PROGRAM_ID); + Form<TripSeineDto> form = service.preCreate(ObserveFixtures.PROGRAM_ID); TripSeineDto tripSeineDto = form.getObject(); @@ -235,7 +236,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { @CopyDatabaseConfiguration public void saveUpdateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineDto> form = service.loadForm(ObserveFixtures.TRIP_SEINE_ID_1); loadReferenceSets(referentialService, form); @@ -263,7 +264,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { service.save(form.getObject()); - TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); + TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, ObserveFixtures.TRIP_SEINE_ID_1); assertReferenceDtoEqualsEntity(tripSeineDto.getCaptain(), tripSeine.getCaptain()); assertReferenceDtoEqualsEntity(tripSeineDto.getObserver(), tripSeine.getObserver()); @@ -290,7 +291,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { @CopyDatabaseConfiguration public void saveConcurrentTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { - Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); + Form<TripSeineDto> form = service.loadForm(ObserveFixtures.TRIP_SEINE_ID_1); TripSeineDto tripSeineDto = form.getObject(); @@ -320,13 +321,13 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Date lastUpdateBefore = getLastUpdateDate(TripSeine.class); - service.delete(TRIP_SEINE_ID_1); + service.delete(ObserveFixtures.TRIP_SEINE_ID_1); - DataReferenceSet<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(PROGRAM_ID); + DataReferenceSet<TripSeineDto> tripSeineByProgram = service.getTripSeineByProgram(ObserveFixtures.PROGRAM_ID); Assert.assertEquals(2, tripSeineByProgram.sizeReference()); - Assert.assertFalse(dataSourceResource.exists(TripSeine.class, TRIP_SEINE_ID_1)); + Assert.assertFalse(dataSourceResource.exists(TripSeine.class, ObserveFixtures.TRIP_SEINE_ID_1)); Date lastUpdateAfter = getLastUpdateDate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java b/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java new file mode 100644 index 0000000..a15d653 --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java @@ -0,0 +1,298 @@ +package fr.ird.observe.test; + +import com.google.common.collect.ImmutableMap; +import org.apache.commons.lang3.mutable.MutableLong; + +import java.util.Map; +import java.util.TreeMap; + +/** + * Created on 29/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveFixtures { + + public static final String DEFAULT_VERSION = "5.0-3"; + + 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"; + + public static final String TRIP_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.TripLongline#1429538088091#0.763886003987864"; + + public static final String TRIP_LONGLINE_ID_2 = "fr.ird.observe.entities.longline.TripLongline#1429540363472#0.517173705156893"; + + public static final String TRIP_LONGLINE_ID_3 = "fr.ird.observe.entities.longline.TripLongline#1429537115030#0.493692863034084"; + + public static final String SET_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; + + public static final ImmutableMap<String, Long> REFERENTIAL_COMMON_TABLES_COUNT = ImmutableMap + .<String, Long>builder() + .put("observe_common.vesselsizecategory", 13L) + .put("observe_common.country", 53L) + .put("observe_common.harbour", 74L) + .put("observe_common.vesseltype", 14L) + .put("observe_common.vessel", 977L) + .put("observe_common.speciesgroup", 8L) + .put("observe_common.species", 275L) + .put("observe_common.ocean_species", 482L) + .put("observe_common.sex", 5L) + .put("observe_common.fpazone", 41L) + .put("observe_common.specieslist", 5L) + .put("observe_common.species_specieslist", 372L) + .put("observe_common.person", 390L) + .put("observe_common.ocean", 3L) + .put("observe_common.organism", 8L) + .put("observe_common.lengthweightparameter", 352L) + .put("observe_common.program", 27L) + .put("observe_common.gearcaracteristictype", 6L) + .put("observe_common.gearcaracteristic", 22L) + .put("observe_common.gear", 26L) + .put("observe_common.gear_gearcaracteristic", 29L) + .put("observe_common.lastupdatedate", 95L) + .build(); + + public static final ImmutableMap<String, Long> REFERENTIAL_SEINE_TABLES_COUNT = ImmutableMap + .<String, Long>builder() + .put("observe_seine.vesselactivity", 23L) + .put("observe_seine.surroundingactivity", 8L) + .put("observe_seine.reasonfornullset", 10L) + .put("observe_seine.reasonfornofishing", 13L) + .put("observe_seine.speciesfate", 9L) + .put("observe_seine.objectfate", 9L) + .put("observe_seine.weightcategory", 101L) + .put("observe_seine.detectionmode", 10L) + .put("observe_seine.transmittingbuoyoperation", 3L) + .put("observe_seine.objectoperation", 4L) + .put("observe_seine.reasonfordiscard", 5L) + .put("observe_seine.speciesstatus", 3L) + .put("observe_seine.observedsystem", 21L) + .put("observe_seine.transmittingbuoytype", 12L) + .put("observe_seine.objecttype", 23L) + .put("observe_seine.wind", 13L) + .build(); + + public static final ImmutableMap<String, Long> REFERENTIAL_LONGLINE_TABLES_COUNT = ImmutableMap + .<String, Long>builder() + .put("observe_longline.baithaulingstatus", 5L) + .put("observe_longline.baitsettingstatus", 5L) + .put("observe_longline.baittype", 16L) + .put("observe_longline.catchfate", 5L) + .put("observe_longline.encountertype", 12L) + .put("observe_longline.healthness", 6L) + .put("observe_longline.hookposition", 13L) + .put("observe_longline.hooksize", 22L) + .put("observe_longline.hooktype", 13L) + .put("observe_longline.itemverticalposition", 3L) + .put("observe_longline.itemhorizontalposition", 3L) + .put("observe_longline.lightstickscolor", 7L) + .put("observe_longline.lightstickstype", 2L) + .put("observe_longline.linetype", 8L) + .put("observe_longline.maturitystatus", 12L) + .put("observe_longline.mitigationtype", 15L) + .put("observe_longline.sensorbrand", 4L) + .put("observe_longline.sensordataformat", 2L) + .put("observe_longline.sensortype", 4L) + .put("observe_longline.settingshape", 6L) + .put("observe_longline.sizemeasuretype", 17L) + .put("observe_longline.stomacfullness", 7L) + .put("observe_longline.triptype", 3L) + .put("observe_longline.vesselactivity", 5L) + .put("observe_longline.weightmeasuretype", 3L) + .build(); + + public static final ImmutableMap<String, Long> REFERENTIAL_TABLES_COUNT = mergeResults( + REFERENTIAL_COMMON_TABLES_COUNT, + REFERENTIAL_LONGLINE_TABLES_COUNT, + REFERENTIAL_SEINE_TABLES_COUNT + ); + + public static final ImmutableMap<String, Long> TRIP_SEINE_1_TABLES_COUNT = ImmutableMap + .<String, Long>builder() + .put("observe_seine.trip", 1L) + .put("observe_seine.gearusefeatures", 2L) + .put("observe_seine.gearusefeaturesmeasurement", 4L) + .put("observe_seine.route", 34L) + .put("observe_seine.set", 35L) + .put("observe_seine.activity", 862L) + .put("observe_seine.floatingobject", 54L) + .put("observe_seine.schoolestimate", 27L) + .put("observe_seine.nontargetcatch", 109L) + .put("observe_seine.nontargetsample", 20L) + .put("observe_seine.nontargetlength", 767L) + .put("observe_seine.targetcatch", 73L) + .put("observe_seine.targetsample", 10L) + .put("observe_seine.targetlength", 85L) + .put("observe_seine.objectobservedspecies", 3L) + .put("observe_seine.objectschoolestimate", 1L) + .put("observe_seine.transmittingbuoy", 62L) + .put("observe_seine.activity_observedsystem", 1182L) + .build(); + + public static final ImmutableMap<String, Long> TRIP_SEINE_2_TABLES_COUNT = ImmutableMap + .<String, Long>builder() + .put("observe_seine.trip", 1L) + .put("observe_seine.gearusefeatures", 0L) + .put("observe_seine.gearusefeaturesmeasurement", 0L) + .put("observe_seine.route", 46L) + .put("observe_seine.set", 42L) + .put("observe_seine.activity", 657L) + .put("observe_seine.activity_observedsystem", 652L) + .put("observe_seine.floatingobject", 50L) + .put("observe_seine.schoolestimate", 10L) + .put("observe_seine.nontargetcatch", 112L) + .put("observe_seine.nontargetsample", 19L) + .put("observe_seine.nontargetlength", 242L) + .put("observe_seine.targetcatch", 73L) + .put("observe_seine.targetsample", 0L) + .put("observe_seine.targetlength", 0L) + .put("observe_seine.objectobservedspecies", 2L) + .put("observe_seine.objectschoolestimate", 3L) + .put("observe_seine.transmittingbuoy", 68L) + .build(); + + public static final ImmutableMap<String, Long> TRIP_SEINE_3_TABLES_COUNT = ImmutableMap + .<String, Long>builder() + .put("observe_seine.trip", 1L) + .put("observe_seine.gearusefeatures", 0L) + .put("observe_seine.gearusefeaturesmeasurement", 0L) + .put("observe_seine.route", 45L) + .put("observe_seine.set", 35L) + .put("observe_seine.activity", 816L) + .put("observe_seine.floatingobject", 41L) + .put("observe_seine.schoolestimate", 35L) + .put("observe_seine.nontargetcatch", 104L) + .put("observe_seine.nontargetsample", 16L) + .put("observe_seine.nontargetlength", 1193L) + .put("observe_seine.targetcatch", 118L) + .put("observe_seine.targetsample", 14L) + .put("observe_seine.targetlength", 53L) + .put("observe_seine.objectobservedspecies", 0L) + .put("observe_seine.objectschoolestimate", 24L) + .put("observe_seine.transmittingbuoy", 39L) + .put("observe_seine.activity_observedsystem", 321L) + .build(); + + public static final ImmutableMap<String, Long> ALL_TRIP_SEINE_COUNT = mergeResults( + TRIP_SEINE_1_TABLES_COUNT, + TRIP_SEINE_2_TABLES_COUNT, + TRIP_SEINE_3_TABLES_COUNT + ); + + public static final ImmutableMap<String, Long> TRIP_LONGLINE_1_TABLES_COUNT = ImmutableMap + .<String, Long>builder() + .put("observe_longline.trip", 1L) + .put("observe_longline.set", 13L) + .put("observe_longline.activity", 13L) + .put("observe_longline.gearusefeatures", 0L) + .put("observe_longline.gearusefeaturesmeasurement", 0L) + .put("observe_longline.encounter", 27L) + .put("observe_longline.sensorused", 0L) + .put("observe_longline.tdr", 0L) + .put("observe_longline.baitscomposition", 13L) + .put("observe_longline.floatlinescomposition", 65L) + .put("observe_longline.hookscomposition", 39L) + .put("observe_longline.branchlinescomposition", 13L) + .put("observe_longline.section", 234L) + .put("observe_longline.basket", 3042L) + .put("observe_longline.branchline", 18252L) + .put("observe_longline.catch", 435L) + .put("observe_longline.catch_predator", 49L) + .put("observe_longline.sizemeasure", 340L) + .put("observe_longline.weightmeasure", 0L) + .put("observe_longline.tdrrecord", 0L) + .put("observe_longline.species_tdr", 0L) + .put("observe_longline.mitigationtype_set", 0L) + .build(); + + public static final ImmutableMap<String, Long> TRIP_LONGLINE_2_TABLES_COUNT = ImmutableMap + .<String, Long>builder() + .put("observe_longline.trip", 1L) + .put("observe_longline.set", 5L) + .put("observe_longline.activity", 5L) + .put("observe_longline.gearusefeatures", 0L) + .put("observe_longline.gearusefeaturesmeasurement", 0L) + .put("observe_longline.encounter", 3L) + .put("observe_longline.sensorused", 0L) + .put("observe_longline.tdr", 0L) + .put("observe_longline.baitscomposition", 10L) + .put("observe_longline.floatlinescomposition", 0L) + .put("observe_longline.hookscomposition", 10L) + .put("observe_longline.branchlinescomposition", 2L) + .put("observe_longline.section", 95L) + .put("observe_longline.basket", 1140L) + .put("observe_longline.branchline", 6840L) + .put("observe_longline.catch", 152L) + .put("observe_longline.sizemeasure", 116L) + .put("observe_longline.weightmeasure", 0L) + .put("observe_longline.tdrrecord", 0L) + .put("observe_longline.species_tdr", 0L) + .put("observe_longline.mitigationtype_set", 0L) + .put("observe_longline.catch_predator", 9L) + .build(); + + public static final ImmutableMap<String, Long> TRIP_LONGLINE_3_TABLES_COUNT = ImmutableMap + .<String, Long>builder() + .put("observe_longline.trip", 1L) + .put("observe_longline.set", 14L) + .put("observe_longline.activity", 14L) + .put("observe_longline.gearusefeatures", 0L) + .put("observe_longline.gearusefeaturesmeasurement", 0L) + .put("observe_longline.encounter", 12L) + .put("observe_longline.sensorused", 0L) + .put("observe_longline.tdr", 0L) + .put("observe_longline.baitscomposition", 14L) + .put("observe_longline.floatlinescomposition", 36L) + .put("observe_longline.hookscomposition", 42L) + .put("observe_longline.branchlinescomposition", 14L) + .put("observe_longline.section", 243L) + .put("observe_longline.basket", 3229L) + .put("observe_longline.branchline", 19374L) + .put("observe_longline.catch", 677L) + .put("observe_longline.mitigationtype_set", 0L) + .put("observe_longline.sizemeasure", 647L) + .put("observe_longline.weightmeasure", 0L) + .put("observe_longline.catch_predator", 25L) + .put("observe_longline.tdrrecord", 0L) + .put("observe_longline.species_tdr", 0L) + .build(); + + public static final ImmutableMap<String, Long> ALL_TRIP_LONGLINE_COUNT = mergeResults( + TRIP_LONGLINE_1_TABLES_COUNT, + TRIP_LONGLINE_2_TABLES_COUNT, + TRIP_LONGLINE_3_TABLES_COUNT + ); + + + @SafeVarargs + protected static ImmutableMap<String, Long> mergeResults(ImmutableMap<String, Long>... expectedTablesCounts) { + TreeMap<String, MutableLong> expectedTablesCountTmp = new TreeMap<>(); + for (ImmutableMap<String, Long> tablesCounts : expectedTablesCounts) { + + for (Map.Entry<String, Long> entry : tablesCounts.entrySet()) { + String key = entry.getKey(); + Long value = entry.getValue(); + MutableLong count = expectedTablesCountTmp.get(key); + if (count == null) { + count = new MutableLong(value); + expectedTablesCountTmp.put(key, count); + + } else { + count.add(value); + } + } + } + ImmutableMap.Builder<String, Long> expectedTablesCountBuilder = ImmutableMap.builder(); + for (Map.Entry<String, MutableLong> entry : expectedTablesCountTmp.entrySet()) { + expectedTablesCountBuilder.put(entry.getKey(), entry.getValue().longValue()); + } + ImmutableMap<String, Long> expectedResults = expectedTablesCountBuilder.build(); + return expectedResults; + } + +} -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 2eb350bde3c37e483d1827358f77102a34b16114 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:54:37 2015 +0100 Ajout de tests pour la réplication de données ng --- .../replication/ObserveReplicationEngineTest.java | 314 --------------------- .../replication/ReplicateReferentialsTest.java | 36 +++ .../entities/replication/ReplicateTestSupport.java | 128 +++++++++ .../replication/ReplicateTripLonglineTest.java | 79 ++++++ .../replication/ReplicateTripSeineTest.java | 77 +++++ 5 files changed, 320 insertions(+), 314 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ObserveReplicationEngineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ObserveReplicationEngineTest.java deleted file mode 100644 index bde6b91..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ObserveReplicationEngineTest.java +++ /dev/null @@ -1,314 +0,0 @@ -package fr.ird.observe.entities.replication; - -import com.google.common.collect.ImmutableMap; -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.ObserveTopiaApplicationContext; -import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; -import fr.ird.observe.services.service.AbstractServiceTopiaTest; -import fr.ird.observe.services.service.DataSourceService; -import fr.ird.observe.test.DatabaseName; -import fr.ird.observe.test.spi.DatabaseNameConfiguration; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.nuiton.topia.persistence.support.TopiaSqlQuery; - -import java.io.File; -import java.sql.Connection; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Map; - -/** - * Created on 28/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReplicationEngineTest extends AbstractServiceTopiaTest { - - protected DataSourceService service; - - private static final ImmutableMap<String, Long> TRIP_SEINE_1_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_seine.trip", 1L) - .put("observe_seine.gearusefeatures", 2L) - .put("observe_seine.gearusefeaturesmeasurement", 4L) - .put("observe_seine.route", 34L) - .put("observe_seine.set", 35L) - .put("observe_seine.activity", 862L) - .put("observe_seine.observedsystem", 21L) - .put("observe_seine.floatingobject", 54L) - .put("observe_seine.schoolestimate", 27L) - .put("observe_seine.nontargetcatch", 109L) - .put("observe_seine.nontargetsample", 20L) - .put("observe_seine.nontargetlength", 767L) - .put("observe_seine.targetcatch", 73L) - .put("observe_seine.targetsample", 10L) - .put("observe_seine.targetlength", 85L) - .put("observe_seine.objectobservedspecies", 3L) - .put("observe_seine.objectschoolestimate", 1L) - .put("observe_seine.transmittingbuoy", 62L) - .put("observe_seine.activity_observedsystem", 1182L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_SEINE_2_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_seine.trip", 1L) - .put("observe_seine.gearusefeatures", 0L) - .put("observe_seine.gearusefeaturesmeasurement", 0L) - .put("observe_seine.route", 46L) - .put("observe_seine.set", 42L) - .put("observe_seine.activity", 657L) - .put("observe_seine.observedsystem", 21L) - .put("observe_seine.activity_observedsystem", 652L) - .put("observe_seine.floatingobject", 50L) - .put("observe_seine.schoolestimate", 10L) - .put("observe_seine.nontargetcatch", 112L) - .put("observe_seine.nontargetsample", 19L) - .put("observe_seine.nontargetlength", 242L) - .put("observe_seine.targetcatch", 73L) - .put("observe_seine.targetsample", 0L) - .put("observe_seine.targetlength", 0L) - .put("observe_seine.objectobservedspecies", 2L) - .put("observe_seine.objectschoolestimate", 3L) - .put("observe_seine.transmittingbuoy", 68L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_SEINE_3_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_seine.trip", 1L) - .put("observe_seine.gearusefeatures", 0L) - .put("observe_seine.gearusefeaturesmeasurement", 0L) - .put("observe_seine.route", 45L) - .put("observe_seine.set", 35L) - .put("observe_seine.activity", 816L) - .put("observe_seine.observedsystem", 21L) - .put("observe_seine.floatingobject", 41L) - .put("observe_seine.schoolestimate", 35L) - .put("observe_seine.nontargetcatch", 104L) - .put("observe_seine.nontargetsample", 16L) - .put("observe_seine.nontargetlength", 1193L) - .put("observe_seine.targetcatch", 118L) - .put("observe_seine.targetsample", 14L) - .put("observe_seine.targetlength", 53L) - .put("observe_seine.objectobservedspecies", 0L) - .put("observe_seine.objectschoolestimate", 24L) - .put("observe_seine.transmittingbuoy", 39L) - .put("observe_seine.activity_observedsystem", 321L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_LONGLINE_1_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_longline.trip", 1L) - .put("observe_longline.set", 13L) - .put("observe_longline.activity", 13L) - .put("observe_longline.gearusefeatures", 0L) - .put("observe_longline.gearusefeaturesmeasurement", 0L) - .put("observe_longline.encounter", 27L) - .put("observe_longline.sensorused", 0L) - .put("observe_longline.tdr", 0L) - .put("observe_longline.baitscomposition", 13L) - .put("observe_longline.floatlinescomposition", 65L) - .put("observe_longline.hookscomposition", 39L) - .put("observe_longline.branchlinescomposition", 13L) - .put("observe_longline.section", 234L) - .put("observe_longline.basket", 3042L) - .put("observe_longline.branchline", 18252L) - .put("observe_longline.catch", 435L) - .put("observe_longline.catch_predator", 49L) - .put("observe_longline.mitigationtype", 15L) - .put("observe_longline.sizemeasure", 340L) - .put("observe_longline.weightmeasure", 0L) - .put("observe_longline.tdrrecord", 0L) - .put("observe_longline.species_tdr", 0L) - .put("observe_longline.mitigationtype_set", 0L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_LONGLINE_2_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_longline.trip", 1L) - .put("observe_longline.set", 5L) - .put("observe_longline.activity", 5L) - .put("observe_longline.gearusefeatures", 0L) - .put("observe_longline.gearusefeaturesmeasurement", 0L) - .put("observe_longline.encounter", 3L) - .put("observe_longline.sensorused", 0L) - .put("observe_longline.tdr", 0L) - .put("observe_longline.baitscomposition", 10L) - .put("observe_longline.floatlinescomposition", 0L) - .put("observe_longline.hookscomposition", 10L) - .put("observe_longline.branchlinescomposition", 2L) - .put("observe_longline.section", 95L) - .put("observe_longline.basket", 1140L) - .put("observe_longline.branchline", 6840L) - .put("observe_longline.catch", 152L) - .put("observe_longline.mitigationtype", 15L) - .put("observe_longline.sizemeasure", 116L) - .put("observe_longline.weightmeasure", 0L) - .put("observe_longline.tdrrecord", 0L) - .put("observe_longline.species_tdr", 0L) - .put("observe_longline.mitigationtype_set", 0L) - .put("observe_longline.catch_predator", 9L) - .build(); - - private static final ImmutableMap<String, Long> TRIP_LONGLINE_3_RESULT = ImmutableMap - .<String, Long>builder() - .put("observe_longline.trip", 1L) - .put("observe_longline.set", 14L) - .put("observe_longline.activity", 14L) - .put("observe_longline.gearusefeatures", 0L) - .put("observe_longline.gearusefeaturesmeasurement", 0L) - .put("observe_longline.encounter", 12L) - .put("observe_longline.sensorused", 0L) - .put("observe_longline.tdr", 0L) - .put("observe_longline.baitscomposition", 14L) - .put("observe_longline.floatlinescomposition", 36L) - .put("observe_longline.hookscomposition", 42L) - .put("observe_longline.branchlinescomposition", 14L) - .put("observe_longline.section", 243L) - .put("observe_longline.basket", 3229L) - .put("observe_longline.branchline", 19374L) - .put("observe_longline.catch", 677L) - .put("observe_longline.MitigationType_set", 0L) - .put("observe_longline.sizemeasure", 647L) - .put("observe_longline.weightmeasure", 0L) - .put("observe_longline.catch_Predator", 25L) - .put("observe_longline.tdrrecord", 0L) - .put("observe_longline.Species_tdr", 0L) - .build(); - - protected ObserveReplicationEngine engine; - - protected ObserveReplicationContext replicationContext; - - protected ObserveTopiaApplicationContext targetTopiaApplicationContext; - - protected ObserveTopiaApplicationContext sourceTopiaApplicationContext; - - @Before - public void setUp() throws Exception { - service = dataSourceResource.newService(DataSourceService.class); - - File targetDatabaseDirectory = new File(dataSourceResource.getTestDirectory(), "targetReplication"); - ObserveDataSourceConfigurationTopiaH2 targetTopiaConfiguration = applicationContextResource.createDataSource(dataSourceResource.getDbVersion(), DatabaseName.referentiel.name(), targetDatabaseDirectory); - - targetTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(targetTopiaConfiguration); - - sourceTopiaApplicationContext = dataSourceResource.getTopiaApplicationContext(); - - replicationContext = new ObserveReplicationContext(sourceTopiaApplicationContext, targetTopiaApplicationContext, 1000); - engine = new ObserveReplicationEngine(replicationContext); - - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) - @Test - public void testReplicateTripSeine1() throws Exception { - testTripSeine(engine, TRIP_SEINE_ID_1, TRIP_SEINE_1_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) - @Test - public void testReplicateTripSeine2() throws Exception { - testTripSeine(engine, TRIP_SEINE_ID_2, TRIP_SEINE_2_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) - @Test - public void testReplicateTripSeine3() throws Exception { - testTripSeine(engine, TRIP_SEINE_ID_3, TRIP_SEINE_3_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) - @Test - public void testReplicateTripLonline1() throws Exception { - testTripLongline(engine, TRIP_LONGLINE_ID_1, TRIP_LONGLINE_1_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) - @Test - public void testReplicateTripLonline2() throws Exception { - testTripLongline(engine, TRIP_LONGLINE_ID_2, TRIP_LONGLINE_2_RESULT); - } - - @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) - @Test - public void testReplicateTripLonline3() throws Exception { - testTripLongline(engine, TRIP_LONGLINE_ID_3, TRIP_LONGLINE_3_RESULT); - } - - protected void testTripSeine(ObserveReplicationEngine engine, String tripId, ImmutableMap<String, Long> expectedResults) { - - ImmutableSet<ObserveReplicationActionContext> actionContexts = engine.replicateTripSeine(tripId); - - assertReplicateTripResults(expectedResults, actionContexts); - - } - - protected void testTripLongline(ObserveReplicationEngine engine, String tripId, ImmutableMap<String, Long> expectedResults) { - - ImmutableSet<ObserveReplicationActionContext> actionContexts = engine.replicateTripLongline(tripId); - - assertReplicateTripResults(expectedResults, actionContexts); - - } - - private void assertReplicateTripResults(ImmutableMap<String, Long> expectedResults, ImmutableSet<ObserveReplicationActionContext> actionContexts) { - - try (ObserveTopiaPersistenceContext persistenceContext = targetTopiaApplicationContext.newPersistenceContext()) { - - for (ObserveReplicationActionContext actionContext : actionContexts) { - - String fullyTableName = actionContext.getFullyTableName(); - - if (!expectedResults.containsKey(fullyTableName.toLowerCase())) { - - CountTableSqlWork countQuery = new CountTableSqlWork(fullyTableName); - Long count = persistenceContext.getSqlSupport().findSingleResult(countQuery); - - System.out.println(fullyTableName + " , " + count); - } - - } - - for (Map.Entry<String, Long> entry : expectedResults.entrySet()) { - String fullyTableName = entry.getKey(); - Long expectedCount = entry.getValue(); - CountTableSqlWork countQuery = new CountTableSqlWork(fullyTableName); - Long count = persistenceContext.getSqlSupport().findSingleResult(countQuery); - - System.out.println("Found: " + fullyTableName + " , " + count); - Assert.assertEquals("Should have found " + expectedCount + " on " + fullyTableName + ", but was " + count, expectedCount, count); - - } - - } - } - - - protected class CountTableSqlWork extends TopiaSqlQuery<Long> { - - private final String fullyTableName; - - public CountTableSqlWork(String fullyTableName) { - this.fullyTableName = fullyTableName; - } - - @Override - public PreparedStatement prepareQuery(Connection connection) throws SQLException { - String sql = "SELECT count(*) FROM " + fullyTableName; - PreparedStatement statement = connection.prepareStatement(sql); - - return statement; - } - - @Override - public Long prepareResult(ResultSet set) throws SQLException { - return set.getLong(1); - } - } - -} \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java new file mode 100644 index 0000000..64e2ec3 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java @@ -0,0 +1,36 @@ +package fr.ird.observe.entities.replication; + +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import org.junit.Test; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; +import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; + +/** + * Created on 29/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@DatabaseNameConfiguration(DatabaseName.referentiel) +public class ReplicateReferentialsTest extends ReplicateTestSupport { + + @Test + public void testReplicateToDb() throws Exception { + + ReplicateToDbActionBuilder actionBuilder = createReplicateToDbActionBuilder(DatabaseName.empty); + ObserveReplicationTables.addReferentialTables(actionBuilder); + testReplicateToDb0(actionBuilder, ObserveFixtures.REFERENTIAL_TABLES_COUNT); + + } + + @Test + public void testReplicateToSql() throws Exception { + + ReplicateToSqlActionBuilder actionBuilder = createReplicateToSqlActionBuilder(); + ObserveReplicationTables.addReferentialTables(actionBuilder); + testReplicateToSql0(actionBuilder); + + } + +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java new file mode 100644 index 0000000..6ce7987 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java @@ -0,0 +1,128 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableMap; +import com.google.common.io.Files; +import fr.ird.observe.ObserveTopiaApplicationContext; +import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; +import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Assert; +import org.junit.Before; +import org.nuiton.topia.replication.sql.TopiaSqlReplicationService; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbAction; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionRequest; +import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; +import org.nuiton.topia.replication.sql.table.TopiaReplicationTable; +import org.nuiton.topia.replication.sql.table.TopiaReplicationTables; +import org.nuiton.util.StringUtil; + +import java.io.File; +import java.io.IOException; +import java.io.Writer; +import java.nio.charset.StandardCharsets; +import java.util.Map; + +/** + * Created on 29/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ReplicateTestSupport extends AbstractServiceTopiaTest { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ReplicateTestSupport.class); + + protected TopiaSqlReplicationService sqlReplicationService; + + protected File scriptFile; + + @Before + public void setUp() throws Exception { + + ObserveTopiaApplicationContext sourceTopiaApplicationContext = dataSourceResource.getTopiaApplicationContext(); + + sqlReplicationService = sourceTopiaApplicationContext.getSqlReplicationService(); + + } + + protected ReplicateToDbActionBuilder createReplicateToDbActionBuilder(DatabaseName databaseName) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { + + File targetDatabaseDirectory = new File(dataSourceResource.getTestDirectory(), "targetReplication"); + ObserveDataSourceConfigurationTopiaH2 targetTopiaConfiguration = applicationContextResource.createDataSource(dataSourceResource.getDbVersion(), databaseName.name(), targetDatabaseDirectory); + ObserveTopiaApplicationContext targetTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(targetTopiaConfiguration); + + return sqlReplicationService.newReplicateToDbActionBuilder(targetTopiaApplicationContext); + } + + protected ReplicateToSqlActionBuilder createReplicateToSqlActionBuilder() throws IOException { + + scriptFile = new File(dataSourceResource.getTestDirectory(), "script.sql"); + + Writer writer = Files.newWriter(scriptFile, StandardCharsets.UTF_8); + + return sqlReplicationService.newReplicatetoSqlActionBuilder(writer); + + } + + protected static void assertReplicateTripResults(ReplicateToDbActionRequest replicationRequest, ImmutableMap<String, Long> expectedResults) { + + TopiaReplicationTables tables = replicationRequest.getTables(); + try (ObserveTopiaPersistenceContext persistenceContext = (ObserveTopiaPersistenceContext) replicationRequest.getTargetTopiaApplicationContext().newPersistenceContext()) { + + for (TopiaReplicationTable table : tables) { + + String fullyTableName = table.getFullyTableName(); + + if (!expectedResults.containsKey(fullyTableName.toLowerCase())) { + + Long count = persistenceContext.countTable(fullyTableName); + System.out.println(fullyTableName + " , " + count); + + } + + } + + for (Map.Entry<String, Long> entry : expectedResults.entrySet()) { + String fullyTableName = entry.getKey(); + Long expectedCount = entry.getValue(); + Long count = persistenceContext.countTable(fullyTableName); + + System.out.println("Found: " + fullyTableName + " , " + count); + Assert.assertEquals("Should have found " + expectedCount + " on " + fullyTableName + ", but was " + count, expectedCount, count); + + } + + } + + } + + protected void testReplicateToSql0(ReplicateToSqlActionBuilder actionBuilder) { + + actionBuilder + .build() + .run(); + + if (log.isInfoEnabled()) { + log.info(String.format("Replicate to script (length: %s) :\n%s", StringUtil.convertMemory(scriptFile.length()), scriptFile)); + } + + } + + protected void testReplicateToDb0(ReplicateToDbActionBuilder actionBuilder, ImmutableMap<String, Long> expectedTablesCount) { + + ReplicateToDbAction action = actionBuilder.build(); + + action.run(); + + assertReplicateTripResults(action.getRequest(), expectedTablesCount); + + } + +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java new file mode 100644 index 0000000..663248d --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java @@ -0,0 +1,79 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; +import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import org.junit.Test; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; +import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; + +import java.io.IOException; + +/** + * Created on 29/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@DatabaseNameConfiguration(DatabaseName.dataForTestLongline) +public class ReplicateTripLonglineTest extends ReplicateTestSupport { + + @Test + public void testReplicateAllTripLonglineToDb() throws Exception { + testReplicateToDb(null, ObserveFixtures.ALL_TRIP_LONGLINE_COUNT); + } + + @Test + public void testReplicateTripLonline1ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_LONGLINE_ID_1, ObserveFixtures.TRIP_LONGLINE_1_TABLES_COUNT); + } + + @Test + public void testReplicateTripLonline2ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_LONGLINE_ID_2, ObserveFixtures.TRIP_LONGLINE_2_TABLES_COUNT); + } + + @Test + public void testReplicateTripLonline3ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_LONGLINE_ID_3, ObserveFixtures.TRIP_LONGLINE_3_TABLES_COUNT); + } + + @Test + public void testReplicateAllTripLonglineToSql() throws Exception { + testReplicateToSql(null); + } + + @Test + public void testReplicateTripLonline1ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_LONGLINE_ID_1); + } + + @Test + public void testReplicateTripLonline2ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_LONGLINE_ID_2); + } + + @Test + public void testReplicateTripLonline3ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_LONGLINE_ID_3); + } + + protected void testReplicateToSql(String tripId) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + + ReplicateToSqlActionBuilder actionBuilder = createReplicateToSqlActionBuilder(); + ObserveReplicationTables.addTripLongline(actionBuilder, tripId); + testReplicateToSql0(actionBuilder); + + } + + protected void testReplicateToDb(String tripId, ImmutableMap<String, Long> expectedTablesCount) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { + + ReplicateToDbActionBuilder actionBuilder = createReplicateToDbActionBuilder(DatabaseName.referentiel); + ObserveReplicationTables.addTripLongline(actionBuilder, tripId); + testReplicateToDb0(actionBuilder, expectedTablesCount); + + } + +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java new file mode 100644 index 0000000..e5e0eeb --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java @@ -0,0 +1,77 @@ +package fr.ird.observe.entities.replication; + +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import org.junit.Test; +import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; +import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; + +import java.io.IOException; + +/** + * Created on 29/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) +public class ReplicateTripSeineTest extends ReplicateTestSupport { + + @Test + public void testReplicateToDbAllTripSeine() throws Exception { + testReplicateToDb(null, ObserveFixtures.ALL_TRIP_SEINE_COUNT); + } + + @Test + public void testReplicateTripSeine1ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_SEINE_ID_1, ObserveFixtures.TRIP_SEINE_1_TABLES_COUNT); + } + + @Test + public void testReplicateTripSeine2ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_SEINE_ID_2, ObserveFixtures.TRIP_SEINE_2_TABLES_COUNT); + } + + @Test + public void testReplicateTripSeine3ToDb() throws Exception { + testReplicateToDb(ObserveFixtures.TRIP_SEINE_ID_3, ObserveFixtures.TRIP_SEINE_3_TABLES_COUNT); + } + + @Test + public void testReplicateToSqlScriptAllTripSeine() throws Exception { + testReplicateToSql(null); + } + + @Test + public void testReplicateTripSeine1ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_SEINE_ID_1); + } + + @Test + public void testReplicateTripSeine2ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_SEINE_ID_2); + } + + @Test + public void testReplicateTripSeine3ToSql() throws Exception { + testReplicateToSql(ObserveFixtures.TRIP_SEINE_ID_3); + } + + protected void testReplicateToSql(String tripId) throws IOException { + + ReplicateToSqlActionBuilder actionBuilder = createReplicateToSqlActionBuilder(); + ObserveReplicationTables.addTripSeine(actionBuilder, tripId); + testReplicateToSql0(actionBuilder); + + } + + protected void testReplicateToDb(String tripId, ImmutableMap<String, Long> expectedTablesCount) throws Exception { + + ReplicateToDbActionBuilder actionBuilder = createReplicateToDbActionBuilder(DatabaseName.referentiel); + ObserveReplicationTables.addTripSeine(actionBuilder, tripId); + testReplicateToDb0(actionBuilder, expectedTablesCount); + + } + +} -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 9cb09ecd322da00eaf7f18f37178930dc3925fd1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:57:47 2015 +0100 Configuration du nouveau service de réplication --- .../main/java/fr/ird/observe/ObserveTopiaApplicationContext.java | 7 +++++++ .../main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java | 2 ++ 2 files changed, 9 insertions(+) diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java index aba848f..38862ab 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -32,6 +32,7 @@ import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; import org.nuiton.topia.persistence.jdbc.JdbcHelper; import org.nuiton.topia.replication.TopiaReplicationService; +import org.nuiton.topia.replication.sql.TopiaSqlReplicationService; import org.nuiton.util.GZUtil; import java.io.BufferedInputStream; @@ -54,6 +55,8 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat public static final String REPLICATION_SERVICE_NAME = "replication"; + public static final String SQL_REPLICATION_SERVICE_NAME = "sqlReplication"; + public static final String DB_VERSION = "db.version"; public static final String AUTO_MIGRATE = "auto.migrate"; @@ -104,6 +107,10 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat return getServices(TopiaReplicationService.class).get(REPLICATION_SERVICE_NAME); } + public TopiaSqlReplicationService getSqlReplicationService() { + return getServices(TopiaSqlReplicationService.class).get(SQL_REPLICATION_SERVICE_NAME); + } + @Override public void createSchema() { try { diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java index 06a15c8..498acb2 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java @@ -30,6 +30,7 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; import org.nuiton.topia.persistence.jdbc.JdbcConfigurationBuilder; import org.nuiton.topia.replication.TopiaReplicationServiceImpl; +import org.nuiton.topia.replication.sql.TopiaSqlReplicationServiceImpl; import java.io.File; @@ -158,6 +159,7 @@ public class ObserveTopiaConfigurationFactory { ); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.SQL_REPLICATION_SERVICE_NAME, TopiaSqlReplicationServiceImpl .class); // if (h2Configuration) { // //FIXME J'ai mis ça mais sans conviction car y'a d'autres pb à régler et c3p0 n'est peut-être pas la cause // // On ne veut pas utiliser c3pO dans ce cas -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit f9c2470d6a7255d15537049b35d38d80c6700dd1 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 16:58:24 2015 +0100 Ajout méthode pour compter le nombre d'éléments d'une table --- .../observe/ObserveTopiaPersistenceContext.java | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) 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 841e2e0..7e2cf3c 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -30,7 +30,12 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; import java.util.Date; public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersistenceContext { @@ -91,4 +96,34 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste public <E extends ObserveEntity> TopiaDao<E> getDao(E entity) { return getDao(getType(entity)); } + + public long countTable(String fullyTableName) { + + CountTableSqlWork countQuery = new CountTableSqlWork(fullyTableName); + Long count = getSqlSupport().findSingleResult(countQuery); + return count; + + } + + protected class CountTableSqlWork extends TopiaSqlQuery<Long> { + + private final String fullyTableName; + + public CountTableSqlWork(String fullyTableName) { + this.fullyTableName = fullyTableName; + } + + @Override + public PreparedStatement prepareQuery(Connection connection) throws SQLException { + String sql = "SELECT count(*) FROM " + fullyTableName; + PreparedStatement statement = connection.prepareStatement(sql); + + return statement; + } + + @Override + public Long prepareResult(ResultSet set) throws SQLException { + return set.getLong(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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit ca8daeafc9b350b6e51f97a7b90d4ffa49f267da Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Dec 30 17:01:14 2015 +0100 Debut de correction de la javadoc --- .../java/fr/ird/observe/ObserveActionExecutor.java | 2 +- .../src/main/java/fr/ird/observe/ObserveCLAction.java | 2 +- .../src/main/java/fr/ird/observe/ObserveRunner.java | 4 ++-- .../ird/observe/ObserveSwingApplicationContext.java | 6 +++--- .../configuration/ObserveSwingApplicationConfig.java | 2 +- .../fr/ird/observe/db/constants/DataContextType.java | 2 +- .../src/main/java/fr/ird/observe/ui/UIHelper.java | 6 +++--- .../main/java/fr/ird/observe/ui/admin/AdminStep.java | 2 +- .../java/fr/ird/observe/ui/admin/AdminUIHandler.java | 2 +- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 2 +- .../fr/ird/observe/ui/content/ContentUIHandler.java | 2 +- .../ui/content/ref/ContentReferenceUIHandler.java | 2 +- .../observe/ui/content/table/ContentTableModel.java | 12 ++++++------ .../observe/ui/content/table/ContentTableUIModel.java | 8 ++++---- .../table/impl/seine/ModeSaisieEchantillonEnum.java | 4 ++-- .../fr/ird/observe/ui/storage/ObstunaAdminAction.java | 6 +++--- .../fr/ird/observe/ui/storage/StorageUIHandler.java | 8 ++++---- .../fr/ird/observe/ui/storage/StorageUILauncher.java | 4 ++-- .../fr/ird/observe/ui/storage/StorageUIModel.java | 2 +- .../ui/tree/AbstractObserveTreeCellRenderer.java | 2 +- .../ui/tree/DataSelectionTreeSelectionModel.java | 14 +++++++------- .../main/java/fr/ird/observe/ui/tree/ObserveNode.java | 2 +- .../fr/ird/observe/ui/tree/ObserveTreeHelper.java | 6 +++--- .../java/fr/ird/observe/ui/util/FloatConverter.java | 2 +- .../java/fr/ird/observe/ui/util/SpringUtilities.java | 8 ++++---- .../fr/ird/observe/validation/ValidationService.java | 2 +- .../dto/AbstractEspeceFieldDtoValidator.java | 8 ++++---- .../dto/ActivityFinDeVeilleExistsDtoValidator.java | 12 ++++++------ .../dto/ActivitySimpleSpeedDtoValidator.java | 6 +++--- .../validator/dto/ActivitySpeedDtoValidator.java | 6 +++--- .../web/ObserveWebApplicationListener.java | 2 +- .../web/controller/ObserveWebMotionController.java | 2 +- .../entities/AbstractEspeceFieldValidator.java | 8 ++++---- .../entities/ActivityFinDeVeilleExistsValidator.java | 12 ++++++------ .../entities/ActivitySimpleSpeedValidator.java | 6 +++--- .../validator/entities/ActivitySpeedValidator.java | 6 +++--- .../main/java/fr/ird/observe/entities/Entities.java | 4 ++-- .../fr/ird/observe/entities/gps/GPSRouteImpl.java | 8 ++++---- .../java/fr/ird/observe/entities/gps/GpsPoints.java | 12 ++++++------ .../versions/DataSourceMigrationForVersion_3_1.java | 2 +- .../entities/referentiel/LengthWeightParameters.java | 8 ++++---- .../referentiel/ObserveReferentialEntities.java | 4 ++-- .../fr/ird/observe/entities/referentiel/Programs.java | 2 +- .../fr/ird/observe/entities/seine/ActivitySeines.java | 4 ++-- .../observe/entities/seine/NonTargetCatchImpl.java | 2 +- .../services/dto/constants/ReferentialLocale.java | 4 ++-- .../services/dto/referential/ReferentialDtos.java | 6 +++--- .../java/fr/ird/observe/util/gps/GPSFileReader.java | 10 +++++----- .../java/fr/ird/observe/util/gps/GPSRouteImpl.java | 8 ++++---- .../main/java/fr/ird/observe/util/gps/GPSService.java | 12 ++++++------ .../main/java/fr/ird/observe/util/gps/GpsPoints.java | 12 ++++++------ .../actions/report/AbstractReportServiceRestTest.java | 4 ++-- .../ird/observe/services/ReplicationServiceImpl.java | 4 ++-- .../services/referential/ReferentialServiceImpl.java | 8 ++++---- .../observe/services/ApplicationContextResource.java | 19 ++++++++++++++----- .../src/test/resources/log4j.properties | 2 ++ 56 files changed, 164 insertions(+), 153 deletions(-) diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveActionExecutor.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveActionExecutor.java index dd89d5f..e337ec3 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveActionExecutor.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveActionExecutor.java @@ -242,7 +242,7 @@ public class ObserveActionExecutor extends ActionExecutor { * On surcharge celui offer par SwingWorker car le corepool est à 1 et cela * ne permet pas d'exécuter plusieurs actions en même temps... * returns workersExecutorService. - * <p/> + * * returns the service stored in the appContext or creates it if * necessary. * diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ObserveCLAction.java b/observe-application-swing/src/main/java/fr/ird/observe/ObserveCLAction.java index d9c78c6..4e9afd1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ObserveCLAction.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ObserveCLAction.java @@ -42,7 +42,7 @@ import static org.nuiton.i18n.I18n.t; /** * Les actions appellables via {@link ObserveRunner}. - * <p/> + * * Consulter la classe {@link ActionDefinition} pour connaitre les actions * possibles. * 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 104ceef..c990720 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 @@ -636,7 +636,7 @@ public abstract class ObserveRunner extends ApplicationRunner { /** * Permet l'initialisation du contexte applicatif et positionne l'instance * partagée. - * <p/> + * * Note : Cette méthode ne peut être appelée qu'une seule fois. * * @param config la configuration de l'application @@ -678,7 +678,7 @@ public abstract class ObserveRunner extends ApplicationRunner { /** * Method pour vérifier que le moteur de scripting est bien présent. - * <p/> + * * Voir http://forge.codelutin.com/issues/829 * * @since 2.5 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 73c9c02..e523539 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 @@ -109,9 +109,9 @@ import static org.nuiton.i18n.I18n.t; /** * Le contexte de l'application. - * <p/> + * * On définit ici toutes les entrées du contexte. - * <p/> + * * Note : cette classe possède une instance partagée accéssible via la méthode * {@link #get()}. * @@ -905,7 +905,7 @@ public class ObserveSwingApplicationContext extends DefaultApplicationContext im /** * Construit une source de données sur la base locale de l'application. - * <p/> + * * <b>Note:</b> La base locale doit exister, sinon on soulève une * exeception * diff --git a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java index 5d7d6c5..fb3c09d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/configuration/ObserveSwingApplicationConfig.java @@ -252,7 +252,7 @@ public class ObserveSwingApplicationConfig extends ApplicationConfig { /** * drapeau pour savoir si on peut utiliser des ui dans l'environnement. - * <p/> + * * Par defaut, on suppose qu'on peut utiliser l'environnement graphique et * si on désactive explicitement ou si pas d'environnement graphique * trouvé. diff --git a/observe-application-swing/src/main/java/fr/ird/observe/db/constants/DataContextType.java b/observe-application-swing/src/main/java/fr/ird/observe/db/constants/DataContextType.java index 51bd8fe..10fb27a 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/db/constants/DataContextType.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/db/constants/DataContextType.java @@ -34,7 +34,7 @@ import fr.ird.observe.services.dto.seine.TripSeineDto; /** * Les types de données connues par le {@link DataContext}. - * <p/> + * * Chaque constant permet de récupérer des données du context de données. * * @author Tony Chemit - chemit@codelutin.com 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 bc3220a..dcc5651 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 @@ -264,7 +264,7 @@ public class UIHelper extends SwingUtil { /** * Ouvre une demande de confirmation, avant suppression d'une entité. * - * @param <E> le type de l'entité à supprimer + * @param <E>le type de l'entité à supprimer * @param parent le component graphique demande l'action * @param beanClass le tyê de l'entité à supprimer * @param bean l'entité à supprimer @@ -357,7 +357,7 @@ public class UIHelper extends SwingUtil { public static <T extends DataDto> DecoratorTableCellRenderer newDataReferenceDecorateTableCellRenderer(TableCellRenderer renderer, Class<T> entityClass, String context) { - Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDataReferenceDecorator(entityClass,context); + Decorator<?> decorator = ObserveSwingApplicationContext.get().getDecoratorService().getDataReferenceDecorator(entityClass, context); return new DecoratorTableCellRenderer(renderer, decorator); } @@ -433,7 +433,7 @@ public class UIHelper extends SwingUtil { /** * Open a link coming from a {@link HyperlinkEvent}. - * <p/> + * * And try to open the link if an url in a browser. * * @param he the event to treate diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java index c41b137..39b1f08 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminStep.java @@ -51,7 +51,7 @@ import static org.nuiton.i18n.I18n.n; /** * Pour caractériser les étapes (correspond aux onglets de l'ui). - * <p/> + * * Chaque constante représente un onglet de l'ui et est responsable de * l'instanciation des différents objets associés à un onglet, à savoir : * <ul> diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIHandler.java index e69e31d..9b12cc9 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminUIHandler.java @@ -199,7 +199,7 @@ public class AdminUIHandler { /** * Call back lorsque l'état du modèle a changé. - * <p/> + * * Ici, on va rendre accessible (ou pas) les onglets selon l'état du modèle. * * @param ui l'ui concernée 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 c18e63c..cc7a22f 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 @@ -438,7 +438,7 @@ public class AdminUIModel extends WizardExtModel<AdminStep> { /** * Pour savoir si on a besoin d'une base source pour l'opération. - * <p/> + * * Actuellement, seul l'opération d'import acces n'a pas besoin d'une telle * base. * 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 2e7d081..f155134 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 @@ -1116,7 +1116,7 @@ public abstract class ContentUIHandler<E extends IdDto> { // // if (propertyNames.contains(evt.getPropertyName())) { // if (log.isInfoEnabled()) { -// log.info(String.format("Property %s changed (%s --> %s)", evt.getPropertyName(), evt.getOldValue(), evt.getNewValue())); +// log.info(String.format("Property %s changed (%s → %s)", evt.getPropertyName(), evt.getOldValue(), evt.getNewValue())); // } // // } 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 2e59236..b6e2e6d 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 @@ -97,7 +97,7 @@ import static org.nuiton.i18n.I18n.t; /** * Controleur d'un écran d'édition du référentiel. * - * @param <E> le type d'entité + * @param <E>le type d'entité * @author Tony Chemit - chemit@codelutin.com * @since 1.4 */ 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 f27eb03..d59b1cf 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 @@ -42,22 +42,22 @@ import java.util.List; /** * Le modele d'un tableau où les données sont une association sur une entité. - * <p/> + * * Ce modèle n'est pas éditable. - * <p/> + * * Les données sont stockées dans la liste {@link #data} qui sert de cache, car * on veut pouvoir valider en temps réel l'entité principale (celle qui contient * l'association), il faut donc toujours que les données de l'association soient * synchronisées. L'utilisation d'un cache est cependant requise car sinon cela * est trop couteux (notamment pour le rendu du tableau...). - * <p/> + * * Le cache sera recalculé à chaque fois que l'on modifie la structure des * données de l'association (ajout d'une entrée, suppression d'une entrée). - * <p/> + * * De plus le cache permet de travailler sur une liste (alors que l'association * n'est peut-être pas ordonnée) et cela facilite les opérations sur les données * du tableau). - * <p/> + * * Le modèle définit plusieurs propriétés : <ul> <li>{@link #editable} : un * drapeau pour savoir si le modèle est editable</li> <li>{@link #modified} : un * drapeau pour savoir si le modèle est modifié</li> <li>{@link #create} : un @@ -152,7 +152,7 @@ public abstract class ContentTableModel<P extends IdDto, B extends IdDto> extend /** * Positionne un bean dans le modèle. - * <p/> + * * Cela va initialiser la liste à utiliser. */ public void attachModel() { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIModel.java index c49fa26..ea1a42c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/ContentTableUIModel.java @@ -71,7 +71,7 @@ public abstract class ContentTableUIModel<E extends IdDto, D extends IdDto> exte /** * Pour savoir si on peut voir les données du l'écran. - * <p/> + * * Cela diffère du mode de l'écran, à utiliser par exemple pour les écrans * d'échantillons lorsqu'aucune discarded n'est effectuée. on se retrouve en * mode ContentMode.READ mais ce n'est pas suffisant. @@ -221,13 +221,13 @@ public abstract class ContentTableUIModel<E extends IdDto, D extends IdDto> exte /** * Le modèle de sélection pour un tableau. - * <p/> + * * Le modèle permet le blocage du changement de ligne selectionnee dans le * tableau lorsque les conditions suivantes sont remplies : - * <p/> + * * - le tableau est editable - une entrée etait precedemment selectionne - * l'entrée en cours d'édition est modifié - * <p/> + * * Si on ne peut pas explicitement changer de ligne d'édition, on demande alors * à l'utilisateur s'il veut sauver l'entrée en cours d'édition (si elle est * valide), ou bien la perte des données (si elle n'est pas valide). diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ModeSaisieEchantillonEnum.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ModeSaisieEchantillonEnum.java index 5b87469..413328d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ModeSaisieEchantillonEnum.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/content/table/impl/seine/ModeSaisieEchantillonEnum.java @@ -33,7 +33,7 @@ import static org.nuiton.i18n.I18n.t; public enum ModeSaisieEchantillonEnum { /** * Le mode de saisie par défaut. - * <p/> + * * L'observateur entre un effectif et une classe de taille, il ne peut pas * saisir le poids (celui sera déduit par calcul). */ @@ -41,7 +41,7 @@ public enum ModeSaisieEchantillonEnum { /** * Le mode de saisie par individu. - * <p/> + * * L'observateur saisie les poids individuel, il ne peut pas saisir * d'effectif, l'effectif est de 1. */ 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 886c3e7..12f6a20 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 @@ -61,7 +61,7 @@ public enum ObstunaAdminAction { /** * pour créer une nouvelle base obstuna. - * <p/> + * * Il faut au préalable avoir exécuté le script {@code create-obstuna_v2.sh}. */ CREATE(n("observe.obstuna.action.create"), @@ -206,7 +206,7 @@ public enum ObstunaAdminAction { }, /** * pour mettre à jour une base distante. - * <p/> + * * Il faut au préalable avoir une base en version {@code 1.0}. */ UPDATE(n("observe.obstuna.action.update"), @@ -274,7 +274,7 @@ public enum ObstunaAdminAction { }, /** * pour mettre à jour la sécurité d'une base obstuna. - * <p/> + * * Il faut au préalable avoir une base en version {@code 1.4}. */ SECURITY(n("observe.obstuna.action.security"), 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 a93c9f2..8f253a7 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 @@ -80,7 +80,7 @@ import static org.nuiton.i18n.I18n.t; /** * Le handler des actions sur base. - * <p/> + * * On retrouve ici les méthodes pour importer, exporter, faire des backup, * synchroniser les bases. * @@ -95,7 +95,7 @@ public class StorageUIHandler { /** * Prépare une service de persistance à partir d'un modèle. - * <p/> + * * Le service ne sera pas ouvert. * * @param model le modèle de la source de données @@ -627,10 +627,10 @@ public class StorageUIHandler { /** * Effectue une sauvegarde d'un service de persitances vers le fichier * choisi. - * <p/> + * * On peut spécifier les donnéees à exporter via le paramètre {@code * 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 dst le fichier de sauvegarde diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUILauncher.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUILauncher.java index 6124755..9e844ea 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUILauncher.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUILauncher.java @@ -194,10 +194,10 @@ public class StorageUILauncher extends WizardUILancher<StorageStep, StorageUIMod /** * Méthode pour lancer l'action de connexion à une base distante. - * <p/> + * * Cette méthode doit être appelée avant toute action avec une base distante * : - * <p/> + * * synchronisation, récupération du référentiel distant... * * @param context le context applicatif diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java index b4cf219..8b5b53c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java @@ -157,7 +157,7 @@ public class StorageUIModel extends WizardModel<StorageStep> { /** * Un drapeau pour savoir si l'utilisateur a demandé une sauvegarde de la * base locale. - * <p/> + * * Cette option n'est active uniquement si le drapeau localStorageExist est * à true. */ 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 7571fae..9e028a8 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 @@ -400,7 +400,7 @@ public abstract class AbstractObserveTreeCellRenderer extends AbstractNavTreeCel /** * @param value the value which should be a node - * @return the cast {@link ObserveNode}, or <code>null</code> if + * @return the cast {@link ObserveNode}, or {@code null} if * value is null. */ public static ObserveNode getNode(Object value) { 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 ae187d4..5bf1023 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 @@ -52,11 +52,11 @@ import java.util.Set; /** * Modèle de sélection dans un arbre de navigation prévu pour sélectionner des * données. - * <p/> + * * La sélection se fait en cliquant (reclic pour supprimer). - * <p/> + * * Si on sélectionne un program, alors ses marée sont aussi sélectionnées. - * <p/> + * * Un program est sélectionné uniquement si toutes ses marées le sont. * * @author Tony Chemit - chemit@codelutin.com @@ -527,7 +527,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop * Returns an array of all the tree selection listeners registered on this * model. * - * @return all of this model's <code>TreeSelectionListener</code>s or an + * @return all of this model's {@code TreeSelectionListener}s or an * empty array if no tree selection listeners are currently * registered * @see #addTreeSelectionListener @@ -541,7 +541,7 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop /** * Adds a PropertyChangeListener to the listener list. The listener is * registered for all properties. - * <p/> + * * A PropertyChangeEvent will get fired when the selection mode changes. * * @param listener the PropertyChangeListener to be added @@ -571,9 +571,9 @@ public class DataSelectionTreeSelectionModel implements TreeSelectionModel, Prop /** * Returns an array of all the property change listeners registered on this - * <code>DefaultTreeSelectionModel</code>. + * {@code DefaultTreeSelectionModel}. * - * @return all of this model's <code>PropertyChangeListener</code>s or an + * @return all of this model's {@code PropertyChangeListener}s or an * empty array if no property change listeners are currently * registered * @see #addPropertyChangeListener diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNode.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNode.java index ab547b7..2c71c57 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNode.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/tree/ObserveNode.java @@ -52,7 +52,7 @@ public class ObserveNode extends NavTreeNode<ObserveNode> { /** * Un etat pour savoir si l'objet (de donnee) encapsule est ouvert. - * <p/> + * * <b>Note:</b> Il faut que l'objet soit de type {@link OpenableDto}. */ protected Boolean open; 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 3ac8f06..3523b5e 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 @@ -215,7 +215,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { /** * Charge dans l'ui un nouveau modèle de navigation. - * <p/> + * * <b>Note:</b> cette méthode doit être appelée après tout rechargement de * modèle de naivgation. * @@ -241,7 +241,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { /** * Nettoye des ui tout ce qui concerne un modèle de navigation. - * <p/> + * * <b>Note:</b> cette méthode doit être appelée avant tout rechargement de * modèle de naivgation. * @@ -293,7 +293,7 @@ public class ObserveTreeHelper extends NavTreeHelper<ObserveNode> { /** * Sélectionne le noeud dans l'arbre de navigation. - * <p/> + * * <b>Note:</b> cette méthode doit être appelée après un rechargement du * modèle de navigation. * diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/FloatConverter.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/FloatConverter.java index 970eaf1..3eb6981 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/FloatConverter.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/FloatConverter.java @@ -32,7 +32,7 @@ import static org.nuiton.i18n.I18n.t; /** * A float converter which is not dependant on user locale to obtain the locale * {@code dot} representation. - * <p/> + * * It can transform {@code 0.2} and also {@code 0, 2}. * * @author tchemit - chemit@codelutin.com diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/SpringUtilities.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/SpringUtilities.java index ab89a49..3c111a1 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/util/SpringUtilities.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/util/SpringUtilities.java @@ -77,8 +77,8 @@ public class SpringUtilities { } /** - * Aligns the first <code>rows</code> * <code>cols</code> - * components of <code>parent</code> in + * Aligns the first {@code rows} * {@code cols} + * components of {@code parent} in * a grid. Each component is as big as the maximum * preferred width and height of the components. * The parent is made just big enough to fit them all. @@ -180,8 +180,8 @@ public class SpringUtilities { } /** - * Aligns the first <code>rows</code> * <code>cols</code> - * components of <code>parent</code> in + * Aligns the first {@code rows} * {@code cols} + * components of {@code parent} in * a grid. Each component in a column is as wide as the maximum * preferred width of the components in that column; * height is similarly determined for each row. diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/ValidationService.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/ValidationService.java index 8500d46..fc6f35c 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/ValidationService.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/ValidationService.java @@ -98,7 +98,7 @@ public class ValidationService { /** * Obtenir le dictionnaire des validateurs pour les entités donnés. - * <p/> + * * <b>Note:</b> On effectue un parcours des entités pour connaitre les types * d'objets à valider, il faut donc des les collections des entités soient * toutes chargées (ou l'objet attaché à une transaction...). 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 ccb865f..d88400f 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 @@ -41,13 +41,13 @@ import org.apache.commons.logging.LogFactory; * <li>minWeight</li> * <li>maxWeight</li> * </ul> - * <p/> + * * Lorsqu'il s'agit d'une espece faune, si aucune borne n'est trouvée, alors * on se base sur les bornes définis dans son groupe d'espece (si il est défini). - * <p/> + * * Le paramètre {@link #ratio} permet de spécifier une marge à appliquer sur * les bornes, il s'agit d'un pourcentage décimal. - * <p/> + * * Example : si ratio = 10, alors on utilise les bornes suivantes : * <pre> * bMin -10% et bMax + 10% @@ -101,7 +101,7 @@ public abstract class AbstractEspeceFieldDtoValidator extends FieldValidatorSupp /** * la stack de validation interceptée lors de la création du validateur. - * <p/> + * * Utilisée pour pousser des données dans le context. */ protected ValueStack valueStack; diff --git a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivityFinDeVeilleExistsDtoValidator.java b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivityFinDeVeilleExistsDtoValidator.java index 742b6ab..0c2033d 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivityFinDeVeilleExistsDtoValidator.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/validation/validator/dto/ActivityFinDeVeilleExistsDtoValidator.java @@ -34,12 +34,12 @@ import org.apache.commons.logging.LogFactory; * <!-- START SNIPPET: javadoc --> VesselActivityFieldValidator vérifie que * l'activity vessel d'une activité est cohérente. <!-- END SNIPPET: javadoc * --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: parameters --> <ul> <li>fieldName - The field name this * validator is validating. Required if using Plain-Validator Syntax otherwise * not required</li> </ul> <!-- END SNIPPET: parameters --> - * <p/> + * * <pre> * <!-- START SNIPPET: examples --> * <validators> @@ -49,7 +49,7 @@ import org.apache.commons.logging.LogFactory; * <message>loch matin must be greater or equals to last * closed route loch soir</message> * </validator> - * <p/> + * * <!-- Field-Validator Syntax --> * <field name="startLogValue"> * <field-validator type="invalidLochMatin"> @@ -73,11 +73,11 @@ public class ActivityFinDeVeilleExistsDtoValidator extends FieldValidatorSupport /** * l'état attendu : la route possède-t-ell ou non une activity de fin de * veille. - * <p/> + * * Si le drapeau vaut {@code true}, la route est valide si elle possède une * activité de fin de veille (cas de vérification de la présence de * l'activité sur l'ensemble au niveau de sa route). - * <p/> + * * Si le drapeau vaut {@code false}, la route est valide si elle ne possède * déjà d'activité de fin de veille (cas de création d'une nouvelle * activité). 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 005df01..69c4c15 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 @@ -38,12 +38,12 @@ import org.apache.commons.logging.LogFactory; * <!-- START SNIPPET: javadoc --> ActivitySimpleSpeedValidator vérifie que * la cohérence de vitesse entre l'activité courante et sa précédente. <!-- END SNIPPET: javadoc * --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: parameters --> <ul> <li>fieldName - The field name this * validator is validating. Required if using Plain-Validator Syntax otherwise * not required</li> </ul> <!-- END SNIPPET: parameters --> - * <p/> + * * <pre> * <!-- START SNIPPET: examples --> * <validators> 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 5c69c48..4e7cd97 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 @@ -38,12 +38,12 @@ import org.nuiton.validator.xwork2.field.CollectionFieldExpressionValidator; * <!-- START SNIPPET: javadoc --> ActivityspeedValidator vérifie que * la cohérence de vitesses entre toutes les activités d'une route. <!-- END SNIPPET: javadoc * --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: parameters --> <ul> <li>fieldName - The field name this * validator is validating. Required if using Plain-Validator Syntax otherwise * not required</li> </ul> <!-- END SNIPPET: parameters --> - * <p/> + * * <pre> * <!-- START SNIPPET: examples --> * <validators> 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 a5816f6..7e7e0fd 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 @@ -36,7 +36,7 @@ import org.debux.webmotion.server.call.ServerContext; import org.debux.webmotion.server.mapping.Mapping; /** - * @author Tony Chemit : chemit@codelutin.com + * @author Tony Chemit - tchemit@codelutin.com */ public class ObserveWebApplicationListener implements WebMotionServerListener { diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/ObserveWebMotionController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/ObserveWebMotionController.java index 48270bb..1080e43 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/ObserveWebMotionController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/ObserveWebMotionController.java @@ -29,7 +29,7 @@ import fr.ird.observe.application.web.security.ObserveWebSecurityApplicationCont import org.debux.webmotion.server.WebMotionController; /** - * @author Tony Chemit : chemit@codelutin.com + * @author Tony Chemit - tchemit@codelutin.com */ public abstract class ObserveWebMotionController extends WebMotionController { diff --git a/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/AbstractEspeceFieldValidator.java b/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/AbstractEspeceFieldValidator.java index 708260b..eca4728 100644 --- a/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/AbstractEspeceFieldValidator.java +++ b/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/AbstractEspeceFieldValidator.java @@ -40,13 +40,13 @@ import org.apache.commons.logging.LogFactory; * <li>minWeight</li> * <li>maxWeight</li> * </ul> - * <p/> + * * Lorsqu'il s'agit d'une espece faune, si aucune borne n'est trouvée, alors * on se base sur les bornes définis dans son groupe d'espece (si il est défini). - * <p/> + * * Le paramètre {@link #ratio} permet de spécifier une marge à appliquer sur * les bornes, il s'agit d'un pourcentage décimal. - * <p/> + * * Example : si ratio = 10, alors on utilise les bornes suivantes : * <pre> * bMin -10% et bMax + 10% @@ -100,7 +100,7 @@ public abstract class AbstractEspeceFieldValidator extends FieldValidatorSupport /** * la stack de validation interceptée lors de la création du validateur. - * <p/> + * * Utilisée pour pousser des données dans le context. */ protected ValueStack valueStack; diff --git a/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivityFinDeVeilleExistsValidator.java b/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivityFinDeVeilleExistsValidator.java index 751ca75..cec2f95 100644 --- a/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivityFinDeVeilleExistsValidator.java +++ b/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivityFinDeVeilleExistsValidator.java @@ -35,12 +35,12 @@ import org.apache.commons.logging.LogFactory; * <!-- START SNIPPET: javadoc --> VesselActivityFieldValidator vérifie que * l'activity vessel d'une activité est cohérente. <!-- END SNIPPET: javadoc * --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: parameters --> <ul> <li>fieldName - The field name this * validator is validating. Required if using Plain-Validator Syntax otherwise * not required</li> </ul> <!-- END SNIPPET: parameters --> - * <p/> + * * <pre> * <!-- START SNIPPET: examples --> * <validators> @@ -50,7 +50,7 @@ import org.apache.commons.logging.LogFactory; * <message>loch matin must be greater or equals to last * closed route loch soir</message> * </validator> - * <p/> + * * <!-- Field-Validator Syntax --> * <field name="startLogValue"> * <field-validator type="invalidLochMatin"> @@ -74,11 +74,11 @@ public class ActivityFinDeVeilleExistsValidator extends FieldValidatorSupport { /** * l'état attendu : la route possède-t-ell ou non une activity de fin de * veille. - * <p/> + * * Si le drapeau vaut {@code true}, la route est valide si elle possède une * activité de fin de veille (cas de vérification de la présence de * l'activité sur l'ensemble au niveau de sa route). - * <p/> + * * Si le drapeau vaut {@code false}, la route est valide si elle ne possède * déjà d'activité de fin de veille (cas de création d'une nouvelle * activité). diff --git a/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivitySimpleSpeedValidator.java b/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivitySimpleSpeedValidator.java index 0dbfe0c..b7b6e41 100644 --- a/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivitySimpleSpeedValidator.java +++ b/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivitySimpleSpeedValidator.java @@ -37,12 +37,12 @@ import org.apache.commons.logging.LogFactory; * <!-- START SNIPPET: javadoc --> ActivitySimpleSpeedValidator vérifie que * la cohérence de vitesse entre l'activité courante et sa précédente. <!-- END SNIPPET: javadoc * --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: parameters --> <ul> <li>fieldName - The field name this * validator is validating. Required if using Plain-Validator Syntax otherwise * not required</li> </ul> <!-- END SNIPPET: parameters --> - * <p/> + * * <pre> * <!-- START SNIPPET: examples --> * <validators> diff --git a/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivitySpeedValidator.java b/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivitySpeedValidator.java index bfb68d2..80d63af 100644 --- a/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivitySpeedValidator.java +++ b/observe-entities-validation/src/main/java/fr/ird/observe/validation/validator/entities/ActivitySpeedValidator.java @@ -37,12 +37,12 @@ import org.nuiton.validator.xwork2.field.CollectionFieldExpressionValidator; * <!-- START SNIPPET: javadoc --> ActivityspeedValidator vérifie que * la cohérence de vitesses entre toutes les activités d'une route. <!-- END SNIPPET: javadoc * --> - * <p/> - * <p/> + * + * * <!-- START SNIPPET: parameters --> <ul> <li>fieldName - The field name this * validator is validating. Required if using Plain-Validator Syntax otherwise * not required</li> </ul> <!-- END SNIPPET: parameters --> - * <p/> + * * <pre> * <!-- START SNIPPET: examples --> * <validators> diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java index b6a63b4..0084e9b 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java @@ -246,9 +246,9 @@ public class Entities { /** * FIXME : cela n'est pas vrai !!! (voir l'algortihme de replication qui * detecte tout seul l'ordre a utiliser). - * <p/> + * * la liste des entités non référentiel dans l'ordre de précédence. - * <p/> + * * Ainsi on pourra lors des duplications de base parcourir cet ordre sans * avoir à se préoccuper d'éventuels viloations d'intégrités en base (sur * les clef étrangères des associations). diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/gps/GPSRouteImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/gps/GPSRouteImpl.java index 2e00f47..73bd435 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/gps/GPSRouteImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/gps/GPSRouteImpl.java @@ -34,16 +34,16 @@ public class GPSRouteImpl extends GPSRoute { /** * Permet de construire un point pour une date donnée. - * <p/> + * * On recherche parmis les intervalles acceptables les deux points entourant * la date donnée. - * <p/> + * * Si on a réussi à trouver deux points adéquates, alors on construit un * nouveau point en utilisant la formule d'interpolation pour calculer les * coordonnées du point. * * @param date la date du point à construire - * @return le nouveau point construit ou <code>null</code> si on a pas + * @return le nouveau point construit ou {@code null} si on a pas * trouvé un intervalle de points acdeptables pour la date donnée. */ @Override @@ -92,7 +92,7 @@ public class GPSRouteImpl extends GPSRoute { * * @param intervalle l'intervalle de points à parcourir * @param date la date donnée - * @return l'index du point trouvé ou <code>-1</code> si pas de point + * @return l'index du point trouvé ou {@code -1} si pas de point * adéquate trouvé. */ @Override diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/gps/GpsPoints.java b/observe-entities/src/main/java/fr/ird/observe/entities/gps/GpsPoints.java index c957e00..cca4455 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/gps/GpsPoints.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/gps/GpsPoints.java @@ -73,11 +73,11 @@ public class GpsPoints { /** * Calcule la distance entre deux points (en kilometres). - * <p/> + * * Il s'agit d'une approxiation utilisant la méthode d'orthodromie. - * <p/> + * * http://fr.wikipedia.org/wiki/Orthodromie - * <p/> + * * d = R * arccos(cos(lat1) * cos(lat2) *cos(long2 - long1) + sin(lat1) * *sin(lat2)) * @@ -92,11 +92,11 @@ public class GpsPoints { /** * Calcule la distance entre deux points (en miles nautique). - * <p/> + * * Il s'agit d'une approxiation utilisant la méthode d'orthodromie. - * <p/> + * * http://fr.wikipedia.org/wiki/Orthodromie - * <p/> + * * d = R * arccos(cos(lat1) * cos(lat2) *cos(long2 - long1) + sin(lat1) * *sin(lat2)) * diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_1.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_1.java index 26cfb7f..3775113 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_1.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_1.java @@ -36,7 +36,7 @@ import java.util.List; /** * Migration class for version {@code 3.1}. - * <p/> + * * Created on 10/10/13. * * @author Tony Chemit - chemit@codelutin.com diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParameters.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParameters.java index aa22a75..e52abe4 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParameters.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParameters.java @@ -80,15 +80,15 @@ public class LengthWeightParameters { /** * Recherche d'un {@link LengthWeightParameter} à partir des paramètres donnés. - * <p/> + * * La recherche peut ne peut être aussi exacte que les paramètres donnés : - * <p/> + * * Dans le cas d'une espèce faune, si non trouvé alors on recherche sur son * speciesGroup d'espèce. - * <p/> + * * Si non trouvé pour l'océan donné (et que celui-ci est non null), alors on * recherche avec un ocean vide. - * <p/> + * * Si non trouvé sur le gender (et que le gender n'est pas indéterminé) , alors * on recherche avec le gender indéterminé (gender=0). * diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntities.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntities.java index c9ef0e4..a15c73a 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ObserveReferentialEntities.java @@ -57,7 +57,7 @@ public class ObserveReferentialEntities { * entités qui ne sont pas actives {@link ObserveReferentialEntity#getStatus()} * * @param list la liste des entitées à filtrer - * @param <E> le type des entites du référentiel + * @param <E> le type des entites du référentiel */ public static <E extends ObserveReferentialEntity> void filterReferentielListByStatus( List<E> list) { @@ -71,7 +71,7 @@ public class ObserveReferentialEntities { * * @param list la liste des entitées à filtrer * @param predicate le prédicate à appliquer pour conserver les valeurs - * @param <E> le type des entites du référentiel + * @param <E> le type des entites du référentiel */ public static <E extends ObserveReferentialEntity> void filterReferentielList( List<E> list, diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Programs.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Programs.java index 7635c4b..f577332 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Programs.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/Programs.java @@ -39,7 +39,7 @@ public class Programs { /** * Comparateur de {@link Program} basé sur la propriété {@link * Program#getLabel2()}. - * <p/> + * * FIXME-TC-20100205 : il faudrait que le comparateur soit sur le bon * libelle selon la langue de base choisie... */ 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 7ceb58c..634be0e 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 @@ -120,9 +120,9 @@ public class ActivitySeines { /** * Calcule le type de banc d'une activité. - * <p/> + * * par défaut, on considère la caléee sur BL. - * <p/> + * * Si l'activité possède au moins un système observe de type BO alors la * caléee est de type BO. * diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchImpl.java index 72327f9..4687589 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/NonTargetCatchImpl.java @@ -29,7 +29,7 @@ import org.apache.commons.logging.LogFactory; /** * L'implantation par defaut d'une discarded faune. - * <p/> + * * Une discarded faune implante le contrat {@link LengthWeightParameter} sur les champs * <ul> * <li>{@link #meanWeight}</li> 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 303a73b..621a2db 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 @@ -30,10 +30,10 @@ 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. * 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 446d59d..502a2c6 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 @@ -133,7 +133,7 @@ public class ReferentialDtos extends AbstractReferentialDtos { * entités qui ne sont pas actives {@link ReferentialDto#getStatus()} * * @param list la liste des entitées à filtrer - * @param <E> le type des entites du référentiel + * @param <E> le type des entites du référentiel */ public static <E extends ReferentialDto> void filterReferentialListByStatus(List<E> list) { filterReferentielList(list, (Predicate<E>) IS_ACTIF_PREDICATE); @@ -149,7 +149,7 @@ public class ReferentialDtos extends AbstractReferentialDtos { * * @param list la liste des entitées à filtrer * @param predicate le prédicate à appliquer pour conserver les valeurs - * @param <E> le type des entites du référentiel + * @param <E> le type des entites du référentiel */ public static <E extends ReferentialDto> void filterReferentielList( List<E> list, @@ -176,7 +176,7 @@ public class ReferentialDtos extends AbstractReferentialDtos { * * @param list la liste des entitées à filtrer * @param predicate le prédicate à appliquer pour conserver les valeurs - * @param <E> le type des entites du référentiel + * @param <E> le type des entites du référentiel */ public static <E extends ReferentialDto> void filterReferentialReferenceList( List<ReferentialReference<E>> list, diff --git a/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSFileReader.java b/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSFileReader.java index f8608b7..0d959e6 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSFileReader.java +++ b/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSFileReader.java @@ -40,7 +40,7 @@ import java.util.List; /** * Classe responsable de la construction du modèle {@link GPSRoute} à partir - * d'un fichier de traces GPS au format <code>GPX</code>. + * d'un fichier de traces GPS au format {@code GPX}. * * @author Tony Chemit - chemit@codelutin.com * @since 1.0 @@ -116,7 +116,7 @@ public class GPSFileReader { * Détecte sur l'ensemble des points de la route ceux qui sont acceptables, * c'est à dire que l'on accepte uniquement les points dont les intervalles * de temps ne dépassent pas {@link #maxDelay}. - * <p/> + * * Les intervalles de poinbts acceptables seront contenus dans {@link * GPSRoute#acceptedInterval}, les intervalles rejetés seront sauvés dans * {@link GPSRoute#rejectedInterval} @@ -225,10 +225,10 @@ public class GPSFileReader { /** * Parse le fichier xml donné et construit le modèle. - * <p/> + * * Pour le moment on se limite à traiter le premier segment - * (<code>trkseg</code>) de la première route (<code>trk</code>). - * <p/> + * ({@code trkseg}) de la première route ({@code trk}). + * * Lors de la découverte des points, on ne retient pas les points dont la * vitesse par rapport au précédent point dépasse {@link * #getMaxSpeedAsMilliSecondes()}. diff --git a/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSRouteImpl.java b/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSRouteImpl.java index f8d772f..ae0b615 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSRouteImpl.java +++ b/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSRouteImpl.java @@ -34,16 +34,16 @@ public class GPSRouteImpl extends GPSRoute { /** * Permet de construire un point pour une date donnée. - * <p/> + * * On recherche parmis les intervalles acceptables les deux points entourant * la date donnée. - * <p/> + * * Si on a réussi à trouver deux points adéquates, alors on construit un * nouveau point en utilisant la formule d'interpolation pour calculer les * coordonnées du point. * * @param date la date du point à construire - * @return le nouveau point construit ou <code>null</code> si on a pas + * @return le nouveau point construit ou {@code null} si on a pas * trouvé un intervalle de points acdeptables pour la date donnée. */ @Override @@ -92,7 +92,7 @@ public class GPSRouteImpl extends GPSRoute { * * @param intervalle l'intervalle de points à parcourir * @param date la date donnée - * @return l'index du point trouvé ou <code>-1</code> si pas de point + * @return l'index du point trouvé ou {@code -1} si pas de point * adéquate trouvé. */ @Override diff --git a/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSService.java b/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSService.java index d927f80..f6e6496 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSService.java +++ b/observe-services-model/src/main/java/fr/ird/observe/util/gps/GPSService.java @@ -52,11 +52,11 @@ public class GPSService { /** * Calcule la distance entre deux points (en kilometres). - * <p/> + * * Il s'agit d'une approxiation utilisant la méthode d'orthodromie. - * <p/> + * * http://fr.wikipedia.org/wiki/Orthodromie - * <p/> + * * d = R * arccos(cos(lat1) * cos(lat2) *cos(long2 - long1) + sin(lat1) * *sin(lat2)) * @@ -71,11 +71,11 @@ public class GPSService { /** * Calcule la distance entre deux points (en miles nautique). - * <p/> + * * Il s'agit d'une approxiation utilisant la méthode d'orthodromie. - * <p/> + * * http://fr.wikipedia.org/wiki/Orthodromie - * <p/> + * * d = R * arccos(cos(lat1) * cos(lat2) *cos(long2 - long1) + sin(lat1) * *sin(lat2)) * diff --git a/observe-services-model/src/main/java/fr/ird/observe/util/gps/GpsPoints.java b/observe-services-model/src/main/java/fr/ird/observe/util/gps/GpsPoints.java index 0383c27..a1133c4 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/util/gps/GpsPoints.java +++ b/observe-services-model/src/main/java/fr/ird/observe/util/gps/GpsPoints.java @@ -95,11 +95,11 @@ public class GpsPoints { /** * Calcule la distance entre deux points (en kilometres). - * <p/> + * * Il s'agit d'une approxiation utilisant la méthode d'orthodromie. - * <p/> + * * http://fr.wikipedia.org/wiki/Orthodromie - * <p/> + * * d = R * arccos(cos(lat1) * cos(lat2) *cos(long2 - long1) + sin(lat1) * *sin(lat2)) * @@ -114,11 +114,11 @@ public class GpsPoints { /** * Calcule la distance entre deux points (en miles nautique). - * <p/> + * * Il s'agit d'une approxiation utilisant la méthode d'orthodromie. - * <p/> + * * http://fr.wikipedia.org/wiki/Orthodromie - * <p/> + * * d = R * arccos(cos(lat1) * cos(lat2) *cos(long2 - long1) + sin(lat1) * *sin(lat2)) * 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 1832b95..3fd831d 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 @@ -43,7 +43,7 @@ import java.util.Map; /** * Classe abstraite de test d'un report. - * <p/> + * * On définit ici le mécanisme pour tester unitairement un report et son * résultat. * @@ -84,7 +84,7 @@ public abstract class AbstractReportServiceRestTest extends AbstractServiceRestT /** * L'unique test à lancer. - * <p/> + * * On vérifie : * <ul> * <li>la syntaxe du report via {@link #testReportSyntax(Report)}</li> diff --git a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/ReplicationServiceImpl.java b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/ReplicationServiceImpl.java index b84548c..5148447 100644 --- a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/ReplicationServiceImpl.java +++ b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/ReplicationServiceImpl.java @@ -295,10 +295,10 @@ public class ReplicationServiceImpl extends AbstractObserveService implements Re /** * Duplication de l'unique donnée observateur depuis ce service vers le service donné. - * <p/> + * * La duplication utilise une transaction dédiée afin de ne pas saturer le serveur * et aussi une meilleure maitrise du rollback en cas d'une erreur. - * <p/> + * * Voir http://forge.codelutin.com/issues/4837 * * @param srcService le service source diff --git a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/referential/ReferentialServiceImpl.java b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/referential/ReferentialServiceImpl.java index a50c9d6..8193714 100644 --- a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/referential/ReferentialServiceImpl.java +++ b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/referential/ReferentialServiceImpl.java @@ -204,15 +204,15 @@ public class ReferentialServiceImpl extends AbstractObserveService implements Re /** * Recherche d'un {@link LengthWeightParameter} à partir des paramètres donnés. - * <p/> + * * La recherche peut ne peut être aussi exacte que les paramètres donnés : - * <p/> + * * Dans le cas d'une espèce faune, si non trouvé alors on recherche sur son * speciesGroup d'espèce. - * <p/> + * * Si non trouvé pour l'océan donné (et que celui-ci est non null), alors on * recherche avec un ocean vide. - * <p/> + * * Si non trouvé sur le gender (et que le gender n'est pas indéterminé) , alors * on recherche avec le gender indéterminé (gender=0). * 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 c53aa19..a44a1b0 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 @@ -31,8 +31,9 @@ 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.dto.constants.ReferentialLocale; -import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.DataSourceService; +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.TestHelper; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import fr.ird.observe.test.spi.DatabaseVersionConfiguration; @@ -98,6 +99,7 @@ public class ApplicationContextResource implements TestRule { ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration; + boolean createEmptydatabase = DatabaseName.empty.name().equals(dbName); boolean sharedDatabaseExist = sharedDatabaseFile.exists(); if (!sharedDatabaseExist) { @@ -105,11 +107,18 @@ public class ApplicationContextResource implements TestRule { log.info("Create shared database: " + dbVersion.toString() + "/" + dbName + " to " + sharedDatabaseFile); } - byte[] databaseToImportContent = dataSourcesForTestManager.getDatabaseScriptContent(dbVersion, dbName); - DataSourceService dataSourceService = newService(sharedDatabaseConfiguration, DataSourceService.class); DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); - createConfiguration.setImportDatabase(databaseToImportContent); + +// if (!createEmptydatabase) { + + byte[] databaseToImportContent = dataSourcesForTestManager.getDatabaseScriptContent(dbVersion, dbName); + createConfiguration.setImportDatabase(databaseToImportContent); + +// } else { +// createConfiguration.setCanCreateEmptyDatabase(true); +// +// } dataSourceService.create(sharedDatabaseConfiguration, createConfiguration); } @@ -132,7 +141,7 @@ public class ApplicationContextResource implements TestRule { } - dataSourceConfiguration.setModelVersion(Versions.valueOf(AbstractServiceTopiaTest.DEFAULT_VERSION)); + dataSourceConfiguration.setModelVersion(Versions.valueOf(ObserveFixtures.DEFAULT_VERSION)); return dataSourceConfiguration; diff --git a/observe-services-topia/src/test/resources/log4j.properties b/observe-services-topia/src/test/resources/log4j.properties index 0f21768..fb23e8d 100644 --- a/observe-services-topia/src/test/resources/log4j.properties +++ b/observe-services-topia/src/test/resources/log4j.properties @@ -30,3 +30,5 @@ log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%c:%L) %M - %m%n #log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) %M - %m%n log4j.logger.fr.ird.observe=INFO +log4j.logger.org.nuiton.topia.replication.sql=DEBUG +log4j.logger.org.nuiton.topia.persistence.util.TopiaEntityHelper=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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 49444e38a2741dee5ab6e59af942cf9566f8fb0d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Dec 31 19:36:45 2015 +0100 Ajout de la réplication au niveau du topia application context + suppression autoMigrate configuration --- .../observe/ObserveTopiaApplicationContext.java | 111 ++++++++++++++++++--- .../observe/ObserveTopiaConfigurationFactory.java | 20 +--- .../fr/ird/observe/entities/SqlDatabaseType.java | 26 +++++ .../ObserveTopiaApplicationContextTest.java | 1 - .../ObserveTopiaApplicationContextFactory.java | 3 - .../services/service/DataSourceServiceTopia.java | 6 +- 6 files changed, 128 insertions(+), 39 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java index 38862ab..5e4e31e 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -22,11 +22,16 @@ package fr.ird.observe; * #L% */ +import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.SqlDatabaseType; import fr.ird.observe.entities.migration.ObserveMigrationEngine; +import fr.ird.observe.entities.replication.ObserveReplicationTables; +import org.apache.commons.io.output.WriterOutputStream; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.HibernateException; import org.hibernate.cfg.Configuration; +import org.hibernate.cfg.Environment; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; @@ -40,15 +45,19 @@ import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.io.Writer; import java.nio.file.Files; import java.nio.file.Path; import java.util.Objects; +import java.util.Properties; import java.util.UUID; import java.util.zip.GZIPInputStream; public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicationContext { - /** Logger. */ + /** + * Logger. + */ private static final Log log = LogFactory.getLog(ObserveTopiaApplicationContext.class); public static final String MIGRATION_SERVICE_NAME = "migration"; @@ -59,12 +68,10 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat public static final String DB_VERSION = "db.version"; - public static final String AUTO_MIGRATE = "auto.migrate"; - - private static final String CREATE_SCHEMA_SCRIPT = "CREATE SCHEMA OBSERVE_COMMON; CREATE SCHEMA OBSERVE_LONGLINE; CREATE SCHEMA OBSERVE_SEINE;"; - - //FIXME Voir comment remplir ça (probablement pour les tests ?) - protected boolean autoMigrate; + private static final String CREATE_SCHEMA_SCRIPT + = "CREATE SCHEMA OBSERVE_COMMON IF NOT EXISTS;\n" + + "CREATE SCHEMA OBSERVE_LONGLINE IF NOT EXISTS;\n" + + "CREATE SCHEMA OBSERVE_SEINE IF NOT EXISTS;\n"; /** * Mise à {@code true} quand au moins une connection a été effectuée. @@ -83,14 +90,6 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat return (ObserveTopiaConfiguration) super.getConfiguration(); } - public boolean isAutoMigrate() { - return autoMigrate; - } - - public void setAutoMigrate(boolean autoMigrate) { - this.autoMigrate = autoMigrate; - } - public boolean isOpen() { return isOpened() && open; } @@ -207,4 +206,86 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat } } + + public void replicateAllTrips(Writer writer) { + + TopiaSqlReplicationService sqlReplicationService = getSqlReplicationService(); + sqlReplicationService + .newReplicatetoSqlActionBuilder(writer) + .setTables(ObserveReplicationTables.getTripSeineTables(false)) + .build().run(); + + sqlReplicationService + .newReplicatetoSqlActionBuilder(writer) + .setTables(ObserveReplicationTables.getTripLonglineTables(false)) + .build().run(); + + } + + public void replicateTrips(Writer writer, Iterable<String> tripIds) { + + TopiaSqlReplicationService sqlReplicationService = getSqlReplicationService(); + + for (String tripId : tripIds) { + + if (Entities.isSeineId(tripId)) { + + sqlReplicationService + .newReplicatetoSqlActionBuilder(writer) + .setTables(ObserveReplicationTables.getTripSeineTables(true)) + .setArg(tripId) + .build().run(); + } else { + + sqlReplicationService + .newReplicatetoSqlActionBuilder(writer) + .setTables(ObserveReplicationTables.getTripLonglineTables(true)) + .setArg(tripId) + .build().run(); + + } + } + + } + + public void replicateReferentials(Writer writer) { + + TopiaSqlReplicationService sqlReplicationService = getSqlReplicationService(); + sqlReplicationService + .newReplicatetoSqlActionBuilder(writer) + .setTables(ObserveReplicationTables.getReferentialTables()) + .build().run(); + + } + + public void replicateSchema(SqlDatabaseType databaseType, File temporaryDirectory, Writer writer) throws IOException { + + writer.append(CREATE_SCHEMA_SCRIPT); + + try { + + File sqlScriptFile = new File(temporaryDirectory, "replicateSchema_" + System.nanoTime() + ".sql"); + + Configuration hibernateConfiguration = getHibernateProvider().getHibernateConfiguration(); + + Properties properties = new Properties(); + + properties.put(Environment.DIALECT, databaseType.getDialectType().getName()); + + new SchemaExport(hibernateConfiguration, properties) + .setOutputFile(sqlScriptFile.getAbsolutePath()) + .setDelimiter(";") + .create(false, false); + + WriterOutputStream out = new WriterOutputStream(writer); + Files.copy(sqlScriptFile.toPath(), out); + out.flush(); + Files.delete(sqlScriptFile.toPath()); + + } catch (HibernateException eee) { + throw new TopiaException(String.format("Could not create schema for reason: %s", eee.getMessage()), eee); + } + + } + } diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java index 498acb2..3bc774d 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java @@ -87,7 +87,6 @@ public class ObserveTopiaConfigurationFactory { String username, String password, boolean initSchema, - boolean autoMigrate, boolean showMigrationSql, boolean showMigrationProgression) { @@ -95,8 +94,7 @@ public class ObserveTopiaConfigurationFactory { ObserveTopiaConfiguration topiaConfiguration = createTopiaConfiguration(jdbcConfiguration, initSchema, - autoMigrate, - showMigrationSql, + showMigrationSql, showMigrationProgression, false); @@ -112,7 +110,6 @@ public class ObserveTopiaConfigurationFactory { String username, String password, boolean initSchema, - boolean autoMigrate, boolean showMigrationSql, boolean showMigrationProgression) { @@ -123,8 +120,7 @@ public class ObserveTopiaConfigurationFactory { ObserveTopiaConfiguration topiaConfiguration = createTopiaConfiguration(jdbcConfiguration, initSchema, - autoMigrate, - showMigrationSql, + showMigrationSql, showMigrationProgression, true); @@ -137,7 +133,6 @@ public class ObserveTopiaConfigurationFactory { protected static ObserveTopiaConfiguration createTopiaConfiguration(JdbcConfiguration jdbcConfiguration, boolean initSchema, - boolean autoMigrate, boolean showMigrationSql, boolean showMigrationProgression, boolean h2Configuration) { @@ -154,19 +149,12 @@ public class ObserveTopiaConfigurationFactory { ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of( ObserveMigrationEngine.MIGRATION_CALLBACK, H2DataSourceMigration.class.getName(), ObserveMigrationEngine.MIGRATION_SHOW_PROGRESSION, String.valueOf(showMigrationProgression), - ObserveMigrationEngine.MIGRATION_SHOW_SQL, String.valueOf(showMigrationSql), - ObserveTopiaApplicationContext.AUTO_MIGRATE, String.valueOf(autoMigrate) + ObserveMigrationEngine.MIGRATION_SHOW_SQL, String.valueOf(showMigrationSql) ); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.SQL_REPLICATION_SERVICE_NAME, TopiaSqlReplicationServiceImpl .class); -// if (h2Configuration) { -// //FIXME J'ai mis ça mais sans conviction car y'a d'autres pb à régler et c3p0 n'est peut-être pas la cause -// // On ne veut pas utiliser c3pO dans ce cas -// topiaConfiguration.setHibernateExtraConfiguration( -// ImmutableMap.of("hibernate.connection.provider_class", "org.nuiton.topia.persistence.internal.TopiaConnectionProvider") -// ); -// } + return topiaConfiguration; } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/SqlDatabaseType.java b/observe-entities/src/main/java/fr/ird/observe/entities/SqlDatabaseType.java new file mode 100644 index 0000000..bf03604 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/SqlDatabaseType.java @@ -0,0 +1,26 @@ +package fr.ird.observe.entities; + +import org.hibernate.dialect.Dialect; +import org.hibernate.dialect.H2Dialect; +import org.hibernate.dialect.PostgreSQL9Dialect; + +/** + * Created on 31/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum SqlDatabaseType { + + h2(H2Dialect.class), + postgres(PostgreSQL9Dialect.class); + + private final Class<? extends Dialect> dialectType; + + SqlDatabaseType(Class<? extends Dialect> dialectType) { + this.dialectType = dialectType; + } + + public Class<? extends Dialect> getDialectType() { + return dialectType; + } +} diff --git a/observe-entities/src/test/java/fr/ird/observe/ObserveTopiaApplicationContextTest.java b/observe-entities/src/test/java/fr/ird/observe/ObserveTopiaApplicationContextTest.java index abcef39..cef34aa 100644 --- a/observe-entities/src/test/java/fr/ird/observe/ObserveTopiaApplicationContextTest.java +++ b/observe-entities/src/test/java/fr/ird/observe/ObserveTopiaApplicationContextTest.java @@ -75,7 +75,6 @@ public class ObserveTopiaApplicationContextTest { String.valueOf(TestHelper.TEST_H2_PASSWORD), true, true, - true, true ); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveTopiaApplicationContextFactory.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveTopiaApplicationContextFactory.java index 124a7d3..43631a4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveTopiaApplicationContextFactory.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveTopiaApplicationContextFactory.java @@ -130,7 +130,6 @@ public class ObserveTopiaApplicationContextFactory { configuration.getUsername(), String.valueOf(configuration.getPassword()), initSchema, - configuration.isAutoMigrate(), configuration.isShowMigrationSql(), configuration.isShowMigrationProgression() ); @@ -159,7 +158,6 @@ public class ObserveTopiaApplicationContextFactory { configuration.getUsername(), String.valueOf(configuration.getPassword()), initSchema, - configuration.isAutoMigrate(), configuration.isShowMigrationSql(), configuration.isShowMigrationProgression() ); @@ -179,7 +177,6 @@ public class ObserveTopiaApplicationContextFactory { public MyObserveTopiaApplicationContext(ObserveTopiaConfiguration topiaConfiguration, ObserveDataSourceConfigurationTopiaSupport observeDataSourceConfiguration) { super(topiaConfiguration); this.observeDataSourceConfiguration = observeDataSourceConfiguration; - setAutoMigrate(observeDataSourceConfiguration.isAutoMigrate()); TOPIA_APPLICATION_CONTEXT_CACHE.put(observeDataSourceConfiguration, this); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java index 9150146..2577552 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java @@ -102,8 +102,7 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS h2DataSourceConfiguration.getUsername(), new String(h2DataSourceConfiguration.getPassword()), false, - false, - false, + false, false); @@ -128,8 +127,7 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS pgDataSourceConfiguration.getUsername(), new String(pgDataSourceConfiguration.getPassword()), false, - false, - false, + false, false); try { -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit c36169804dabc1098efa1fa1d531fda9e8649f3d Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Dec 31 19:38:23 2015 +0100 Ajout d'un nouveau service pour produire les script sql --- .../services/service/SqlScriptProducerRequest.java | 70 ++++++++++++++++++ .../services/service/SqlScriptProducerService.java | 13 ++++ .../service/SqlScriptProducerServiceTopia.java | 82 ++++++++++++++++++++++ .../services/ApplicationContextResource.java | 4 ++ .../service/SqlScriptProducerServiceTopiaTest.java | 81 +++++++++++++++++++++ .../java/fr/ird/observe/test/ObserveFixtures.java | 13 ++++ 6 files changed, 263 insertions(+) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java new file mode 100644 index 0000000..20c2add --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java @@ -0,0 +1,70 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableSet; + +/** + * Created on 31/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SqlScriptProducerRequest { + + protected final boolean h2; + protected boolean addSchema; + protected boolean addReferential; + protected boolean addData; + protected ImmutableSet<String> dataIds; + + public static SqlScriptProducerRequest forH2() { + return new SqlScriptProducerRequest(true); + } + + public static SqlScriptProducerRequest forPostgres() { + return new SqlScriptProducerRequest(false); + } + + public SqlScriptProducerRequest addSchema() { + addSchema = true; + return this; + } + + public SqlScriptProducerRequest addReferential() { + addReferential = true; + return this; + } + + public SqlScriptProducerRequest addAllData() { + addData = true; + return this; + } + + public SqlScriptProducerRequest addDataIds(ImmutableSet<String> dataIds) { + addData = true; + this.dataIds = dataIds; + return this; + } + + public boolean isAddSchema() { + return addSchema; + } + + public boolean isAddReferential() { + return addReferential; + } + + protected SqlScriptProducerRequest(boolean h2) { + this.h2 = h2; + } + + public boolean isAddData() { + return addData; + } + + public ImmutableSet<String> getDataIds() { + return dataIds; + } + + public boolean isH2() { + return h2; + } +} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java new file mode 100644 index 0000000..cf37249 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java @@ -0,0 +1,13 @@ +package fr.ird.observe.services.service; + +import fr.ird.observe.services.ObserveService; + +/** + * Created on 31/12/15. + * @author Tony Chemit - chemit@codelutin.com + */ +public interface SqlScriptProducerService extends ObserveService { + + byte[] produceSqlScript(SqlScriptProducerRequest request); + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java new file mode 100644 index 0000000..ac8c592 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java @@ -0,0 +1,82 @@ +package fr.ird.observe.services.service; + +import com.google.common.collect.ImmutableSet; +import fr.ird.observe.ObserveTopiaApplicationContext; +import fr.ird.observe.entities.SqlDatabaseType; +import fr.ird.observe.services.ObserveServiceTopia; + +import java.io.ByteArrayOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.io.Writer; +import java.util.zip.GZIPOutputStream; + +/** + * Created on 31/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implements SqlScriptProducerService { + + @Override + public byte[] produceSqlScript(SqlScriptProducerRequest request) { + + try (ByteArrayOutputStream out = new ByteArrayOutputStream()) { + + try (Writer writer = new OutputStreamWriter(new GZIPOutputStream(out))) { + + if (request.isAddSchema()) { + addSchema(request.isH2(), writer); + } + + if (request.isAddReferential()) { + addReferentialSqlScript(writer); + } + + if (request.isAddData()) { + + ImmutableSet<String> dataIds = request.getDataIds(); + if (dataIds == null) { + addAllTrips(writer); + } else { + addTrips(writer, dataIds); + } + + } + + } + + return out.toByteArray(); + + } catch (IOException e) { + throw new RuntimeException("Could not produce sql script", e); + } + + } + + public void addSchema(boolean h2, Writer writer) { + + try { + getObserveTopiaApplicationContext().replicateSchema(h2 ? SqlDatabaseType.h2 : SqlDatabaseType.postgres, serviceContext.getTemporaryDirectoryRoot(), writer); + } catch (IOException e) { + throw new RuntimeException("Could not add schema sql script", e); + } + } + + public void addReferentialSqlScript(Writer writer) { + getObserveTopiaApplicationContext().replicateReferentials(writer); + } + + public void addAllTrips(Writer writer) { + getObserveTopiaApplicationContext().replicateAllTrips(writer); + } + + public void addTrips(Writer writer, ImmutableSet<String> tripIds) { + getObserveTopiaApplicationContext().replicateTrips(writer, tripIds); + } + + protected ObserveTopiaApplicationContext getObserveTopiaApplicationContext() { + return serviceContext.getTopiaApplicationContext(); + } + +} 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 a44a1b0..c4657f4 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 @@ -263,6 +263,10 @@ public class ApplicationContextResource implements TestRule { return dbVersion; } + public File createTemporaryFile(String suffix) { + return temporaryDirectoryRoot.resolve(System.nanoTime()+suffix).toFile(); + } + /** * Created on 26/12/15. * diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopiaTest.java new file mode 100644 index 0000000..7989941 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopiaTest.java @@ -0,0 +1,81 @@ +package fr.ird.observe.services.service; + +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.ObserveFixtures; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import org.apache.commons.io.IOUtils; +import org.junit.Before; +import org.junit.Test; +import org.nuiton.util.StringUtil; +import org.nuiton.util.TimeLog; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; + +/** + * Created on 31/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SqlScriptProducerServiceTopiaTest extends AbstractServiceTopiaTest { + + private static final TimeLog timeLog = new TimeLog(SqlScriptProducerServiceTopiaTest.class, 10, 1000); + + protected SqlScriptProducerService service; + + @Before + public void setUp() throws Exception { + service = dataSourceResource.newService(SqlScriptProducerService.class); + } + + @DatabaseNameConfiguration(DatabaseName.empty) + @Test + public void testProduceSchema() throws Exception { + + produce(SqlScriptProducerRequest.forH2().addSchema()); + produce(SqlScriptProducerRequest.forPostgres().addSchema()); + + } + + @DatabaseNameConfiguration(DatabaseName.referentiel) + @Test + public void testProduceReferential() throws Exception { + + produce(SqlScriptProducerRequest.forPostgres().addSchema().addReferential()); + + } + + @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) + @Test + public void testProduceTripSeine() throws Exception { + + produce(SqlScriptProducerRequest.forPostgres().addSchema().addReferential().addAllData()); + produce(SqlScriptProducerRequest.forPostgres().addSchema().addReferential().addDataIds(ObserveFixtures.TRIP_SEINE_IDS)); + + } + + @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) + @Test + public void testProduceTripLongline() throws Exception { + + produce(SqlScriptProducerRequest.forH2().addSchema().addReferential().addAllData()); + produce(SqlScriptProducerRequest.forH2().addSchema().addReferential().addDataIds(ObserveFixtures.TRIP_LONGLINE_IDS)); + + } + + protected void produce(SqlScriptProducerRequest request) throws IOException { + + long time = TimeLog.getTime(); + + File outputFile = applicationContextResource.createTemporaryFile("-out.sql.gz"); + + byte[] gzContent = service.produceSqlScript(request); + + try (FileOutputStream fileOutputStream = new FileOutputStream(outputFile)) { + IOUtils.write(gzContent, fileOutputStream); + } + + timeLog.log(time, "Output file - " + StringUtil.convertMemory(outputFile.length()) + "\n" + outputFile); + } +} \ No newline at end of file diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java b/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java index a15d653..0f84698 100644 --- a/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java +++ b/observe-test-data/src/main/java/fr/ird/observe/test/ObserveFixtures.java @@ -1,6 +1,7 @@ package fr.ird.observe.test; import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; import org.apache.commons.lang3.mutable.MutableLong; import java.util.Map; @@ -21,6 +22,12 @@ public class ObserveFixtures { public static final String TRIP_SEINE_ID_3 = "fr.ird.observe.entities.seine.TripSeine#1360156698296#0.6097793743126777"; + public static final ImmutableSet<String> TRIP_SEINE_IDS = ImmutableSet.of( + TRIP_SEINE_ID_1, + TRIP_SEINE_ID_2, + TRIP_SEINE_ID_3 + ); + public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; public static final String TRIP_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.TripLongline#1429538088091#0.763886003987864"; @@ -29,6 +36,12 @@ public class ObserveFixtures { public static final String TRIP_LONGLINE_ID_3 = "fr.ird.observe.entities.longline.TripLongline#1429537115030#0.493692863034084"; + public static final ImmutableSet<String> TRIP_LONGLINE_IDS = ImmutableSet.of( + TRIP_LONGLINE_ID_1, + TRIP_LONGLINE_ID_2, + TRIP_LONGLINE_ID_3 + ); + public static final String SET_LONGLINE_ID_1 = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; public static final ImmutableMap<String, Long> REFERENTIAL_COMMON_TABLES_COUNT = ImmutableMap -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 0221de9898135cac654b8552c4f09ed1507c0999 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Jan 4 17:23:52 2016 +0100 Fix third parties --- .../src/license/THIRD-PARTY.properties | 63 +++++++++++----------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/observe-application-swing/src/license/THIRD-PARTY.properties b/observe-application-swing/src/license/THIRD-PARTY.properties index 8d7dba1..f9b0e2c 100644 --- a/observe-application-swing/src/license/THIRD-PARTY.properties +++ b/observe-application-swing/src/license/THIRD-PARTY.properties @@ -35,43 +35,44 @@ # - The Apache Software License, Version 2.0 # - The H2 License, Version 1.0 # - The MIT License(MIT) +# - The PostgreSQL License #------------------------------------------------------------------------------- # Please fill the missing licenses for dependencies : # # -#Fri Dec 25 13:08:30 CET 2015 +#Mon Jan 04 17:04:37 CET 2016 commons-primitives--commons-primitives--1.0=The Apache Software License, Version 2.0 dom4j--dom4j--1.6.1=BSD License -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 +it.geosolutions.jaiext.affine--jt-affine--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.algebra--jt-algebra--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.bandcombine--jt-bandcombine--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.bandmerge--jt-bandmerge--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.bandselect--jt-bandselect--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.binarize--jt-binarize--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.border--jt-border--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.buffer--jt-buffer--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.classifier--jt-classifier--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.colorconvert--jt-colorconvert--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.colorindexer--jt-colorindexer--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.crop--jt-crop--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.errordiffusion--jt-errordiffusion--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.format--jt-format--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.imagefunction--jt-imagefunction--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.iterators--jt-iterators--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.lookup--jt-lookup--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.mosaic--jt-mosaic--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.nullop--jt-nullop--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.orderdither--jt-orderdither--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.piecewise--jt-piecewise--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.rescale--jt-rescale--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.rlookup--jt-rlookup--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.scale--jt-scale--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.stats--jt-stats--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.translate--jt-translate--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.utilities--jt-utilities--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.vectorbin--jt-vectorbin--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.warp--jt-warp--1.0.8=The Apache Software License, Version 2.0 +it.geosolutions.jaiext.zonal--jt-zonal--1.0.8=The Apache Software License, Version 2.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) -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 87cbe4e32bd581aabc64f64326c76062b18d7aba Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Jan 5 08:50:47 2016 +0100 Utilisation du nouveau moteur de requete sql de topia --- observe-entities/pom.xml | 5 + .../observe/ObserveTopiaApplicationContext.java | 342 ++++++++++++++++----- .../observe/ObserveTopiaConfigurationFactory.java | 4 +- .../java/fr/ird/observe/entities/Entities.java | 16 +- .../fr/ird/observe/entities/SqlDatabaseType.java | 26 -- .../replication/ObserveReplicationTables.java | 169 ---------- .../ObserveTopiaApplicationContextTest.java | 19 ++ .../services/service/SqlScriptProducerRequest.java | 16 +- observe-services-topia/pom.xml | 4 + .../service/SqlScriptProducerServiceTopia.java | 115 ++++--- .../replication/ReplicateReferentialsTest.java | 22 +- .../entities/replication/ReplicateTestSupport.java | 70 ++--- .../replication/ReplicateTripLonglineTest.java | 62 ++-- .../replication/ReplicateTripSeineTest.java | 63 ++-- .../service/SqlScriptProducerServiceTopiaTest.java | 4 +- .../src/test/resources/log4j.properties | 2 +- pom.xml | 6 + 17 files changed, 491 insertions(+), 454 deletions(-) diff --git a/observe-entities/pom.xml b/observe-entities/pom.xml index 5f9e32d..48faece 100644 --- a/observe-entities/pom.xml +++ b/observe-entities/pom.xml @@ -101,6 +101,11 @@ <groupId>org.nuiton.topia</groupId> <artifactId>topia-service-replication</artifactId> </dependency> + <dependency> + <groupId>org.nuiton.topia</groupId> + <artifactId>topia-service-sql-batch</artifactId> + <scope>compile</scope> + </dependency> <dependency> <groupId>org.hibernate</groupId> diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java index 5e4e31e..a3f229c 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -22,22 +22,22 @@ package fr.ird.observe; * #L% */ +import com.google.common.collect.ImmutableSet; import fr.ird.observe.entities.Entities; -import fr.ird.observe.entities.SqlDatabaseType; import fr.ird.observe.entities.migration.ObserveMigrationEngine; -import fr.ird.observe.entities.replication.ObserveReplicationTables; -import org.apache.commons.io.output.WriterOutputStream; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.HibernateException; import org.hibernate.cfg.Configuration; -import org.hibernate.cfg.Environment; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; import org.nuiton.topia.persistence.jdbc.JdbcHelper; +import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; import org.nuiton.topia.replication.TopiaReplicationService; -import org.nuiton.topia.replication.sql.TopiaSqlReplicationService; +import org.nuiton.topia.service.sql.batch.TopiaSqlBatchService; +import org.nuiton.topia.service.sql.batch.tables.TopiaSqlTables; +import org.nuiton.topia.service.sql.batch.tables.TopiaSqlTablesFactory; import org.nuiton.util.GZUtil; import java.io.BufferedInputStream; @@ -45,11 +45,11 @@ import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; import java.io.InputStream; -import java.io.Writer; import java.nio.file.Files; import java.nio.file.Path; +import java.util.LinkedHashSet; import java.util.Objects; -import java.util.Properties; +import java.util.Set; import java.util.UUID; import java.util.zip.GZIPInputStream; @@ -64,14 +64,14 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat public static final String REPLICATION_SERVICE_NAME = "replication"; - public static final String SQL_REPLICATION_SERVICE_NAME = "sqlReplication"; + public static final String SQL_BATCH_SERVICE_NAME = "sqlBatch"; public static final String DB_VERSION = "db.version"; private static final String CREATE_SCHEMA_SCRIPT - = "CREATE SCHEMA OBSERVE_COMMON IF NOT EXISTS;\n" - + "CREATE SCHEMA OBSERVE_LONGLINE IF NOT EXISTS;\n" - + "CREATE SCHEMA OBSERVE_SEINE IF NOT EXISTS;\n"; + = "CREATE SCHEMA OBSERVE_COMMON;\n" + + "CREATE SCHEMA OBSERVE_LONGLINE;\n" + + "CREATE SCHEMA OBSERVE_SEINE;\n"; /** * Mise à {@code true} quand au moins une connection a été effectuée. @@ -79,6 +79,10 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat protected boolean open; protected final String authenticationToken; + protected TopiaSqlTablesFactory topiaSqlTablesFactory; + protected TopiaSqlTables tripSeineTables; + protected TopiaSqlTables tripLonglineTables; + protected TopiaSqlTables referentialTables; public ObserveTopiaApplicationContext(ObserveTopiaConfiguration topiaConfiguration) { super(topiaConfiguration); @@ -86,6 +90,12 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat } @Override + protected void init() { + super.init(); + topiaSqlTablesFactory = new TopiaSqlTablesFactory(getMetadataModel(), this); + } + + @Override public ObserveTopiaConfiguration getConfiguration() { return (ObserveTopiaConfiguration) super.getConfiguration(); } @@ -106,8 +116,8 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat return getServices(TopiaReplicationService.class).get(REPLICATION_SERVICE_NAME); } - public TopiaSqlReplicationService getSqlReplicationService() { - return getServices(TopiaSqlReplicationService.class).get(SQL_REPLICATION_SERVICE_NAME); + public TopiaSqlBatchService getSqlBatchService() { + return getServices(TopiaSqlBatchService.class).get(SQL_BATCH_SERVICE_NAME); } @Override @@ -207,85 +217,265 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat } - public void replicateAllTrips(Writer writer) { - - TopiaSqlReplicationService sqlReplicationService = getSqlReplicationService(); - sqlReplicationService - .newReplicatetoSqlActionBuilder(writer) - .setTables(ObserveReplicationTables.getTripSeineTables(false)) - .build().run(); + public TopiaSqlTables getTripSeineTables() { - sqlReplicationService - .newReplicatetoSqlActionBuilder(writer) - .setTables(ObserveReplicationTables.getTripLonglineTables(false)) - .build().run(); + if (tripSeineTables == null) { + log.info("Loading tripSeineTables."); + tripSeineTables = topiaSqlTablesFactory.newReplicateEntityTables( + new TripReplicateTablesPredicate(), + ObserveEntityEnum.TripSeine); + } + return tripSeineTables; + + /* + return TopiaSqlTables.builder(filterTable, ObserveEntityEnum.TripSeine) // → TripSeine + .addAndEnterJoinTable(ObserveEntityEnum.GearUseFeaturesSeine) // → GearUseFeaturesSeine + .addJoinTable(ObserveEntityEnum.GearUseFeaturesMeasurementSeine) + .backToParent() // ← TripSeine + .addAndEnterJoinTable(ObserveEntityEnum.Route) // → Route + .addAndEnterJoinTable(ObserveEntityEnum.ActivitySeine) // → ActivitySeine + .addAndEnterReverseJoinTable(ObserveEntityEnum.SetSeine) // → SetSeine + .addJoinTable(ObserveEntityEnum.SchoolEstimate) + .addJoinTable(ObserveEntityEnum.NonTargetCatch) + .addJoinTable(ObserveEntityEnum.TargetCatch) + .addAndEnterJoinTable(ObserveEntityEnum.TargetSample) // → TargetSample + .addJoinTable(ObserveEntityEnum.TargetLength) + .backToParent() // ← SetSeine + .addAndEnterJoinTable(ObserveEntityEnum.NonTargetSample) // → NonTargetSample + .addJoinTable(ObserveEntityEnum.NonTargetLength) + .backToParent() // ← SetSeine + .backToParent() // ← ActivitySeine + .addAssociationTable(ObserveEntityEnum.ObservedSystem.name(), true) + .addAndEnterJoinTable(ObserveEntityEnum.FloatingObject) // → FloatingObject + .addJoinTable(ObserveEntityEnum.ObjectObservedSpecies) + .addJoinTable(ObserveEntityEnum.ObjectSchoolEstimate) + .addJoinTable(ObserveEntityEnum.TransmittingBuoy) + .build(); + */ } - public void replicateTrips(Writer writer, Iterable<String> tripIds) { - - TopiaSqlReplicationService sqlReplicationService = getSqlReplicationService(); - - for (String tripId : tripIds) { + public TopiaSqlTables getTripLonglineTables() { - if (Entities.isSeineId(tripId)) { - - sqlReplicationService - .newReplicatetoSqlActionBuilder(writer) - .setTables(ObserveReplicationTables.getTripSeineTables(true)) - .setArg(tripId) - .build().run(); - } else { - - sqlReplicationService - .newReplicatetoSqlActionBuilder(writer) - .setTables(ObserveReplicationTables.getTripLonglineTables(true)) - .setArg(tripId) - .build().run(); - - } + if (tripLonglineTables == null) { + log.info("Loading tripLonglineTables."); + tripLonglineTables = topiaSqlTablesFactory.newReplicateEntityTables( + new TripReplicateTablesPredicate(), + ObserveEntityEnum.TripLongline); } - + return tripLonglineTables; + + /* + return TopiaSqlTables.builder(filterTable, ObserveEntityEnum.TripLongline) // → TripLongline + .addAndEnterJoinTable(ObserveEntityEnum.GearUseFeaturesLongline) // → GearUseFeaturesLongline + .addJoinTable(ObserveEntityEnum.GearUseFeaturesMeasurementLongline) + .backToParent() // ← TripLongline + .addAndEnterJoinTable(ObserveEntityEnum.ActivityLongline) // → ActivityLongline + .addAndEnterReverseJoinTable(ObserveEntityEnum.SetLongline) // → SetLongline + .addJoinTable(ObserveEntityEnum.BaitsComposition) + .addJoinTable(ObserveEntityEnum.FloatlinesComposition) + .addJoinTable(ObserveEntityEnum.HooksComposition) + .addJoinTable(ObserveEntityEnum.BranchlinesComposition) + .addAssociationTable(ObserveEntityEnum.MitigationType.name(), true) + .addAndEnterJoinTable(ObserveEntityEnum.Section) // → Section + .addAndEnterJoinTable(ObserveEntityEnum.Basket) // → Basket + .addJoinTable(ObserveEntityEnum.Branchline) + .backToParent() // ← Section + .backToParent() // ← SetLongline + .addAndEnterJoinTable(ObserveEntityEnum.CatchLongline) // → CatchLongline + .addJoinTable(ObserveEntityEnum.SizeMeasure) + .addJoinTable(ObserveEntityEnum.WeightMeasure) + .addAssociationTable("Predator", true) + .backToParent() // ← SetLongline + .addAndEnterJoinTable(ObserveEntityEnum.Tdr) // → Tdr + .addJoinTable(ObserveEntityEnum.TdrRecord) + .addAssociationTable(ObserveEntityEnum.Species.name(), true) + .backToParent() // ← SetLongline + .backToParent() // ← ActivityLongline + .addJoinTable(ObserveEntityEnum.Encounter) + .addJoinTable(ObserveEntityEnum.SensorUsed) + .build(); + */ } - public void replicateReferentials(Writer writer) { - - TopiaSqlReplicationService sqlReplicationService = getSqlReplicationService(); - sqlReplicationService - .newReplicatetoSqlActionBuilder(writer) - .setTables(ObserveReplicationTables.getReferentialTables()) - .build().run(); - + public TopiaSqlTables getReferentialTables() { + + if (referentialTables == null) { + log.info("Loading referentialTables."); + referentialTables = topiaSqlTablesFactory.newReplicateEntityTables( + new TripReplicateTablesPredicate(), + Entities.REFERENCE_ENTITIES); +// ObserveEntityEnum.VesselSizeCategory, +// ObserveEntityEnum.Country, +// ObserveEntityEnum.Harbour, +// ObserveEntityEnum.VesselType, +// ObserveEntityEnum.Vessel, +// ObserveEntityEnum.Ocean, +// ObserveEntityEnum.SpeciesGroup, +// ObserveEntityEnum.Species, +// ObserveEntityEnum.Sex, +// ObserveEntityEnum.FpaZone, +// ObserveEntityEnum.SpeciesList, +// ObserveEntityEnum.Person, +// ObserveEntityEnum.Organism, +// ObserveEntityEnum.LengthWeightParameter, +// ObserveEntityEnum.Program, +// ObserveEntityEnum.GearCaracteristicType, +// ObserveEntityEnum.GearCaracteristic, +// ObserveEntityEnum.Gear, +// ObserveEntityEnum.LastUpdateDate, +// ObserveEntityEnum.VesselActivitySeine, +// ObserveEntityEnum.SurroundingActivity, +// ObserveEntityEnum.ReasonForNullSet, +// ObserveEntityEnum.ReasonForNoFishing, +// ObserveEntityEnum.SpeciesFate, +// ObserveEntityEnum.ObjectFate, +// ObserveEntityEnum.WeightCategory, +// ObserveEntityEnum.DetectionMode, +// ObserveEntityEnum.TransmittingBuoyOperation, +// ObserveEntityEnum.ObjectOperation, +// ObserveEntityEnum.ReasonForDiscard, +// ObserveEntityEnum.SpeciesStatus, +// ObserveEntityEnum.ObservedSystem, +// ObserveEntityEnum.TransmittingBuoyType, +// ObserveEntityEnum.ObjectType, +// ObserveEntityEnum.Wind, +// ObserveEntityEnum.BaitHaulingStatus, +// ObserveEntityEnum.BaitSettingStatus, +// ObserveEntityEnum.BaitType, +// ObserveEntityEnum.CatchFateLongline, +// ObserveEntityEnum.EncounterType, +// ObserveEntityEnum.Healthness, +// ObserveEntityEnum.HookPosition, +// ObserveEntityEnum.HookSize, +// ObserveEntityEnum.HookType, +// ObserveEntityEnum.ItemVerticalPosition, +// ObserveEntityEnum.ItemHorizontalPosition, +// ObserveEntityEnum.LightsticksColor, +// ObserveEntityEnum.LightsticksType, +// ObserveEntityEnum.LineType, +// ObserveEntityEnum.MaturityStatus, +// ObserveEntityEnum.MitigationType, +// ObserveEntityEnum.SensorBrand, +// ObserveEntityEnum.SensorDataFormat, +// ObserveEntityEnum.SensorType, +// ObserveEntityEnum.SettingShape, +// ObserveEntityEnum.SizeMeasureType, +// ObserveEntityEnum.StomacFullness, +// ObserveEntityEnum.TripType, +// ObserveEntityEnum.VesselActivityLongline, +// ObserveEntityEnum.WeightMeasureType); + } + return referentialTables; + + /* + + return TopiaSqlTables.builder() + .addMainTable(ObserveEntityEnum.VesselSizeCategory) // → VesselSizeCategory + .addMainTable(ObserveEntityEnum.Country) // → Country + .addMainTable(ObserveEntityEnum.Harbour) // → Harbour + .addMainTable(ObserveEntityEnum.VesselType) // → VesselType + .addMainTable(ObserveEntityEnum.Vessel) // → Vessel + .addMainTable(ObserveEntityEnum.Ocean) // → Ocean + .addMainTable(ObserveEntityEnum.SpeciesGroup) // → SpeciesGroup + .addMainTable(ObserveEntityEnum.Species) // → Species + .addAssociationTable(ObserveEntityEnum.Ocean.name(), false) + .addMainTable(ObserveEntityEnum.Sex) // → Sex + .addMainTable(ObserveEntityEnum.FpaZone) // → FpaZone + .addMainTable(ObserveEntityEnum.SpeciesList) // → SpeciesList + .addAssociationTable(ObserveEntityEnum.Species.name(), false) + .addMainTable(ObserveEntityEnum.Person) // → Person + .addMainTable(ObserveEntityEnum.Organism) // → Organism + .addMainTable(ObserveEntityEnum.LengthWeightParameter) // → LengthWeightParameter + .addMainTable(ObserveEntityEnum.Program) // → Program + .addMainTable(ObserveEntityEnum.GearCaracteristicType) // → GearCaracteristicType + .addMainTable(ObserveEntityEnum.GearCaracteristic) // → GearCaracteristic + .addMainTable(ObserveEntityEnum.Gear) // → Gear + .addAssociationTable(ObserveEntityEnum.GearCaracteristic.name(), false) + .addMainTable(ObserveEntityEnum.LastUpdateDate) // → LastUpdateDate + .addMainTable(ObserveEntityEnum.VesselActivitySeine) // → VesselActivitySeine + .addMainTable(ObserveEntityEnum.SurroundingActivity) // → SurroundingActivity + .addMainTable(ObserveEntityEnum.ReasonForNullSet) // → ReasonForNullSet + .addMainTable(ObserveEntityEnum.ReasonForNoFishing) // → ReasonForNoFishing + .addMainTable(ObserveEntityEnum.SpeciesFate) // → SpeciesFate + .addMainTable(ObserveEntityEnum.ObjectFate) // → ObjectFate + .addMainTable(ObserveEntityEnum.WeightCategory) // → WeightCategory + .addMainTable(ObserveEntityEnum.DetectionMode) // → DetectionMode + .addMainTable(ObserveEntityEnum.TransmittingBuoyOperation) // → TransmittingBuoyOperation + .addMainTable(ObserveEntityEnum.ObjectOperation) // → ObjectOperation + .addMainTable(ObserveEntityEnum.ReasonForDiscard) // → ReasonForDiscard + .addMainTable(ObserveEntityEnum.SpeciesStatus) // → SpeciesStatus + .addMainTable(ObserveEntityEnum.ObservedSystem) // → ObservedSystem + .addMainTable(ObserveEntityEnum.TransmittingBuoyType) // → TransmittingBuoyType + .addMainTable(ObserveEntityEnum.ObjectType) // → ObjectType + .addMainTable(ObserveEntityEnum.Wind) // → Wind + .addMainTable(ObserveEntityEnum.BaitHaulingStatus) // → BaitHaulingStatus + .addMainTable(ObserveEntityEnum.BaitSettingStatus) // → BaitSettingStatus + .addMainTable(ObserveEntityEnum.BaitType) // → BaitType + .addMainTable(ObserveEntityEnum.CatchFateLongline) // → CatchFateLongline + .addMainTable(ObserveEntityEnum.EncounterType) // → EncounterType + .addMainTable(ObserveEntityEnum.Healthness) // → Healthness + .addMainTable(ObserveEntityEnum.HookPosition) // → HookPosition + .addMainTable(ObserveEntityEnum.HookSize) // → HookSize + .addMainTable(ObserveEntityEnum.HookType) // → HookType + .addMainTable(ObserveEntityEnum.ItemVerticalPosition) // → ItemVerticalPosition + .addMainTable(ObserveEntityEnum.ItemHorizontalPosition) // → ItemHorizontalPosition + .addMainTable(ObserveEntityEnum.LightsticksColor) // → LightsticksColor + .addMainTable(ObserveEntityEnum.LightsticksType) // → LightsticksType + .addMainTable(ObserveEntityEnum.LineType) // → LineType + .addMainTable(ObserveEntityEnum.MaturityStatus) // → MaturityStatus + .addMainTable(ObserveEntityEnum.MitigationType) // → MitigationType + .addMainTable(ObserveEntityEnum.SensorBrand) // → SensorBrand + .addMainTable(ObserveEntityEnum.SensorDataFormat) // → SensorDataFormat + .addMainTable(ObserveEntityEnum.SensorType) // → SensorType + .addMainTable(ObserveEntityEnum.SettingShape) // → SettingShape + .addMainTable(ObserveEntityEnum.SizeMeasureType) // → SizeMeasureType + .addMainTable(ObserveEntityEnum.StomacFullness) // → StomacFullness + .addMainTable(ObserveEntityEnum.TripType) // → TripType + .addMainTable(ObserveEntityEnum.VesselActivityLongline) // → VesselActivityLongline + .addMainTable(ObserveEntityEnum.WeightMeasureType) // → WeightMeasureType + + .build(); +*/ } - public void replicateSchema(SqlDatabaseType databaseType, File temporaryDirectory, Writer writer) throws IOException { - - writer.append(CREATE_SCHEMA_SCRIPT); - - try { - - File sqlScriptFile = new File(temporaryDirectory, "replicateSchema_" + System.nanoTime() + ".sql"); - - Configuration hibernateConfiguration = getHibernateProvider().getHibernateConfiguration(); + private static class TripReplicateTablesPredicate implements TopiaSqlTablesFactory.TopiaSqlTablesPredicate { + + protected final Set<TopiaMetadataEntity> dones = new LinkedHashSet<>(); + protected final Set<String> sectionsHolders = ImmutableSet.of( + ObserveEntityEnum.CatchLongline.name(), + ObserveEntityEnum.Tdr.name() + ); + protected final Set<String> sections = ImmutableSet.of( + ObserveEntityEnum.Branchline.name(), + ObserveEntityEnum.Basket.name(), + ObserveEntityEnum.Section.name() + ); + + @Override + public boolean acceptEntity(TopiaMetadataEntity metadataEntity) { + return dones.add(metadataEntity); + } - Properties properties = new Properties(); + @Override + public boolean acceptAssociation(TopiaMetadataEntity metadataEntity, String propertyName, TopiaMetadataEntity propertyType) { - properties.put(Environment.DIALECT, databaseType.getDialectType().getName()); + if (sectionsHolders.contains(propertyType.getType()) && sections.contains(metadataEntity.getType())) { + return false; + } - new SchemaExport(hibernateConfiguration, properties) - .setOutputFile(sqlScriptFile.getAbsolutePath()) - .setDelimiter(";") - .create(false, false); + return true; + } - WriterOutputStream out = new WriterOutputStream(writer); - Files.copy(sqlScriptFile.toPath(), out); - out.flush(); - Files.delete(sqlScriptFile.toPath()); + @Override + public boolean acceptReversedAssociation(TopiaMetadataEntity metadataEntity, String propertyName, TopiaMetadataEntity propertyType) { + return true; + } - } catch (HibernateException eee) { - throw new TopiaException(String.format("Could not create schema for reason: %s", eee.getMessage()), eee); + @Override + public boolean acceptNmAssociation(TopiaMetadataEntity metadataEntity, String propertyName, TopiaMetadataEntity propertyType) { + return true; } } - } diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java index 3bc774d..19ec009 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java @@ -30,7 +30,7 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; import org.nuiton.topia.persistence.jdbc.JdbcConfigurationBuilder; import org.nuiton.topia.replication.TopiaReplicationServiceImpl; -import org.nuiton.topia.replication.sql.TopiaSqlReplicationServiceImpl; +import org.nuiton.topia.service.sql.batch.TopiaSqlBatchServiceImpl; import java.io.File; @@ -153,7 +153,7 @@ public class ObserveTopiaConfigurationFactory { ); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class); - topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.SQL_REPLICATION_SERVICE_NAME, TopiaSqlReplicationServiceImpl .class); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.SQL_BATCH_SERVICE_NAME, TopiaSqlBatchServiceImpl.class); return topiaConfiguration; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java index 0084e9b..c4df77e 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java @@ -60,12 +60,12 @@ public class Entities { ObserveEntityEnum.VesselType, ObserveEntityEnum.Vessel, ObserveEntityEnum.SpeciesGroup, + ObserveEntityEnum.Ocean, ObserveEntityEnum.Species, ObserveEntityEnum.Sex, ObserveEntityEnum.FpaZone, ObserveEntityEnum.SpeciesList, ObserveEntityEnum.Person, - ObserveEntityEnum.Ocean, ObserveEntityEnum.Organism, ObserveEntityEnum.LengthWeightParameter, ObserveEntityEnum.Program, @@ -141,12 +141,12 @@ public class Entities { ObserveEntityEnum.VesselType, ObserveEntityEnum.Vessel, ObserveEntityEnum.SpeciesGroup, + ObserveEntityEnum.Ocean, ObserveEntityEnum.Species, ObserveEntityEnum.Sex, ObserveEntityEnum.FpaZone, ObserveEntityEnum.SpeciesList, ObserveEntityEnum.Person, - ObserveEntityEnum.Ocean, ObserveEntityEnum.Organism, ObserveEntityEnum.LengthWeightParameter, ObserveEntityEnum.Program, @@ -301,6 +301,18 @@ public class Entities { }; public static final ObserveEntityEnum[] ALL_ENTITIES = ObserveEntityEnum.values(); + public static final Predicate<String> IS_SEINE_ID = new Predicate<String>() { + @Override + public boolean apply(String input) { + return Entities.isSeineId(input); + } + }; + public static final Predicate<String> IS_LONGLINE_ID = new Predicate<String>() { + @Override + public boolean apply(String input) { + return Entities.isLonglineId(input); + } + }; /** * @param klass le type d'entite a tester diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/SqlDatabaseType.java b/observe-entities/src/main/java/fr/ird/observe/entities/SqlDatabaseType.java deleted file mode 100644 index bf03604..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/SqlDatabaseType.java +++ /dev/null @@ -1,26 +0,0 @@ -package fr.ird.observe.entities; - -import org.hibernate.dialect.Dialect; -import org.hibernate.dialect.H2Dialect; -import org.hibernate.dialect.PostgreSQL9Dialect; - -/** - * Created on 31/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public enum SqlDatabaseType { - - h2(H2Dialect.class), - postgres(PostgreSQL9Dialect.class); - - private final Class<? extends Dialect> dialectType; - - SqlDatabaseType(Class<? extends Dialect> dialectType) { - this.dialectType = dialectType; - } - - public Class<? extends Dialect> getDialectType() { - return dialectType; - } -} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationTables.java b/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationTables.java deleted file mode 100644 index 68243fa..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/entities/replication/ObserveReplicationTables.java +++ /dev/null @@ -1,169 +0,0 @@ -package fr.ird.observe.entities.replication; - -import fr.ird.observe.ObserveEntityEnum; -import org.nuiton.topia.replication.sql.action.ReplicateActionBuilderSupport; -import org.nuiton.topia.replication.sql.table.TopiaReplicationTables; -import org.nuiton.topia.replication.sql.table.TopiaReplicationTablesBuilder; - -/** - * Created on 30/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveReplicationTables { - - protected static <B extends ReplicateActionBuilderSupport> void addReferentialTables(B actionBuilder) { - actionBuilder.setTables(getReferentialTables()); - } - - protected static <B extends ReplicateActionBuilderSupport> void addTripLongline(B actionBuilder, String tripId) { - actionBuilder.setTables(getTripLonglineTables(tripId != null)).setArg(tripId); - - } - - protected static <B extends ReplicateActionBuilderSupport> void addTripSeine(B actionBuilder, String tripId) { - actionBuilder.setTables(getTripSeineTables(tripId != null)).setArg(tripId); - } - - public static TopiaReplicationTables getTripSeineTables(boolean withId) { - - return TopiaReplicationTablesBuilder - .builder(withId) - .addTopTable(ObserveEntityEnum.TripSeine) - .addTopJoinTable(ObserveEntityEnum.TripSeine, ObserveEntityEnum.GearUseFeaturesSeine) - .addJoinTable(ObserveEntityEnum.GearUseFeaturesSeine, ObserveEntityEnum.GearUseFeaturesMeasurementSeine) - .addTopJoinTable(ObserveEntityEnum.TripSeine, ObserveEntityEnum.Route) - .orderPlusOne() - .addJoinTable(ObserveEntityEnum.Route, ObserveEntityEnum.ActivitySeine) - .orderMinusTwo() - .addInversedJoinTable(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.SetSeine) - .orderPlusOne() - .addAssociationTable(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.ObservedSystem.name(), true) - .addJoinTable(ObserveEntityEnum.ActivitySeine, ObserveEntityEnum.FloatingObject) - .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.SchoolEstimate) - .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.NonTargetCatch) - .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.NonTargetSample) - .addJoinTable(ObserveEntityEnum.NonTargetSample, ObserveEntityEnum.NonTargetLength) - .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.TargetCatch) - .addJoinTable(ObserveEntityEnum.SetSeine, ObserveEntityEnum.TargetSample) - .addJoinTable(ObserveEntityEnum.TargetSample, ObserveEntityEnum.TargetLength) - .addJoinTable(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.ObjectObservedSpecies) - .addJoinTable(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.ObjectSchoolEstimate) - .addJoinTable(ObserveEntityEnum.FloatingObject, ObserveEntityEnum.TransmittingBuoy) - .build(); - - } - - public static TopiaReplicationTables getTripLonglineTablesForAll() { - return getTripLonglineTables(false); - } - - public static TopiaReplicationTables getTripLonglineTablesForOne() { - return getTripLonglineTables(true); - } - - public static TopiaReplicationTables getTripLonglineTables(boolean withId) { - - return TopiaReplicationTablesBuilder - .builder(withId) - .addTopTable(ObserveEntityEnum.TripLongline) - .addTopJoinTable(ObserveEntityEnum.TripLongline, ObserveEntityEnum.GearUseFeaturesLongline) - .addJoinTable(ObserveEntityEnum.GearUseFeaturesLongline, ObserveEntityEnum.GearUseFeaturesMeasurementLongline) - .orderPlusOne() - .addJoinTable(ObserveEntityEnum.TripLongline, ObserveEntityEnum.ActivityLongline) - .orderMinusTwo() - .addInversedJoinTable(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.SetLongline) - .orderPlusOne() - .addJoinTable(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.Encounter) - .addJoinTable(ObserveEntityEnum.ActivityLongline, ObserveEntityEnum.SensorUsed) - .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.Tdr) - .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.BaitsComposition) - .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.FloatlinesComposition) - .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.HooksComposition) - .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.BranchlinesComposition) - .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.Section) - .addJoinTable(ObserveEntityEnum.Section, ObserveEntityEnum.Basket) - .addJoinTable(ObserveEntityEnum.Basket, ObserveEntityEnum.Branchline) - .addJoinTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.CatchLongline) - .addAssociationTable(ObserveEntityEnum.SetLongline, ObserveEntityEnum.MitigationType.name(), true) - .addJoinTable(ObserveEntityEnum.CatchLongline, ObserveEntityEnum.SizeMeasure) - .addJoinTable(ObserveEntityEnum.CatchLongline, ObserveEntityEnum.WeightMeasure) - .addAssociationTable(ObserveEntityEnum.CatchLongline, "Predator", true) - .addJoinTable(ObserveEntityEnum.Tdr, ObserveEntityEnum.TdrRecord) - .addAssociationTable(ObserveEntityEnum.Tdr, ObserveEntityEnum.Species.name(), true) - .build(); - - } - - public static TopiaReplicationTables getReferentialTables() { - - return TopiaReplicationTablesBuilder - .builder(false) - .addTopTable(ObserveEntityEnum.VesselSizeCategory) - .addTopTable(ObserveEntityEnum.Country) - .addTopTable(ObserveEntityEnum.Harbour) - .addTopTable(ObserveEntityEnum.VesselType) - .addTopTable(ObserveEntityEnum.Vessel) - .addTopTable(ObserveEntityEnum.Ocean) - .addTopTable(ObserveEntityEnum.SpeciesGroup) - .addTopTable(ObserveEntityEnum.Species) - .addAssociationTable(ObserveEntityEnum.Species, ObserveEntityEnum.Ocean.name(), false) - .addTopTable(ObserveEntityEnum.Sex) - .addTopTable(ObserveEntityEnum.FpaZone) - .addTopTable(ObserveEntityEnum.SpeciesList) - .addAssociationTable(ObserveEntityEnum.SpeciesList, ObserveEntityEnum.Species.name(), false) - .addTopTable(ObserveEntityEnum.Person) - .addTopTable(ObserveEntityEnum.Organism) - .addTopTable(ObserveEntityEnum.LengthWeightParameter) - .addTopTable(ObserveEntityEnum.Program) - .addTopTable(ObserveEntityEnum.GearCaracteristicType) - .addTopTable(ObserveEntityEnum.GearCaracteristic) - .addTopTable(ObserveEntityEnum.Gear) - .addAssociationTable(ObserveEntityEnum.Gear, ObserveEntityEnum.GearCaracteristic.name(), false) - .addTopTable(ObserveEntityEnum.LastUpdateDate) - .addTopTable(ObserveEntityEnum.VesselActivitySeine) - .addTopTable(ObserveEntityEnum.SurroundingActivity) - .addTopTable(ObserveEntityEnum.ReasonForNullSet) - .addTopTable(ObserveEntityEnum.ReasonForNoFishing) - .addTopTable(ObserveEntityEnum.SpeciesFate) - .addTopTable(ObserveEntityEnum.ObjectFate) - .addTopTable(ObserveEntityEnum.WeightCategory) - .addTopTable(ObserveEntityEnum.DetectionMode) - .addTopTable(ObserveEntityEnum.TransmittingBuoyOperation) - .addTopTable(ObserveEntityEnum.ObjectOperation) - .addTopTable(ObserveEntityEnum.ReasonForDiscard) - .addTopTable(ObserveEntityEnum.SpeciesStatus) - .addTopTable(ObserveEntityEnum.ObservedSystem) - .addTopTable(ObserveEntityEnum.TransmittingBuoyType) - .addTopTable(ObserveEntityEnum.ObjectType) - .addTopTable(ObserveEntityEnum.Wind) - .addTopTable(ObserveEntityEnum.BaitHaulingStatus) - .addTopTable(ObserveEntityEnum.BaitSettingStatus) - .addTopTable(ObserveEntityEnum.BaitType) - .addTopTable(ObserveEntityEnum.CatchFateLongline) - .addTopTable(ObserveEntityEnum.EncounterType) - .addTopTable(ObserveEntityEnum.Healthness) - .addTopTable(ObserveEntityEnum.HookPosition) - .addTopTable(ObserveEntityEnum.HookSize) - .addTopTable(ObserveEntityEnum.HookType) - .addTopTable(ObserveEntityEnum.ItemVerticalPosition) - .addTopTable(ObserveEntityEnum.ItemHorizontalPosition) - .addTopTable(ObserveEntityEnum.LightsticksColor) - .addTopTable(ObserveEntityEnum.LightsticksType) - .addTopTable(ObserveEntityEnum.LineType) - .addTopTable(ObserveEntityEnum.MaturityStatus) - .addTopTable(ObserveEntityEnum.MitigationType) - .addTopTable(ObserveEntityEnum.SensorBrand) - .addTopTable(ObserveEntityEnum.SensorDataFormat) - .addTopTable(ObserveEntityEnum.SensorType) - .addTopTable(ObserveEntityEnum.SettingShape) - .addTopTable(ObserveEntityEnum.SizeMeasureType) - .addTopTable(ObserveEntityEnum.StomacFullness) - .addTopTable(ObserveEntityEnum.TripType) - .addTopTable(ObserveEntityEnum.VesselActivityLongline) - .addTopTable(ObserveEntityEnum.WeightMeasureType) - - .build(); - - } -} diff --git a/observe-entities/src/test/java/fr/ird/observe/ObserveTopiaApplicationContextTest.java b/observe-entities/src/test/java/fr/ird/observe/ObserveTopiaApplicationContextTest.java index cef34aa..f3a47b7 100644 --- a/observe-entities/src/test/java/fr/ird/observe/ObserveTopiaApplicationContextTest.java +++ b/observe-entities/src/test/java/fr/ird/observe/ObserveTopiaApplicationContextTest.java @@ -30,6 +30,8 @@ import org.junit.BeforeClass; import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; +import org.nuiton.topia.persistence.metadata.TopiaMetadataModel; +import org.nuiton.topia.persistence.metadata.TopiaMetadataModelVisitor; import java.io.File; @@ -86,5 +88,22 @@ public class ObserveTopiaApplicationContextTest { } + TopiaMetadataModel metadataModel = topiaApplicationContext.getMetadataModel(); + + { + TopiaMetadataModelVisitor.PrintVisitor printVisitor = new TopiaMetadataModelVisitor.PrintVisitor(true, "\n"); + + metadataModel.getEntity(ObserveEntityEnum.TripSeine.name()).accept(printVisitor, metadataModel); + + log.info("TripSeine shell:\n" + printVisitor.toString()); + } + + { + TopiaMetadataModelVisitor.PrintVisitor printVisitor = new TopiaMetadataModelVisitor.PrintVisitor(true, "\n"); + + metadataModel.getEntity(ObserveEntityEnum.TripLongline.name()).accept(printVisitor, metadataModel); + + log.info("TripLongline shell:\n" + printVisitor.toString()); + } } } \ No newline at end of file diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java index 20c2add..517005c 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerRequest.java @@ -9,18 +9,18 @@ import com.google.common.collect.ImmutableSet; */ public class SqlScriptProducerRequest { - protected final boolean h2; + protected final boolean postgres; protected boolean addSchema; protected boolean addReferential; protected boolean addData; protected ImmutableSet<String> dataIds; public static SqlScriptProducerRequest forH2() { - return new SqlScriptProducerRequest(true); + return new SqlScriptProducerRequest(false); } public static SqlScriptProducerRequest forPostgres() { - return new SqlScriptProducerRequest(false); + return new SqlScriptProducerRequest(true); } public SqlScriptProducerRequest addSchema() { @@ -52,8 +52,8 @@ public class SqlScriptProducerRequest { return addReferential; } - protected SqlScriptProducerRequest(boolean h2) { - this.h2 = h2; + protected SqlScriptProducerRequest(boolean postgres) { + this.postgres = postgres; } public boolean isAddData() { @@ -65,6 +65,10 @@ public class SqlScriptProducerRequest { } public boolean isH2() { - return h2; + return !postgres; + } + + public boolean isPostgres() { + return postgres; } } diff --git a/observe-services-topia/pom.xml b/observe-services-topia/pom.xml index 89366ed..b0d84d5 100644 --- a/observe-services-topia/pom.xml +++ b/observe-services-topia/pom.xml @@ -109,6 +109,10 @@ <groupId>org.nuiton.topia</groupId> <artifactId>topia-service-replication</artifactId> </dependency> + <dependency> + <groupId>org.nuiton.topia</groupId> + <artifactId>topia-service-sql-batch</artifactId> + </dependency> <dependency> <groupId>org.apache.struts.xwork</groupId> diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java index ac8c592..24c0ace 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java @@ -1,14 +1,20 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Iterables; +import com.google.common.collect.Sets; import fr.ird.observe.ObserveTopiaApplicationContext; -import fr.ird.observe.entities.SqlDatabaseType; +import fr.ird.observe.entities.Entities; import fr.ird.observe.services.ObserveServiceTopia; +import org.nuiton.topia.service.sql.batch.SqlRequests; +import org.nuiton.topia.service.sql.batch.TopiaSqlBatchService; +import org.nuiton.topia.service.sql.batch.actions.TopiaSqlTableSelectArgument; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.io.Writer; +import java.util.Set; import java.util.zip.GZIPOutputStream; /** @@ -25,24 +31,11 @@ public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implement try (Writer writer = new OutputStreamWriter(new GZIPOutputStream(out))) { - if (request.isAddSchema()) { - addSchema(request.isH2(), writer); - } - - if (request.isAddReferential()) { - addReferentialSqlScript(writer); - } + TopiaSqlBatchService sqlBatchService = serviceContext.getTopiaApplicationContext().getSqlBatchService(); + SqlRequests.Builder builder = sqlBatchService.requestBuilder().to(writer); - if (request.isAddData()) { - - ImmutableSet<String> dataIds = request.getDataIds(); - if (dataIds == null) { - addAllTrips(writer); - } else { - addTrips(writer, dataIds); - } - - } + SqlRequests sqlRequests = sqlRequests(request, builder); + sqlBatchService.execute(sqlRequests); } @@ -54,29 +47,81 @@ public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implement } - public void addSchema(boolean h2, Writer writer) { + protected SqlRequests sqlRequests(SqlScriptProducerRequest request, SqlRequests.Builder builder) { + + if (request.isAddSchema()) { + + SqlRequests.CreateSchemaRequestBuilder createSchemaRequestBuilder = builder + .createSchemaBuilder() + .setAddSchema(true) + .setTemporaryPath(serviceContext.getTemporaryDirectoryRoot().toPath()); + if (request.isH2()) { + createSchemaRequestBuilder.forH2(); + } else { + createSchemaRequestBuilder.forPostgres(); + } + createSchemaRequestBuilder.flush(); - try { - getObserveTopiaApplicationContext().replicateSchema(h2 ? SqlDatabaseType.h2 : SqlDatabaseType.postgres, serviceContext.getTemporaryDirectoryRoot(), writer); - } catch (IOException e) { - throw new RuntimeException("Could not add schema sql script", e); } - } - public void addReferentialSqlScript(Writer writer) { - getObserveTopiaApplicationContext().replicateReferentials(writer); - } + ObserveTopiaApplicationContext topiaApplicationContext = serviceContext.getTopiaApplicationContext(); - public void addAllTrips(Writer writer) { - getObserveTopiaApplicationContext().replicateAllTrips(writer); - } + if (request.isAddReferential()) { - public void addTrips(Writer writer, ImmutableSet<String> tripIds) { - getObserveTopiaApplicationContext().replicateTrips(writer, tripIds); - } + builder.replicateTablesBuilder() + .setTables(topiaApplicationContext.getReferentialTables()) + .flush(); + + } + + if (request.isAddData()) { + + ImmutableSet<String> tripIds = request.getDataIds(); + if (tripIds == null) { + + builder.replicateTablesBuilder() + .setTables(topiaApplicationContext.getTripSeineTables()) + .replicateTablesBuilder() + .setTables(topiaApplicationContext.getTripLonglineTables()) + .flush(); + + } else { + + { + + Set<String> tripIds1 = Sets.newHashSet(Iterables.filter(tripIds, Entities.IS_SEINE_ID)); + + if (!tripIds1.isEmpty()) { + + builder.replicateTablesBuilder() + .setTables(topiaApplicationContext.getTripSeineTables()) + .setSelectArgument(TopiaSqlTableSelectArgument.of(tripIds1)) + .flush(); + + } + + } + + { + + Set<String> tripIds1 = Sets.newHashSet(Iterables.filter(tripIds, Entities.IS_LONGLINE_ID)); + + if (!tripIds1.isEmpty()) { + + builder.replicateTablesBuilder() + .setTables(topiaApplicationContext.getTripLonglineTables()) + .setSelectArgument(TopiaSqlTableSelectArgument.of(tripIds1)) + .flush(); + + } + + } + + } + + } - protected ObserveTopiaApplicationContext getObserveTopiaApplicationContext() { - return serviceContext.getTopiaApplicationContext(); + return builder.build(); } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java index 64e2ec3..3a93b7c 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateReferentialsTest.java @@ -4,8 +4,8 @@ import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Test; -import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; -import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; +import org.nuiton.topia.service.sql.batch.actions.ReplicateTablesRequest; +import org.nuiton.topia.service.sql.batch.tables.TopiaSqlTables; /** * Created on 29/12/15. @@ -16,20 +16,16 @@ import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder public class ReplicateReferentialsTest extends ReplicateTestSupport { @Test - public void testReplicateToDb() throws Exception { + public void testReplicate() throws Exception { - ReplicateToDbActionBuilder actionBuilder = createReplicateToDbActionBuilder(DatabaseName.empty); - ObserveReplicationTables.addReferentialTables(actionBuilder); - testReplicateToDb0(actionBuilder, ObserveFixtures.REFERENTIAL_TABLES_COUNT); + TopiaSqlTables tables = dataSourceResource.getTopiaApplicationContext().getReferentialTables(); - } - - @Test - public void testReplicateToSql() throws Exception { + ReplicateTablesRequest request + = createReplicateTablesRequest(DatabaseName.empty) + .setTables(tables) + .build(); - ReplicateToSqlActionBuilder actionBuilder = createReplicateToSqlActionBuilder(); - ObserveReplicationTables.addReferentialTables(actionBuilder); - testReplicateToSql0(actionBuilder); + testReplicate0(request, ObserveFixtures.REFERENTIAL_TABLES_COUNT); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java index 6ce7987..25ec614 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTestSupport.java @@ -13,14 +13,9 @@ import fr.ird.observe.test.DatabaseName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; -import org.junit.Before; -import org.nuiton.topia.replication.sql.TopiaSqlReplicationService; -import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbAction; -import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; -import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionRequest; -import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; -import org.nuiton.topia.replication.sql.table.TopiaReplicationTable; -import org.nuiton.topia.replication.sql.table.TopiaReplicationTables; +import org.nuiton.topia.service.sql.batch.actions.ReplicateTablesRequest; +import org.nuiton.topia.service.sql.batch.tables.TopiaSqlTable; +import org.nuiton.topia.service.sql.batch.tables.TopiaSqlTables; import org.nuiton.util.StringUtil; import java.io.File; @@ -36,47 +31,36 @@ import java.util.Map; */ public class ReplicateTestSupport extends AbstractServiceTopiaTest { - /** Logger. */ + /** + * Logger. + */ private static final Log log = LogFactory.getLog(ReplicateTestSupport.class); - protected TopiaSqlReplicationService sqlReplicationService; - protected File scriptFile; - @Before - public void setUp() throws Exception { - - ObserveTopiaApplicationContext sourceTopiaApplicationContext = dataSourceResource.getTopiaApplicationContext(); - - sqlReplicationService = sourceTopiaApplicationContext.getSqlReplicationService(); - - } - - protected ReplicateToDbActionBuilder createReplicateToDbActionBuilder(DatabaseName databaseName) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { + protected ReplicateTablesRequest.Builder createReplicateTablesRequest(DatabaseName databaseName) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { File targetDatabaseDirectory = new File(dataSourceResource.getTestDirectory(), "targetReplication"); ObserveDataSourceConfigurationTopiaH2 targetTopiaConfiguration = applicationContextResource.createDataSource(dataSourceResource.getDbVersion(), databaseName.name(), targetDatabaseDirectory); ObserveTopiaApplicationContext targetTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(targetTopiaConfiguration); - return sqlReplicationService.newReplicateToDbActionBuilder(targetTopiaApplicationContext); - } - - protected ReplicateToSqlActionBuilder createReplicateToSqlActionBuilder() throws IOException { - scriptFile = new File(dataSourceResource.getTestDirectory(), "script.sql"); Writer writer = Files.newWriter(scriptFile, StandardCharsets.UTF_8); - return sqlReplicationService.newReplicatetoSqlActionBuilder(writer); - + return dataSourceResource.getTopiaApplicationContext() + .getSqlBatchService() + .replicateTablesRequestBuilder() + .to(targetTopiaApplicationContext) + .to(writer); } - protected static void assertReplicateTripResults(ReplicateToDbActionRequest replicationRequest, ImmutableMap<String, Long> expectedResults) { + protected static void assertReplicateTripResults(ReplicateTablesRequest replicationRequest, ImmutableMap<String, Long> expectedResults) { - TopiaReplicationTables tables = replicationRequest.getTables(); + TopiaSqlTables tables = replicationRequest.getTables(); try (ObserveTopiaPersistenceContext persistenceContext = (ObserveTopiaPersistenceContext) replicationRequest.getTargetTopiaApplicationContext().newPersistenceContext()) { - for (TopiaReplicationTable table : tables) { + for (TopiaSqlTable table : tables) { String fullyTableName = table.getFullyTableName(); @@ -103,25 +87,21 @@ public class ReplicateTestSupport extends AbstractServiceTopiaTest { } - protected void testReplicateToSql0(ReplicateToSqlActionBuilder actionBuilder) { + protected void testReplicate0(ReplicateTablesRequest request, ImmutableMap<String, Long> expectedTablesCount) { - actionBuilder - .build() - .run(); + TopiaSqlTables tables = request.getTables(); + log.info(tables); - if (log.isInfoEnabled()) { - log.info(String.format("Replicate to script (length: %s) :\n%s", StringUtil.convertMemory(scriptFile.length()), scriptFile)); - } - - } + dataSourceResource.getTopiaApplicationContext() + .getSqlBatchService() + .execute(request); - protected void testReplicateToDb0(ReplicateToDbActionBuilder actionBuilder, ImmutableMap<String, Long> expectedTablesCount) { - ReplicateToDbAction action = actionBuilder.build(); + assertReplicateTripResults(request, expectedTablesCount); - action.run(); - - assertReplicateTripResults(action.getRequest(), expectedTablesCount); + if (log.isInfoEnabled()) { + log.info(String.format("Replicate to script (length: %s) :\n%s", StringUtil.convertMemory(scriptFile.length()), scriptFile)); + } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java index 663248d..4f7f20a 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripLonglineTest.java @@ -7,8 +7,9 @@ import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Test; -import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; -import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; +import org.nuiton.topia.service.sql.batch.actions.ReplicateTablesRequest; +import org.nuiton.topia.service.sql.batch.actions.TopiaSqlTableSelectArgument; +import org.nuiton.topia.service.sql.batch.tables.TopiaSqlTables; import java.io.IOException; @@ -21,58 +22,43 @@ import java.io.IOException; public class ReplicateTripLonglineTest extends ReplicateTestSupport { @Test - public void testReplicateAllTripLonglineToDb() throws Exception { - testReplicateToDb(null, ObserveFixtures.ALL_TRIP_LONGLINE_COUNT); + public void testReplicateAllTripLongline() throws Exception { + testReplicate(ObserveFixtures.ALL_TRIP_LONGLINE_COUNT); } @Test - public void testReplicateTripLonline1ToDb() throws Exception { - testReplicateToDb(ObserveFixtures.TRIP_LONGLINE_ID_1, ObserveFixtures.TRIP_LONGLINE_1_TABLES_COUNT); + public void testReplicateAllTripLongline2() throws Exception { + testReplicate(ObserveFixtures.ALL_TRIP_LONGLINE_COUNT, + ObserveFixtures.TRIP_LONGLINE_ID_1, + ObserveFixtures.TRIP_LONGLINE_ID_2, + ObserveFixtures.TRIP_LONGLINE_ID_3); } @Test - public void testReplicateTripLonline2ToDb() throws Exception { - testReplicateToDb(ObserveFixtures.TRIP_LONGLINE_ID_2, ObserveFixtures.TRIP_LONGLINE_2_TABLES_COUNT); + public void testReplicateTripLonline1() throws Exception { + testReplicate(ObserveFixtures.TRIP_LONGLINE_1_TABLES_COUNT, ObserveFixtures.TRIP_LONGLINE_ID_1); } @Test - public void testReplicateTripLonline3ToDb() throws Exception { - testReplicateToDb(ObserveFixtures.TRIP_LONGLINE_ID_3, ObserveFixtures.TRIP_LONGLINE_3_TABLES_COUNT); + public void testReplicateTripLonline2() throws Exception { + testReplicate(ObserveFixtures.TRIP_LONGLINE_2_TABLES_COUNT, ObserveFixtures.TRIP_LONGLINE_ID_2); } @Test - public void testReplicateAllTripLonglineToSql() throws Exception { - testReplicateToSql(null); + public void testReplicateTripLonline3() throws Exception { + testReplicate(ObserveFixtures.TRIP_LONGLINE_3_TABLES_COUNT, ObserveFixtures.TRIP_LONGLINE_ID_3); } - @Test - public void testReplicateTripLonline1ToSql() throws Exception { - testReplicateToSql(ObserveFixtures.TRIP_LONGLINE_ID_1); - } - - @Test - public void testReplicateTripLonline2ToSql() throws Exception { - testReplicateToSql(ObserveFixtures.TRIP_LONGLINE_ID_2); - } - - @Test - public void testReplicateTripLonline3ToSql() throws Exception { - testReplicateToSql(ObserveFixtures.TRIP_LONGLINE_ID_3); - } - - protected void testReplicateToSql(String tripId) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - - ReplicateToSqlActionBuilder actionBuilder = createReplicateToSqlActionBuilder(); - ObserveReplicationTables.addTripLongline(actionBuilder, tripId); - testReplicateToSql0(actionBuilder); - - } + protected void testReplicate(ImmutableMap<String, Long> expectedTablesCount, String... tripIds) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { - protected void testReplicateToDb(String tripId, ImmutableMap<String, Long> expectedTablesCount) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { + TopiaSqlTables tables = dataSourceResource.getTopiaApplicationContext().getTripLonglineTables(); + ReplicateTablesRequest request + = createReplicateTablesRequest(DatabaseName.referentiel) + .setSelectArgument(TopiaSqlTableSelectArgument.of(tripIds)) + .setTables(tables) + .build(); - ReplicateToDbActionBuilder actionBuilder = createReplicateToDbActionBuilder(DatabaseName.referentiel); - ObserveReplicationTables.addTripLongline(actionBuilder, tripId); - testReplicateToDb0(actionBuilder, expectedTablesCount); + testReplicate0(request, expectedTablesCount); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java index e5e0eeb..abfb9db 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/replication/ReplicateTripSeineTest.java @@ -5,10 +5,9 @@ import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Test; -import org.nuiton.topia.replication.sql.action.todb.ReplicateToDbActionBuilder; -import org.nuiton.topia.replication.sql.action.tosql.ReplicateToSqlActionBuilder; - -import java.io.IOException; +import org.nuiton.topia.service.sql.batch.actions.ReplicateTablesRequest; +import org.nuiton.topia.service.sql.batch.actions.TopiaSqlTableSelectArgument; +import org.nuiton.topia.service.sql.batch.tables.TopiaSqlTables; /** * Created on 29/12/15. @@ -19,58 +18,44 @@ import java.io.IOException; public class ReplicateTripSeineTest extends ReplicateTestSupport { @Test - public void testReplicateToDbAllTripSeine() throws Exception { - testReplicateToDb(null, ObserveFixtures.ALL_TRIP_SEINE_COUNT); - } - - @Test - public void testReplicateTripSeine1ToDb() throws Exception { - testReplicateToDb(ObserveFixtures.TRIP_SEINE_ID_1, ObserveFixtures.TRIP_SEINE_1_TABLES_COUNT); - } - - @Test - public void testReplicateTripSeine2ToDb() throws Exception { - testReplicateToDb(ObserveFixtures.TRIP_SEINE_ID_2, ObserveFixtures.TRIP_SEINE_2_TABLES_COUNT); - } - - @Test - public void testReplicateTripSeine3ToDb() throws Exception { - testReplicateToDb(ObserveFixtures.TRIP_SEINE_ID_3, ObserveFixtures.TRIP_SEINE_3_TABLES_COUNT); + public void testReplicateAllTripSeine() throws Exception { + testReplicate(ObserveFixtures.ALL_TRIP_SEINE_COUNT); } @Test - public void testReplicateToSqlScriptAllTripSeine() throws Exception { - testReplicateToSql(null); + public void testReplicateTripSeine1() throws Exception { + testReplicate(ObserveFixtures.TRIP_SEINE_1_TABLES_COUNT, ObserveFixtures.TRIP_SEINE_ID_1); } @Test - public void testReplicateTripSeine1ToSql() throws Exception { - testReplicateToSql(ObserveFixtures.TRIP_SEINE_ID_1); + public void testReplicateAllTripSeine2() throws Exception { + testReplicate(ObserveFixtures.ALL_TRIP_SEINE_COUNT, + ObserveFixtures.TRIP_SEINE_ID_1, + ObserveFixtures.TRIP_SEINE_ID_2, + ObserveFixtures.TRIP_SEINE_ID_3); } @Test - public void testReplicateTripSeine2ToSql() throws Exception { - testReplicateToSql(ObserveFixtures.TRIP_SEINE_ID_2); + public void testReplicateTripSeine2() throws Exception { + testReplicate(ObserveFixtures.TRIP_SEINE_2_TABLES_COUNT, ObserveFixtures.TRIP_SEINE_ID_2); } @Test - public void testReplicateTripSeine3ToSql() throws Exception { - testReplicateToSql(ObserveFixtures.TRIP_SEINE_ID_3); + public void testReplicateTripSeine3() throws Exception { + testReplicate(ObserveFixtures.TRIP_SEINE_3_TABLES_COUNT, ObserveFixtures.TRIP_SEINE_ID_3); } - protected void testReplicateToSql(String tripId) throws IOException { - - ReplicateToSqlActionBuilder actionBuilder = createReplicateToSqlActionBuilder(); - ObserveReplicationTables.addTripSeine(actionBuilder, tripId); - testReplicateToSql0(actionBuilder); + protected void testReplicate(ImmutableMap<String, Long> expectedTablesCount, String... tripIds) throws Exception { - } + TopiaSqlTables tables = dataSourceResource.getTopiaApplicationContext().getTripSeineTables(); - protected void testReplicateToDb(String tripId, ImmutableMap<String, Long> expectedTablesCount) throws Exception { + ReplicateTablesRequest request + = createReplicateTablesRequest(DatabaseName.referentiel) + .setSelectArgument(TopiaSqlTableSelectArgument.of(tripIds)) + .setTables(tables) + .build(); - ReplicateToDbActionBuilder actionBuilder = createReplicateToDbActionBuilder(DatabaseName.referentiel); - ObserveReplicationTables.addTripSeine(actionBuilder, tripId); - testReplicateToDb0(actionBuilder, expectedTablesCount); + testReplicate0(request, expectedTablesCount); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopiaTest.java index 7989941..6c81da2 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopiaTest.java @@ -50,7 +50,7 @@ public class SqlScriptProducerServiceTopiaTest extends AbstractServiceTopiaTest @Test public void testProduceTripSeine() throws Exception { - produce(SqlScriptProducerRequest.forPostgres().addSchema().addReferential().addAllData()); +// produce(SqlScriptProducerRequest.forPostgres().addSchema().addReferential().addAllData()); produce(SqlScriptProducerRequest.forPostgres().addSchema().addReferential().addDataIds(ObserveFixtures.TRIP_SEINE_IDS)); } @@ -60,7 +60,7 @@ public class SqlScriptProducerServiceTopiaTest extends AbstractServiceTopiaTest public void testProduceTripLongline() throws Exception { produce(SqlScriptProducerRequest.forH2().addSchema().addReferential().addAllData()); - produce(SqlScriptProducerRequest.forH2().addSchema().addReferential().addDataIds(ObserveFixtures.TRIP_LONGLINE_IDS)); +// produce(SqlScriptProducerRequest.forH2().addSchema().addReferential().addDataIds(ObserveFixtures.TRIP_LONGLINE_IDS)); } diff --git a/observe-services-topia/src/test/resources/log4j.properties b/observe-services-topia/src/test/resources/log4j.properties index fb23e8d..bfb1f61 100644 --- a/observe-services-topia/src/test/resources/log4j.properties +++ b/observe-services-topia/src/test/resources/log4j.properties @@ -30,5 +30,5 @@ log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%c:%L) %M - %m%n #log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) %M - %m%n log4j.logger.fr.ird.observe=INFO -log4j.logger.org.nuiton.topia.replication.sql=DEBUG +log4j.logger.org.nuiton.topia.service.sql=DEBUG log4j.logger.org.nuiton.topia.persistence.util.TopiaEntityHelper=INFO diff --git a/pom.xml b/pom.xml index 0eff8c7..7b24e45 100644 --- a/pom.xml +++ b/pom.xml @@ -450,6 +450,12 @@ </dependency> <dependency> <groupId>org.nuiton.topia</groupId> + <artifactId>topia-service-sql-batch</artifactId> + <version>${topiaVersion}</version> + <scope>compile</scope> + </dependency> + <dependency> + <groupId>org.nuiton.topia</groupId> <artifactId>topia-service-replication</artifactId> <version>${topiaVersion}</version> <scope>test</scope> -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit cde7980fbe0fa80be9fa07015fc82e4111c2058b Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Jan 8 20:03:08 2016 +0100 clean code --- .../src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java index a3f229c..0b87c42 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -460,11 +460,8 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat @Override public boolean acceptAssociation(TopiaMetadataEntity metadataEntity, String propertyName, TopiaMetadataEntity propertyType) { - if (sectionsHolders.contains(propertyType.getType()) && sections.contains(metadataEntity.getType())) { - return false; - } + return !(sectionsHolders.contains(propertyType.getType()) && sections.contains(metadataEntity.getType())); - return true; } @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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 22aa205b2ad54e7bb850844a48c5dcdc2d0a1097 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Jan 9 08:41:46 2016 +0100 Ne plus utiliser l'ancien moteur de réplication de topia --- .../fr/ird/observe/db/ObserveSwingDataSource.java | 5 + .../fr/ird/observe/ui/admin/AdminTabUIHandler.java | 6 +- .../observe/ui/admin/save/SaveLocalUIHandler.java | 6 +- .../ird/observe/ui/storage/StorageUIHandler.java | 13 +- .../fr/ird/observe/ui/storage/StorageUIModel.java | 5 +- .../DataSourceDumpProducerServiceController.java | 29 --- observe-entities/pom.xml | 4 - .../observe/ObserveTopiaApplicationContext.java | 52 ++-- .../observe/ObserveTopiaConfigurationFactory.java | 2 - .../service/DataSourceDumpProducerService.java | 41 ---- .../services/service/SqlScriptProducerService.java | 6 + observe-services-topia/pom.xml | 4 - .../ird/observe/services/ObserveServiceTopia.java | 261 ++++++++------------- .../DataSourceDumpProducerServiceTopia.java | 150 ------------ .../services/service/DataSourceServiceTopia.java | 88 +++---- .../service/SqlScriptProducerServiceTopia.java | 18 ++ .../DataSourceDumpProducerServiceTopiaTest.java | 74 ------ .../services/service/MigrateTestsDatabases.java | 2 +- pom.xml | 6 - 19 files changed, 203 insertions(+), 569 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 738ede9..d8bdc53 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 @@ -32,6 +32,7 @@ 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.ReferentialService; +import fr.ird.observe.services.service.SqlScriptProducerService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; @@ -284,6 +285,10 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements return connection != null; } + public SqlScriptProducerService newSqlScriptProducerService() { + return newService(SqlScriptProducerService.class); + } + public <S extends ObserveService> S newService(Class<S> serviceType) { ObserveServiceInitializer observeServiceInitializer = getObserveServiceInitializer(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java index ac8bd12..9c2a7fa 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/AdminTabUIHandler.java @@ -27,10 +27,10 @@ import fr.ird.observe.ObserveSwingApplicationContext; import fr.ird.observe.db.ObserveSwingDataSource; import fr.ird.observe.services.dto.ImportDataDto; import fr.ird.observe.services.service.BabModelVersionException; -import fr.ird.observe.services.service.DataSourceDumpProducerService; 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.SqlScriptProducerService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.admin.config.SelectDataUI; import fr.ird.observe.ui.admin.resume.ShowResumeUI; @@ -124,12 +124,12 @@ public class AdminTabUIHandler { openSource(source); - DataSourceDumpProducerService dataSourceDumpProducerService = source.newService(DataSourceDumpProducerService.class); + SqlScriptProducerService sqlScriptProducerService = source.newSqlScriptProducerService(); // on replique les données specifiees ImmutableSet<String> dataIds = ImmutableSet.<String>copyOf(tripIds); - byte[] dataDump = dataSourceDumpProducerService.getDataDump(dataIds); + byte[] dataDump = sqlScriptProducerService.getDataDump(dataIds); source.close(); diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java index 68944d6..6bef01e 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/admin/save/SaveLocalUIHandler.java @@ -22,7 +22,8 @@ package fr.ird.observe.ui.admin.save; import fr.ird.observe.db.ObserveSwingDataSource; -import fr.ird.observe.services.service.DataSourceDumpProducerService; +import fr.ird.observe.services.service.SqlScriptProducerRequest; +import fr.ird.observe.services.service.SqlScriptProducerService; import fr.ird.observe.ui.UIHelper; import fr.ird.observe.ui.admin.AdminStep; import fr.ird.observe.ui.admin.AdminTabUIHandler; @@ -160,8 +161,7 @@ public class SaveLocalUIHandler extends AdminTabUIHandler { // on effectue une sauvegarde de la base locale File backupFile = stepModel.getBackupFile(); - DataSourceDumpProducerService dumpService = source.newService(DataSourceDumpProducerService.class); - + SqlScriptProducerService dumpService = source.newSqlScriptProducerService(); byte[] dump = dumpService.getAllDataDump(); try (FileOutputStream outputStream = new FileOutputStream(backupFile)) { 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 8f253a7..1c8769d 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 @@ -44,9 +44,10 @@ import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.ObserveDbUserDto; import fr.ird.observe.services.service.BabModelVersionException; -import fr.ird.observe.services.service.DataSourceDumpProducerService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; +import fr.ird.observe.services.service.SqlScriptProducerRequest; +import fr.ird.observe.services.service.SqlScriptProducerService; import fr.ird.observe.ui.DecoratorService; import fr.ird.observe.ui.ObserveMainUI; import fr.ird.observe.ui.UIHelper; @@ -422,7 +423,7 @@ public class StorageUIHandler { log.debug(">>> do backup with " + localDataSource + " in " + f); } try { - DataSourceDumpProducerService dumpProducerService = localDataSource.newService(DataSourceDumpProducerService.class); + SqlScriptProducerService dumpProducerService = localDataSource.newSqlScriptProducerService(); backupLocalDatabase(dumpProducerService, f); } catch (Exception e) { ErrorDialogUI.showError(e); @@ -528,7 +529,7 @@ public class StorageUIHandler { " in " + f); } try { - DataSourceDumpProducerService dumpProducerService = observeContext.newService(DataSourceDumpProducerService.class); + SqlScriptProducerService dumpProducerService = observeContext.newService(SqlScriptProducerService.class); backupLocalDatabase(dumpProducerService, f); config.setInitialDumpExist(true); } catch (Exception e) { @@ -599,10 +600,10 @@ public class StorageUIHandler { /** * Effectue une sauvegarde de la base locale vers le fichier choisi. - * @param dumpProducerService le service de dump + * @param dumpProducerService le service de dump * @param dst le fichier de sauvegarde */ - public void backupLocalDatabase(DataSourceDumpProducerService dumpProducerService, File dst) { + public void backupLocalDatabase(SqlScriptProducerService dumpProducerService, File dst) { if (dst == null) { throw new IllegalArgumentException( "file where to backup can not be null"); @@ -640,7 +641,7 @@ public class StorageUIHandler { File dst, Set<DataReference> trips) { - DataSourceDumpProducerService dumpService = dataSource.newService(DataSourceDumpProducerService.class); + SqlScriptProducerService dumpService = dataSource.newService(SqlScriptProducerService.class); if (trips == null) { diff --git a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java index 8b5b53c..1a11126 100644 --- a/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java +++ b/observe-application-swing/src/main/java/fr/ird/observe/ui/storage/StorageUIModel.java @@ -45,10 +45,10 @@ import fr.ird.observe.services.security.UnknownObserveWebUserForDatabaseExceptio import fr.ird.observe.services.security.UserLoginNotFoundException; import fr.ird.observe.services.security.UserPasswordNotFoundException; import fr.ird.observe.services.service.BabModelVersionException; -import fr.ird.observe.services.service.DataSourceDumpProducerService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.PingService; +import fr.ird.observe.services.service.SqlScriptProducerService; import fr.ird.observe.ui.storage.tabs.DataSelectionModel; import fr.ird.observe.ui.storage.tabs.SecurityModel; import jaxx.runtime.JAXXContext; @@ -1589,7 +1589,8 @@ public class StorageUIModel extends WizardModel<StorageStep> { source.open(); - DataSourceDumpProducerService dumpService = source.newService(DataSourceDumpProducerService.class); + SqlScriptProducerService dumpService = source.newService(SqlScriptProducerService.class); + byte[] dump = dumpService.getReferentialDump(); result.setImportDatabase(dump); } diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/DataSourceDumpProducerServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/DataSourceDumpProducerServiceController.java deleted file mode 100644 index d93f13d..0000000 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/DataSourceDumpProducerServiceController.java +++ /dev/null @@ -1,29 +0,0 @@ -package fr.ird.observe.application.web.controller.v1; - -import com.google.common.collect.ImmutableSet; -import fr.ird.observe.services.service.DataSourceDumpProducerService; - -/** - * @author Sylvain Bavencoff - bavencoff@codelutin.com - */ -public class DataSourceDumpProducerServiceController extends ObserveAuthenticatedServiceControllerSupport<DataSourceDumpProducerService> implements DataSourceDumpProducerService{ - - public DataSourceDumpProducerServiceController() { - super(DataSourceDumpProducerService.class); - } - - @Override - public byte[] getReferentialDump() { - return service.getReferentialDump(); - } - - @Override - public byte[] getAllDataDump() { - return service.getAllDataDump(); - } - - @Override - public byte[] getDataDump(ImmutableSet<String> importDataIds) { - return service.getDataDump(importDataIds); - } -} diff --git a/observe-entities/pom.xml b/observe-entities/pom.xml index 48faece..4068b05 100644 --- a/observe-entities/pom.xml +++ b/observe-entities/pom.xml @@ -99,10 +99,6 @@ </dependency> <dependency> <groupId>org.nuiton.topia</groupId> - <artifactId>topia-service-replication</artifactId> - </dependency> - <dependency> - <groupId>org.nuiton.topia</groupId> <artifactId>topia-service-sql-batch</artifactId> <scope>compile</scope> </dependency> diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java index 0b87c42..8484845 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -25,16 +25,15 @@ package fr.ird.observe; import com.google.common.collect.ImmutableSet; import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.migration.ObserveMigrationEngine; +import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.HibernateException; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; import org.nuiton.topia.persistence.jdbc.JdbcHelper; import org.nuiton.topia.persistence.metadata.TopiaMetadataEntity; -import org.nuiton.topia.replication.TopiaReplicationService; import org.nuiton.topia.service.sql.batch.TopiaSqlBatchService; import org.nuiton.topia.service.sql.batch.tables.TopiaSqlTables; import org.nuiton.topia.service.sql.batch.tables.TopiaSqlTablesFactory; @@ -42,11 +41,9 @@ import org.nuiton.util.GZUtil; import java.io.BufferedInputStream; import java.io.ByteArrayInputStream; -import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.nio.file.Files; -import java.nio.file.Path; +import java.io.InputStreamReader; +import java.io.StringWriter; import java.util.LinkedHashSet; import java.util.Objects; import java.util.Set; @@ -62,8 +59,6 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat public static final String MIGRATION_SERVICE_NAME = "migration"; - public static final String REPLICATION_SERVICE_NAME = "replication"; - public static final String SQL_BATCH_SERVICE_NAME = "sqlBatch"; public static final String DB_VERSION = "db.version"; @@ -112,10 +107,6 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat return getServices(ObserveMigrationEngine.class).get(MIGRATION_SERVICE_NAME); } - public TopiaReplicationService getReplicationService() { - return getServices(TopiaReplicationService.class).get(REPLICATION_SERVICE_NAME); - } - public TopiaSqlBatchService getSqlBatchService() { return getServices(TopiaSqlBatchService.class).get(SQL_BATCH_SERVICE_NAME); } @@ -140,41 +131,30 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat } } - public void executeSqlStatements(File temporaryDirectory, byte... content) throws IOException { + public void executeSqlStatements(byte... content) throws IOException { - Path sqlScriptFile = new File(temporaryDirectory, "script_" + System.nanoTime() + ".sql").toPath(); - - if (log.isInfoEnabled()) { - log.info("script: " + sqlScriptFile); - } boolean gzip; try (ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(content)) { gzip = GZUtil.isGzipStream(byteArrayInputStream); } - if (gzip) { - try (InputStream inputSream = new BufferedInputStream(new GZIPInputStream(new ByteArrayInputStream(content)))) { - Files.copy(inputSream, sqlScriptFile); - } - } else { - try (InputStream inputSream = new BufferedInputStream(new ByteArrayInputStream(content))) { - Files.copy(inputSream, sqlScriptFile); - } - } - - ObserveTopiaConfiguration topiaConfiguration = getConfiguration(); - if (topiaConfiguration.isH2Configuration()) { - - JdbcH2Helper jdbcH2Helper = new JdbcH2Helper(topiaConfiguration); - jdbcH2Helper.restore(sqlScriptFile.toFile()); - - } else { + try (StringWriter writer = new StringWriter()) { + if (gzip) { + try (InputStreamReader inputSream = new InputStreamReader(new BufferedInputStream(new GZIPInputStream(new ByteArrayInputStream(content))))) { + IOUtils.copyLarge(inputSream, writer); + } + } else { + try (InputStreamReader inputSream = new InputStreamReader(new BufferedInputStream(new ByteArrayInputStream(content)))) { + IOUtils.copyLarge(inputSream, writer); + } + } - String sqlScript = new String(Files.readAllBytes(sqlScriptFile)); + String sqlScript = writer.toString(); try (ObserveTopiaPersistenceContext persistenceContext = newPersistenceContext()) { persistenceContext.getSqlSupport().executeSql(sqlScript); + persistenceContext.commit(); } } diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java index 19ec009..33f8796 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaConfigurationFactory.java @@ -29,7 +29,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; import org.nuiton.topia.persistence.jdbc.JdbcConfigurationBuilder; -import org.nuiton.topia.replication.TopiaReplicationServiceImpl; import org.nuiton.topia.service.sql.batch.TopiaSqlBatchServiceImpl; import java.io.File; @@ -152,7 +151,6 @@ public class ObserveTopiaConfigurationFactory { ObserveMigrationEngine.MIGRATION_SHOW_SQL, String.valueOf(showMigrationSql) ); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); - topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.SQL_BATCH_SERVICE_NAME, TopiaSqlBatchServiceImpl.class); return topiaConfiguration; diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerService.java deleted file mode 100644 index d214a7c..0000000 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerService.java +++ /dev/null @@ -1,41 +0,0 @@ -package fr.ird.observe.services.service; - -/* - * #%L - * ObServe :: Services API - * %% - * 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 fr.ird.observe.services.ObserveService; - -/** - * Created on 23/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public interface DataSourceDumpProducerService extends ObserveService { - - byte[] getReferentialDump(); - - byte[] getAllDataDump(); - - byte[] getDataDump(ImmutableSet<String> importDataIds); - -} diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java index cf37249..a010d62 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/SqlScriptProducerService.java @@ -1,5 +1,6 @@ package fr.ird.observe.services.service; +import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.ObserveService; /** @@ -10,4 +11,9 @@ public interface SqlScriptProducerService extends ObserveService { byte[] produceSqlScript(SqlScriptProducerRequest request); + byte[] getReferentialDump(); + + byte[] getDataDump(ImmutableSet<String> dataIds); + + byte[] getAllDataDump(); } diff --git a/observe-services-topia/pom.xml b/observe-services-topia/pom.xml index b0d84d5..0c1fb99 100644 --- a/observe-services-topia/pom.xml +++ b/observe-services-topia/pom.xml @@ -107,10 +107,6 @@ </dependency> <dependency> <groupId>org.nuiton.topia</groupId> - <artifactId>topia-service-replication</artifactId> - </dependency> - <dependency> - <groupId>org.nuiton.topia</groupId> <artifactId>topia-service-sql-batch</artifactId> </dependency> 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 91cf69a..d7cddef 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 @@ -25,26 +25,18 @@ package fr.ird.observe.services; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableSet; -import com.google.common.collect.Multimap; -import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.entities.ObserveEntity; -import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; 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.Form; import fr.ird.observe.services.dto.IdDto; -import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ReferentialDto; @@ -54,31 +46,27 @@ import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.SaveResultDtos; 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.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; 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.List; import java.util.Locale; -import java.util.Set; /** * Support pour toute implantation d'un service ToPIA. - * + * <p> * Created on 16/08/15. * * @author Tony Chemit - chemit@codelutin.com */ public abstract class ObserveServiceTopia implements ObserveService { - /** Logger. */ + /** + * Logger. + */ private static final Log log = LogFactory.getLog(ObserveServiceTopia.class); protected static final BinderEngine BINDER_ENGINE = BinderEngine.get(); @@ -191,13 +179,13 @@ public abstract class ObserveServiceTopia implements ObserveService { } protected <E extends ObserveDataEntity, D extends DataDto> Form<D> dataEntityToForm(Class<D> dtoType, - E entity, - ReferenceSetRequestDefinitions referentialRequestDefinition) { + E entity, + ReferenceSetRequestDefinitions referentialRequestDefinition) { D dto = BINDER_ENGINE.transformEntityToDataDto(serviceContext.getReferentialLocale(), dtoType, entity); Form<D> form = Form.newFormDto(dtoType, dto, referentialRequestDefinition == null ? null : - referentialRequestDefinition.name(), null); + referentialRequestDefinition.name(), null); return form; } @@ -209,7 +197,7 @@ public abstract class ObserveServiceTopia implements ObserveService { D dto = BINDER_ENGINE.transformEntityToReferentialDto(serviceContext.getReferentialLocale(), entity); Form<D> form = Form.newFormDto(dtoType, dto, referentialRequestDefinition == null ? null : - referentialRequestDefinition.name(), null); + referentialRequestDefinition.name(), null); return form; } @@ -284,150 +272,95 @@ public abstract class ObserveServiceTopia implements ObserveService { return serviceContext.now(); } - protected ObserveDataSourceConfigurationTopiaH2 createTemporaryDatabaseFromDump(String prefix, byte... importContent) { - ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); - temporaryDataSourceConfiguration.setDbName("obstuna"); - temporaryDataSourceConfiguration.setLabel(prefix); - temporaryDataSourceConfiguration.setUsername("sa"); - temporaryDataSourceConfiguration.setPassword('s', 'a'); - File temporaryDataSourceDirectory = serviceContext.createTemporaryDirectory(prefix); - temporaryDataSourceConfiguration.setDirectory(temporaryDataSourceDirectory); - - DataSourceService dataSourceService = serviceContext.newService(temporaryDataSourceConfiguration, DataSourceService.class); - - try { - DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); - dataSourceCreateConfiguration.setImportDatabase(importContent); - dataSourceService.create(temporaryDataSourceConfiguration, dataSourceCreateConfiguration); - } catch (IncompatibleDataSourceCreateConfigurationException | DataSourceCreateWithNoReferentialImportException e) { - //FIXME Avoir une exception plus concrete - throw new RuntimeException("Could not create temporary database: " + prefix, e); - } - - return temporaryDataSourceConfiguration; - } - - protected ObserveDataSourceConfigurationTopiaH2 createTemporaryDatabase(String prefix) { - - ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); - temporaryDataSourceConfiguration.setDbName("obstuna"); - temporaryDataSourceConfiguration.setLabel(prefix); - temporaryDataSourceConfiguration.setUsername("sa"); - temporaryDataSourceConfiguration.setPassword('s', 'a'); - File temporaryDataSourceDirectory = serviceContext.createTemporaryDirectory(prefix); - temporaryDataSourceConfiguration.setDirectory(temporaryDataSourceDirectory); - - DataSourceService dataSourceService = serviceContext.newService(temporaryDataSourceConfiguration, DataSourceService.class); - - try { - DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); - dataSourceCreateConfiguration.setCanCreateEmptyDatabase(true); - dataSourceService.create(temporaryDataSourceConfiguration, dataSourceCreateConfiguration); - } catch (IncompatibleDataSourceCreateConfigurationException | DataSourceCreateWithNoReferentialImportException e) { - //FIXME Avoir une exception plus concrete - throw new RuntimeException("Could not create temporary database: " + prefix, e); - } - - return temporaryDataSourceConfiguration; - - } - - protected void replicateReferential(ObserveTopiaApplicationContext sourceTopiaApplicationContext, ObserveTopiaApplicationContext temporaryTopiaApplicationContext) { - - long t0 = System.nanoTime(); - - TopiaReplicationService service = sourceTopiaApplicationContext.getReplicationService(); - ReplicationModel model = service.prepareForAll(Entities.REFERENCE_ENTITIES); - - try { - service.doReplicate(model, temporaryTopiaApplicationContext); - } catch (Exception e) { - //TODO Avoir une exception concrete - throw new RuntimeException("Could not replicate referantial", e); - } - - - if (log.isInfoEnabled()) { - log.info(String.format("Referential replication done in %s", StringUtil.convertTime(t0, System.nanoTime()))); - } - - } - - protected void replicateData(ObserveTopiaApplicationContext sourceTopiaApplicationContext, - ObserveTopiaApplicationContext temporaryTopiaApplicationContext, - Set<String> ids) { - try { - - - for (String id : ids) { - long t1 = System.nanoTime(); - - replicateOneData(sourceTopiaApplicationContext, temporaryTopiaApplicationContext, id); - - if (log.isInfoEnabled()) { - log.info(String.format("Data replication [%s] done in %s", id, StringUtil.convertTime(t1, System.nanoTime()))); - } - } - - } catch (Exception e) { - throw new RuntimeException("Could not replicate data", e); - } - } - - /** - * Duplication de l'unique donnée observateur depuis ce service vers le service donné. - * - * La duplication utilise une transaction dédiée afin de ne pas saturer le serveur - * et aussi une meilleure maitrise du rollback en cas d'une erreur. - * - * Voir http://forge.codelutin.com/issues/4837 - * - * @param id l'id de la donnée à répliquer - */ - protected void replicateOneData(ObserveTopiaApplicationContext sourceTopiaApplicationContext, ObserveTopiaApplicationContext temporaryTopiaApplicationContext, String id) { - - TopiaReplicationService service = sourceTopiaApplicationContext.getReplicationService(); - - ReplicationModel model = service.prepare(Entities.DATA_ENTITIES, false, id); - - // To fix missing tdr associations (see https://forge.codelutin.com/issues/6611) - Multimap<String, String> tdrAssociation = null; - - try (ObserveTopiaPersistenceContext sourcePersistenceContext = sourceTopiaApplicationContext.newPersistenceContext()) { - - ObserveEntity e = sourcePersistenceContext.findByTopiaId(id); - - if (e instanceof TripLongline) { - - // Grab tdr missing associations (see https://forge.codelutin.com/issues/6611) - if (log.isInfoEnabled()) { - log.info("Should keep SetLongline - Tdr association ids for: " + id); - } - - tdrAssociation = sourcePersistenceContext.getTdrDao().getTdrIdsBySeineIds((TripLongline) e); - - } - - } - - // do the replicate - try { - service.doReplicate(model, temporaryTopiaApplicationContext); - } catch (Exception e) { - throw new RuntimeException("Could not replicate data: " + id, e); - } - - if (tdrAssociation != null) { - - // Apply back tdr missing associations (see https://forge.codelutin.com/issues/6611) - try (ObserveTopiaPersistenceContext temporaryPersistenceContext = temporaryTopiaApplicationContext.newPersistenceContext()) { - - temporaryPersistenceContext.getTdrDao().applyTdrAssociationFix(tdrAssociation); - - } - - } - } +// protected ObserveDataSourceConfigurationTopiaH2 createTemporaryDatabaseFromDump(String prefix, byte... importContent) { +// ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); +// temporaryDataSourceConfiguration.setDbName("obstuna"); +// temporaryDataSourceConfiguration.setLabel(prefix); +// temporaryDataSourceConfiguration.setUsername("sa"); +// temporaryDataSourceConfiguration.setPassword('s', 'a'); +// File temporaryDataSourceDirectory = serviceContext.createTemporaryDirectory(prefix); +// temporaryDataSourceConfiguration.setDirectory(temporaryDataSourceDirectory); +// +// DataSourceService dataSourceService = serviceContext.newService(temporaryDataSourceConfiguration, DataSourceService.class); +// +// try { +// DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); +// dataSourceCreateConfiguration.setImportDatabase(importContent); +// dataSourceService.create(temporaryDataSourceConfiguration, dataSourceCreateConfiguration); +// } catch (IncompatibleDataSourceCreateConfigurationException | DataSourceCreateWithNoReferentialImportException e) { +// //FIXME Avoir une exception plus concrete +// throw new RuntimeException("Could not create temporary database: " + prefix, e); +// } +// +// return temporaryDataSourceConfiguration; +// } +// +// protected ObserveDataSourceConfigurationTopiaH2 createTemporaryDatabase(String prefix) { +// +// ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); +// temporaryDataSourceConfiguration.setDbName("obstuna"); +// temporaryDataSourceConfiguration.setLabel(prefix); +// temporaryDataSourceConfiguration.setUsername("sa"); +// temporaryDataSourceConfiguration.setPassword('s', 'a'); +// File temporaryDataSourceDirectory = serviceContext.createTemporaryDirectory(prefix); +// temporaryDataSourceConfiguration.setDirectory(temporaryDataSourceDirectory); +// +// DataSourceService dataSourceService = serviceContext.newService(temporaryDataSourceConfiguration, DataSourceService.class); +// +// try { +// DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); +// dataSourceCreateConfiguration.setCanCreateEmptyDatabase(true); +// dataSourceService.create(temporaryDataSourceConfiguration, dataSourceCreateConfiguration); +// } catch (IncompatibleDataSourceCreateConfigurationException | DataSourceCreateWithNoReferentialImportException e) { +// //FIXME Avoir une exception plus concrete +// throw new RuntimeException("Could not create temporary database: " + prefix, e); +// } +// +// return temporaryDataSourceConfiguration; +// +// } + +// protected void replicateReferential(ObserveTopiaApplicationContext sourceTopiaApplicationContext, ObserveTopiaApplicationContext temporaryTopiaApplicationContext) { +// +// long t0 = System.nanoTime(); +// +// TopiaReplicationService service = sourceTopiaApplicationContext.getReplicationService(); +// ReplicationModel model = service.prepareForAll(Entities.REFERENCE_ENTITIES); +// +// try { +// service.doReplicate(model, temporaryTopiaApplicationContext); +// } catch (Exception e) { +// //TODO Avoir une exception concrete +// throw new RuntimeException("Could not replicate referantial", e); +// } +// +// +// if (log.isInfoEnabled()) { +// log.info(String.format("Referential replication done in %s", StringUtil.convertTime(t0, System.nanoTime()))); +// } +// +// } + +// protected void replicateData(ObserveTopiaApplicationContext sourceTopiaApplicationContext, +// ObserveTopiaApplicationContext temporaryTopiaApplicationContext, +// Set<String> ids) { +// try { +// +// +// for (String id : ids) { +// long t1 = System.nanoTime(); +// +// replicateOneData(sourceTopiaApplicationContext, temporaryTopiaApplicationContext, id); +// +// if (log.isInfoEnabled()) { +// log.info(String.format("Data replication [%s] done in %s", id, StringUtil.convertTime(t1, System.nanoTime()))); +// } +// } +// +// } catch (Exception e) { +// throw new RuntimeException("Could not replicate data", e); +// } +// } protected <D extends DataDto, E extends ObserveDataEntity> D loadEntityToDataDto(Class<D> dtoType, String id) { diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopia.java deleted file mode 100644 index 9efe7be..0000000 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopia.java +++ /dev/null @@ -1,150 +0,0 @@ -package fr.ird.observe.services.service; - -/* - * #%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 fr.ird.observe.ObserveTopiaApplicationContext; -import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.services.ObserveServiceTopia; -import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; -import org.nuiton.util.StringUtil; - -import java.io.IOException; -import java.nio.file.Files; -import java.nio.file.Path; -import java.util.List; - -/** - * Created on 23/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class DataSourceDumpProducerServiceTopia extends ObserveServiceTopia implements DataSourceDumpProducerService { - - /** Logger. */ - private static final Log log = LogFactory.getLog(DataSourceDumpProducerServiceTopia.class); - - protected static final String EXPORT_SQL_STATEMENT = "SCRIPT NOPASSWORDS NOSETTINGS TO '%s' COMPRESSION GZIP CHARSET 'UTF-8' SCHEMA OBSERVE_COMMON, OBSERVE_SEINE, OBSERVE_LONGLINE, PUBLIC;"; - - @Override - public byte[] getReferentialDump() { - - long t0 = System.nanoTime(); - - ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = createTemporaryDatabase("referentialDump"); - - if (log.isInfoEnabled()) { - log.info(String.format("Referential temporary database created in %s", StringUtil.convertTime(t0, System.nanoTime()))); - } - - ObserveTopiaApplicationContext sourceTopiaApplicationContext = serviceContext.getTopiaApplicationContext(); - ObserveTopiaApplicationContext temporaryTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(temporaryDataSourceConfiguration); - - replicateReferential(sourceTopiaApplicationContext, temporaryTopiaApplicationContext); - - Path dumpFile = exportToFile(temporaryDataSourceConfiguration, temporaryTopiaApplicationContext); - - byte[] content = getBytes(dumpFile); - return content; - - } - - @Override - public byte[] getAllDataDump() { - - ImmutableSet.Builder<String> builder = ImmutableSet.builder(); - List<String> tripSeineIds = getTopiaPersistenceContext().getTripSeineDao().findAllIds(); - builder.addAll(tripSeineIds); - List<String> tripLonglineIds = getTopiaPersistenceContext().getTripLonglineDao().findAllIds(); - builder.addAll(tripLonglineIds); - - ImmutableSet<String> ids = builder.build(); - byte[] content = getDataDump(ids); - return content; - - } - - @Override - public byte[] getDataDump(ImmutableSet<String> importDataIds) { - - long t0 = System.nanoTime(); - - ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = createTemporaryDatabase("referentialDump"); - - if (log.isInfoEnabled()) { - log.info(String.format("Data temporary database created in %s", StringUtil.convertTime(t0, System.nanoTime()))); - } - - ObserveTopiaApplicationContext temporaryTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(temporaryDataSourceConfiguration); - ObserveTopiaApplicationContext sourceTopiaApplicationContext = serviceContext.getTopiaApplicationContext(); - - replicateReferential(sourceTopiaApplicationContext, temporaryTopiaApplicationContext); - - t0 = System.nanoTime(); - - replicateData(sourceTopiaApplicationContext, temporaryTopiaApplicationContext, importDataIds); - - if (log.isInfoEnabled()) { - log.info(String.format("Data replication for %s data done in %s", importDataIds.size(), StringUtil.convertTime(t0, System.nanoTime()))); - } - - Path dumpFile = exportToFile(temporaryDataSourceConfiguration, temporaryTopiaApplicationContext); - - byte[] content = getBytes(dumpFile); - return content; - - } - - protected Path exportToFile(ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration, - ObserveTopiaApplicationContext temporaryTopiaApplicationContext) { - - Path dumpFile = temporaryDataSourceConfiguration.getDirectory().toPath().resolve("dump.sql"); - - if (log.isInfoEnabled()) { - log.info("Export sql to file: " + dumpFile); - } - try (ObserveTopiaPersistenceContext temporaryPersistenceContext = temporaryTopiaApplicationContext.newPersistenceContext()) { - - String scriptSqlQuery = String.format(EXPORT_SQL_STATEMENT, dumpFile); - - temporaryPersistenceContext.getSqlSupport().executeSql(scriptSqlQuery); - - } - return dumpFile; - - } - - protected byte[] getBytes(Path dumpFile) { - try { - byte[] content = Files.readAllBytes(dumpFile); - return content; - } catch (IOException e) { - //TODO Avoir une exception concrete - throw new RuntimeException("Could not read file " + dumpFile + " content", e); - } - } - -} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java index 2577552..f679560 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java @@ -63,7 +63,9 @@ import static org.nuiton.i18n.I18n.l; */ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataSourceService { - /** Logger. */ + /** + * Logger. + */ private static final Log log = LogFactory.getLog(DataSourceServiceTopia.class); @Override @@ -98,12 +100,12 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS // On tente une connection à la base ObserveTopiaConfiguration topiaConfiguration = ObserveTopiaConfigurationFactory.forH2Database(h2DataSourceConfiguration.getDirectory(), - h2DataSourceConfiguration.getDbName(), - h2DataSourceConfiguration.getUsername(), - new String(h2DataSourceConfiguration.getPassword()), - false, + h2DataSourceConfiguration.getDbName(), + h2DataSourceConfiguration.getUsername(), + new String(h2DataSourceConfiguration.getPassword()), false, - false); + false, + false); try { @@ -124,11 +126,11 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS ObserveDataSourceConfigurationTopiaPG pgDataSourceConfiguration = (ObserveDataSourceConfigurationTopiaPG) dataSourceConfigurationTopiaSupport; // On tente une connexion au serveur ObserveTopiaConfiguration topiaConfiguration = ObserveTopiaConfigurationFactory.forPostgresqlDatabase(pgDataSourceConfiguration.getJdbcUrl(), - pgDataSourceConfiguration.getUsername(), - new String(pgDataSourceConfiguration.getPassword()), - false, + pgDataSourceConfiguration.getUsername(), + new String(pgDataSourceConfiguration.getPassword()), + false, false, - false); + false); try { new JdbcHelper(topiaConfiguration).runSelectOnString("SELECT 1;"); @@ -166,7 +168,7 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS } byte[] importDatabase = dataSourceCreateConfiguration.getImportDatabase(); - executeGzipSqlStatements(topiaApplicationContext, "ImportDatabase_" + dataSourceConfiguration.getLabel(), importDatabase); + executeGzipSqlStatements(topiaApplicationContext, importDatabase); topiaApplicationContext.getMigrationService().runSchemaMigration(); @@ -198,15 +200,9 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS ObserveDataSourceConfiguration importDataSourceConfiguration = dataSourceCreateConfiguration.getImportReferentialDataSourceConfiguration(); // Récupération du dump qui contient le référentiel - DataSourceDumpProducerService dumpProducerService = serviceContext.newService(importDataSourceConfiguration, DataSourceDumpProducerService.class); + SqlScriptProducerService dumpProducerService = serviceContext.newService(importDataSourceConfiguration, SqlScriptProducerService.class); byte[] referentialDump = dumpProducerService.getReferentialDump(); - - // création d'une base temporaire pour y importer le référentiel - ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = createTemporaryDatabaseFromDump("ImportReferential", referentialDump); - ObserveTopiaApplicationContext temporaryTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(temporaryDataSourceConfiguration); - - // Réplication du référentiel - replicateReferential(temporaryTopiaApplicationContext, topiaApplicationContext); + executeGzipSqlStatements(topiaApplicationContext, referentialDump); referantialImported = true; @@ -216,33 +212,37 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS if (importData) { ObserveDataSourceConfiguration importDataSourceConfiguration = dataSourceCreateConfiguration.getImportDataDataSourceConfiguration(); - ImmutableSet<String> importDataIds = dataSourceCreateConfiguration.getImportDataIds(); + SqlScriptProducerService dumpProducerService = serviceContext.newService(importDataSourceConfiguration, SqlScriptProducerService.class); - // Récupération du dump qui contient le référentiel et les données - DataSourceDumpProducerService dumpProducerService = serviceContext.newService(importDataSourceConfiguration, DataSourceDumpProducerService.class); - byte[] dataDump = dumpProducerService.getDataDump(importDataIds); + if (!referantialImported) { - // création d'une base temporaire pour y importer le référentiel et les données - ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = createTemporaryDatabaseFromDump("ImportData", dataDump); - ObserveTopiaApplicationContext temporaryTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(temporaryDataSourceConfiguration); + if (log.isInfoEnabled()) { + log.info("Get referential."); + } - if (!referantialImported) { + // Réplication du référentiel + byte[] referentialDump = dumpProducerService.getReferentialDump(); if (log.isInfoEnabled()) { log.info("Import referential."); } + executeGzipSqlStatements(topiaApplicationContext, referentialDump); - // Réplication du référentiel - replicateReferential(temporaryTopiaApplicationContext, topiaApplicationContext); + } + + // Récupération du dump qui contient les données + ImmutableSet<String> importDataIds = dataSourceCreateConfiguration.getImportDataIds(); + if (log.isInfoEnabled()) { + log.info("Get data: " + importDataIds); } + byte[] dataDump = dumpProducerService.getDataDump(importDataIds); + if (log.isInfoEnabled()) { log.info("Import data."); } - - // Réplication des données - replicateData(temporaryTopiaApplicationContext, topiaApplicationContext, importDataIds); + executeGzipSqlStatements(topiaApplicationContext, dataDump); } @@ -356,8 +356,8 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS public void importData(ImportDataDto importData) { // création d'une base temporaire pour y importer le référentiel et les données - ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = createTemporaryDatabaseFromDump("ImportData", importData.getDumpData()); - ObserveTopiaApplicationContext temporaryTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(temporaryDataSourceConfiguration); +// ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = createTemporaryDatabaseFromDump("ImportData", importData.getDumpData()); +// ObserveTopiaApplicationContext temporaryTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getOrCreateTopiaApplicationContext(temporaryDataSourceConfiguration); if (log.isInfoEnabled()) { log.info("Import data."); @@ -365,15 +365,15 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS // Réplication des données ObserveTopiaApplicationContext topiaApplicationContext = serviceContext.getTopiaApplicationContext(); - replicateData(temporaryTopiaApplicationContext, topiaApplicationContext, importData.getImportDataIds()); + executeGzipSqlStatements(topiaApplicationContext, importData.getDumpData()); +// replicateData(temporaryTopiaApplicationContext, topiaApplicationContext, importData.getImportDataIds()); } - protected void executeGzipSqlStatements(ObserveTopiaApplicationContext topiaApplicationContext, String temporaryFilePrefix, byte... content) { + protected void executeGzipSqlStatements(ObserveTopiaApplicationContext topiaApplicationContext, byte... content) { - File temporaryDirectory = serviceContext.createTemporaryDirectory(temporaryFilePrefix); try { - topiaApplicationContext.executeSqlStatements(temporaryDirectory, content); + topiaApplicationContext.executeSqlStatements(content); } catch (IOException e) { //TODO Avoir une exception concrete throw new RuntimeException("Could not execute GZipSqlStatements", e); @@ -454,9 +454,9 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS if (log.isDebugEnabled()) { log.debug("User can read refererential : " + readReferential + ", " + - "write referential : " + writeReferential + ", " + - "read data : " + readData + ", " + - "write data : " + writeData + "."); + "write referential : " + writeReferential + ", " + + "read data : " + readData + ", " + + "write data : " + writeData + "."); } ObserveDataSourceInformation information = new ObserveDataSourceInformation( @@ -473,9 +473,9 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS protected static boolean canWrite(Set<?> privileges) { boolean result = privileges != null && - privileges.contains("DELETE") && - privileges.contains("UPDATE") && - privileges.contains("INSERT"); + privileges.contains("DELETE") && + privileges.contains("UPDATE") && + privileges.contains("INSERT"); return result; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java index 24c0ace..33c7bbb 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/SqlScriptProducerServiceTopia.java @@ -47,6 +47,24 @@ public class SqlScriptProducerServiceTopia extends ObserveServiceTopia implement } + @Override + public byte[] getReferentialDump() { + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addReferential(); + return produceSqlScript(request); + } + + @Override + public byte[] getDataDump(ImmutableSet<String> dataIds) { + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addDataIds(dataIds); + return produceSqlScript(request); + } + + @Override + public byte[] getAllDataDump() { + SqlScriptProducerRequest request = SqlScriptProducerRequest.forH2().addAllData(); + return produceSqlScript(request); + } + protected SqlRequests sqlRequests(SqlScriptProducerRequest request, SqlRequests.Builder builder) { if (request.isAddSchema()) { 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 deleted file mode 100644 index a67b644..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java +++ /dev/null @@ -1,74 +0,0 @@ -package fr.ird.observe.services.service; - -/* - * #%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 fr.ird.observe.test.DatabaseName; -import fr.ird.observe.test.ObserveFixtures; -import fr.ird.observe.test.spi.DatabaseNameConfiguration; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Ignore; -import org.junit.Test; - -/** - * Created on 26/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - * FIXME IT tests - */ -@Ignore -@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) -public class DataSourceDumpProducerServiceTopiaTest extends AbstractServiceTopiaTest { - - protected DataSourceDumpProducerService service; - - @Before - public void setUp() throws Exception { - service = dataSourceResource.newService(DataSourceDumpProducerService.class); - } - - @Test - public void testGetReferentialDump() throws Exception { - - byte[] referentialDump = service.getReferentialDump(); - Assert.assertNotNull(referentialDump); - - } - - @Test - public void testGetDataDump() throws Exception { - - byte[] dataDump = service.getDataDump(ImmutableSet.of(ObserveFixtures.TRIP_SEINE_ID_1)); - Assert.assertNotNull(dataDump); - - } - - @Test - public void testGetAllDataDump() throws Exception { - - byte[] allDataDump = service.getAllDataDump(); - Assert.assertNotNull(allDataDump); - - } -} \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java index 1080b96..a22be7d 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -83,7 +83,7 @@ public class MigrateTestsDatabases extends AbstractServiceTopiaTest { Files.createDirectories(f.toPath().getParent()); - DataSourceDumpProducerService service = applicationContextResource.newService(dataSourceResource.getDataSourceConfiguration(), DataSourceDumpProducerService.class); + SqlScriptProducerService service = applicationContextResource.newService(dataSourceResource.getDataSourceConfiguration(), SqlScriptProducerService.class); byte[] allDataDump = service.getAllDataDump(); diff --git a/pom.xml b/pom.xml index 7b24e45..b7f2f63 100644 --- a/pom.xml +++ b/pom.xml @@ -438,12 +438,6 @@ </dependency> <dependency> <groupId>org.nuiton.topia</groupId> - <artifactId>topia-service-replication</artifactId> - <version>${topiaVersion}</version> - <scope>compile</scope> - </dependency> - <dependency> - <groupId>org.nuiton.topia</groupId> <artifactId>topia-service-migration</artifactId> <version>${topiaVersion}</version> <scope>compile</scope> -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 1f07a4c195abc5e6b20cec85163eb12d3367b3f5 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Jan 9 09:13:03 2016 +0100 Rendre Closeable DataSourceService et bien fermer la base commune après sa création (cela était fait avant en utilisant la commande restore de H2) --- .../ird/observe/services/service/DataSourceService.java | 4 +++- .../ird/observe/services/ApplicationContextResource.java | 15 ++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceService.java index acfa481..0e1b2e9 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceService.java @@ -36,6 +36,7 @@ import fr.ird.observe.services.spi.PostRequest; import fr.ird.observe.services.spi.Write; import fr.ird.observe.services.spi.WriteDataPermission; +import java.io.Closeable; import java.util.Set; /** @@ -43,7 +44,7 @@ import java.util.Set; * * @author Tony Chemit - chemit@codelutin.com */ -public interface DataSourceService extends ObserveService { +public interface DataSourceService extends ObserveService, Closeable { @NoDataAccess ObserveDataSourceInformation checkCanConnect(ObserveDataSourceConfiguration dataSourceConfiguration) throws DatabaseNotFoundException, DatabaseConnexionNotAuthorizedException; @@ -63,6 +64,7 @@ public interface DataSourceService extends ObserveService { @NoDataAccess void migrateData(ObserveDataSourceConfiguration dataSourceConfiguration); + @Override void close(); void destroy(); 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 c4657f4..95c6480 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 @@ -32,7 +32,6 @@ import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportExcept import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.service.DataSourceService; -import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.ObserveFixtures; import fr.ird.observe.test.TestHelper; import fr.ird.observe.test.spi.DatabaseNameConfiguration; @@ -99,7 +98,6 @@ public class ApplicationContextResource implements TestRule { ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration; - boolean createEmptydatabase = DatabaseName.empty.name().equals(dbName); boolean sharedDatabaseExist = sharedDatabaseFile.exists(); if (!sharedDatabaseExist) { @@ -107,19 +105,14 @@ public class ApplicationContextResource implements TestRule { log.info("Create shared database: " + dbVersion.toString() + "/" + dbName + " to " + sharedDatabaseFile); } - DataSourceService dataSourceService = newService(sharedDatabaseConfiguration, DataSourceService.class); - DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); - -// if (!createEmptydatabase) { + try (DataSourceService dataSourceService = newService(sharedDatabaseConfiguration, DataSourceService.class)) { + DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); byte[] databaseToImportContent = dataSourcesForTestManager.getDatabaseScriptContent(dbVersion, dbName); createConfiguration.setImportDatabase(databaseToImportContent); -// } else { -// createConfiguration.setCanCreateEmptyDatabase(true); -// -// } - dataSourceService.create(sharedDatabaseConfiguration, createConfiguration); + dataSourceService.create(sharedDatabaseConfiguration, createConfiguration); + } } -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit d5d5d5536ec3a5ba35f9e90c321a997add449af7 Merge: 72efaab 1f07a4c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Jan 9 09:19:39 2016 +0100 Retour sur develop, mais le ticket n'est pas fini (il faut voir dans les ui comment bien utiliser la date de dernière mise à jour) Merge branch 'feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour' into develop .../src/license/THIRD-PARTY.properties | 63 +- .../java/fr/ird/observe/ObserveActionExecutor.java | 2 +- .../main/java/fr/ird/observe/ObserveCLAction.java | 2 +- .../main/java/fr/ird/observe/ObserveRunner.java | 4 +- .../observe/ObserveSwingApplicationContext.java | 6 +- .../ObserveSwingApplicationConfig.java | 2 +- .../fr/ird/observe/db/ObserveSwingDataSource.java | 5 + .../ird/observe/db/constants/DataContextType.java | 2 +- .../src/main/java/fr/ird/observe/ui/UIHelper.java | 6 +- .../java/fr/ird/observe/ui/admin/AdminStep.java | 2 +- .../fr/ird/observe/ui/admin/AdminTabUIHandler.java | 6 +- .../fr/ird/observe/ui/admin/AdminUIHandler.java | 2 +- .../java/fr/ird/observe/ui/admin/AdminUIModel.java | 2 +- .../observe/ui/admin/save/SaveLocalUIHandler.java | 6 +- .../ird/observe/ui/content/ContentUIHandler.java | 2 +- .../ui/content/ref/ContentReferenceUIHandler.java | 4 +- .../ui/content/table/ContentTableModel.java | 12 +- .../ui/content/table/ContentTableUIModel.java | 8 +- .../impl/longline/CatchLonglineUIHandler.java | 2 +- .../longline/GearUseFeaturesLonglineUIModel.java | 2 +- .../impl/seine/GearUseFeaturesSeineUIModel.java | 2 +- .../impl/seine/ModeSaisieEchantillonEnum.java | 4 +- .../ird/observe/ui/storage/ObstunaAdminAction.java | 6 +- .../ird/observe/ui/storage/StorageUIHandler.java | 21 +- .../ird/observe/ui/storage/StorageUILauncher.java | 4 +- .../fr/ird/observe/ui/storage/StorageUIModel.java | 7 +- .../ui/tree/AbstractObserveTreeCellRenderer.java | 2 +- .../ui/tree/DataSelectionTreeSelectionModel.java | 14 +- .../java/fr/ird/observe/ui/tree/ObserveNode.java | 2 +- .../fr/ird/observe/ui/tree/ObserveTreeHelper.java | 6 +- .../fr/ird/observe/ui/util/FloatConverter.java | 2 +- .../fr/ird/observe/ui/util/SpringUtilities.java | 8 +- .../ird/observe/validation/ValidationService.java | 2 +- .../dto/AbstractEspeceFieldDtoValidator.java | 8 +- .../dto/ActivityFinDeVeilleExistsDtoValidator.java | 12 +- .../dto/ActivitySimpleSpeedDtoValidator.java | 6 +- .../validator/dto/ActivitySpeedDtoValidator.java | 6 +- .../web/ObserveWebApplicationListener.java | 2 +- .../web/controller/ObserveWebMotionController.java | 2 +- .../DataSourceDumpProducerServiceController.java | 29 - .../entities/AbstractEspeceFieldValidator.java | 8 +- .../ActivityFinDeVeilleExistsValidator.java | 12 +- .../entities/ActivitySimpleSpeedValidator.java | 6 +- .../validator/entities/ActivitySpeedValidator.java | 6 +- observe-entities/pom.xml | 5 +- .../fr/ird/observe/AbstractObserveTopiaDao.java | 44 +- .../observe/ObserveTopiaApplicationContext.java | 351 +++++++++-- .../observe/ObserveTopiaConfigurationFactory.java | 24 +- .../observe/ObserveTopiaPersistenceContext.java | 83 ++- .../java/fr/ird/observe/entities/Activity.java | 2 +- .../java/fr/ird/observe/entities/Entities.java | 37 +- .../observe/entities/LastUpdateDateTopiaDao.java | 9 + .../java/fr/ird/observe/entities/ObserveSet.java | 2 +- .../main/java/fr/ird/observe/entities/Trip.java | 2 +- .../fr/ird/observe/entities/gps/GPSRouteImpl.java | 8 +- .../fr/ird/observe/entities/gps/GpsPoints.java | 12 +- .../migration/AbstractDataSourceMigration.java | 13 +- .../DataSourceMigrationForVersion_3_1.java | 2 +- .../DataSourceMigrationForVersion_5_0.java | 3 +- .../DataSourceMigrationForVersion_5_0_1.java | 8 +- ...va => DataSourceMigrationForVersion_5_0_2.java} | 12 +- ...va => DataSourceMigrationForVersion_5_0_3.java} | 14 +- .../referentiel/I18nReferenceEntities.java | 4 +- .../referentiel/LengthWeightParameters.java | 8 +- ...tities.java => ObserveReferentialEntities.java} | 26 +- ...Impl.java => ObserveReferentialEntityImpl.java} | 2 +- .../ird/observe/entities/referentiel/Programs.java | 2 +- .../ird/observe/entities/seine/ActivitySeines.java | 4 +- .../observe/entities/seine/NonTargetCatchImpl.java | 2 +- .../db/{5.0 => 5.0-1}/remove_open_field-H2.sql | 10 +- .../db/{5.0 => 5.0-1}/remove_open_field-PG.sql | 10 +- .../db/5.0-2/add_lastUpdateDate_field-H2.sql | 676 +++++++++++++++++++++ .../db/5.0-2/add_lastUpdateDate_field-PG.sql | 676 +++++++++++++++++++++ .../db/5.0-3/add_lastUpdateDate_table-H2.sql | 106 ++++ .../db/5.0-3/add_lastUpdateDate_table-PG.sql | 106 ++++ .../db/5.0.1/add_lastUpdate_field_2-H2.sql | 2 - .../db/5.0.1/add_lastUpdate_field_2-PG.sql | 2 - .../resources/db/5.0/add_lastUpdate_field-H2.sql | 153 ----- .../resources/db/5.0/add_lastUpdate_field-PG.sql | 154 ----- .../src/main/xmi/observe-common.properties | 1 + observe-entities/src/main/xmi/observe-common.zargo | Bin 37617 -> 37603 bytes .../src/main/xmi/observe-longline.zargo | Bin 96937 -> 93586 bytes observe-entities/src/main/xmi/observe-seine.zargo | Bin 85015 -> 84567 bytes .../ObserveTopiaApplicationContextTest.java | 20 +- .../service/ConcurrentModificationException.java | 31 +- .../service/DataSourceDumpProducerService.java | 41 -- .../services/service/DataSourceService.java | 4 +- .../services/service/SqlScriptProducerRequest.java | 74 +++ .../services/service/SqlScriptProducerService.java | 19 + observe-services-configuration-api/pom.xml | 5 - observe-services-configuration-rest/pom.xml | 26 - ...bserveDataSourceConfigurationRestConstants.java | 4 +- .../src/test/resources/log4j.properties | 32 - observe-services-configuration-topia/pom.xml | 48 -- .../src/test/resources/log4j.properties | 32 - .../observe/services/dto/AbstractReference.java | 12 + .../fr/ird/observe/services/dto/DataReference.java | 3 +- .../observe/services/dto/FollowedUpdateDto.java | 14 - .../java/fr/ird/observe/services/dto/IdDto.java | 5 +- .../services/dto/constants/ReferentialLocale.java | 4 +- .../services/dto/referential/ReferentialDto.java | 12 +- .../services/dto/referential/ReferentialDtos.java | 6 +- .../observe/services/dto/result/SaveResultDto.java | 5 +- .../services/dto/result/SaveResultDtos.java | 4 +- .../dto/result/TripChildSaveResultDtos.java | 12 + .../fr/ird/observe/util/gps/GPSFileReader.java | 10 +- .../java/fr/ird/observe/util/gps/GPSRouteImpl.java | 8 +- .../java/fr/ird/observe/util/gps/GPSService.java | 12 +- .../java/fr/ird/observe/util/gps/GpsPoints.java | 12 +- .../src/main/xmi/observe-services-dto-common.zargo | Bin 43178 -> 42022 bytes .../main/xmi/observe-services-dto-longline.zargo | Bin 64908 -> 63930 bytes .../src/main/xmi/observe-services-dto-seine.zargo | Bin 60150 -> 59464 bytes .../report/AbstractReportServiceRestTest.java | 4 +- observe-services-topia/pom.xml | 13 +- .../observe/services/ReplicationServiceImpl.java | 4 +- .../referential/ReferentialServiceImpl.java | 8 +- .../ird/observe/services/ObserveServiceTopia.java | 448 +++++--------- .../ObserveTopiaApplicationContextFactory.java | 3 - .../ird/observe/services/binder/BinderEngine.java | 54 +- .../services/binder/BinderEngineInitializer.java | 32 +- .../ird/observe/services/binder/BinderSupport.java | 14 +- .../binder/data/ActivityLonglineBinder.java | 9 +- .../data/ActivityLonglineEncouterDtoBinder.java | 8 +- .../data/ActivityLonglineSensorUsedDtoBinder.java | 8 +- .../binder/data/ActivityLonglineStubDtoBinder.java | 4 +- .../services/binder/data/ActivitySeineBinder.java | 9 +- .../data/ActivitySeineObservedSystemDtoBinder.java | 8 +- .../binder/data/ActivitySeineStubDtoBinder.java | 4 +- .../binder/data/BaitsCompositionBinder.java | 4 +- .../observe/services/binder/data/BasketBinder.java | 4 +- .../services/binder/data/BranchlineBinder.java | 6 +- .../binder/data/BranchlinesCompositionBinder.java | 4 +- .../services/binder/data/CatchLonglineBinder.java | 6 +- .../services/binder/data/DataBinderSupport.java | 38 +- .../services/binder/data/EncounterBinder.java | 5 +- .../services/binder/data/FloatingObjectBinder.java | 6 +- .../FloatingObjectObservedSpeciesDtoBinder.java | 6 +- .../FloatingObjectSchoolEstimateDtoBinder.java | 6 +- .../FloatingObjectTransmittingBuoyDtoBinder.java | 6 +- .../binder/data/FloatlinesCompositionBinder.java | 4 +- .../binder/data/GearUseFeaturesLonglineBinder.java | 6 +- .../GearUseFeaturesMeasurementLonglineBinder.java | 4 +- .../GearUseFeaturesMeasurementSeineBinder.java | 4 +- .../binder/data/GearUseFeaturesSeineBinder.java | 6 +- .../binder/data/HooksCompositionBinder.java | 4 +- .../services/binder/data/NonTargetCatchBinder.java | 6 +- .../binder/data/NonTargetLengthBinder.java | 4 +- .../binder/data/NonTargetSampleBinder.java | 6 +- .../binder/data/ObjectObservedSpeciesBinder.java | 6 +- .../binder/data/ObjectSchoolEstimateBinder.java | 4 +- .../observe/services/binder/data/RouteBinder.java | 12 +- .../services/binder/data/RouteStubDtoBinder.java | 4 +- .../services/binder/data/SchoolEstimateBinder.java | 4 +- .../services/binder/data/SectionBinder.java | 4 +- .../services/binder/data/SensorUsedBinder.java | 4 +- .../services/binder/data/SetLonglineBinder.java | 12 +- .../binder/data/SetLonglineCatchDtoBinder.java | 6 +- .../SetLonglineDetailCompositionDtoBinder.java | 6 +- .../SetLonglineGlobalCompositionDtoBinder.java | 8 +- .../binder/data/SetLonglineStubDtoBinder.java | 2 +- .../binder/data/SetLonglineTdrDtoBinder.java | 6 +- .../services/binder/data/SetSeineBinder.java | 12 +- .../data/SetSeineNonTargetCatchDtoBinder.java | 4 +- .../data/SetSeineSchoolEstimateDtoBinder.java | 8 +- .../binder/data/SetSeineTargetCatchDtoBinder.java | 6 +- .../services/binder/data/SizeMeasureBinder.java | 4 +- .../services/binder/data/TargetCatchBinder.java | 6 +- .../services/binder/data/TargetLengthBinder.java | 4 +- .../services/binder/data/TargetSampleBinder.java | 6 +- .../observe/services/binder/data/TdrBinder.java | 4 +- .../binder/data/TransmittingBuoyBinder.java | 4 +- .../binder/data/TripLonglineActivityDtoBinder.java | 4 +- .../services/binder/data/TripLonglineBinder.java | 8 +- .../binder/data/TripLonglineGearUseDtoBinder.java | 6 +- .../services/binder/data/TripSeineBinder.java | 8 +- .../binder/data/TripSeineGearUseDtoBinder.java | 6 +- .../services/binder/data/WeightMeasureBinder.java | 4 +- .../referential/ReferentialBinderSupport.java | 22 +- .../observe/services/entity/EntitiesExtractor.java | 4 +- .../services/entity/EntitiesSetFactory.java | 32 +- .../entity/SpeciesListEntitiesExtractor.java | 4 +- .../DataSourceDumpProducerServiceTopia.java | 150 ----- .../services/service/DataSourceServiceTopia.java | 98 ++- .../services/service/ReferentialServiceTopia.java | 48 +- .../service/SqlScriptProducerServiceTopia.java | 145 +++++ .../service/actions/report/ReportServiceTopia.java | 18 +- .../GenerateValidatorDescriptorsFileTool.java | 19 +- .../actions/validate/ValidateServiceTopia.java | 23 +- .../ActivityLongLineEncouterServiceTopia.java | 9 +- .../ActivityLongLineSensorUsedServiceTopia.java | 9 +- .../longline/ActivityLonglineServiceTopia.java | 13 +- .../service/longline/BranchlineServiceTopia.java | 9 +- .../longline/SetLonglineCatchServiceTopia.java | 9 +- .../SetLonglineDetailCompositionServiceTopia.java | 7 +- .../SetLonglineGlobalCompositionServiceTopia.java | 9 +- .../service/longline/SetLonglineServiceTopia.java | 7 +- .../services/service/longline/TdrServiceTopia.java | 9 +- .../longline/TripLonglineGearUseServiceTopia.java | 7 +- .../service/longline/TripLonglineServiceTopia.java | 9 +- .../ActivitySeineObservedSystemServiceTopia.java | 9 +- .../service/seine/ActivitySeineServiceTopia.java | 11 +- .../service/seine/FloatingObjectServiceTopia.java | 8 +- .../service/seine/NonTargetCatchServiceTopia.java | 6 +- .../service/seine/NonTargetSampleServiceTopia.java | 6 +- .../seine/ObjectObservedSpeciesServiceTopia.java | 9 +- .../seine/ObjectSchoolEstimateServiceTopia.java | 9 +- .../services/service/seine/RouteServiceTopia.java | 15 +- .../service/seine/SchoolEstimateServiceTopia.java | 6 +- .../service/seine/SetSeineServiceTopia.java | 5 +- .../service/seine/TargetCatchServiceTopia.java | 6 +- .../service/seine/TargetSampleServiceTopia.java | 6 +- .../TransmittingBuoyOperationServiceTopia.java | 9 +- .../seine/TripSeineGearUseServiceTopia.java | 13 +- .../service/seine/TripSeineServiceTopia.java | 9 +- .../referentiel/LengthWeightParemetersTest.java | 20 +- .../replication/ReplicateReferentialsTest.java | 32 + .../entities/replication/ReplicateTestSupport.java | 108 ++++ .../replication/ReplicateTripLonglineTest.java | 65 ++ .../replication/ReplicateTripSeineTest.java | 62 ++ .../services/ApplicationContextResource.java | 217 ++++--- .../ird/observe/services/DataSourceResource.java | 203 ++++--- .../services/ObserveServiceContextTopiaTaiste.java | 2 +- .../services/binder/BinderEngineMetadataTest.java | 49 +- .../observe/services/binder/BinderEngineTest.java | 29 +- .../services/service/AbstractServiceTopiaTest.java | 155 +---- .../DataSourceDumpProducerServiceTopiaTest.java | 85 --- .../service/DataSourceServiceTopiaTest.java | 43 +- .../services/service/MigrateTestsDatabases.java | 94 +++ .../service/ReferentialServiceTopiaTest.java | 37 +- .../service/SqlScriptProducerServiceTopiaTest.java | 81 +++ .../ConsolidateDataServiceTopiaTest.java | 23 +- .../report/AbstractReportServiceTopiaTest.java | 28 +- .../report/ReportSetByAssociation2Test.java | 50 -- .../actions/validate/ValidateServiceTopiaTest.java | 26 +- ...tLonglineDetailCompositionServiceTopiaTest.java | 35 +- .../service/seine/RouteServiceTopiaTest.java | 27 +- .../seine/TargetSampleServiceTopiaTest.java | 22 +- .../seine/TripSeineGearUseServiceTopiaTest.java | 37 +- .../service/seine/TripSeineServiceTopiaTest.java | 104 ++-- .../src/test/resources/log4j.properties | 2 + observe-test-data/pom.xml | 28 +- .../java/fr/ird/observe/test/DatabaseName.java | 13 + .../java/fr/ird/observe/test/ObserveFixtures.java | 311 ++++++++++ .../main/java/fr/ird/observe/test/TestHelper.java | 61 +- .../test/spi/CopyDatabaseConfiguration.java | 17 + .../test/spi/DatabaseNameConfiguration.java | 21 + .../test/spi/DatabaseVersionConfiguration.java | 19 + .../resources/db/5.0-3/dataForTestLongline.sql.gz | Bin 0 -> 1579146 bytes .../resources/db/5.0-3/dataForTestSeine.sql.gz | Bin 0 -> 439122 bytes .../src/main/resources/db/5.0-3/empty.sql.gz | Bin 0 -> 7858 bytes .../src/main/resources/db/5.0-3/referentiel.sql.gz | Bin 0 -> 162896 bytes .../main/resources/db/5.0/dataForTestSeine.sql.gz | Bin 0 -> 438481 bytes .../src/main/resources/db/5.0/referentiel.sql.gz | Bin 0 -> 142316 bytes pom.xml | 11 +- 254 files changed, 4523 insertions(+), 2665 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm