branch feature/7464 updated (0572571 -> 9a2d465)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git discards 0572571 Implantation de création d'une base (See #7464) discards 8dd72cb Utilisation de la tag value attributeType discards 6a050ce Debut de boot avec topia 3.0, reste à écrire la logique d'ouverture ou création de base discards 59ae183 Deplacement de constantes + utilisation du mode autoMigrate dans la migration discards c27f774 Suppresion de la dépendance sur observe-business dans le module d'implantation des services topia discards 75dc734 Ajout du nom de la base h2 à utiliser dans la configuration discards fb19241 Exposition des services utilisables sur le context applicatif de topia discards 60b4dd0 Utilisation des bonnes tag values discards 070cd2b Ajout dépendances sur les drivers jdbc utilisés discards 3846c11 Ajout d'une dépendance sur le service de replication dans le module entities discards d9dca27 On passe sur topia 3.1-SNAPSHOT discards 5df123c mise en forme du service de migration + debut de migration des tag values discards 9696a2e Portage des DAO dans fr.ird.observe.entities.seine vers ToPIA 3 discards 7359106 Refacotr module entite discards 756f064 Taiste discards faf26bd Suppression TopiaException discards d8a88aa Modification de la configuration du plugin eugene discards 5cb71fc Dependance vers topia 3.0 adds 45714c9 Création du module de tests (See #7466) adds 1668a7b Ajout d'une classe avec les méthodes utiles (à finir selon les besoins des tests (See #7466) adds d348383 Création d'un module pour contenir les données de tests termine #7466 new 68eb732 Dependance vers topia 3.0 new 63aac5e Modification de la configuration du plugin eugene new f6758c7 Suppression TopiaException new e70c29c Taiste new 4054f01 Refacotr module entite new 6df5da0 Portage des DAO dans fr.ird.observe.entities.seine vers ToPIA 3 new 5eaca28 mise en forme du service de migration + debut de migration des tag values new 16579ad On passe sur topia 3.1-SNAPSHOT new 7296ade Ajout d'une dépendance sur le service de replication dans le module entities new bd3a91f Ajout dépendances sur les drivers jdbc utilisés new 04be14c Utilisation des bonnes tag values new ac7942f Exposition des services utilisables sur le context applicatif de topia new b086514 Ajout du nom de la base h2 à utiliser dans la configuration new 8905fce Suppresion de la dépendance sur observe-business dans le module d'implantation des services topia new ed09986 Deplacement de constantes + utilisation du mode autoMigrate dans la migration new 38a2b78 Debut de boot avec topia 3.0, reste à écrire la logique d'ouverture ou création de base new 3d5c7da Utilisation de la tag value attributeType new 9db7cfa Implantation de création d'une base (See #7464) new 9a2d465 L'import d'une base fonctionne, mais pas encore la création d'une base vide (le mapping hibernate n'est pas correcte) (See #7464) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (0572571) \ N -- N -- N refs/heads/feature/7464 (9a2d465) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 19 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 9a2d465842069c630584674cd0ff4092f4671fdf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 23 04:15:54 2015 +0200 L'import d'une base fonctionne, mais pas encore la création d'une base vide (le mapping hibernate n'est pas correcte) (See #7464) commit 9db7cfaa72d7da701a59e16ab1f940a013b7d723 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 23 01:34:49 2015 +0200 Implantation de création d'une base (See #7464) commit 3d5c7dae5dd456a0e68daf74e63b92e436045c12 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Aug 22 21:01:14 2015 +0200 Utilisation de la tag value attributeType commit 38a2b7800cf785a42858699f3841a75d5a14ef24 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 19:14:34 2015 +0200 Debut de boot avec topia 3.0, reste à écrire la logique d'ouverture ou création de base commit ed0998615b7365729b8e2cdc5a434a8f762c5605 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 19:07:30 2015 +0200 Deplacement de constantes + utilisation du mode autoMigrate dans la migration commit 8905fce673b12b009e8fd70bfc4479b0f35bf46e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 19:06:20 2015 +0200 Suppresion de la dépendance sur observe-business dans le module d'implantation des services topia commit b0865146d2bd7c3e448fe3e7a74885aa43062568 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:57:17 2015 +0200 Ajout du nom de la base h2 à utiliser dans la configuration commit ac7942f4e04fe46874a9f86e894b471899a97618 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:56:46 2015 +0200 Exposition des services utilisables sur le context applicatif de topia commit 04be14c570b1e89d86775a77f6e228de9834c084 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:56:12 2015 +0200 Utilisation des bonnes tag values commit bd3a91fa90b54f241ecaec3cd6469c8e09e09ba4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:55:38 2015 +0200 Ajout dépendances sur les drivers jdbc utilisés commit 7296ade624c66ff5b72faf28f44d08ffd2dd5e1b Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:55:08 2015 +0200 Ajout d'une dépendance sur le service de replication dans le module entities commit 16579ad45a6d835fcebf6ec147010038c7f78a85 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:54:34 2015 +0200 On passe sur topia 3.1-SNAPSHOT commit 5eaca28074538c11180bc92a93cddae3fff45e17 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 12:47:41 2015 +0200 mise en forme du service de migration + debut de migration des tag values commit 6df5da05b52991564bb22f72ddddebae6d8e6de9 Author: Brendan Le Ny <bleny@codelutin.com> Date: Fri Aug 21 12:16:15 2015 +0200 Portage des DAO dans fr.ird.observe.entities.seine vers ToPIA 3 commit 4054f01cbc33a410a7afb6b7d6494417cb3bc30d Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 12:16:38 2015 +0200 Refacotr module entite commit e70c29c3ad1f7936acbd878bbeeb97b8855263df Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 11:45:44 2015 +0200 Taiste commit f6758c7aa4a5143426df828b7b6f4cc40e09147c Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 11:08:41 2015 +0200 Suppression TopiaException commit 63aac5efa6f6f9c52d8988e73fe18bb11cc83849 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 11:06:54 2015 +0200 Modification de la configuration du plugin eugene commit 68eb73281dcd84e9659de6f4d2a53d4af3b86e0c Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 10:57:36 2015 +0200 Dependance vers topia 3.0 Summary of changes: .../observe/ObserveTopiaApplicationContext.java | 33 +++ .../dto/DataSourceCreateConfigurationDto.java | 31 ++- observe-services-topia/pom.xml | 6 + .../services/ObserveServiceFactoryTopia.java | 2 +- .../ObserveTopiaApplicationContextFactory.java | 89 +++---- .../services/service/DataSourceServiceTopia.java | 14 +- .../service/ApplicationContextResource.java | 22 +- .../services/service/DataSourceResource.java | 88 ++++--- .../service/DataSourceServiceTopiaTest.java | 24 +- .../LICENSE.txt | 0 README.txt => observe-test-data/README.txt | 0 {observe-validation => observe-test-data}/pom.xml | 99 +++----- .../main/java/fr/ird/observe/test/TestHelper.java | 264 +++++++++++++++++++++ .../src/main}/resources/db/1.0.0/obstuna.sql | 0 .../resources/db/1.0.0/referentiel-data.sql.gz | Bin .../main}/resources/db/1.0.0/referentiel.sql.gz | Bin .../src/main}/resources/db/1.2/obstuna.sql | 0 .../main}/resources/db/1.2/referentiel-data.sql.gz | Bin .../src/main}/resources/db/1.2/referentiel.sql.gz | Bin .../src/main}/resources/db/1.4/obstuna.sql | 0 .../main}/resources/db/1.4/referentiel-data.sql.gz | Bin .../src/main}/resources/db/1.4/referentiel.sql.gz | Bin .../src/main}/resources/db/1.5/obstuna.sql | 0 .../src/main}/resources/db/1.5/referentiel.sql.gz | Bin .../src/main}/resources/db/1.8/obstuna.sql | 0 .../src/main}/resources/db/1.8/referentiel.sql.gz | Bin .../src/main}/resources/db/1.9.1/obstuna.sql | 0 .../main}/resources/db/1.9.1/referentiel.sql.gz | Bin .../src/main}/resources/db/2.0/obstuna.sql | 0 .../src/main}/resources/db/2.0/referentiel.sql.gz | Bin .../src/main}/resources/db/2.1/obstuna.sql | 0 .../src/main/resources/db/2.1}/referentiel.sql.gz | Bin .../src/main}/resources/db/2.5/obstuna.sql | 0 .../src/main/resources/db/2.5}/referentiel.sql.gz | Bin .../src/main}/resources/db/3.0/obstuna.sql | 0 .../src/main}/resources/db/3.0/referentiel.sql.gz | Bin .../src/main}/resources/db/3.1/referentiel.sql.gz | Bin .../src/main}/resources/db/3.10/referentiel.sql.gz | Bin .../src/main}/resources/db/3.11/referentiel.sql.gz | Bin .../src/main}/resources/db/3.12/referentiel.sql.gz | Bin .../src/main}/resources/db/3.14/referentiel.sql.gz | Bin .../src/main}/resources/db/3.15/referentiel.sql.gz | Bin .../src/main}/resources/db/3.16/referentiel.sql.gz | Bin .../src/main}/resources/db/3.5/referentiel.sql.gz | Bin .../db/3.7/LL_species_ref_list_for_Observe.csv | 0 .../src/main}/resources/db/3.7/referentiel.sql.gz | Bin .../src/main}/resources/db/3.8/referentiel.sql.gz | Bin .../src/main}/resources/db/3.9/referentiel.sql.gz | Bin .../main}/resources/db/4.0-RC2/referentiel.sql.gz | Bin .../main}/resources/db/4.0-RC3/referentiel.sql.gz | Bin .../main}/resources/db/4.0-RC4/referentiel.sql.gz | Bin .../main}/resources/db/4.0-RC6/referentiel.sql.gz | Bin .../main}/resources/db/4.0-RC7/referentiel.sql.gz | Bin .../main}/resources/db/4.0.1/referentiel.sql.gz | Bin .../src/main}/resources/db/4.0/referentiel.sql.gz | Bin .../src/main}/resources/db/replication/data.sql.gz | Bin pom.xml | 1 + 57 files changed, 488 insertions(+), 185 deletions(-) copy {observe-validation => observe-test-data}/LICENSE.txt (100%) copy README.txt => observe-test-data/README.txt (100%) copy {observe-validation => observe-test-data}/pom.xml (53%) create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.0.0/obstuna.sql (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.0.0/referentiel-data.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.0.0/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.2/obstuna.sql (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.2/referentiel-data.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.2/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.4/obstuna.sql (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.4/referentiel-data.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.4/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.5/obstuna.sql (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.5/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.8/obstuna.sql (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.8/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.9.1/obstuna.sql (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/1.9.1/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/2.0/obstuna.sql (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/2.0/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/2.1/obstuna.sql (100%) rename {observe-business/src/test/resources/db/2.5 => observe-test-data/src/main/resources/db/2.1}/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/2.5/obstuna.sql (100%) rename {observe-business/src/test/resources/db/2.1 => observe-test-data/src/main/resources/db/2.5}/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.0/obstuna.sql (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.0/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.1/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.10/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.11/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.12/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.14/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.15/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.16/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.5/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.7/LL_species_ref_list_for_Observe.csv (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.7/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.8/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/3.9/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/4.0-RC2/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/4.0-RC3/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/4.0-RC4/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/4.0-RC6/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/4.0-RC7/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/4.0.1/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/4.0/referentiel.sql.gz (100%) rename {observe-business/src/test => observe-test-data/src/main}/resources/db/replication/data.sql.gz (100%) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 63aac5efa6f6f9c52d8988e73fe18bb11cc83849 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 11:06:54 2015 +0200 Modification de la configuration du plugin eugene --- observe-entities/pom.xml | 6 +++--- pom.xml | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/observe-entities/pom.xml b/observe-entities/pom.xml index 819541d..1695e9d 100644 --- a/observe-entities/pom.xml +++ b/observe-entities/pom.xml @@ -163,8 +163,8 @@ </inputs> <!--org.nuiton.eugene.java.JavaInterfaceTransformer,--> <templates> - org.nuiton.topia.generator.TopiaMetaTransformer, - org.nuiton.topia.generator.BinderHelperTransformer + org.nuiton.topia.templates.TopiaMetaTransformer, + org.nuiton.topia.templates.BinderHelperTransformer </templates> <!-- Using some unsafe tag values --> @@ -178,7 +178,7 @@ <dependencies> <dependency> <groupId>org.nuiton.topia</groupId> - <artifactId>topia-persistence</artifactId> + <artifactId>topia-templates</artifactId> <version>${topiaVersion}</version> <scope>compile</scope> </dependency> diff --git a/pom.xml b/pom.xml index 718daa1..9582f65 100644 --- a/pom.xml +++ b/pom.xml @@ -89,11 +89,11 @@ <module>observe-validation</module> <module>observe-services-configuration-topia</module> <module>observe-services-topia</module> - <module>observe-services-configuration-rest</module> - <module>observe-services-rest</module> - <module>observe-services-runner</module> - <module>observe-application-web</module> - <module>observe-application-swing</module> + <!--<module>observe-services-configuration-rest</module>--> + <!--<module>observe-services-rest</module>--> + <!--<module>observe-services-runner</module>--> + <!--<module>observe-application-web</module>--> + <!--<module>observe-application-swing</module>--> </modules> <!--scm> <url>https://svn.mpl.ird.fr/osiris/observe/trunk</url> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit f6758c7aa4a5143426df828b7b6f4cc40e09147c Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 11:08:41 2015 +0200 Suppression TopiaException --- .../src/main/java/fr/ird/observe/DataService.java | 6 +- .../main/java/fr/ird/observe/db/DataSource.java | 2 +- .../java/fr/ird/observe/db/ReplicationService.java | 8 +-- .../fr/ird/observe/db/impl/AbstractDataSource.java | 8 +-- .../java/fr/ird/observe/db/impl/H2DataSource.java | 4 +- .../java/fr/ird/observe/db/impl/PGDataSource.java | 4 +- .../java/fr/ird/observe/db/util/TopiaExecutor.java | 2 +- .../fr/ird/observe/db/util/TopiaExecutor2.java | 2 +- .../fr/ird/observe/report/model/ReportExecute.java | 2 +- .../ird/observe/report/model/ReportOperation.java | 4 +- .../fr/ird/observe/report/model/ReportRequest.java | 6 +- .../report/model/operations/ExecuteRequests.java | 4 +- .../report/model/operations/GroupByLength.java | 4 +- .../observe/report/model/operations/SumColumn.java | 4 +- .../report/model/operations/SumIntColumn.java | 4 +- .../observe/report/model/operations/SumIntRow.java | 4 +- .../observe/report/model/operations/SumRow.java | 4 +- .../validation/ValidationMessageDetector.java | 2 +- .../ird/observe/validation/ValidationService.java | 2 +- .../test/java/fr/ird/observe/db/DBTestHelper.java | 4 +- .../fr/ird/observe/db/ReplicationServiceTest.java | 2 +- .../its/replication/AbstractReplicateDataTest.java | 6 +- .../AbstractReplicateReferentielTest.java | 6 +- .../its/replication/H2ReplicateDataTest.java | 8 +-- .../its/replication/ReplicationDataModel.java | 8 +-- .../fr/ird/observe/entities/OpenableEntities.java | 6 +- .../entities/longline/ActivityLonglineDAOImpl.java | 10 ++-- .../entities/longline/TripLonglineDAOImpl.java | 20 +++---- .../AbstractObserveMigrationCallBack.java | 4 +- .../entities/migration/H2DataSourceMigration.java | 22 ++++---- .../entities/migration/PGDataSourceMigration.java | 22 ++++---- .../DataSourceMigrationForVersion_3_1.java | 6 +- .../DataSourceMigrationForVersion_3_10.java | 4 +- .../DataSourceMigrationForVersion_3_11.java | 4 +- .../DataSourceMigrationForVersion_3_12.java | 4 +- .../DataSourceMigrationForVersion_3_14.java | 4 +- .../DataSourceMigrationForVersion_3_15.java | 4 +- .../DataSourceMigrationForVersion_3_16.java | 8 +-- .../DataSourceMigrationForVersion_3_5.java | 14 ++--- .../DataSourceMigrationForVersion_3_7.java | 4 +- .../DataSourceMigrationForVersion_3_8.java | 4 +- .../DataSourceMigrationForVersion_3_9.java | 4 +- .../DataSourceMigrationForVersion_4_0.java | 4 +- .../DataSourceMigrationForVersion_4_0_1.java | 4 +- .../DataSourceMigrationForVersion_4_0_RC2.java | 4 +- .../DataSourceMigrationForVersion_4_0_RC3.java | 8 +-- .../DataSourceMigrationForVersion_4_0_RC4.java | 4 +- .../DataSourceMigrationForVersion_4_0_RC6.java | 4 +- .../DataSourceMigrationForVersion_4_0_RC7.java | 4 +- .../referentiel/LengthWeightParemeterHelper.java | 4 +- .../entities/referentiel/ProgramDAOImpl.java | 10 ++-- .../entities/seine/ActivitySeineDAOImpl.java | 10 ++-- .../entities/seine/FloatingObjectDAOImpl.java | 10 ++-- .../ird/observe/entities/seine/RouteDAOImpl.java | 14 ++--- .../observe/entities/seine/TripSeineDAOImpl.java | 20 +++---- .../main/java/fr/ird/observe/util/DBHelper.java | 2 +- .../operation/ObsoleteReferenceToReplace.java | 2 +- .../observe/services/AbstractObserveService.java | 4 +- .../observe/services/ReplicationServiceImpl.java | 8 +-- .../LonglineDetailCompositionServiceImpl.java | 8 +-- .../data/seine/NonTargetCatchServiceImpl.java | 4 +- .../data/seine/TargetCatchServiceImpl.java | 4 +- .../services/operation/SynchronizeServiceImpl.java | 4 +- .../services/ObserveServiceContextTopia.java | 29 ++++++---- .../services/ObserveServiceFactoryTopia.java | 65 +++++++++++----------- .../ird/observe/services/ObserveServiceTopia.java | 10 ++-- .../services/ObserveServiceFactoryTopiaTaiste.java | 2 +- 67 files changed, 251 insertions(+), 245 deletions(-) diff --git a/observe-business/src/main/java/fr/ird/observe/DataService.java b/observe-business/src/main/java/fr/ird/observe/DataService.java index 1588771..98a5512 100644 --- a/observe-business/src/main/java/fr/ird/observe/DataService.java +++ b/observe-business/src/main/java/fr/ird/observe/DataService.java @@ -95,7 +95,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.event.TopiaTransactionEvent; import org.nuiton.topia.event.TopiaTransactionListener; import org.nuiton.topia.framework.TopiaContextImplementor; @@ -999,7 +999,7 @@ public class DataService { } } - protected Sex getUnknownSex(TopiaContext tx) throws TopiaException { + protected Sex getUnknownSex(TopiaContext tx) { return ObserveDAOHelper.getSexDAO(tx).findByCode("0"); } @@ -1856,7 +1856,7 @@ public class DataService { String propertyName, E source, E target, - TopiaContext targetTx) throws TopiaException { + TopiaContext targetTx) { EntityOperator<E> operator = ObserveDAOHelper.getOperator(entityType); diff --git a/observe-business/src/main/java/fr/ird/observe/db/DataSource.java b/observe-business/src/main/java/fr/ird/observe/db/DataSource.java index a99ea23..b82ba72 100644 --- a/observe-business/src/main/java/fr/ird/observe/db/DataSource.java +++ b/observe-business/src/main/java/fr/ird/observe/db/DataSource.java @@ -27,7 +27,7 @@ import fr.ird.observe.db.event.DataSourceListener; import fr.ird.observe.entities.OpenableEntity; import org.nuiton.decorator.Decorator; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaService; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; diff --git a/observe-business/src/main/java/fr/ird/observe/db/ReplicationService.java b/observe-business/src/main/java/fr/ird/observe/db/ReplicationService.java index c531527..a0ad902 100644 --- a/observe-business/src/main/java/fr/ird/observe/db/ReplicationService.java +++ b/observe-business/src/main/java/fr/ird/observe/db/ReplicationService.java @@ -35,7 +35,7 @@ import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; import org.nuiton.topia.persistence.TopiaEntity; @@ -297,7 +297,7 @@ public class ReplicationService { } - private void applyTdrAssociationFix(TopiaContext dstCtxt, List<Pair<String, String>> tdrAssociation) throws TopiaException { + private void applyTdrAssociationFix(TopiaContext dstCtxt, List<Pair<String, String>> tdrAssociation) { String request = "\nUPDATE OBSERVE_LONGLINE.TDR SET SET = '%s' WHERE topiaid = '%s';"; @@ -313,7 +313,7 @@ public class ReplicationService { } - private List<Pair<String, String>> getTdrAssociationIds(TopiaContext srcCtxt, TripLongline e) throws TopiaException { + private List<Pair<String, String>> getTdrAssociationIds(TopiaContext srcCtxt, TripLongline e) { List<Pair<String, String>> result = new ArrayList<Pair<String, String>>(); @@ -340,7 +340,7 @@ public class ReplicationService { private String setId; - public List<Pair<String, String>> execute(TopiaContextImplementor tx, String setId) throws TopiaException { + public List<Pair<String, String>> execute(TopiaContextImplementor tx, String setId) { try { this.setId = setId; diff --git a/observe-business/src/main/java/fr/ird/observe/db/impl/AbstractDataSource.java b/observe-business/src/main/java/fr/ird/observe/db/impl/AbstractDataSource.java index 0ee2567..c729bb3 100644 --- a/observe-business/src/main/java/fr/ird/observe/db/impl/AbstractDataSource.java +++ b/observe-business/src/main/java/fr/ird/observe/db/impl/AbstractDataSource.java @@ -53,7 +53,7 @@ import org.nuiton.config.ApplicationConfig; import org.nuiton.decorator.Decorator; import org.nuiton.topia.TopiaContext; import org.nuiton.topia.TopiaContextFactory; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.TopiaNotFoundException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaService; @@ -247,7 +247,7 @@ public abstract class AbstractDataSource implements DataSource { } @Override - public <P extends TopiaEntity> TopiaDAO<P> getDAO(TopiaContext tx, Class<P> entityType) throws TopiaException { + public <P extends TopiaEntity> TopiaDAO<P> getDAO(TopiaContext tx, Class<P> entityType) { TopiaContextImplementor ci = (TopiaContextImplementor) tx; TopiaDAO<P> dao = ci.getDAO(entityType); @@ -256,7 +256,7 @@ public abstract class AbstractDataSource implements DataSource { @SuppressWarnings({"unchecked"}) @Override - public <P extends TopiaEntity> TopiaDAO<P> getDAO(TopiaContext tx, P entity) throws TopiaException { + public <P extends TopiaEntity> TopiaDAO<P> getDAO(TopiaContext tx, P entity) { ObserveEntityEnum constant = ObserveEntityEnum.valueOf(entity); return getDAO(tx, (Class<P>) constant.getContract()); @@ -571,7 +571,7 @@ public abstract class AbstractDataSource implements DataSource { } @Override - public <E> E findByTopiaId(TopiaContext tx, String entityId) throws TopiaException { + public <E> E findByTopiaId(TopiaContext tx, String entityId) { return (E) tx.findByTopiaId(entityId); } diff --git a/observe-business/src/main/java/fr/ird/observe/db/impl/H2DataSource.java b/observe-business/src/main/java/fr/ird/observe/db/impl/H2DataSource.java index bba2e4d..806fde4 100644 --- a/observe-business/src/main/java/fr/ird/observe/db/impl/H2DataSource.java +++ b/observe-business/src/main/java/fr/ird/observe/db/impl/H2DataSource.java @@ -28,7 +28,7 @@ import fr.ird.observe.db.constants.DataSourceState; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.util.TopiaEntityHelper; import java.io.File; @@ -124,7 +124,7 @@ public class H2DataSource extends AbstractDataSource { } @Override - protected void createSchema(String schemaName) throws TopiaException { + protected void createSchema(String schemaName) { TopiaContext tx = rootCtxt.beginTransaction(); try { tx.executeSQL("CREATE SCHEMA IF NOT EXISTS " + schemaName + ";"); diff --git a/observe-business/src/main/java/fr/ird/observe/db/impl/PGDataSource.java b/observe-business/src/main/java/fr/ird/observe/db/impl/PGDataSource.java index abf0d77..d282922 100644 --- a/observe-business/src/main/java/fr/ird/observe/db/impl/PGDataSource.java +++ b/observe-business/src/main/java/fr/ird/observe/db/impl/PGDataSource.java @@ -28,7 +28,7 @@ import fr.ird.observe.db.constants.DataSourceState; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.io.File; import java.util.Properties; @@ -158,7 +158,7 @@ public class PGDataSource extends AbstractDataSource { } @Override - protected void createSchema(String schemaName) throws TopiaException { + protected void createSchema(String schemaName) { TopiaContext tx = rootCtxt.beginTransaction(); try { tx.executeSQL("CREATE SCHEMA " + schemaName + ";"); diff --git a/observe-business/src/main/java/fr/ird/observe/db/util/TopiaExecutor.java b/observe-business/src/main/java/fr/ird/observe/db/util/TopiaExecutor.java index b7be0bf..a318a38 100644 --- a/observe-business/src/main/java/fr/ird/observe/db/util/TopiaExecutor.java +++ b/observe-business/src/main/java/fr/ird/observe/db/util/TopiaExecutor.java @@ -22,7 +22,7 @@ package fr.ird.observe.db.util; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaEntity; /** diff --git a/observe-business/src/main/java/fr/ird/observe/db/util/TopiaExecutor2.java b/observe-business/src/main/java/fr/ird/observe/db/util/TopiaExecutor2.java index 6836e57..4f34477 100644 --- a/observe-business/src/main/java/fr/ird/observe/db/util/TopiaExecutor2.java +++ b/observe-business/src/main/java/fr/ird/observe/db/util/TopiaExecutor2.java @@ -22,7 +22,7 @@ package fr.ird.observe.db.util; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaEntity; /** diff --git a/observe-business/src/main/java/fr/ird/observe/report/model/ReportExecute.java b/observe-business/src/main/java/fr/ird/observe/report/model/ReportExecute.java index 94500ef..8d15eec 100644 --- a/observe-business/src/main/java/fr/ird/observe/report/model/ReportExecute.java +++ b/observe-business/src/main/java/fr/ird/observe/report/model/ReportExecute.java @@ -31,7 +31,7 @@ import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.util.List; import java.util.Map; diff --git a/observe-business/src/main/java/fr/ird/observe/report/model/ReportOperation.java b/observe-business/src/main/java/fr/ird/observe/report/model/ReportOperation.java index 24041f3..284e01b 100644 --- a/observe-business/src/main/java/fr/ird/observe/report/model/ReportOperation.java +++ b/observe-business/src/main/java/fr/ird/observe/report/model/ReportOperation.java @@ -24,7 +24,7 @@ package fr.ird.observe.report.model; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.awt.Dimension; import java.awt.Point; @@ -76,7 +76,7 @@ public abstract class ReportOperation implements Serializable { * @param variables le dictionnaire de variables utilisées dans le report * @param repeatVariablesUniverse le dictionnaire des variables de répétition * @return la matrice sortante - * @throws TopiaException pour toute erreur de manipulation de base + * @pour toute erreur de manipulation de base */ public abstract DataMatrix execute(TopiaContext tx, Report model, diff --git a/observe-business/src/main/java/fr/ird/observe/report/model/ReportRequest.java b/observe-business/src/main/java/fr/ird/observe/report/model/ReportRequest.java index 705daa6..056a424 100644 --- a/observe-business/src/main/java/fr/ird/observe/report/model/ReportRequest.java +++ b/observe-business/src/main/java/fr/ird/observe/report/model/ReportRequest.java @@ -25,7 +25,7 @@ import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.awt.Dimension; import java.awt.Point; @@ -136,7 +136,7 @@ public class ReportRequest implements Serializable { public DataMatrix execute(TopiaContext tx, Map<String, Object> params, - List<?> repeatValues) throws TopiaException { + List<?> repeatValues) { DataMatrix result = new DataMatrix(); for (Object repeatValue : repeatValues) { @@ -178,7 +178,7 @@ public class ReportRequest implements Serializable { } public DataMatrix execute(TopiaContext tx, - Map<String, Object> params) throws TopiaException { + Map<String, Object> params) { // création des paramètres : couples (key, value) Object[] datas = getParams(request, params); diff --git a/observe-business/src/main/java/fr/ird/observe/report/model/operations/ExecuteRequests.java b/observe-business/src/main/java/fr/ird/observe/report/model/operations/ExecuteRequests.java index 07bb21d..4f59a6e 100644 --- a/observe-business/src/main/java/fr/ird/observe/report/model/operations/ExecuteRequests.java +++ b/observe-business/src/main/java/fr/ird/observe/report/model/operations/ExecuteRequests.java @@ -28,7 +28,7 @@ import fr.ird.observe.report.model.ReportRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.awt.Dimension; import java.awt.Point; @@ -65,7 +65,7 @@ public class ExecuteRequests extends ReportOperation { Report report, DataMatrix incoming, Map<String, Object> variables, - Map<String, List<?>> repeatVariablesUniverse) throws TopiaException { + Map<String, List<?>> repeatVariablesUniverse) { if (log.isDebugEnabled()) { log.debug("Launch " + this); diff --git a/observe-business/src/main/java/fr/ird/observe/report/model/operations/GroupByLength.java b/observe-business/src/main/java/fr/ird/observe/report/model/operations/GroupByLength.java index cb7c7de..bf27e69 100644 --- a/observe-business/src/main/java/fr/ird/observe/report/model/operations/GroupByLength.java +++ b/observe-business/src/main/java/fr/ird/observe/report/model/operations/GroupByLength.java @@ -27,7 +27,7 @@ import fr.ird.observe.report.model.Report; import fr.ird.observe.report.model.ReportOperation; import org.apache.commons.lang3.mutable.MutableInt; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.awt.Dimension; import java.awt.Point; @@ -75,7 +75,7 @@ public class GroupByLength extends ReportOperation { } @Override - public DataMatrix execute(TopiaContext tx, Report model, DataMatrix incoming, Map<String, Object> variables, Map<String, List<?>> repeatVariablesUniverse) throws TopiaException { + public DataMatrix execute(TopiaContext tx, Report model, DataMatrix incoming, Map<String, Object> variables, Map<String, List<?>> repeatVariablesUniverse) { // Première passe pour grouper par classe de taille Map<String, MutableInt> data = new LinkedHashMap<String, MutableInt>(); diff --git a/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumColumn.java b/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumColumn.java index 1995f67..eeea099 100644 --- a/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumColumn.java +++ b/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumColumn.java @@ -27,7 +27,7 @@ import fr.ird.observe.report.model.ReportOperation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.awt.Dimension; import java.awt.Point; @@ -67,7 +67,7 @@ public class SumColumn extends ReportOperation { Report model, DataMatrix incoming, Map<String, Object> variables, - Map<String, List<?>> repeatVariablesUniverse) throws TopiaException { + Map<String, List<?>> repeatVariablesUniverse) { if (log.isDebugEnabled()) { log.debug("Launch " + this); diff --git a/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumIntColumn.java b/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumIntColumn.java index 0cc7514..a0e79ec 100644 --- a/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumIntColumn.java +++ b/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumIntColumn.java @@ -27,7 +27,7 @@ import fr.ird.observe.report.model.ReportOperation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.awt.Dimension; import java.awt.Point; @@ -67,7 +67,7 @@ public class SumIntColumn extends ReportOperation { Report model, DataMatrix incoming, Map<String, Object> variables, - Map<String, List<?>> repeatVariablesUniverse) throws TopiaException { + Map<String, List<?>> repeatVariablesUniverse) { if (log.isDebugEnabled()) { log.debug("Launch " + this); diff --git a/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumIntRow.java b/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumIntRow.java index d9e274e..243aec2 100644 --- a/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumIntRow.java +++ b/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumIntRow.java @@ -27,7 +27,7 @@ import fr.ird.observe.report.model.ReportOperation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.awt.Dimension; import java.awt.Point; @@ -65,7 +65,7 @@ public class SumIntRow extends ReportOperation { Report model, DataMatrix incoming, Map<String, Object> variables, - Map<String, List<?>> repeatVariablesUniverse) throws TopiaException { + Map<String, List<?>> repeatVariablesUniverse) { if (log.isDebugEnabled()) { log.debug("Launch " + this); } diff --git a/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumRow.java b/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumRow.java index ecc3cb1..6480afc 100644 --- a/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumRow.java +++ b/observe-business/src/main/java/fr/ird/observe/report/model/operations/SumRow.java @@ -27,7 +27,7 @@ import fr.ird.observe.report.model.ReportOperation; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import java.awt.Dimension; import java.awt.Point; @@ -65,7 +65,7 @@ public class SumRow extends ReportOperation { Report model, DataMatrix incoming, Map<String, Object> variables, - Map<String, List<?>> repeatVariablesUniverse) throws TopiaException { + Map<String, List<?>> repeatVariablesUniverse) { if (log.isDebugEnabled()) { log.debug("Launch " + this); } diff --git a/observe-business/src/main/java/fr/ird/observe/validation/ValidationMessageDetector.java b/observe-business/src/main/java/fr/ird/observe/validation/ValidationMessageDetector.java index 9cdbe6c..ad0974b 100644 --- a/observe-business/src/main/java/fr/ird/observe/validation/ValidationMessageDetector.java +++ b/observe-business/src/main/java/fr/ird/observe/validation/ValidationMessageDetector.java @@ -30,7 +30,7 @@ import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.entities.seine.TripSeine; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.EntityVisitor; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.util.TopiaEntityRef; diff --git a/observe-business/src/main/java/fr/ird/observe/validation/ValidationService.java b/observe-business/src/main/java/fr/ird/observe/validation/ValidationService.java index 768e47d..84a71e8 100644 --- a/observe-business/src/main/java/fr/ird/observe/validation/ValidationService.java +++ b/observe-business/src/main/java/fr/ird/observe/validation/ValidationService.java @@ -24,7 +24,7 @@ package fr.ird.observe.validation; import fr.ird.observe.ObserveEntityEnum; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.util.TopiaEntityHelper; import org.nuiton.validator.NuitonValidatorScope; diff --git a/observe-business/src/test/java/fr/ird/observe/db/DBTestHelper.java b/observe-business/src/test/java/fr/ird/observe/db/DBTestHelper.java index 983b894..6c03398 100644 --- a/observe-business/src/test/java/fr/ird/observe/db/DBTestHelper.java +++ b/observe-business/src/test/java/fr/ird/observe/db/DBTestHelper.java @@ -41,7 +41,7 @@ import org.apache.commons.logging.LogFactory; import org.hibernate.jdbc.Work; import org.junit.Assert; import org.junit.Assume; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.version.Version; @@ -230,7 +230,7 @@ public class DBTestHelper { } public static void loadScript(DataSource service, - final String script) throws TopiaException { + final String script) { TopiaContextImplementor tx = null; diff --git a/observe-business/src/test/java/fr/ird/observe/db/ReplicationServiceTest.java b/observe-business/src/test/java/fr/ird/observe/db/ReplicationServiceTest.java index f5b8341..013a560 100644 --- a/observe-business/src/test/java/fr/ird/observe/db/ReplicationServiceTest.java +++ b/observe-business/src/test/java/fr/ird/observe/db/ReplicationServiceTest.java @@ -48,7 +48,7 @@ import org.junit.Rule; import org.junit.Test; import org.junit.rules.TestName; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaEntity; import java.io.File; diff --git a/observe-business/src/test/java/fr/ird/observe/its/replication/AbstractReplicateDataTest.java b/observe-business/src/test/java/fr/ird/observe/its/replication/AbstractReplicateDataTest.java index 4e8eabc..2ad5fe7 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/replication/AbstractReplicateDataTest.java +++ b/observe-business/src/test/java/fr/ird/observe/its/replication/AbstractReplicateDataTest.java @@ -40,7 +40,7 @@ import org.junit.Before; import org.junit.Ignore; import org.junit.Test; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityEnum; @@ -106,7 +106,7 @@ public abstract class AbstractReplicateDataTest extends AbstractReplicateTest { } @Override - protected final void createModel(TopiaEntity entity) throws TopiaException { + protected final void createModel(TopiaEntity entity) { model = getModelBuilder().createModel( context, getContracts(), @@ -116,7 +116,7 @@ public abstract class AbstractReplicateDataTest extends AbstractReplicateTest { } @Override - protected final void prepareModel(String... ids) throws TopiaException { + protected final void prepareModel(String... ids) { prepareModelWithComputedOrder(ids); } diff --git a/observe-business/src/test/java/fr/ird/observe/its/replication/AbstractReplicateReferentielTest.java b/observe-business/src/test/java/fr/ird/observe/its/replication/AbstractReplicateReferentielTest.java index f6ddda5..bf82b89 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/replication/AbstractReplicateReferentielTest.java +++ b/observe-business/src/test/java/fr/ird/observe/its/replication/AbstractReplicateReferentielTest.java @@ -35,7 +35,7 @@ import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; @@ -72,12 +72,12 @@ public abstract class AbstractReplicateReferentielTest extends AbstractReplicate } @Override - protected final void createModel(TopiaEntity entity) throws TopiaException { + protected final void createModel(TopiaEntity entity) { model = service.getModelBuilder().createModelForAll(getContracts()); } @Override - protected final void prepareModel(String... ids) throws TopiaException { + protected final void prepareModel(String... ids) { model = service.prepareForAll(getContracts()); } diff --git a/observe-business/src/test/java/fr/ird/observe/its/replication/H2ReplicateDataTest.java b/observe-business/src/test/java/fr/ird/observe/its/replication/H2ReplicateDataTest.java index 9e1dbbc..96bdcfb 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/replication/H2ReplicateDataTest.java +++ b/observe-business/src/test/java/fr/ird/observe/its/replication/H2ReplicateDataTest.java @@ -46,7 +46,7 @@ import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaDAO; @@ -207,7 +207,7 @@ public class H2ReplicateDataTest { } - protected static void assertNbEntitiesForSeine(TopiaContext rootTx, EnumMap<ObserveEntityEnum, Long> counts, String tripId) throws TopiaException { + protected static void assertNbEntitiesForSeine(TopiaContext rootTx, EnumMap<ObserveEntityEnum, Long> counts, String tripId) { TopiaContext tx = rootTx.beginTransaction(); @@ -310,7 +310,7 @@ public class H2ReplicateDataTest { } - protected static void assertNbEntitiesForLongline(TopiaContext rootTx, EnumMap<ObserveEntityEnum, Long> counts, String tripId) throws TopiaException { + protected static void assertNbEntitiesForLongline(TopiaContext rootTx, EnumMap<ObserveEntityEnum, Long> counts, String tripId) { TopiaContext tx = rootTx.beginTransaction(); @@ -352,7 +352,7 @@ public class H2ReplicateDataTest { } - protected static void assertNbEntities(TopiaContextImplementor tx, EnumMap<ObserveEntityEnum, Long> counts) throws TopiaException { + protected static void assertNbEntities(TopiaContextImplementor tx, EnumMap<ObserveEntityEnum, Long> counts) { for (ObserveEntityEnum dataEntity : Entities.DATA_ENTITIES) { diff --git a/observe-business/src/test/java/fr/ird/observe/its/replication/ReplicationDataModel.java b/observe-business/src/test/java/fr/ird/observe/its/replication/ReplicationDataModel.java index 7c241e8..6ceeff8 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/replication/ReplicationDataModel.java +++ b/observe-business/src/test/java/fr/ird/observe/its/replication/ReplicationDataModel.java @@ -44,7 +44,7 @@ import fr.ird.observe.entities.seine.TripSeine; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaEntity; import java.util.Date; @@ -102,7 +102,7 @@ public class ReplicationDataModel { protected Vessel vessel; - public void createModel(DataSource service, TopiaContext tx) throws TopiaException { + public void createModel(DataSource service, TopiaContext tx) { programSeine = service.getDAO(tx, Program.class).create(Program.PROPERTY_CODE, "9999", Program.PROPERTY_LABEL2, "program-1-Seine"); programLongline = service.getDAO(tx, Program.class).create(Program.PROPERTY_CODE, "9998", Program.PROPERTY_LABEL2, "program-1-Longline"); @@ -146,7 +146,7 @@ public class ReplicationDataModel { } - public void update(TopiaContext ctxt) throws TopiaException { + public void update(TopiaContext ctxt) { programSeine = (Program) ctxt.findByTopiaId(programSeine.getTopiaId()); setSeine = update(ctxt, setSeine); @@ -164,7 +164,7 @@ public class ReplicationDataModel { } - protected <E extends TopiaEntity> E update(TopiaContext ctxt, E e) throws TopiaException { + protected <E extends TopiaEntity> E update(TopiaContext ctxt, E e) { return (E) ctxt.findByTopiaId(e.getTopiaId()); } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java b/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java index a3cb922..b84b82a 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java @@ -25,7 +25,7 @@ package fr.ird.observe.entities; import fr.ird.observe.ObserveDAOHelper; import fr.ird.observe.entities.seine.TripSeine; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.TopiaRuntimeException; import java.util.Collection; @@ -60,9 +60,9 @@ public class OpenableEntities { * //FIXME Should use also a getOpenTrip for Longline model. * @param ctxt le topia context * @return la marée ouverte, ou <code>null</code> si pas de marée ouverte - * @throws TopiaException if any pb + * @if any pb */ - public static TripSeine getOpenTrip(TopiaContext ctxt) throws TopiaException { + public static TripSeine getOpenTrip(TopiaContext ctxt) { if (ctxt == null) { throw new TopiaRuntimeException("could not find a local topia" + " context"); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineDAOImpl.java index b3877f7..49b9114 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineDAOImpl.java @@ -25,7 +25,7 @@ package fr.ird.observe.entities.longline; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; import fr.ird.observe.entities.referentiel.longline.VesselActivityLonglineImpl; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; @@ -37,14 +37,14 @@ import java.util.List; public class ActivityLonglineDAOImpl<E extends ActivityLongline> extends ActivityLonglineDAOAbstract<E> { - public List<E> findAllStubByTripId(String tripId, ReferenceLocale referenceLocale) throws TopiaException { + public List<E> findAllStubByTripId(String tripId, ReferenceLocale referenceLocale) { List<E> result = StubSqlQuery.findAll(context, tripId, referenceLocale); return result; } - public E findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) throws TopiaException { + public E findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) { E result = StubSqlQuery.find(context, activityId, referenceLocale); return result; @@ -59,7 +59,7 @@ public class ActivityLonglineDAOImpl<E extends ActivityLongline> extends Activit private final ReferenceLocale referenceLocale; - public static <E extends ActivityLongline> List<E> findAll(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) throws TopiaException { + public static <E extends ActivityLongline> List<E> findAll(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " a.topiaId," + @@ -78,7 +78,7 @@ public class ActivityLonglineDAOImpl<E extends ActivityLongline> extends Activit } - public static <E extends ActivityLongline> E find(TopiaContextImplementor context, String activityId, ReferenceLocale referenceLocale) throws TopiaException { + public static <E extends ActivityLongline> E find(TopiaContextImplementor context, String activityId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " a.topiaId," + diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java index f8bee26..ef80115 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java @@ -31,7 +31,7 @@ import fr.ird.observe.entities.referentiel.Vessel; import fr.ird.observe.entities.referentiel.VesselImpl; import fr.ird.observe.tripMap.TripMapPoint; import fr.ird.observe.tripMap.TripMapPointType; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; import org.nuiton.util.DateUtil; @@ -49,7 +49,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO public static final String ACTIVITY_INTERACTION_ID = "fr.ird.observe.entities.referentiel.longline.VesselActivityLongline#1239832686138#0.4"; public static final String ACTIVITY_STATION_ID = "fr.ird.observe.entities.referentiel.longline.VesselActivityLongline#1239832686138#0.3"; - public int findPositionByProgramId(String programId, String tripId) throws TopiaException { + public int findPositionByProgramId(String programId, String tripId) { int result = 0; List<E> list = findAllStubByProgramId(programId, ReferenceLocale.FR); for (E e : list) { @@ -63,21 +63,21 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO return -1; } - public List<E> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) throws TopiaException { + public List<E> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) { List<E> result = StubSqlQuery.findAll(context, programId, referenceLocale); return result; } - public E findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) throws TopiaException { + public E findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) { E result = StubSqlQuery.find(context, tripId, referenceLocale); return result; } - public List<TripMapPoint> extractTripMapActivityPoints(String tripId) throws TopiaException { + public List<TripMapPoint> extractTripMapActivityPoints(String tripId) { TripLongline tripLongline = findByTopiaId(tripId); @@ -245,7 +245,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO this.referenceLocale = referenceLocale; } - public static <E extends TripLongline> List<E> findAll(TopiaContextImplementor context, String programId, ReferenceLocale referenceLocale) throws TopiaException { + public static <E extends TripLongline> List<E> findAll(TopiaContextImplementor context, String programId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -268,7 +268,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO } - public static <E extends TripLongline> E find(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) throws TopiaException { + public static <E extends TripLongline> E find(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -327,7 +327,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO } - public boolean updateEndDate(E trip) throws TopiaException { + public boolean updateEndDate(E trip) { boolean wasUpdated = false; @@ -349,7 +349,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO } - public Date getTheoricalEndDate(E trip) throws TopiaException { + public Date getTheoricalEndDate(E trip) { Date d; @@ -384,7 +384,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO this.tripId = tripId; } - public static Timestamp find(TopiaContextImplementor context, String tripId) throws TopiaException { + public static Timestamp find(TopiaContextImplementor context, String tripId) { String sql = "SELECT max(a.timestamp)" + " FROM observe_longline.activity a" + diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java index d309854..cc8cb32 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java @@ -28,7 +28,7 @@ import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.jdbc.Work; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.TopiaRuntimeException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; @@ -84,7 +84,7 @@ public abstract class AbstractObserveMigrationCallBack extends TopiaMigrationCal } - protected Set<String> getTopiaIds(TopiaContextImplementor tx, final String tableName) throws TopiaException { + protected Set<String> getTopiaIds(TopiaContextImplementor tx, final String tableName) { final Set<String> result = new HashSet<String>(); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java index a3d92ae..234ab60 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java @@ -24,7 +24,7 @@ package fr.ird.observe.entities.migration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.jdbc.Work; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.sql.Connection; @@ -54,7 +54,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { super(new ObserveMigrationCallBackForVersionResolver(TYPE)); } - protected static String getUniqueConstraintName(TopiaContextImplementor tx, final String tableName, final String columnName) throws TopiaException { + protected static String getUniqueConstraintName(TopiaContextImplementor tx, final String tableName, final String columnName) { // recherche du nom de la constrainte final List<String> result = new ArrayList<String>(); @@ -92,7 +92,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return constraintName; } - public static String getFirstTableUniqueConstraintName(TopiaContextImplementor tx, final String tableName) throws TopiaException { + public static String getFirstTableUniqueConstraintName(TopiaContextImplementor tx, final String tableName) { // recherche du nom de la constrainte //(); @@ -129,7 +129,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return constraintName; } - public static Set<String> getConstraintNames(TopiaContextImplementor tx, final String tableName) throws TopiaException { + public static Set<String> getConstraintNames(TopiaContextImplementor tx, final String tableName) { final Set<String> result = new HashSet<String>(); @@ -156,7 +156,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return result; } - public static Set<String> getForeignKeyConstraintNames(TopiaContextImplementor tx, final String tableName) throws TopiaException { + public static Set<String> getForeignKeyConstraintNames(TopiaContextImplementor tx, final String tableName) { final Set<String> result = new HashSet<String>(); @@ -183,7 +183,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return result; } - public static String getForeignKeyConstraintName(TopiaContextImplementor tx, final String schemaName, final String tableName, final String columnName, final boolean mustExists) throws TopiaException { + public static String getForeignKeyConstraintName(TopiaContextImplementor tx, final String schemaName, final String tableName, final String columnName, final boolean mustExists) { final List<String> result = new ArrayList<String>(); @@ -232,7 +232,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { } - public static Set<String> getUniqueKeyConstraintNames(TopiaContextImplementor tx, final String tableName) throws TopiaException { + public static Set<String> getUniqueKeyConstraintNames(TopiaContextImplementor tx, final String tableName) { final Set<String> result = new HashSet<String>(); @@ -259,7 +259,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return result; } - public static void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException { + public static void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) { // Get fk constraints Set<String> fkNames = getForeignKeyConstraintNames(tx, tableName); @@ -271,7 +271,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { } - public static void removeFK(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) throws TopiaException { + public static void removeFK(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) { // Get fk constraints String contrainstName = getForeignKeyConstraintName(tx, schemaName, tableName, columnName, true); @@ -281,7 +281,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { } - public static void removeFKIfExists(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) throws TopiaException { + public static void removeFKIfExists(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) { // Get fk constraints String contrainstName = getForeignKeyConstraintName(tx, schemaName, tableName, columnName, false); @@ -296,7 +296,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { } - public static void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException { + public static void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) { // Get uk constraints Set<String> uKNames = getUniqueKeyConstraintNames(tx, tableName); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java index 6d0ce20..8c04605 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java @@ -24,7 +24,7 @@ package fr.ird.observe.entities.migration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.jdbc.Work; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.sql.Connection; @@ -54,7 +54,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { super(new ObserveMigrationCallBackForVersionResolver(TYPE)); } - protected static String getUniqueConstraintName(TopiaContextImplementor tx, final String tableName, final String columnName) throws TopiaException { + protected static String getUniqueConstraintName(TopiaContextImplementor tx, final String tableName, final String columnName) { // recherche du nom de la constrainte final List<String> result = new ArrayList<String>(); @@ -135,7 +135,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { return constraintName; } - public static String getFirstTableUniqueConstraintName(TopiaContextImplementor tx, final String tableName) throws TopiaException { + public static String getFirstTableUniqueConstraintName(TopiaContextImplementor tx, final String tableName) { // recherche du nom de la constrainte //(); @@ -172,7 +172,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { return constraintName; } - public static Set<String> getConstraintNames(TopiaContextImplementor tx, final String tableName) throws TopiaException { + public static Set<String> getConstraintNames(TopiaContextImplementor tx, final String tableName) { final Set<String> result = new HashSet<String>(); @@ -199,7 +199,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { return result; } - public static Set<String> getForeignKeyConstraintNames(TopiaContextImplementor tx, final String tableName) throws TopiaException { + public static Set<String> getForeignKeyConstraintNames(TopiaContextImplementor tx, final String tableName) { final Set<String> result = new HashSet<String>(); @@ -227,7 +227,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static String getForeignKeyConstraintName(TopiaContextImplementor tx, final String schemaName, final String tableName, final String columnName, final boolean mustExists) throws TopiaException { + public static String getForeignKeyConstraintName(TopiaContextImplementor tx, final String schemaName, final String tableName, final String columnName, final boolean mustExists) { final List<String> result = new ArrayList<String>(); @@ -318,7 +318,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static Set<String> getUniqueKeyConstraintNames(TopiaContextImplementor tx, final String tableName) throws TopiaException { + public static Set<String> getUniqueKeyConstraintNames(TopiaContextImplementor tx, final String tableName) { final Set<String> result = new HashSet<String>(); @@ -345,7 +345,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { return result; } - public static void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException { + public static void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) { // Get fk constraints Set<String> fkNames = getForeignKeyConstraintNames(tx, tableName); @@ -357,7 +357,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static void removeFK(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) throws TopiaException { + public static void removeFK(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) { // Get fk constraints String contrainstName = getForeignKeyConstraintName(tx, schemaName, tableName, columnName, true); @@ -367,7 +367,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static void removeFKIfExists(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) throws TopiaException { + public static void removeFKIfExists(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) { // Get fk constraints String contrainstName = getForeignKeyConstraintName(tx, schemaName, tableName, columnName, false); @@ -381,7 +381,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException { + public static void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) { // Get uk constraints Set<String> uKNames = getUniqueKeyConstraintNames(tx, tableName); 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 9e6e1b9..8580455 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 @@ -25,9 +25,9 @@ package fr.ird.observe.entities.migration.versions; import fr.ird.observe.entities.migration.AbstractDataSourceMigration; import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; import org.apache.commons.lang3.tuple.Pair; -import org.nuiton.topia.TopiaException; import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; +import org.nuiton.topia.persistence.TopiaException; import java.sql.Connection; import java.sql.PreparedStatement; @@ -53,7 +53,7 @@ public class DataSourceMigrationForVersion_3_1 extends AbstractObserveMigrationC protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { // Doublons et absence de clé primaire dans especefaune_ocean et especethon_ocean // (see http://forge.codelutin.com/issues/3398) @@ -62,7 +62,7 @@ public class DataSourceMigrationForVersion_3_1 extends AbstractObserveMigrationC } protected void updateReferentielEspece(String speciesType, TopiaContextImplementor tx, - List<String> queries) throws TopiaException { + List<String> queries) { GetAllEspeceOceanDoublonQuery request = new GetAllEspeceOceanDoublonQuery(speciesType); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java index 2d5bd51..371bd78 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public class DataSourceMigrationForVersion_3_10 extends AbstractObserveMigration protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { addScript("remove-person", queries); addScript("add-missing-fk", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java index 5b16f13..ffb735e 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public class DataSourceMigrationForVersion_3_11 extends AbstractObserveMigration protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { addScript("remove-speciesGroup-obsolete-fields", queries); addScript("add-country-on-transmitting-buoy", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java index a463399..1663e5d 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public class DataSourceMigrationForVersion_3_12 extends AbstractObserveMigration protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { addScript("add-missing-boat", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java index 06da46c..5bce4e5 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public class DataSourceMigrationForVersion_3_14 extends AbstractObserveMigration protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { addScript("remove-hooksPerBasketCount-field", queries); addScript("fix-targetsample-discarded-value", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java index 4def476..57b5c95 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public class DataSourceMigrationForVersion_3_15 extends AbstractObserveMigration protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { addScript("change-tdr-integer-field-to-float", queries); addScript("remove-set-longline-length-fields", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java index b3bc42c..6837359 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java @@ -29,7 +29,7 @@ import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.jdbc.Work; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.sql.Connection; @@ -59,7 +59,7 @@ public class DataSourceMigrationForVersion_3_16 extends AbstractObserveMigration protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { addScript("add-gear-referential", queries); addScript("add-gear-data", queries); @@ -68,7 +68,7 @@ public class DataSourceMigrationForVersion_3_16 extends AbstractObserveMigration } - private void migrateTripSenneData(TopiaContextImplementor tx, List<String> queries) throws TopiaException { + private void migrateTripSenneData(TopiaContextImplementor tx, List<String> queries) { String gearUseFeaturesIdPrefix = "fr.ird.observe.entities.seine.GearUseFeatures#1427183650941#"; @@ -111,7 +111,7 @@ public class DataSourceMigrationForVersion_3_16 extends AbstractObserveMigration Integer seineBallastWeight; } - protected Set<SenneData> getSenneData(TopiaContextImplementor tx) throws TopiaException { + protected Set<SenneData> getSenneData(TopiaContextImplementor tx) { final Set<SenneData> result = new HashSet<SenneData>(); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java index c653e7e..645d30a 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java @@ -27,7 +27,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -103,7 +103,7 @@ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveM protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { // Get all especeThon (to migrate them into a speciesList later) Set<String> speciesThonIds = getTopiaIds(tx, "especethon"); @@ -146,7 +146,7 @@ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveM queries.addAll(Lists.newArrayList(migrationQueries)); } - protected void translateModel(TopiaContextImplementor tx, List<String> queries) throws TopiaException { + protected void translateModel(TopiaContextImplementor tx, List<String> queries) { for (String oldTableName : TABLES) { @@ -204,14 +204,14 @@ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveM } @Override - protected void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException { + protected void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) { H2DataSourceMigration.removeFK(tx, tableName, queries); } @Override - protected void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException { + protected void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) { H2DataSourceMigration.removeUK(tx, tableName, queries); @@ -226,14 +226,14 @@ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveM } @Override - protected void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException { + protected void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) { PGDataSourceMigration.removeFK(tx, tableName, queries); } @Override - protected void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException { + protected void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) { PGDataSourceMigration.removeUK(tx, tableName, queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java index 115b45a..97109c4 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java @@ -27,7 +27,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -48,7 +48,7 @@ public abstract class DataSourceMigrationForVersion_3_7 extends AbstractObserveM protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { { String[] migrationQueries = loadScript("rename-seine-model"); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java index 736fa55..afdec16 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public class DataSourceMigrationForVersion_3_8 extends AbstractObserveMigrationC protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { addScript("fix-person", queries); addScript("fix-branchelinecomposition", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java index 5bea0fa..c892b8f 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public class DataSourceMigrationForVersion_3_9 extends AbstractObserveMigrationC protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { addScript("add-dataFilename-attribute", queries); addScript("fill-sensorDataFormat", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java index 5b0f431..6d78971 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public class DataSourceMigrationForVersion_4_0 extends AbstractObserveMigration protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { // See https://forge.codelutin.com/issues/7013 addScript("empty", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java index f15ec4b..6ba88c8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java @@ -31,7 +31,7 @@ import fr.ird.observe.entities.migration.PGDataSourceMigration; import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; import fr.ird.observe.entities.seine.GearUseFeaturesSeine; import org.hibernate.jdbc.Work; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaId; @@ -62,7 +62,7 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { // See https://forge.codelutin.com/issues/7226 addScript("remove-gender-column", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java index f3c6437..c6c4a98 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java @@ -27,7 +27,7 @@ import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.hibernate.jdbc.Work; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.sql.Connection; @@ -54,7 +54,7 @@ public class DataSourceMigrationForVersion_4_0_RC2 extends AbstractObserveMigrat protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { // recherche du nom de la constrainte diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java index 80dd421..20bcfa8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java @@ -29,7 +29,7 @@ import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.jdbc.Work; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.sql.Connection; @@ -61,7 +61,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC3 extends AbstractObse protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { // See https://forge.codelutin.com/issues/6964 @@ -95,7 +95,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC3 extends AbstractObse } @Override - protected void addMissingForeignKeys(TopiaContextImplementor tx, List<String> queries) throws TopiaException { + protected void addMissingForeignKeys(TopiaContextImplementor tx, List<String> queries) { removeForeignKeyIndex(tx, queries, "OBSERVE_COMMON", "gear_gearcaracteristic", "gear"); removeForeignKeyIndex(tx, queries, "OBSERVE_COMMON", "ocean_species", "species"); @@ -148,7 +148,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC3 extends AbstractObse } - private void removeForeignKeyIndex(TopiaContextImplementor tx, final List<String> queries, final String schemaName, final String tableName, final String columnName) throws TopiaException { + private void removeForeignKeyIndex(TopiaContextImplementor tx, final List<String> queries, final String schemaName, final String tableName, final String columnName) { tx.getHibernate().doWork(new Work() { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java index f7424d4..d6c1a8e 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public class DataSourceMigrationForVersion_4_0_RC4 extends AbstractObserveMigrat protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { // See https://forge.codelutin.com/issues/7013 diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java index 9b23014..40c6a2f 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -49,7 +49,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC6 extends AbstractObse protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { // See https://forge.codelutin.com/issues/7145 removeForeignKeyOnGearFseFeaturesMeasurementSeine(tx, queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java index eb8b9c7..b40aa09 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java @@ -26,7 +26,7 @@ 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.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.List; @@ -47,7 +47,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC7 extends AbstractObse protected void prepareMigrationScript(TopiaContextImplementor tx, List<String> queries, boolean showSql, - boolean showProgression) throws TopiaException { + boolean showProgression) { // See https://forge.codelutin.com/issues/6983 diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java index c4bc8ec..f95777d 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java @@ -25,7 +25,7 @@ import fr.ird.observe.util.Numbers; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaDAO; @@ -166,7 +166,7 @@ public class LengthWeightParemeterHelper { @SuppressWarnings({"unchecked"}) public static <P extends LengthWeightParameter> List<P> findBySpecies(TopiaContextImplementor tx, - Species taillePoidsAble) throws TopiaException { + Species taillePoidsAble) { // le type de resultat recherche Class<P> entityClass = (Class<P>) LengthWeightParameter.class; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramDAOImpl.java index ace56aa..66ec481 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramDAOImpl.java @@ -24,7 +24,7 @@ package fr.ird.observe.entities.referentiel; import fr.ird.observe.entities.constants.GearType; import fr.ird.observe.entities.constants.ReferenceLocale; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; @@ -36,13 +36,13 @@ import java.util.List; public class ProgramDAOImpl<E extends Program> extends ProgramDAOAbstract<E> { - public List<E> findAllStub(ReferenceLocale referenceLocale) throws TopiaException { + public List<E> findAllStub(ReferenceLocale referenceLocale) { List<E> result = StubSqlQuery.findAll(context, referenceLocale); return result; } - public Program findStubByTopiaId(String programId, ReferenceLocale referentielLocale) throws TopiaException { + public Program findStubByTopiaId(String programId, ReferenceLocale referentielLocale) { return StubSqlQuery.find(context, programId, referentielLocale); } @@ -55,7 +55,7 @@ public class ProgramDAOImpl<E extends Program> extends ProgramDAOAbstract<E> { private final ReferenceLocale referenceLocale; - static <E extends Program> List<E> findAll(TopiaContextImplementor context, ReferenceLocale referenceLocale) throws TopiaException { + static <E extends Program> List<E> findAll(TopiaContextImplementor context, ReferenceLocale referenceLocale) { String sql = "SELECT" + " p.topiaId," + @@ -69,7 +69,7 @@ public class ProgramDAOImpl<E extends Program> extends ProgramDAOAbstract<E> { } - static <E extends Program> E find(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) throws TopiaException { + static <E extends Program> E find(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " p.topiaId," + diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineDAOImpl.java index 0d81ecf..d633187 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineDAOImpl.java @@ -25,7 +25,7 @@ package fr.ird.observe.entities.seine; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; import fr.ird.observe.entities.referentiel.seine.VesselActivitySeineImpl; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; @@ -37,14 +37,14 @@ import java.util.List; public class ActivitySeineDAOImpl<E extends ActivitySeine> extends ActivitySeineDAOAbstract<E> { - public List<E> findAllStubByRouteId(String routeId, ReferenceLocale referenceLocale) throws TopiaException { + public List<E> findAllStubByRouteId(String routeId, ReferenceLocale referenceLocale) { List<E> result = StubSqlQuery.findAll(context, routeId, referenceLocale); return result; } - public E findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) throws TopiaException { + public E findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) { E result = StubSqlQuery.find(context, activityId, referenceLocale); return result; @@ -59,7 +59,7 @@ public class ActivitySeineDAOImpl<E extends ActivitySeine> extends ActivitySeine private final ReferenceLocale referenceLocale; - static <E extends ActivitySeine> List<E> findAll(TopiaContextImplementor context, String routeId, ReferenceLocale referenceLocale) throws TopiaException { + static <E extends ActivitySeine> List<E> findAll(TopiaContextImplementor context, String routeId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " a.topiaId," + @@ -78,7 +78,7 @@ public class ActivitySeineDAOImpl<E extends ActivitySeine> extends ActivitySeine } - static <E extends ActivitySeine> E find(TopiaContextImplementor context, String activityId, ReferenceLocale referenceLocale) throws TopiaException { + static <E extends ActivitySeine> E find(TopiaContextImplementor context, String activityId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " a.topiaId," + diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectDAOImpl.java index 2b19ca0..5b9ac60 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectDAOImpl.java @@ -25,7 +25,7 @@ package fr.ird.observe.entities.seine; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.seine.ObjectType; import fr.ird.observe.entities.referentiel.seine.ObjectTypeImpl; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; @@ -37,14 +37,14 @@ import java.util.List; public class FloatingObjectDAOImpl<E extends FloatingObject> extends FloatingObjectDAOAbstract<E> { - public List<E> findAllStubByActivityId(String activityId, ReferenceLocale referenceLocale) throws TopiaException { + public List<E> findAllStubByActivityId(String activityId, ReferenceLocale referenceLocale) { List<E> result = StubSqlQuery.findAll(context, activityId, referenceLocale); return result; } - public E findStubByTopiaId(String floatingObjectId, ReferenceLocale referenceLocale) throws TopiaException { + public E findStubByTopiaId(String floatingObjectId, ReferenceLocale referenceLocale) { E result = StubSqlQuery.find(context, floatingObjectId, referenceLocale); return result; @@ -59,7 +59,7 @@ public class FloatingObjectDAOImpl<E extends FloatingObject> extends FloatingObj private final ReferenceLocale referenceLocale; - static <E extends FloatingObject> List<E> findAll(TopiaContextImplementor context, String activityId, ReferenceLocale referenceLocale) throws TopiaException { + static <E extends FloatingObject> List<E> findAll(TopiaContextImplementor context, String activityId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " fo.topiaId," + @@ -75,7 +75,7 @@ public class FloatingObjectDAOImpl<E extends FloatingObject> extends FloatingObj } - static <E extends FloatingObject> E find(TopiaContextImplementor context, String floatingObjectId, ReferenceLocale referenceLocale) throws TopiaException { + static <E extends FloatingObject> E find(TopiaContextImplementor context, String floatingObjectId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " fo.topiaId," + diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteDAOImpl.java index 9b15ae3..499a25d 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteDAOImpl.java @@ -24,7 +24,7 @@ package fr.ird.observe.entities.seine; import com.google.common.base.Preconditions; import org.hibernate.jdbc.Work; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; @@ -37,14 +37,14 @@ import java.util.List; public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> { - public List<E> findAllStubByTripId(String tripSeineId) throws TopiaException { + public List<E> findAllStubByTripId(String tripSeineId) { List<E> result = StubSqlQuery.findAll(context, tripSeineId); return result; } - public E findStubByTopiaId(String routeId) throws TopiaException { + public E findStubByTopiaId(String routeId) { E result = StubSqlQuery.find(context, routeId); return result; @@ -58,7 +58,7 @@ public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> { private final String id; - static <E extends Route> List<E> findAll(TopiaContextImplementor context, String tripSeineId) throws TopiaException { + static <E extends Route> List<E> findAll(TopiaContextImplementor context, String tripSeineId) { String sql = "SELECT" + " r.topiaId," + @@ -74,7 +74,7 @@ public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> { } - static <E extends Route> E find(TopiaContextImplementor context, String routeId) throws TopiaException { + static <E extends Route> E find(TopiaContextImplementor context, String routeId) { String sql = "SELECT" + " r.topiaId," + @@ -120,10 +120,10 @@ public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> { * the day date of the route. * * @param routeId id of the route to use - * @throws TopiaException if nay topia error + * @if nay topia error * @since 4.0 */ - public void updateActivitiesDate(final String routeId) throws TopiaException { + public void updateActivitiesDate(final String routeId) { Preconditions.checkNotNull(routeId,"routeId can't be null"); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineDAOImpl.java index 685d261..4846027 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineDAOImpl.java @@ -31,7 +31,7 @@ import fr.ird.observe.entities.referentiel.Vessel; import fr.ird.observe.entities.referentiel.VesselImpl; import fr.ird.observe.tripMap.TripMapPoint; import fr.ird.observe.tripMap.TripMapPointType; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; import org.nuiton.util.DateUtil; @@ -53,7 +53,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< public static final String ACTIVITY_HARBOUR_ID = "fr.ird.observe.entities.referentiel.seine.VesselActivitySeine#1239832675349#0.363119635949572"; - public int findPositionByProgramId(String programId, String tripId) throws TopiaException { + public int findPositionByProgramId(String programId, String tripId) { int result = 0; List<E> list = findAllStubByProgramId(programId, ReferenceLocale.FR); for (E e : list) { @@ -67,21 +67,21 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< return -1; } - public List<E> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) throws TopiaException { + public List<E> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) { List<E> result = StubSqlQuery.findAll(context, programId, referenceLocale); return result; } - public E findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) throws TopiaException { + public E findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) { E result = StubSqlQuery.find(context, tripId, referenceLocale); return result; } - public List<TripMapPoint> extractTripMapActivityPoints(String tripId) throws TopiaException { + public List<TripMapPoint> extractTripMapActivityPoints(String tripId) { TripSeine tripSeine = findByTopiaId(tripId); @@ -186,7 +186,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< private final ReferenceLocale referenceLocale; - static <E extends TripSeine> List<E> findAll(TopiaContextImplementor context, String programId, ReferenceLocale referenceLocale) throws TopiaException { + static <E extends TripSeine> List<E> findAll(TopiaContextImplementor context, String programId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -209,7 +209,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } - static <E extends TripSeine> E find(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) throws TopiaException { + static <E extends TripSeine> E find(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -275,7 +275,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } - public boolean updateEndDate(E trip) throws TopiaException { + public boolean updateEndDate(E trip) { boolean wasUpdated = false; @@ -298,7 +298,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } - public Date getTheoricalEndDate(E trip) throws TopiaException { + public Date getTheoricalEndDate(E trip) { Date d; @@ -333,7 +333,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< this.tripId = tripId; } - public static Date find(TopiaContextImplementor context, String tripId) throws TopiaException { + public static Date find(TopiaContextImplementor context, String tripId) { String sql = "SELECT max(r.date)" + " FROM observe_seine.route r" + diff --git a/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java b/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java index 0d24f58..4a36f15 100644 --- a/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java +++ b/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java @@ -25,7 +25,7 @@ import fr.ird.observe.ObserveDAOHelper; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.Entities; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.TopiaRuntimeException; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityAbstract; diff --git a/observe-services-api/src/main/fromRefactor/fr/ird/observe/services/operation/ObsoleteReferenceToReplace.java b/observe-services-api/src/main/fromRefactor/fr/ird/observe/services/operation/ObsoleteReferenceToReplace.java index 08234a6..caca04e 100644 --- a/observe-services-api/src/main/fromRefactor/fr/ird/observe/services/operation/ObsoleteReferenceToReplace.java +++ b/observe-services-api/src/main/fromRefactor/fr/ird/observe/services/operation/ObsoleteReferenceToReplace.java @@ -44,7 +44,7 @@ public class ObsoleteReferenceToReplace { return obsoleteId; } -// public void doAction(TopiaContext tx) throws TopiaException { +// public void doAction(TopiaContext tx) { // // if (log.isInfoEnabled()) { // log.info("load obsolete object " + obsoleteId); diff --git a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/AbstractObserveService.java b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/AbstractObserveService.java index 8b088e4..721f992 100644 --- a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/AbstractObserveService.java +++ b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/AbstractObserveService.java @@ -15,7 +15,7 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.decorator.Decorator; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.util.EntityListUpdator; @@ -426,7 +426,7 @@ public abstract class AbstractObserveService implements ObserveService { // par defaut, rien de specifique a faire avant de faire la sauvegarde } - public void onUpdateFinalize(P parentSaved, Collection<E> oldChilds) throws TopiaException { + public void onUpdateFinalize(P parentSaved, Collection<E> oldChilds) { // par défaut, rien à faire après la sauvegarde de la liste } 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 d64ddc3..6d51013 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 @@ -17,7 +17,7 @@ import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.framework.TopiaSQLQuery; import org.nuiton.topia.persistence.TopiaEntity; @@ -345,7 +345,7 @@ public class ReplicationServiceImpl extends AbstractObserveService implements Re } - private void applyTdrAssociationFix(TopiaContext dstCtxt, List<Pair<String, String>> tdrAssociation) throws TopiaException { + private void applyTdrAssociationFix(TopiaContext dstCtxt, List<Pair<String, String>> tdrAssociation) { String request = "\nUPDATE OBSERVE_LONGLINE.TDR SET SET = '%s' WHERE topiaid = '%s';"; @@ -361,7 +361,7 @@ public class ReplicationServiceImpl extends AbstractObserveService implements Re } - private List<Pair<String, String>> getTdrAssociationIds(TopiaContext srcCtxt, TripLongline e) throws TopiaException { + private List<Pair<String, String>> getTdrAssociationIds(TopiaContext srcCtxt, TripLongline e) { List<Pair<String, String>> result = new ArrayList<Pair<String, String>>(); @@ -388,7 +388,7 @@ public class ReplicationServiceImpl extends AbstractObserveService implements Re private String setId; - public List<Pair<String, String>> execute(TopiaContextImplementor tx, String setId) throws TopiaException { + public List<Pair<String, String>> execute(TopiaContextImplementor tx, String setId) { try { this.setId = setId; diff --git a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/longline/LonglineDetailCompositionServiceImpl.java b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/longline/LonglineDetailCompositionServiceImpl.java index b256d17..04e5bf4 100644 --- a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/longline/LonglineDetailCompositionServiceImpl.java +++ b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/longline/LonglineDetailCompositionServiceImpl.java @@ -8,7 +8,7 @@ import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SectionWithTemplate; import fr.ird.observe.entities.longline.SetLongline; import fr.ird.observe.services.AbstractObserveService; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.util.TopiaEntityBinder; @@ -78,7 +78,7 @@ public class LonglineDetailCompositionServiceImpl extends AbstractObserveService TopiaDAO<Section> sectionsDao, TopiaDAO<Basket> basketDao, TopiaDAO<Branchline> branchlineDao, - Section section) throws TopiaException { + Section section) { Section sectionToSave; @@ -123,7 +123,7 @@ public class LonglineDetailCompositionServiceImpl extends AbstractObserveService TopiaDAO<Basket> basketDao, TopiaDAO<Branchline> branchlineDao, Map<String, Basket> existingBasketsByTopiaId, - Basket basket) throws TopiaException { + Basket basket) { Basket basketToSave; @@ -165,7 +165,7 @@ public class LonglineDetailCompositionServiceImpl extends AbstractObserveService protected Branchline persistBranchline(TopiaEntityBinder<Branchline> branchlineBinder, TopiaDAO<Branchline> branchlineDao, Map<String, Branchline> existingBranchlinesByTopiaId, - Branchline branchline) throws TopiaException { + Branchline branchline) { Branchline branchlineToSave; diff --git a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/seine/NonTargetCatchServiceImpl.java b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/seine/NonTargetCatchServiceImpl.java index af19eee..b169e92 100644 --- a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/seine/NonTargetCatchServiceImpl.java +++ b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/seine/NonTargetCatchServiceImpl.java @@ -9,7 +9,7 @@ import fr.ird.observe.services.AbstractObserveService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.util.EntityListUpdator; import org.nuiton.topia.persistence.util.TopiaEntityBinder; @@ -83,7 +83,7 @@ public class NonTargetCatchServiceImpl extends AbstractObserveService implements } @Override - public void onUpdateFinalize(SetSeine parentSaved, Collection<NonTargetCatch> oldChilds) throws TopiaException { + public void onUpdateFinalize(SetSeine parentSaved, Collection<NonTargetCatch> oldChilds) { if (CollectionUtils.isNotEmpty(nonTargetLengthsToDelete)) { diff --git a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/seine/TargetCatchServiceImpl.java b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/seine/TargetCatchServiceImpl.java index 39d45bf..a92fc37 100644 --- a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/seine/TargetCatchServiceImpl.java +++ b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/data/seine/TargetCatchServiceImpl.java @@ -13,7 +13,7 @@ import fr.ird.observe.services.referential.ReferentialService; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.util.EntityListUpdator; import org.nuiton.topia.persistence.util.TopiaEntityBinder; @@ -114,7 +114,7 @@ public class TargetCatchServiceImpl extends AbstractObserveService implements Ta SetSeine.class, TargetCatch.class, getListUpdator(), parentBinder, childBinder, predicate) { @Override - public void onUpdateFinalize(SetSeine parentSaved, Collection<TargetCatch> oldChilds) throws TopiaException { + public void onUpdateFinalize(SetSeine parentSaved, Collection<TargetCatch> oldChilds) { if (CollectionUtils.isNotEmpty(oldChilds)) { diff --git a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/operation/SynchronizeServiceImpl.java b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/operation/SynchronizeServiceImpl.java index ad59453..52921a2 100644 --- a/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/operation/SynchronizeServiceImpl.java +++ b/observe-services-topia/src/main/fromRefactor/fr/ird/observe/services/operation/SynchronizeServiceImpl.java @@ -17,7 +17,7 @@ import org.apache.commons.collections4.MapUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.jdbc.Work; -import org.nuiton.topia.TopiaException; + import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.util.DiffState; @@ -183,7 +183,7 @@ public class SynchronizeServiceImpl extends AbstractObserveService implements Sy private static final String UPDATE_VERSION_PATTERN = "UPDATE %1$s SET topiaversion = %2$d WHERE topiaid='%3$s';\n"; - protected void patchTopiaVersions(Map<TopiaEntity, Long> versionsToUpdate) throws TopiaException { + protected void patchTopiaVersions(Map<TopiaEntity, Long> versionsToUpdate) { final StringBuilder buffer = new StringBuilder(); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java index cd76d41..d6bad44 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java @@ -1,9 +1,9 @@ package fr.ird.observe.services; -import fr.ird.observe.db.DataSource; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; import fr.ird.observe.services.dto.constants.ReferentialLocale; import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.Date; @@ -18,21 +18,20 @@ public class ObserveServiceContextTopia implements ObserveServiceContext { protected ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration; - protected TopiaContext transaction; + protected TopiaContext topiaPersistenceContext; - //TODO A supprimer -> utiliser une TopiaApplicationContext - protected DataSource dataSource; + protected TopiaContextImplementor topiaApplicationContext; - public DataSource getDataSource() { - return dataSource; + public TopiaContextImplementor getTopiaApplicationContext() { + return topiaApplicationContext; } - public TopiaContext getTransaction() { - return transaction; + public TopiaContext getTopiaPersistenceContext() { + return topiaPersistenceContext; } - public void setTransaction(TopiaContext transaction) { - this.transaction = transaction; + public void setTopiaPersistenceContext(TopiaContext topiaPersistenceContext) { + this.topiaPersistenceContext = topiaPersistenceContext; } @Override @@ -53,7 +52,13 @@ public class ObserveServiceContextTopia implements ObserveServiceContext { this.dataSourceConfiguration = dataSourceConfiguration; } - public void setDataSource(DataSource dataSource) { - this.dataSource = dataSource; + public void setTopiaApplicationContext(TopiaContextImplementor topiaApplicationContext) { + this.topiaApplicationContext = topiaApplicationContext; } + + public void closeTopiaPersistenceContext() { + topiaPersistenceContext.closeContext(); + topiaPersistenceContext = null; + } + } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java index 16a0a9c..13bc86b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java @@ -5,9 +5,8 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableSet; +import com.google.common.reflect.Reflection; import fr.ird.observe.ObserveTechnicalException; -import fr.ird.observe.db.DataSource; -import fr.ird.observe.db.DataSourceException; import fr.ird.observe.db.DataSourceFactory; import fr.ird.observe.db.constants.CommonDataSourceConfigParam; import fr.ird.observe.db.impl.H2DataSourceConfig; @@ -23,12 +22,12 @@ import fr.ird.observe.services.spi.Write; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaContext; +import org.nuiton.topia.framework.TopiaContextImplementor; import java.io.Closeable; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.lang.reflect.Proxy; import java.util.Set; import java.util.concurrent.ExecutionException; @@ -46,14 +45,14 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp protected static final LoadingCache<Class<?>, Class<?>> serviceTypeCache = newServiceImplementationTypesCache("Topia"); - protected final LoadingCache<ObserveDataSourceConfigurationTopiaSupport, DataSource> dataSourceCache = CacheBuilder + protected final LoadingCache<ObserveDataSourceConfigurationTopiaSupport, TopiaContextImplementor> topiaApplicationContextCache = CacheBuilder .newBuilder() - .build(new CacheLoader<ObserveDataSourceConfigurationTopiaSupport, DataSource>() { + .build(new CacheLoader<ObserveDataSourceConfigurationTopiaSupport, TopiaContextImplementor>() { @Override - public DataSource load(ObserveDataSourceConfigurationTopiaSupport key) throws Exception { + public TopiaContextImplementor load(ObserveDataSourceConfigurationTopiaSupport key) throws Exception { - DataSource dataSource = null; + TopiaContextImplementor dataSource = null; if (key instanceof ObserveDataSourceConfigurationTopiaH2) { dataSource = createH2DataSource((ObserveDataSourceConfigurationTopiaH2) key); } @@ -103,13 +102,13 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp serviceContext.setDataSourceConfiguration(dataSourceConfigurationTopia); - DataSource dataSource = getDataSource(dataSourceConfigurationTopia); - serviceContext.setDataSource(dataSource); + TopiaContextImplementor dataSource = getDataSource(dataSourceConfigurationTopia); + serviceContext.setTopiaApplicationContext(dataSource); return serviceContext; } - protected DataSource createPGDataSource(ObserveDataSourceConfigurationTopiaPG key) { + protected TopiaContextImplementor createPGDataSource(ObserveDataSourceConfigurationTopiaPG key) { PGDataSourceConfig result = DataSourceFactory.newPGConfig( key.getLabel(), @@ -121,11 +120,14 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp PGDataSourceConfigParam.URL, key.getJdbcUrl(), PGDataSourceConfigParam.USE_SSL, key.isUseSsl() ); - return DataSourceFactory.newService(result); + + //TODO + TopiaContextImplementor topiaApplicationContext = null; + return topiaApplicationContext; } - protected DataSource createH2DataSource(ObserveDataSourceConfigurationTopiaH2 key) { + protected TopiaContextImplementor createH2DataSource(ObserveDataSourceConfigurationTopiaH2 key) { H2DataSourceConfig result = DataSourceFactory.newH2Config( key.getLabel(), @@ -136,14 +138,17 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp CommonDataSourceConfigParam.SHOW_MIGRATION_SQL, key.isShowMigrationSql(), H2DataSourceConfigParam.DIRECTORY, key.getDirectory() ); - return DataSourceFactory.newService(result); + + //TODO + TopiaContextImplementor topiaApplicationContext = null; + return topiaApplicationContext; } - protected DataSource getDataSource(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { + protected TopiaContextImplementor getDataSource(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { try { - DataSource dataSource = dataSourceCache.get(dataSourceConfiguration); + TopiaContextImplementor dataSource = topiaApplicationContextCache.get(dataSourceConfiguration); return dataSource; } catch (ExecutionException e) { throw new ObserveTechnicalException("Could not get dataSource for configuration: " + dataSourceConfiguration, e); @@ -154,20 +159,20 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp protected <S extends ObserveService> S newServiceTransactionalProxy(Class<S> serviceType, S service, ObserveServiceContextTopia serviceContext) { ObserveServiceInvocationHandler invocationHandler = new ObserveServiceInvocationHandler(serviceContext, service); - Object proxyService = Proxy.newProxyInstance(getClass().getClassLoader(), new Class[]{serviceType}, invocationHandler); - return (S) proxyService; + S proxyService = Reflection.newProxy(serviceType, invocationHandler); + return proxyService; } @Override public void close() { - for (DataSource dataSource : dataSourceCache.asMap().values()) { + for (TopiaContextImplementor dataSource : topiaApplicationContextCache.asMap().values()) { - if (dataSource.isOpen()) { + if (!dataSource.isClosed()) { try { - dataSource.doClose(false); - } catch (DataSourceException e) { + dataSource.closeContext(); + } catch (Exception e) { if (log.isErrorEnabled()) { log.error("Could not close data source: " + dataSource, e); } @@ -175,8 +180,7 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp } } - dataSourceCache.invalidateAll(); - + topiaApplicationContextCache.invalidateAll(); } @@ -237,22 +241,20 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp protected Object invokeMethodWithTransaction(Method method, Object... args) throws Throwable { - String methodName = method.getName(); - - DataSource source = serviceContext.getDataSource(); + TopiaContextImplementor source = serviceContext.getTopiaApplicationContext(); - TopiaContext tx = source.beginTransaction(methodName); + TopiaContext topiaPersistenceContext = source.beginTransaction(); try { - serviceContext.setTransaction(tx); + serviceContext.setTopiaPersistenceContext(topiaPersistenceContext); Object invoke = invokeMethod(method, args); if (method.isAnnotationPresent(Write.class)) { // do commit - source.commitTransaction(tx, methodName); + topiaPersistenceContext.commitTransaction(); } @@ -263,12 +265,11 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp try { // always rollback transaction to avoid dirty transactions - source.rollbackTransaction(tx, methodName); + topiaPersistenceContext.rollbackTransaction(); } finally { - serviceContext.setTransaction(null); - source.closeTransaction(tx, methodName); + serviceContext.closeTopiaPersistenceContext(); } 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 51cb177..b17e2b5 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 @@ -74,14 +74,14 @@ public class ObserveServiceTopia implements ObserveService { } protected <E extends TopiaEntity> List<E> loadEntities(Class<E> entityType) { - TopiaContext transaction = serviceContext.getTransaction(); + TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); List<E> entities = dao.findAll(); return entities; } protected <D extends ReferentialDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, Class<E> entityType, String id) { - TopiaContext transaction = serviceContext.getTransaction(); + TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); E entity = dao.findByTopiaId(id); if (entity == null) { @@ -91,21 +91,21 @@ public class ObserveServiceTopia implements ObserveService { } public <E extends TopiaEntity> E newEntity(Class<E> entityType) { - TopiaContext transaction = serviceContext.getTransaction(); + TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); E entity = dao.newInstance(); return entity; } protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { - TopiaContext transaction = serviceContext.getTransaction(); + TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); entity = dao.update(entity); return entity; } protected <D extends ReferentialDto, E extends TopiaEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { - TopiaContext transaction = serviceContext.getTransaction(); + TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); for (String id : ids) { E entity = dao.findByTopiaId(id); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java index 2b22b88..6781edb 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java @@ -15,7 +15,7 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopia public class ObserveServiceFactoryTopiaTaiste extends ObserveServiceFactoryTopia { public H2DataSource getExistingDataSource(ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration) { - H2DataSource dataSource = (H2DataSource) dataSourceCache.getIfPresent(dataSourceConfiguration); + H2DataSource dataSource = (H2DataSource) topiaApplicationContextCache.getIfPresent(dataSourceConfiguration); return dataSource; } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit e70c29c3ad1f7936acbd878bbeeb97b8855263df Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 11:45:44 2015 +0200 Taiste --- .../observe/ObserveTopiaApplicationContext.java | 24 +++++++++++++ .../java/fr/ird/observe/ObserveTopiaIdFactory.java | 23 ++++++++++++ .../observe/ObserveTopiaPersistenceContext.java | 11 ++++++ .../fr/ird/observe/entities/OpenableEntities.java | 12 +++---- .../AbstractObserveMigrationCallBack.java | 13 ++++--- .../entities/migration/H2DataSourceMigration.java | 38 ++++++++++---------- ...ObserveMigrationCallBackForVersionResolver.java | 4 +-- .../entities/migration/PGDataSourceMigration.java | 41 +++++++++++---------- .../DataSourceMigrationForVersion_3_1.java | 24 ++++++------- .../DataSourceMigrationForVersion_3_10.java | 5 ++- .../DataSourceMigrationForVersion_3_11.java | 5 ++- .../DataSourceMigrationForVersion_3_12.java | 5 ++- .../DataSourceMigrationForVersion_3_14.java | 5 ++- .../DataSourceMigrationForVersion_3_15.java | 5 ++- .../DataSourceMigrationForVersion_3_16.java | 39 ++++++++++---------- .../DataSourceMigrationForVersion_3_5.java | 42 +++++++++++----------- .../DataSourceMigrationForVersion_3_7.java | 5 ++- .../DataSourceMigrationForVersion_3_8.java | 5 ++- .../DataSourceMigrationForVersion_3_9.java | 5 ++- .../DataSourceMigrationForVersion_4_0.java | 7 ++-- .../DataSourceMigrationForVersion_4_0_1.java | 31 ++++++++-------- .../DataSourceMigrationForVersion_4_0_RC2.java | 9 +++-- .../DataSourceMigrationForVersion_4_0_RC3.java | 22 ++++++------ .../DataSourceMigrationForVersion_4_0_RC4.java | 7 ++-- .../DataSourceMigrationForVersion_4_0_RC6.java | 13 ++++--- .../DataSourceMigrationForVersion_4_0_RC7.java | 5 ++- .../referentiel/LengthWeightParemeterHelper.java | 12 +++---- .../{ProgramDAOImpl.java => ProgramTopiaDao.java} | 34 +++++++++--------- .../main/java/fr/ird/observe/util/DBHelper.java | 4 +-- ...ObserveDataSourceConfigurationTopiaSupport.java | 3 ++ 30 files changed, 249 insertions(+), 209 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 new file mode 100644 index 0000000..d7d6bcc --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -0,0 +1,24 @@ +package fr.ird.observe; + +import org.nuiton.topia.persistence.TopiaConfiguration; + +import java.util.Map; +import java.util.Properties; + +public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicationContext { + + @Deprecated + public ObserveTopiaApplicationContext(Properties properties) { + super(properties); + } + + @Deprecated + public ObserveTopiaApplicationContext(Map<String, String> configuration) { + super(configuration); + } + + public ObserveTopiaApplicationContext(TopiaConfiguration topiaConfiguration) { + super(topiaConfiguration); + } + +} diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaIdFactory.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaIdFactory.java new file mode 100644 index 0000000..d5a8778 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaIdFactory.java @@ -0,0 +1,23 @@ +package fr.ird.observe; + +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.internal.LegacyTopiaIdFactory; + +/** + * Created on 21/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveTopiaIdFactory extends LegacyTopiaIdFactory { + + private static final long serialVersionUID = 1L; + + public <E extends TopiaEntity> String newTopiaId(Class<E> entityType ) { + + double random = Math.random(); + while (Double.toString(random).contains("E-")) { + random = Math.random(); + } + return newTopiaId(entityType, random+""); + } +} diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java new file mode 100644 index 0000000..61caf84 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -0,0 +1,11 @@ +package fr.ird.observe; + +import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; + +public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersistenceContext { + + public ObserveTopiaPersistenceContext(AbstractTopiaPersistenceContextConstructorParameter parameter) { + super(parameter); + } + +} diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java b/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java index b84b82a..b6ad4ed 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/OpenableEntities.java @@ -22,11 +22,9 @@ package fr.ird.observe.entities; * #L% */ -import fr.ird.observe.ObserveDAOHelper; +import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.seine.TripSeine; -import org.nuiton.topia.TopiaContext; - -import org.nuiton.topia.TopiaRuntimeException; +import org.nuiton.topia.persistence.TopiaException; import java.util.Collection; @@ -62,12 +60,12 @@ public class OpenableEntities { * @return la marée ouverte, ou <code>null</code> si pas de marée ouverte * @if any pb */ - public static TripSeine getOpenTrip(TopiaContext ctxt) { + public static TripSeine getOpenTrip(ObserveTopiaPersistenceContext ctxt) { if (ctxt == null) { - throw new TopiaRuntimeException("could not find a local topia" + + throw new TopiaException("could not find a local topia" + " context"); } - TripSeine m = ObserveDAOHelper.getTripSeineDAO(ctxt).findByOpen(true); + TripSeine m = ctxt.getTripSeineDao().forOpenEquals(true).findAnyOrNull(); return m; } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java index cc8cb32..9819d82 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractObserveMigrationCallBack.java @@ -27,11 +27,10 @@ import com.google.common.collect.Lists; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.hibernate.jdbc.Work; - -import org.nuiton.topia.TopiaRuntimeException; -import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.topia.persistence.support.TopiaSqlWork; import org.nuiton.util.version.Version; import java.io.IOException; @@ -76,7 +75,7 @@ public abstract class AbstractObserveMigrationCallBack extends TopiaMigrationCal stream.close(); } catch (IOException e) { - throw new TopiaRuntimeException("Could not load migration script: " + migrationScript, e); + throw new TopiaException("Could not load migration script: " + migrationScript, e); } finally { IOUtils.closeQuietly(stream); } @@ -84,11 +83,11 @@ public abstract class AbstractObserveMigrationCallBack extends TopiaMigrationCal } - protected Set<String> getTopiaIds(TopiaContextImplementor tx, final String tableName) { + protected Set<String> getTopiaIds(TopiaSqlSupport topiaSqlSupport, final String tableName) { final Set<String> result = new HashSet<String>(); - tx.getHibernate().doWork(new Work() { + topiaSqlSupport.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java index 234ab60..ef36c92 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/H2DataSourceMigration.java @@ -23,9 +23,9 @@ package fr.ird.observe.entities.migration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.hibernate.jdbc.Work; - -import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.topia.persistence.support.TopiaSqlWork; import java.sql.Connection; import java.sql.PreparedStatement; @@ -54,12 +54,12 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { super(new ObserveMigrationCallBackForVersionResolver(TYPE)); } - protected static String getUniqueConstraintName(TopiaContextImplementor tx, final String tableName, final String columnName) { + protected static String getUniqueConstraintName(TopiaSqlSupport tx, final String tableName, final String columnName) { // recherche du nom de la constrainte final List<String> result = new ArrayList<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -92,13 +92,13 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return constraintName; } - public static String getFirstTableUniqueConstraintName(TopiaContextImplementor tx, final String tableName) { + public static String getFirstTableUniqueConstraintName(TopiaSqlSupport tx, final String tableName) { // recherche du nom de la constrainte //(); final List<String> result = new ArrayList<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -129,11 +129,11 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return constraintName; } - public static Set<String> getConstraintNames(TopiaContextImplementor tx, final String tableName) { + public static Set<String> getConstraintNames(TopiaSqlSupport tx, final String tableName) { final Set<String> result = new HashSet<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -156,11 +156,11 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return result; } - public static Set<String> getForeignKeyConstraintNames(TopiaContextImplementor tx, final String tableName) { + public static Set<String> getForeignKeyConstraintNames(TopiaSqlSupport tx, final String tableName) { final Set<String> result = new HashSet<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -183,11 +183,11 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return result; } - public static String getForeignKeyConstraintName(TopiaContextImplementor tx, final String schemaName, final String tableName, final String columnName, final boolean mustExists) { + public static String getForeignKeyConstraintName(TopiaSqlSupport tx, final String schemaName, final String tableName, final String columnName, final boolean mustExists) { final List<String> result = new ArrayList<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -232,11 +232,11 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { } - public static Set<String> getUniqueKeyConstraintNames(TopiaContextImplementor tx, final String tableName) { + public static Set<String> getUniqueKeyConstraintNames(TopiaSqlSupport tx, final String tableName) { final Set<String> result = new HashSet<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -259,7 +259,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { return result; } - public static void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) { + public static void removeFK(TopiaSqlSupport tx, String tableName, List<String> queries) { // Get fk constraints Set<String> fkNames = getForeignKeyConstraintNames(tx, tableName); @@ -271,7 +271,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { } - public static void removeFK(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) { + public static void removeFK(TopiaSqlSupport tx, String schemaName, String tableName, String columnName, List<String> queries) { // Get fk constraints String contrainstName = getForeignKeyConstraintName(tx, schemaName, tableName, columnName, true); @@ -281,7 +281,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { } - public static void removeFKIfExists(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) { + public static void removeFKIfExists(TopiaSqlSupport tx, String schemaName, String tableName, String columnName, List<String> queries) { // Get fk constraints String contrainstName = getForeignKeyConstraintName(tx, schemaName, tableName, columnName, false); @@ -296,7 +296,7 @@ public class H2DataSourceMigration extends AbstractDataSourceMigration { } - public static void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) { + public static void removeUK(TopiaSqlSupport tx, String tableName, List<String> queries) { // Get uk constraints Set<String> uKNames = getUniqueKeyConstraintNames(tx, tableName); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java index 5e6c123..696fde3 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationCallBackForVersionResolver.java @@ -23,7 +23,7 @@ package fr.ird.observe.entities.migration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaRuntimeException; +import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; import org.nuiton.util.version.Version; @@ -83,7 +83,7 @@ class ObserveMigrationCallBackForVersionResolver implements TopiaMigrationCallba } } catch (ClassNotFoundException e) { - throw new TopiaRuntimeException("Could not find migration class [" + mainclassName + "] for version " + version); + throw new TopiaException("Could not find migration class [" + mainclassName + "] for version " + version); } if (log.isDebugEnabled()) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java index 8c04605..2bb4b76 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/PGDataSourceMigration.java @@ -23,9 +23,9 @@ package fr.ird.observe.entities.migration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.hibernate.jdbc.Work; - -import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.topia.persistence.support.TopiaSqlWork; import java.sql.Connection; import java.sql.PreparedStatement; @@ -54,12 +54,12 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { super(new ObserveMigrationCallBackForVersionResolver(TYPE)); } - protected static String getUniqueConstraintName(TopiaContextImplementor tx, final String tableName, final String columnName) { + protected static String getUniqueConstraintName(TopiaSqlSupport tx, final String tableName, final String columnName) { // recherche du nom de la constrainte final List<String> result = new ArrayList<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -135,13 +135,13 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { return constraintName; } - public static String getFirstTableUniqueConstraintName(TopiaContextImplementor tx, final String tableName) { + public static String getFirstTableUniqueConstraintName(TopiaSqlSupport tx, final String tableName) { // recherche du nom de la constrainte //(); final List<String> result = new ArrayList<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -172,11 +172,11 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { return constraintName; } - public static Set<String> getConstraintNames(TopiaContextImplementor tx, final String tableName) { + public static Set<String> getConstraintNames(TopiaSqlSupport tx, final String tableName) { final Set<String> result = new HashSet<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -199,11 +199,11 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { return result; } - public static Set<String> getForeignKeyConstraintNames(TopiaContextImplementor tx, final String tableName) { + public static Set<String> getForeignKeyConstraintNames(TopiaSqlSupport tx, final String tableName) { final Set<String> result = new HashSet<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -227,13 +227,12 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static String getForeignKeyConstraintName(TopiaContextImplementor tx, final String schemaName, final String tableName, final String columnName, final boolean mustExists) { + public static String getForeignKeyConstraintName(TopiaSqlSupport tx, final String schemaName, final String tableName, final String columnName, final boolean mustExists) { final List<String> result = new ArrayList<String>(); - tx.getHibernate().doWork(new Work() { - - @Override + tx.doSqlWork(new TopiaSqlWork() { + public void execute(Connection connection) throws SQLException { @@ -318,11 +317,11 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static Set<String> getUniqueKeyConstraintNames(TopiaContextImplementor tx, final String tableName) { + public static Set<String> getUniqueKeyConstraintNames(TopiaSqlSupport tx, final String tableName) { final Set<String> result = new HashSet<String>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -345,7 +344,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { return result; } - public static void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) { + public static void removeFK(TopiaSqlSupport tx, String tableName, List<String> queries) { // Get fk constraints Set<String> fkNames = getForeignKeyConstraintNames(tx, tableName); @@ -357,7 +356,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static void removeFK(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) { + public static void removeFK(TopiaSqlSupport tx, String schemaName, String tableName, String columnName, List<String> queries) { // Get fk constraints String contrainstName = getForeignKeyConstraintName(tx, schemaName, tableName, columnName, true); @@ -367,7 +366,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static void removeFKIfExists(TopiaContextImplementor tx, String schemaName, String tableName, String columnName, List<String> queries) { + public static void removeFKIfExists(TopiaSqlSupport tx, String schemaName, String tableName, String columnName, List<String> queries) { // Get fk constraints String contrainstName = getForeignKeyConstraintName(tx, schemaName, tableName, columnName, false); @@ -381,7 +380,7 @@ public class PGDataSourceMigration extends AbstractDataSourceMigration { } - public static void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) { + public static void removeUK(TopiaSqlSupport tx, String tableName, List<String> queries) { // Get uk constraints Set<String> uKNames = getUniqueKeyConstraintNames(tx, tableName); 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 8580455..26cfb7f 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 @@ -25,9 +25,8 @@ package fr.ird.observe.entities.migration.versions; import fr.ird.observe.entities.migration.AbstractDataSourceMigration; import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; import org.apache.commons.lang3.tuple.Pair; -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.framework.TopiaSQLQuery; -import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.sql.Connection; import java.sql.PreparedStatement; @@ -50,24 +49,23 @@ public class DataSourceMigrationForVersion_3_1 extends AbstractObserveMigrationC } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { // Doublons et absence de clé primaire dans especefaune_ocean et especethon_ocean // (see http://forge.codelutin.com/issues/3398) - updateReferentielEspece("thon", tx, queries); - updateReferentielEspece("faune", tx, queries); + updateReferentielEspece("thon", topiaSqlSupport, queries); + updateReferentielEspece("faune", topiaSqlSupport, queries); } - protected void updateReferentielEspece(String speciesType, TopiaContextImplementor tx, + protected void updateReferentielEspece(String speciesType, TopiaSqlSupport topiaSqlSupport, List<String> queries) { - GetAllEspeceOceanDoublonQuery request = - new GetAllEspeceOceanDoublonQuery(speciesType); + GetAllEspeceOceanDoublonQuery request = new GetAllEspeceOceanDoublonQuery(speciesType); - List<Pair<String, String>> entities = request.findMultipleResult(tx); + List<Pair<String, String>> entities = topiaSqlSupport.findMultipleResult(request); String deleteQuery = "DELETE FROM espece%1$s_ocean WHERE espece%1$s='%2$s' AND ocean='%3$s';"; String insertQuery = "INSERT INTO espece%1$s_ocean VALUES('%2$s','%3$s');"; @@ -84,7 +82,7 @@ public class DataSourceMigrationForVersion_3_1 extends AbstractObserveMigrationC queries.add(String.format(addConstraintQuery, speciesType)); } - static class GetAllEspeceOceanDoublonQuery extends TopiaSQLQuery<Pair<String, String>> { + static class GetAllEspeceOceanDoublonQuery extends TopiaSqlQuery<Pair<String, String>> { private final String tableName; @@ -93,7 +91,7 @@ public class DataSourceMigrationForVersion_3_1 extends AbstractObserveMigrationC } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { String sql = "SELECT e.espece%1$s, e.ocean, count(e.*) " + "FROM espece%1$s_ocean e \n" + "GROUP BY e.espece%1$s, e.ocean\n" + @@ -104,7 +102,7 @@ public class DataSourceMigrationForVersion_3_1 extends AbstractObserveMigrationC } @Override - protected Pair<String, String> prepareResult(ResultSet set) throws SQLException { + public Pair<String, String> prepareResult(ResultSet set) throws SQLException { Pair<String, String> result = Pair.of(set.getString(1), set.getString(2)); return result; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java index 371bd78..1fa4e0a 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_10.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -44,7 +43,7 @@ public class DataSourceMigrationForVersion_3_10 extends AbstractObserveMigration } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java index ffb735e..55db066 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_11.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -44,7 +43,7 @@ public class DataSourceMigrationForVersion_3_11 extends AbstractObserveMigration } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java index 1663e5d..dece464 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_12.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -44,7 +43,7 @@ public class DataSourceMigrationForVersion_3_12 extends AbstractObserveMigration } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java index 5bce4e5..0f60deb 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_14.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -44,7 +43,7 @@ public class DataSourceMigrationForVersion_3_14 extends AbstractObserveMigration } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java index 57b5c95..a885f4b 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_15.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -44,7 +43,7 @@ public class DataSourceMigrationForVersion_3_15 extends AbstractObserveMigration } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java index 6837359..d8b7fd3 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_16.java @@ -28,9 +28,8 @@ import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.hibernate.jdbc.Work; - -import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.topia.persistence.support.TopiaSqlWork; import java.sql.Connection; import java.sql.PreparedStatement; @@ -56,19 +55,19 @@ public class DataSourceMigrationForVersion_3_16 extends AbstractObserveMigration } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { addScript("add-gear-referential", queries); addScript("add-gear-data", queries); - migrateTripSenneData(tx, queries); + migrateTripSenneData(topiaSqlSupport, queries); addScript("remove-tripSeine-seine", queries); - + } - private void migrateTripSenneData(TopiaContextImplementor tx, List<String> queries) { + private void migrateTripSenneData(TopiaSqlSupport tx, List<String> queries) { String gearUseFeaturesIdPrefix = "fr.ird.observe.entities.seine.GearUseFeatures#1427183650941#"; @@ -100,22 +99,11 @@ public class DataSourceMigrationForVersion_3_16 extends AbstractObserveMigration } } - private static class SenneData { - - String tripId; - - Integer seineCircumference; - - Integer seineDepth; - - Integer seineBallastWeight; - } - - protected Set<SenneData> getSenneData(TopiaContextImplementor tx) { + protected Set<SenneData> getSenneData(TopiaSqlSupport tx) { final Set<SenneData> result = new HashSet<SenneData>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -142,6 +130,17 @@ public class DataSourceMigrationForVersion_3_16 extends AbstractObserveMigration return result; } + private static class SenneData { + + String tripId; + + Integer seineCircumference; + + Integer seineDepth; + + Integer seineBallastWeight; + } + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_3_16 { public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java index 645d30a..6831832 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_5.java @@ -27,8 +27,8 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; import java.util.Set; @@ -41,14 +41,6 @@ import java.util.Set; */ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveMigrationCallBack { - protected abstract void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException; - - protected abstract void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) throws TopiaException; - - public DataSourceMigrationForVersion_3_5(AbstractDataSourceMigration callBack, String scriptSuffix) { - super(AbstractDataSourceMigration.V_3_5, callBack, scriptSuffix); - } - protected String[] TABLES = new String[]{ "ParametrageTaillePoidsFaune", "ParametrageTaillePoidsThon", @@ -99,24 +91,32 @@ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveM "ACTIVITE_SYSTEMEOBSERVE" }; + public DataSourceMigrationForVersion_3_5(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(AbstractDataSourceMigration.V_3_5, callBack, scriptSuffix); + } + + protected abstract void removeFK(TopiaSqlSupport tx, String tableName, List<String> queries) throws TopiaException; + + protected abstract void removeUK(TopiaSqlSupport tx, String tableName, List<String> queries) throws TopiaException; + @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { // Get all especeThon (to migrate them into a speciesList later) - Set<String> speciesThonIds = getTopiaIds(tx, "especethon"); + Set<String> speciesThonIds = getTopiaIds(topiaSqlSupport, "especethon"); // Get all especeFaune (to migrate them into a speciesList later) - Set<String> speciesFauneIds = getTopiaIds(tx, "especefaune"); + Set<String> speciesFauneIds = getTopiaIds(topiaSqlSupport, "especefaune"); // translate model (see http://forge.codelutin.com/issues/4115) // migrate wind (see http://forge.codelutin.com/issues/5304) // migrate persons (see http://forge.codelutin.com/issues/5303) // add captain and dataInputor on Trip (see http://forge.codelutin.com/issues/5305) // add gearType on Program (see http://forge.codelutin.com/issues/5604) - translateModel(tx, queries); + translateModel(topiaSqlSupport, queries); // add SpeciesList (see http://forge.codelutin.com/issues/) addSpeciesList(queries, speciesThonIds, speciesFauneIds); @@ -146,12 +146,12 @@ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveM queries.addAll(Lists.newArrayList(migrationQueries)); } - protected void translateModel(TopiaContextImplementor tx, List<String> queries) { + protected void translateModel(TopiaSqlSupport topiaSqlSupport, List<String> queries) { for (String oldTableName : TABLES) { - removeFK(tx, oldTableName, queries); - removeUK(tx, oldTableName, queries); + removeFK(topiaSqlSupport, oldTableName, queries); + removeUK(topiaSqlSupport, oldTableName, queries); } String[] migrationQueries = loadScript("migration"); @@ -204,14 +204,14 @@ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveM } @Override - protected void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) { + protected void removeFK(TopiaSqlSupport tx, String tableName, List<String> queries) { H2DataSourceMigration.removeFK(tx, tableName, queries); } @Override - protected void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) { + protected void removeUK(TopiaSqlSupport tx, String tableName, List<String> queries) { H2DataSourceMigration.removeUK(tx, tableName, queries); @@ -226,14 +226,14 @@ public abstract class DataSourceMigrationForVersion_3_5 extends AbstractObserveM } @Override - protected void removeFK(TopiaContextImplementor tx, String tableName, List<String> queries) { + protected void removeFK(TopiaSqlSupport tx, String tableName, List<String> queries) { PGDataSourceMigration.removeFK(tx, tableName, queries); } @Override - protected void removeUK(TopiaContextImplementor tx, String tableName, List<String> queries) { + protected void removeUK(TopiaSqlSupport tx, String tableName, List<String> queries) { PGDataSourceMigration.removeUK(tx, tableName, queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java index 97109c4..f999b1f 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_7.java @@ -27,8 +27,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -45,7 +44,7 @@ public abstract class DataSourceMigrationForVersion_3_7 extends AbstractObserveM } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java index afdec16..96a36ce 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_8.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -44,7 +43,7 @@ public class DataSourceMigrationForVersion_3_8 extends AbstractObserveMigrationC } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java index c892b8f..ad39efc 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_3_9.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -44,7 +43,7 @@ public class DataSourceMigrationForVersion_3_9 extends AbstractObserveMigrationC } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java index 6d78971..77817f8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -37,14 +36,14 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class DataSourceMigrationForVersion_4_0 extends AbstractObserveMigrationCallBack { +public class DataSourceMigrationForVersion_4_0 extends AbstractObserveMigrationCallBack { public DataSourceMigrationForVersion_4_0(AbstractDataSourceMigration callBack, String scriptSuffix) { super(AbstractDataSourceMigration.V_4_0, callBack, scriptSuffix); } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java index 6ba88c8..b4c6ebb 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_1.java @@ -24,16 +24,15 @@ package fr.ird.observe.entities.migration.versions; import com.google.common.collect.LinkedHashMultimap; import com.google.common.collect.Multimap; +import fr.ird.observe.ObserveTopiaIdFactory; 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 fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; import fr.ird.observe.entities.seine.GearUseFeaturesSeine; -import org.hibernate.jdbc.Work; - -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.persistence.TopiaId; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.topia.persistence.support.TopiaSqlWork; import java.sql.Connection; import java.sql.PreparedStatement; @@ -52,14 +51,14 @@ import java.util.Set; */ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserveMigrationCallBack { - protected abstract void removeForeignKeys(TopiaContextImplementor tx, List<String> queries); - public DataSourceMigrationForVersion_4_0_1(AbstractDataSourceMigration callBack, String scriptSuffix) { super(AbstractDataSourceMigration.V_4_0_1, callBack, scriptSuffix); } + protected abstract void removeForeignKeys(TopiaSqlSupport tx, List<String> queries); + @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport tx, List<String> queries, boolean showSql, boolean showProgression) { @@ -79,7 +78,7 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv } - protected void recomputeLonglineHaulingIds(TopiaContextImplementor tx, List<String> queries) { + protected void recomputeLonglineHaulingIds(TopiaSqlSupport tx, List<String> queries) { class SetData { @@ -95,7 +94,7 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv // L'ensemble des opérations de pêche où l'on doit regénerer les générer les haulingIds final Set<SetData> setIds = new LinkedHashSet<SetData>(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -128,10 +127,10 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv } } - protected void migrateGearUseFeaturesSeineMeasurementIds(TopiaContextImplementor tx, List<String> queries) { + protected void migrateGearUseFeaturesSeineMeasurementIds(TopiaSqlSupport tx, List<String> queries) { final Multimap<String, String> gearUseFeaturesSeineAndMeasurementIds = LinkedHashMultimap.create(); - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { @@ -152,9 +151,11 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv } }); + ObserveTopiaIdFactory topiaIdFactory = new ObserveTopiaIdFactory(); for (String gearUseFeaturesSeineId : gearUseFeaturesSeineAndMeasurementIds.keySet()) { - String newGearUseFeaturesSeineId = TopiaId.create(GearUseFeaturesSeine.class); + + String newGearUseFeaturesSeineId = topiaIdFactory.newTopiaId(GearUseFeaturesSeine.class); queries.add(String.format("INSERT INTO OBSERVE_SEINE.GEARUSEFEATURES(TOPIAID, TOPIAVERSION, TOPIACREATEDATE, GEAR, NUMBER) VALUES ('%s', 0, TIMESTAMP '2015-03-24 00:00:00.00', 'fr.ird.observe.entities.referentiel.Gear#1239832686125#0.20', 1)", newGearUseFeaturesSeineId)); queries.add(String.format("UPDATE OBSERVE_SEINE.GEARUSEFEATURES SET TRIP = (SELECT TRIP FROM OBSERVE_SEINE.GEARUSEFEATURES WHERE topiaId='%s') WHERE topiaId='%s';", gearUseFeaturesSeineId, newGearUseFeaturesSeineId)); @@ -163,7 +164,7 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv for (String gearUseFeaturesMeasurementSeineId : gearUseFeaturesMeasurementSeineIds) { - String newGearUseFeaturesMeasurementSeineId = TopiaId.create(GearUseFeaturesMeasurementSeine.class); + String newGearUseFeaturesMeasurementSeineId = topiaIdFactory.newTopiaId(GearUseFeaturesMeasurementSeine.class); queries.add(String.format("UPDATE OBSERVE_SEINE.GEARUSEFEATURESMEASUREMENT SET GEARUSEFEATURES = '%s', topiaid = '%s' WHERE topiaid='%s'", newGearUseFeaturesSeineId, newGearUseFeaturesMeasurementSeineId, gearUseFeaturesMeasurementSeineId)); } @@ -181,7 +182,7 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv } @Override - protected void removeForeignKeys(TopiaContextImplementor tx, List<String> queries) { + protected void removeForeignKeys(TopiaSqlSupport tx, List<String> queries) { H2DataSourceMigration.removeFKIfExists(tx, "observe_seine", "FLOATINGOBJECT", "OBJECTTYPE", queries); H2DataSourceMigration.removeFKIfExists(tx, "observe_seine", "FLOATINGOBJECT", "OBJECTFATE", queries); @@ -200,7 +201,7 @@ public abstract class DataSourceMigrationForVersion_4_0_1 extends AbstractObserv } @Override - protected void removeForeignKeys(TopiaContextImplementor tx, List<String> queries) { + protected void removeForeignKeys(TopiaSqlSupport tx, List<String> queries) { PGDataSourceMigration.removeFKIfExists(tx, "observe_seine", "FLOATINGOBJECT", "OBJECTTYPE", queries); PGDataSourceMigration.removeFKIfExists(tx, "observe_seine", "FLOATINGOBJECT", "OBJECTFATE", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java index c6c4a98..1395a0a 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC2.java @@ -26,9 +26,8 @@ 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.hibernate.jdbc.Work; - -import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.topia.persistence.support.TopiaSqlWork; import java.sql.Connection; import java.sql.PreparedStatement; @@ -51,7 +50,7 @@ public class DataSourceMigrationForVersion_4_0_RC2 extends AbstractObserveMigrat } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { @@ -60,7 +59,7 @@ public class DataSourceMigrationForVersion_4_0_RC2 extends AbstractObserveMigrat // recherche du nom de la constrainte final Set<String> result = new HashSet<String>(); - tx.getHibernate().doWork(new Work() { + topiaSqlSupport.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java index 20bcfa8..734e8e8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC3.java @@ -28,9 +28,9 @@ import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.entities.migration.PGDataSourceMigration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.hibernate.jdbc.Work; - -import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.topia.persistence.support.TopiaSqlWork; import java.sql.Connection; import java.sql.PreparedStatement; @@ -51,21 +51,21 @@ public abstract class DataSourceMigrationForVersion_4_0_RC3 extends AbstractObse /** Logger. */ private static final Log log = LogFactory.getLog(DataSourceMigrationForVersion_4_0_RC3.class); - protected abstract void addMissingForeignKeys(TopiaContextImplementor tx, List<String> queries) throws TopiaException; - public DataSourceMigrationForVersion_4_0_RC3(AbstractDataSourceMigration callBack, String scriptSuffix) { super(AbstractDataSourceMigration.V_4_0_RC3, callBack, scriptSuffix); } + protected abstract void addMissingForeignKeys(TopiaSqlSupport tx, List<String> queries) throws TopiaException; + @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { // See https://forge.codelutin.com/issues/6964 - addMissingForeignKeys(tx, queries); + addMissingForeignKeys(topiaSqlSupport, queries); // See https://forge.codelutin.com/issues/6983 loadScript("update-senne-gear-usedInTrip"); @@ -82,7 +82,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC3 extends AbstractObse } @Override - protected void addMissingForeignKeys(TopiaContextImplementor tx, List<String> queries) { + protected void addMissingForeignKeys(TopiaSqlSupport tx, List<String> queries) { // Nothing to do for h2 db } @@ -95,7 +95,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC3 extends AbstractObse } @Override - protected void addMissingForeignKeys(TopiaContextImplementor tx, List<String> queries) { + protected void addMissingForeignKeys(TopiaSqlSupport tx, List<String> queries) { removeForeignKeyIndex(tx, queries, "OBSERVE_COMMON", "gear_gearcaracteristic", "gear"); removeForeignKeyIndex(tx, queries, "OBSERVE_COMMON", "ocean_species", "species"); @@ -148,9 +148,9 @@ public abstract class DataSourceMigrationForVersion_4_0_RC3 extends AbstractObse } - private void removeForeignKeyIndex(TopiaContextImplementor tx, final List<String> queries, final String schemaName, final String tableName, final String columnName) { + private void removeForeignKeyIndex(TopiaSqlSupport tx, final List<String> queries, final String schemaName, final String tableName, final String columnName) { - tx.getHibernate().doWork(new Work() { + tx.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java index d6c1a8e..5640999 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC4.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -44,7 +43,7 @@ public class DataSourceMigrationForVersion_4_0_RC4 extends AbstractObserveMigrat } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { @@ -52,7 +51,7 @@ public class DataSourceMigrationForVersion_4_0_RC4 extends AbstractObserveMigrat // See https://forge.codelutin.com/issues/7013 addScript("add-gear-data", queries); - + } public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0_RC4 { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java index 40c6a2f..4b23fa2 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC6.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -43,16 +42,16 @@ public abstract class DataSourceMigrationForVersion_4_0_RC6 extends AbstractObse super(AbstractDataSourceMigration.V_4_0_RC6, callBack, scriptSuffix); } - protected abstract void removeForeignKeyOnGearFseFeaturesMeasurementSeine(TopiaContextImplementor tx, List<String> queries); + protected abstract void removeForeignKeyOnGearFseFeaturesMeasurementSeine(TopiaSqlSupport tx, List<String> queries); @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { // See https://forge.codelutin.com/issues/7145 - removeForeignKeyOnGearFseFeaturesMeasurementSeine(tx, queries); + removeForeignKeyOnGearFseFeaturesMeasurementSeine(topiaSqlSupport, queries); // See https://forge.codelutin.com/issues/7142 addScript("fix-gearUseFeatures-topiaIds", queries); @@ -67,7 +66,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC6 extends AbstractObse } @Override - protected void removeForeignKeyOnGearFseFeaturesMeasurementSeine(TopiaContextImplementor tx, List<String> queries) { + protected void removeForeignKeyOnGearFseFeaturesMeasurementSeine(TopiaSqlSupport tx, List<String> queries) { H2DataSourceMigration.removeFK(tx, "observe_seine", "GEARUSEFEATURESMEASUREMENT", "GEARUSEFEATURES", queries); @@ -82,7 +81,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC6 extends AbstractObse } @Override - protected void removeForeignKeyOnGearFseFeaturesMeasurementSeine(TopiaContextImplementor tx, List<String> queries) { + protected void removeForeignKeyOnGearFseFeaturesMeasurementSeine(TopiaSqlSupport tx, List<String> queries) { PGDataSourceMigration.removeFK(tx, "observe_seine", "GEARUSEFEATURESMEASUREMENT", "GEARUSEFEATURES", queries); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java index b40aa09..0ebb072 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_4_0_RC7.java @@ -26,8 +26,7 @@ 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.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.util.List; @@ -44,7 +43,7 @@ public abstract class DataSourceMigrationForVersion_4_0_RC7 extends AbstractObse } @Override - protected void prepareMigrationScript(TopiaContextImplementor tx, + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java index f95777d..e0e9c44 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelper.java @@ -21,13 +21,12 @@ */ package fr.ird.observe.entities.referentiel; +import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.util.Numbers; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; - -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.persistence.TopiaDAO; +import org.nuiton.topia.persistence.TopiaDao; import javax.script.Bindings; import javax.script.ScriptContext; @@ -165,16 +164,15 @@ public class LengthWeightParemeterHelper { } @SuppressWarnings({"unchecked"}) - public static <P extends LengthWeightParameter> List<P> findBySpecies(TopiaContextImplementor tx, + public static <P extends LengthWeightParameter> List<P> findBySpecies(ObserveTopiaPersistenceContext tx, Species taillePoidsAble) { // le type de resultat recherche Class<P> entityClass = (Class<P>) LengthWeightParameter.class; - TopiaDAO<P> dao = tx.getDAO(entityClass); + TopiaDao<P> dao = tx.getDao(entityClass); - List<P> list = dao.findAllByProperties( - LengthWeightParameter.PROPERTY_SPECIES, taillePoidsAble); + List<P> list = dao.forProperties(LengthWeightParameter.PROPERTY_SPECIES, taillePoidsAble).findAll(); // on supprime les paramétrages qui ont a=0 ou a=null ou b=0 ou b = null Iterator<P> itr = list.iterator(); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramTopiaDao.java similarity index 70% rename from observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramDAOImpl.java rename to observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramTopiaDao.java index 66ec481..e053ee8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/referentiel/ProgramTopiaDao.java @@ -24,9 +24,8 @@ package fr.ird.observe.entities.referentiel; import fr.ird.observe.entities.constants.GearType; import fr.ird.observe.entities.constants.ReferenceLocale; - -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.framework.TopiaSQLQuery; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.sql.Connection; import java.sql.PreparedStatement; @@ -34,20 +33,21 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; -public class ProgramDAOImpl<E extends Program> extends ProgramDAOAbstract<E> { - public List<E> findAllStub(ReferenceLocale referenceLocale) { - List<E> result = StubSqlQuery.findAll(context, referenceLocale); +public class ProgramTopiaDao extends AbstractProgramTopiaDao<Program> { + + public List<Program> findAllStub(ReferenceLocale referenceLocale) { + List<Program> result = StubSqlQuery.findAll(topiaSqlSupport, referenceLocale); return result; } public Program findStubByTopiaId(String programId, ReferenceLocale referentielLocale) { - return StubSqlQuery.find(context, programId, referentielLocale); + return StubSqlQuery.find(topiaSqlSupport, programId, referentielLocale); } - private static class StubSqlQuery<E extends Program> extends TopiaSQLQuery<E> { + private static class StubSqlQuery extends TopiaSqlQuery<Program> { private final String sql; @@ -55,7 +55,7 @@ public class ProgramDAOImpl<E extends Program> extends ProgramDAOAbstract<E> { private final ReferenceLocale referenceLocale; - static <E extends Program> List<E> findAll(TopiaContextImplementor context, ReferenceLocale referenceLocale) { + static List<Program> findAll(TopiaSqlSupport topiaSqlSupport, ReferenceLocale referenceLocale) { String sql = "SELECT" + " p.topiaId," + @@ -64,12 +64,12 @@ public class ProgramDAOImpl<E extends Program> extends ProgramDAOAbstract<E> { " FROM observe_common.program p" + " ORDER BY p." + referenceLocale.getColumnName(); - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, null, referenceLocale); - return request.findMultipleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, null, referenceLocale); + return topiaSqlSupport.findMultipleResult(request); } - static <E extends Program> E find(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) { + static Program find(TopiaSqlSupport topiaSqlSupport, String tripId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " p.topiaId," + @@ -80,8 +80,8 @@ public class ProgramDAOImpl<E extends Program> extends ProgramDAOAbstract<E> { " p.topiaId = ?" + " ORDER BY p." + referenceLocale.getColumnName(); - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, tripId, referenceLocale); - return request.findSingleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, tripId, referenceLocale); + return topiaSqlSupport.findSingleResult(request); } @@ -92,7 +92,7 @@ public class ProgramDAOImpl<E extends Program> extends ProgramDAOAbstract<E> { } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(sql); if (id != null) { preparedStatement.setString(1, id); @@ -101,9 +101,9 @@ public class ProgramDAOImpl<E extends Program> extends ProgramDAOAbstract<E> { } @Override - protected E prepareResult(ResultSet set) throws SQLException { + public Program prepareResult(ResultSet set) throws SQLException { - E program = (E) new ProgramImpl(); + Program program = new ProgramImpl(); program.setTopiaId(set.getString(1)); int gearTypeOrdinal = set.getInt(2); diff --git a/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java b/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java index 4a36f15..c3440f6 100644 --- a/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java +++ b/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java @@ -26,7 +26,7 @@ import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.Entities; import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.TopiaRuntimeException; +import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaEntityAbstract; @@ -54,7 +54,7 @@ public class DBHelper { entity.setTopiaContext(ctxt); } } catch (TopiaException e) { - throw new TopiaRuntimeException(e); + throw new TopiaException(e); } } diff --git a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java index 228fa7c..cb8de02 100644 --- a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java +++ b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java @@ -22,16 +22,19 @@ public abstract class ObserveDataSourceConfigurationTopiaSupport implements Obse */ protected char[] password; + //FIXME deplacer ça dans l'objet de création ou d'ouverture de base /** * Est-ce que la base doit être migrée à son ouverture? */ protected boolean canMigrate; + //FIXME deplacer ça dans l'objet de création ou d'ouverture de base /** * Est-ce que l'on peut voir la progression lors d'une migration ? */ protected boolean showMigrationProgression; + //FIXME deplacer ça dans l'objet de création ou d'ouverture de base /** * Est-ce que l'on peut voir le script sql de migration à appliquer ? */ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 4054f01cbc33a410a7afb6b7d6494417cb3bc30d Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 12:16:38 2015 +0200 Refacotr module entite --- .../db/impl/AbstractDataSourceProvider.java | 1 - .../src/main/java/fr/ird/observe/util/Scripts.java | 30 +---- .../test/java/fr/ird/observe/db/DBTestHelper.java | 29 ++++- .../java/fr/ird/observe/db/DataServiceTest.java | 3 +- .../observe/db/impl/H2DataSourceConfigTest.java | 3 +- .../observe/db/impl/PGDataSourceConfigTest.java | 4 +- .../fr/ird/observe/its/DataSourceFactoryIT.java | 2 +- .../test/java/fr/ird/observe/its/PGInstallIT.java | 3 +- .../java/fr/ird/observe/its/RestoreEmptyPGIT.java | 3 +- .../its/migration/AbstractMigrationTest.java | 5 +- .../its/migration/PGDataSourceMigrationIT.java | 3 +- .../h2ToLast/AbstractH2MigrationToLastIT.java | 3 +- .../ird/observe/its/report/AbstractReportIT.java | 3 +- .../java/fr/ird/observe/entities/Entities.java | 13 +-- ...eDAOImpl.java => ActivityLonglineTopiaDao.java} | 35 +++--- .../entities/longline/SectionWithTemplateImpl.java | 6 +- ...glineDAOImpl.java => TripLonglineTopiaDao.java} | 122 ++++++++++----------- .../migration/AbstractDataSourceMigration.java | 1 + .../main/java/fr/ird/observe/util/DBHelper.java | 75 ------------- .../LengthWeightParemeterHelperTest.java | 3 +- .../{DBHelperTest.java => util/NumbersTest.java} | 51 +-------- 21 files changed, 133 insertions(+), 265 deletions(-) diff --git a/observe-business/src/main/java/fr/ird/observe/db/impl/AbstractDataSourceProvider.java b/observe-business/src/main/java/fr/ird/observe/db/impl/AbstractDataSourceProvider.java index bddcbd4..5c739e6 100644 --- a/observe-business/src/main/java/fr/ird/observe/db/impl/AbstractDataSourceProvider.java +++ b/observe-business/src/main/java/fr/ird/observe/db/impl/AbstractDataSourceProvider.java @@ -22,7 +22,6 @@ package fr.ird.observe.db.impl; import com.google.common.base.Preconditions; -import fr.ird.observe.util.DBHelper; import fr.ird.observe.IObserveConfig; import fr.ird.observe.ObserveServiceHelper; import fr.ird.observe.db.DataSource; diff --git a/observe-entities/src/main/java/fr/ird/observe/util/Scripts.java b/observe-business/src/main/java/fr/ird/observe/util/Scripts.java similarity index 85% rename from observe-entities/src/main/java/fr/ird/observe/util/Scripts.java rename to observe-business/src/main/java/fr/ird/observe/util/Scripts.java index 012cc47..8d620da 100644 --- a/observe-entities/src/main/java/fr/ird/observe/util/Scripts.java +++ b/observe-business/src/main/java/fr/ird/observe/util/Scripts.java @@ -22,11 +22,9 @@ package fr.ird.observe.util; * #L% */ -import fr.ird.observe.ObserveDAOHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.util.version.Version; -import org.nuiton.util.version.Versions; import java.io.BufferedReader; import java.io.IOException; @@ -54,8 +52,6 @@ public class Scripts { public static final String REFERENTIEL_SCRIPT = "referentiel"; - public static final Version V_LAST = Versions.valueOf(ObserveDAOHelper.getModelVersion()); - public static final String FULL_SCRIPT = "referentiel-data"; public static void loadScript(Connection connection, @@ -79,7 +75,7 @@ public class Scripts { public static int loadScriptContent(String scriptName, StringBuilder out) throws IOException { - InputStream stream = DBHelper.class.getResourceAsStream(scriptName); + InputStream stream = Scripts.class.getResourceAsStream(scriptName); return loadScriptContent(stream, out); } @@ -144,28 +140,12 @@ public class Scripts { // } // } - public static String getLastObstunaScript() { - return getObstunaScript(V_LAST); - } - - public static String getObstunaScript(Version version) { - String result = String.format( - OBSTUNA_SCRIPT_PATTERN, - version.toString(), - "" - ); - if (log.isInfoEnabled()) { - log.info(result); - } - return result; - } - public static URL getBackupScriptURL(Version version, String pattern) { String path = getBackupScript(version, pattern); if (log.isInfoEnabled()) { log.info("script = " + path); } - URL result = DBHelper.class.getResource(path); + URL result = Scripts.class.getResource(path); return result; } @@ -182,11 +162,7 @@ public class Scripts { } public static URL getLastReferentielBackup() { - - URL url = getBackupScriptURL( - V_LAST, - REFERENTIEL_SCRIPT - ); + URL url = getBackupScriptURL(DBTestHelper.V_LAST, REFERENTIEL_SCRIPT); return url; } } diff --git a/observe-business/src/test/java/fr/ird/observe/db/DBTestHelper.java b/observe-business/src/test/java/fr/ird/observe/db/DBTestHelper.java index 6c03398..88024c1 100644 --- a/observe-business/src/test/java/fr/ird/observe/db/DBTestHelper.java +++ b/observe-business/src/test/java/fr/ird/observe/db/DBTestHelper.java @@ -41,10 +41,11 @@ import org.apache.commons.logging.LogFactory; import org.hibernate.jdbc.Work; import org.junit.Assert; import org.junit.Assume; - import org.nuiton.topia.framework.TopiaContextImplementor; import org.nuiton.topia.persistence.TopiaEntity; +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; @@ -68,6 +69,8 @@ public class DBTestHelper { /** Logger */ private static final Log log = LogFactory.getLog(DBTestHelper.class); + public static final Version V_LAST = Versions.valueOf(ObserveDAOHelper.getModelVersion()); + public static boolean canUsePG; public static Class<?> testClass; @@ -285,7 +288,7 @@ public class DBTestHelper { service + "] n'est pas ouvert."); } - String scriptName = Scripts.getObstunaScript(version); + String scriptName = getObstunaScript(version); if (log.isInfoEnabled()) { log.info("load script : " + scriptName); @@ -391,7 +394,7 @@ public class DBTestHelper { PGDataSourceConfig config = createPGConfig(name, false, true, true); - Version lastVersion = Scripts.V_LAST; + Version lastVersion = V_LAST; TestHelper.setConfig(IObserveConfig.DB_VERSION, lastVersion.toString()); @@ -533,7 +536,7 @@ public class DBTestHelper { TestHelper.initTest(testClass); TestHelper.createApplicationContext(); TestHelper.setConfig(IObserveConfig.DB_VERSION, - Scripts.V_LAST.toString()); + V_LAST.toString()); canUsePG = false; @@ -558,6 +561,22 @@ public class DBTestHelper { Assume.assumeTrue(canUsePG); } + public static String getLastObstunaScript() { + return getObstunaScript(V_LAST); + } + + public static String getObstunaScript(Version version) { + String result = String.format( + Scripts.OBSTUNA_SCRIPT_PATTERN, + version.toString(), + "" + ); + if (log.isInfoEnabled()) { + log.info(result); + } + return result; + } + /** * Pour installer une base obstuna a partir d'un script. * <p/> @@ -574,7 +593,7 @@ public class DBTestHelper { @Override public void execute() throws Exception { - String scriptName = Scripts.getLastObstunaScript(); + String scriptName = getLastObstunaScript(); URL script = getClass().getResource(scriptName); diff --git a/observe-business/src/test/java/fr/ird/observe/db/DataServiceTest.java b/observe-business/src/test/java/fr/ird/observe/db/DataServiceTest.java index d720a02..60cd158 100644 --- a/observe-business/src/test/java/fr/ird/observe/db/DataServiceTest.java +++ b/observe-business/src/test/java/fr/ird/observe/db/DataServiceTest.java @@ -26,7 +26,6 @@ import fr.ird.observe.IObserveConfig; import fr.ird.observe.db.impl.H2DataSourceConfig; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.test.TestHelper; -import fr.ird.observe.util.Scripts; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.After; @@ -65,7 +64,7 @@ public class DataServiceTest { TestHelper.createApplicationContext(); TestHelper.setConfig(IObserveConfig.DB_VERSION, - Scripts.V_LAST.toString()); + DBTestHelper.V_LAST.toString()); } @Before diff --git a/observe-business/src/test/java/fr/ird/observe/db/impl/H2DataSourceConfigTest.java b/observe-business/src/test/java/fr/ird/observe/db/impl/H2DataSourceConfigTest.java index 4db948b..8f55d22 100644 --- a/observe-business/src/test/java/fr/ird/observe/db/impl/H2DataSourceConfigTest.java +++ b/observe-business/src/test/java/fr/ird/observe/db/impl/H2DataSourceConfigTest.java @@ -21,6 +21,7 @@ */ package fr.ird.observe.db.impl; +import fr.ird.observe.db.DBTestHelper; import fr.ird.observe.util.Scripts; import fr.ird.observe.test.TestHelper; import fr.ird.observe.db.constants.CreationMode; @@ -62,7 +63,7 @@ public class H2DataSourceConfigTest { I18n.setDefaultLocale(Locale.FRENCH); - Version lastVersion = Scripts.V_LAST; + Version lastVersion = DBTestHelper.V_LAST; TEST_DUMP_URL = Scripts.getBackupScriptURL(lastVersion, Scripts.FULL_SCRIPT); } diff --git a/observe-business/src/test/java/fr/ird/observe/db/impl/PGDataSourceConfigTest.java b/observe-business/src/test/java/fr/ird/observe/db/impl/PGDataSourceConfigTest.java index 7d9485e..41ed665 100644 --- a/observe-business/src/test/java/fr/ird/observe/db/impl/PGDataSourceConfigTest.java +++ b/observe-business/src/test/java/fr/ird/observe/db/impl/PGDataSourceConfigTest.java @@ -22,7 +22,7 @@ package fr.ird.observe.db.impl; import fr.ird.observe.IObserveConfig; -import fr.ird.observe.util.Scripts; +import fr.ird.observe.db.DBTestHelper; import fr.ird.observe.test.TestHelper; import fr.ird.observe.db.DataSourceFactory; import fr.ird.observe.db.constants.CommonDataSourceConfigParam; @@ -61,7 +61,7 @@ public class PGDataSourceConfigTest { TestHelper.createApplicationContext(); TestHelper.setConfig(IObserveConfig.DB_VERSION, - Scripts.V_LAST.toString() + DBTestHelper.V_LAST.toString() ); } diff --git a/observe-business/src/test/java/fr/ird/observe/its/DataSourceFactoryIT.java b/observe-business/src/test/java/fr/ird/observe/its/DataSourceFactoryIT.java index 6fb1de9..bfecc05 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/DataSourceFactoryIT.java +++ b/observe-business/src/test/java/fr/ird/observe/its/DataSourceFactoryIT.java @@ -70,7 +70,7 @@ public class DataSourceFactoryIT { TestHelper.createApplicationContext(); TestHelper.setConfig(IObserveConfig.DB_VERSION, - Scripts.V_LAST.toString()); + DBTestHelper.V_LAST.toString()); boolean canConnect = DBTestHelper.checkCanConnectPG( TestHelper.TEST_REMOTE_URL, diff --git a/observe-business/src/test/java/fr/ird/observe/its/PGInstallIT.java b/observe-business/src/test/java/fr/ird/observe/its/PGInstallIT.java index e45f168..a2e070e 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/PGInstallIT.java +++ b/observe-business/src/test/java/fr/ird/observe/its/PGInstallIT.java @@ -26,7 +26,6 @@ import fr.ird.observe.entities.Entities; import fr.ird.observe.db.DBTestHelper; import fr.ird.observe.db.impl.PGDataSourceConfig; import fr.ird.observe.db.util.PGInstall; -import fr.ird.observe.util.Scripts; import fr.ird.observe.db.util.SecurityModel; import fr.ird.observe.test.TestHelper; import org.apache.commons.lang3.tuple.Pair; @@ -64,7 +63,7 @@ public class PGInstallIT { TestHelper.createApplicationContext(); TestHelper.setConfig(IObserveConfig.DB_VERSION, - Scripts.V_LAST.toString()); + DBTestHelper.V_LAST.toString()); boolean canUsePG = DBTestHelper.checkCanConnectPG( TestHelper.TEST_REMOTE_URL, diff --git a/observe-business/src/test/java/fr/ird/observe/its/RestoreEmptyPGIT.java b/observe-business/src/test/java/fr/ird/observe/its/RestoreEmptyPGIT.java index f94c9f6..e1b1d19 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/RestoreEmptyPGIT.java +++ b/observe-business/src/test/java/fr/ird/observe/its/RestoreEmptyPGIT.java @@ -22,7 +22,6 @@ package fr.ird.observe.its; import fr.ird.observe.IObserveConfig; -import fr.ird.observe.util.Scripts; import fr.ird.observe.test.TestHelper; import fr.ird.observe.db.DBTestHelper; import org.apache.commons.logging.Log; @@ -54,7 +53,7 @@ public class RestoreEmptyPGIT { TestHelper.createApplicationContext(); TestHelper.setConfig(IObserveConfig.DB_VERSION, - Scripts.V_LAST.toString()); + DBTestHelper.V_LAST.toString()); boolean canConnect = DBTestHelper.checkCanConnectPG( TestHelper.TEST_REMOTE_URL, diff --git a/observe-business/src/test/java/fr/ird/observe/its/migration/AbstractMigrationTest.java b/observe-business/src/test/java/fr/ird/observe/its/migration/AbstractMigrationTest.java index 7eb68e5..64ec624 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/migration/AbstractMigrationTest.java +++ b/observe-business/src/test/java/fr/ird/observe/its/migration/AbstractMigrationTest.java @@ -28,7 +28,6 @@ import fr.ird.observe.db.DataSourceException; import fr.ird.observe.db.DataSourceFactory; import fr.ird.observe.entities.migration.AbstractDataSourceMigration; import fr.ird.observe.test.TestHelper; -import fr.ird.observe.util.Scripts; import org.junit.After; import org.junit.Before; import org.nuiton.util.version.Version; @@ -61,7 +60,7 @@ public abstract class AbstractMigrationTest<C extends DataSourceConfig, S extend protected final void testForVersion(Version v) throws Exception { - boolean last = v.equals(Scripts.V_LAST); + boolean last = v.equals(DBTestHelper.V_LAST); // on ouvre la base avec migration possible avec affichage des requetes // uniquement sur la dernière version @@ -89,7 +88,7 @@ public abstract class AbstractMigrationTest<C extends DataSourceConfig, S extend protected final void testForVersion(Version referentielVersion, Version v) throws Exception { - boolean last = v.equals(Scripts.V_LAST); + boolean last = v.equals(DBTestHelper.V_LAST); // on ouvre la base avec migration possible avec affichage des requetes // uniquement sur la dernière version diff --git a/observe-business/src/test/java/fr/ird/observe/its/migration/PGDataSourceMigrationIT.java b/observe-business/src/test/java/fr/ird/observe/its/migration/PGDataSourceMigrationIT.java index d16224d..990aeff 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/migration/PGDataSourceMigrationIT.java +++ b/observe-business/src/test/java/fr/ird/observe/its/migration/PGDataSourceMigrationIT.java @@ -22,7 +22,6 @@ package fr.ird.observe.its.migration; import fr.ird.observe.entities.migration.AbstractDataSourceMigration; -import fr.ird.observe.util.Scripts; import fr.ird.observe.test.TestHelper; import fr.ird.observe.db.DBTestHelper; import fr.ird.observe.db.DataSourceFactory; @@ -53,7 +52,7 @@ public class PGDataSourceMigrationIT extends AbstractDataSourceMigrationTest<PGD if (!DBTestHelper.canUsePG) { return; } - Version lastVersion = Scripts.V_LAST; + Version lastVersion = DBTestHelper.V_LAST; // creation base derniere version diff --git a/observe-business/src/test/java/fr/ird/observe/its/migration/h2ToLast/AbstractH2MigrationToLastIT.java b/observe-business/src/test/java/fr/ird/observe/its/migration/h2ToLast/AbstractH2MigrationToLastIT.java index 981be22..bd5313a 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/migration/h2ToLast/AbstractH2MigrationToLastIT.java +++ b/observe-business/src/test/java/fr/ird/observe/its/migration/h2ToLast/AbstractH2MigrationToLastIT.java @@ -21,7 +21,6 @@ */ package fr.ird.observe.its.migration.h2ToLast; -import fr.ird.observe.util.Scripts; import fr.ird.observe.test.TestHelper; import fr.ird.observe.db.DBTestHelper; import fr.ird.observe.db.impl.H2DataSource; @@ -82,7 +81,7 @@ public abstract class AbstractH2MigrationToLastIT extends AbstractMigrationTest< @Test public final void testMigrateFrom0_TO_Last() throws Exception { - testForVersion(Scripts.V_LAST); + testForVersion(DBTestHelper.V_LAST); } @Override diff --git a/observe-business/src/test/java/fr/ird/observe/its/report/AbstractReportIT.java b/observe-business/src/test/java/fr/ird/observe/its/report/AbstractReportIT.java index aaffe11..2ff0a7e 100644 --- a/observe-business/src/test/java/fr/ird/observe/its/report/AbstractReportIT.java +++ b/observe-business/src/test/java/fr/ird/observe/its/report/AbstractReportIT.java @@ -23,7 +23,6 @@ package fr.ird.observe.its.report; import fr.ird.observe.IObserveConfig; import fr.ird.observe.ObserveServiceHelper; -import fr.ird.observe.util.Scripts; import fr.ird.observe.entities.seine.TripSeine; import fr.ird.observe.test.TestHelper; import fr.ird.observe.db.DBTestHelper; @@ -94,7 +93,7 @@ public abstract class AbstractReportIT { ApplicationConfig config = ObserveServiceHelper.get().getContextValue(ApplicationConfig.class); - config.setOption(IObserveConfig.DB_VERSION, Scripts.V_LAST.toString()); + config.setOption(IObserveConfig.DB_VERSION, DBTestHelper.V_LAST.toString()); TestHelper.setConfig(AbstractDataSourceMigration.AUTO_MIGRATE, "true"); 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 f31b317..b2d3f62 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 @@ -28,14 +28,13 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; import com.google.common.collect.Maps; -import fr.ird.observe.ObserveDAOHelper; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.util.Numbers; 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 org.nuiton.topia.persistence.TopiaId; import java.util.Arrays; import java.util.Collection; @@ -311,7 +310,7 @@ public class Entities { if (!TopiaEntity.class.isAssignableFrom(klass)) { return false; } - klass = ObserveDAOHelper.getContractClass((Class<? extends TopiaEntity>) klass); + klass = ObserveEntityEnum.getContractClass((Class<? extends TopiaEntity>) klass); for (ObserveEntityEnum c : REFERENCE_ENTITIES_LIST) { if (c.getContract().equals(klass)) { return true; @@ -341,7 +340,7 @@ public class Entities { if (!TopiaEntity.class.isAssignableFrom(klass)) { return false; } - klass = ObserveDAOHelper.getContractClass((Class<? extends TopiaEntity>) klass); + klass = ObserveEntityEnum.getContractClass((Class<? extends TopiaEntity>) klass); for (ObserveEntityEnum c : DATA_ENTITIES_LIST) { if (c.getContract().equals(klass)) { return true; @@ -354,7 +353,7 @@ public class Entities { Map<String, E> map = CollectionUtils.isEmpty(entities) ? Maps.<String, E>newHashMap() - : Maps.uniqueIndex(entities, TopiaId.GET_TOPIA_ID); + : Maps.uniqueIndex(entities, TopiaEntities.getTopiaIdFunction()); return map; @@ -402,7 +401,7 @@ public class Entities { private static class StackTraceElementPredicate implements Predicate<StackTraceElement> { - static final ImmutableSet<String> matchingPatterns = ImmutableSet.of("org.nuiton.","fr.ird"); + static final ImmutableSet<String> matchingPatterns = ImmutableSet.of("org.nuiton.", "fr.ird"); @Override public boolean apply(StackTraceElement input) { @@ -410,7 +409,7 @@ public class Entities { boolean keep = false; for (String matchingPattern : matchingPatterns) { if (className.contains(matchingPattern)) { - keep=true; + keep = true; break; } } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java similarity index 71% rename from observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineDAOImpl.java rename to observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java index 49b9114..eaf7a9f 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/ActivityLonglineTopiaDao.java @@ -25,9 +25,8 @@ package fr.ird.observe.entities.longline; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.longline.VesselActivityLongline; import fr.ird.observe.entities.referentiel.longline.VesselActivityLonglineImpl; - -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.framework.TopiaSQLQuery; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.sql.Connection; import java.sql.PreparedStatement; @@ -35,23 +34,23 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; -public class ActivityLonglineDAOImpl<E extends ActivityLongline> extends ActivityLonglineDAOAbstract<E> { +public class ActivityLonglineTopiaDao extends AbstractActivityLonglineTopiaDao<ActivityLongline> { - public List<E> findAllStubByTripId(String tripId, ReferenceLocale referenceLocale) { + public List<ActivityLongline> findAllStubByTripId(String tripId, ReferenceLocale referenceLocale) { - List<E> result = StubSqlQuery.findAll(context, tripId, referenceLocale); + List<ActivityLongline> result = StubSqlQuery.findAll(topiaSqlSupport, tripId, referenceLocale); return result; } - public E findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) { + public ActivityLongline findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) { - E result = StubSqlQuery.find(context, activityId, referenceLocale); + ActivityLongline result = StubSqlQuery.find(topiaSqlSupport, activityId, referenceLocale); return result; } - private static class StubSqlQuery<E extends ActivityLongline> extends TopiaSQLQuery<E> { + private static class StubSqlQuery extends TopiaSqlQuery<ActivityLongline> { private final String sql; @@ -59,7 +58,7 @@ public class ActivityLonglineDAOImpl<E extends ActivityLongline> extends Activit private final ReferenceLocale referenceLocale; - public static <E extends ActivityLongline> List<E> findAll(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) { + public static List<ActivityLongline> findAll(TopiaSqlSupport context, String tripId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " a.topiaId," + @@ -73,12 +72,12 @@ public class ActivityLonglineDAOImpl<E extends ActivityLongline> extends Activit " AND a.vesselactivity = va.topiaid" + " ORDER BY a.timestamp"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, tripId, referenceLocale); - return request.findMultipleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, tripId, referenceLocale); + return context.findMultipleResult(request); } - public static <E extends ActivityLongline> E find(TopiaContextImplementor context, String activityId, ReferenceLocale referenceLocale) { + public static ActivityLongline find(TopiaSqlSupport context, String activityId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " a.topiaId," + @@ -92,8 +91,8 @@ public class ActivityLonglineDAOImpl<E extends ActivityLongline> extends Activit " AND a.vesselactivity = va.topiaid" + " ORDER BY a.timestamp"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, activityId, referenceLocale); - return request.findSingleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, activityId, referenceLocale); + return context.findSingleResult(request); } @@ -104,16 +103,16 @@ public class ActivityLonglineDAOImpl<E extends ActivityLongline> extends Activit } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, id); return preparedStatement; } @Override - protected E prepareResult(ResultSet set) throws SQLException { + public ActivityLongline prepareResult(ResultSet set) throws SQLException { - E activity = (E) new ActivityLonglineImpl(); + ActivityLongline activity = new ActivityLonglineImpl(); activity.setTopiaId(set.getString(1)); activity.setTimeStamp(set.getTimestamp(2)); activity.setOpen(set.getBoolean(3)); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/SectionWithTemplateImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/SectionWithTemplateImpl.java index 6932b10..3398e00 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/SectionWithTemplateImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/SectionWithTemplateImpl.java @@ -63,17 +63,17 @@ public class SectionWithTemplateImpl extends SectionImpl implements SectionWithT } @Override - public void addAllBasket(List<Basket> basket) { + public void addAllBasket(Iterable<Basket> basket) { delegate.addAllBasket(basket); } @Override - public void addAllCatchLongline(Collection<CatchLongline> catchLongline) { + public void addAllCatchLongline(Iterable<CatchLongline> catchLongline) { delegate.addAllCatchLongline(catchLongline); } @Override - public void addAllTdr(Collection<Tdr> tdr) { + public void addAllTdr(Iterable<Tdr> tdr) { delegate.addAllTdr(tdr); } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java similarity index 74% rename from observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java rename to observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java index ef80115..4cbc12c 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/longline/TripLonglineTopiaDao.java @@ -31,9 +31,8 @@ import fr.ird.observe.entities.referentiel.Vessel; import fr.ird.observe.entities.referentiel.VesselImpl; import fr.ird.observe.tripMap.TripMapPoint; import fr.ird.observe.tripMap.TripMapPointType; - -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.framework.TopiaSQLQuery; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import org.nuiton.util.DateUtil; import java.sql.Connection; @@ -44,15 +43,16 @@ import java.sql.Timestamp; import java.util.Date; import java.util.List; -public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAOAbstract<E> { +public class TripLonglineTopiaDao extends AbstractTripLonglineTopiaDao<TripLongline> { public static final String ACTIVITY_INTERACTION_ID = "fr.ird.observe.entities.referentiel.longline.VesselActivityLongline#1239832686138#0.4"; + public static final String ACTIVITY_STATION_ID = "fr.ird.observe.entities.referentiel.longline.VesselActivityLongline#1239832686138#0.3"; public int findPositionByProgramId(String programId, String tripId) { int result = 0; - List<E> list = findAllStubByProgramId(programId, ReferenceLocale.FR); - for (E e : list) { + List<TripLongline> list = findAllStubByProgramId(programId, ReferenceLocale.FR); + for (TripLongline e : list) { if (tripId.equals(e.getTopiaId())) { return result; } @@ -63,16 +63,16 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO return -1; } - public List<E> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) { + public List<TripLongline> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) { - List<E> result = StubSqlQuery.findAll(context, programId, referenceLocale); + List<TripLongline> result = StubSqlQuery.findAll(topiaSqlSupport, programId, referenceLocale); return result; } - public E findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) { + public TripLongline findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) { - E result = StubSqlQuery.find(context, tripId, referenceLocale); + TripLongline result = StubSqlQuery.find(topiaSqlSupport, tripId, referenceLocale); return result; } @@ -86,8 +86,8 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO // add departure harbours Harbour departureHarbour = tripLongline.getDepartureHarbour(); if (departureHarbour != null - && departureHarbour.getLatitude() != null - && departureHarbour.getLongitude() != null) { + && departureHarbour.getLatitude() != null + && departureHarbour.getLongitude() != null) { TripMapPoint departurePoint = new TripMapPoint(); departurePoint.setTime(tripLongline.getStartDate()); departurePoint.setLatitude(departureHarbour.getLatitude()); @@ -98,16 +98,16 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO // Add Activities TripMapActivityPointQuery tripMapActivityPointQuery = new TripMapActivityPointQuery(tripId); - List<List<TripMapPoint>> results = tripMapActivityPointQuery.findMultipleResult(context); - for (List<TripMapPoint> result : results) { + List<List<TripMapPoint>> results = topiaSqlSupport.findMultipleResult(tripMapActivityPointQuery); + for (List<TripMapPoint> result : results) { tripMapPoints.addAll(result); } // add landing harbours Harbour landingHarbour = tripLongline.getLandingHarbour(); if (landingHarbour != null - && landingHarbour.getLatitude() != null - && landingHarbour.getLongitude() != null) { + && landingHarbour.getLatitude() != null + && landingHarbour.getLongitude() != null) { TripMapPoint landingPoint = new TripMapPoint(); landingPoint.setTime(tripLongline.getEndDate()); landingPoint.setLatitude(landingHarbour.getLatitude()); @@ -119,30 +119,30 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO return tripMapPoints; } - private static class TripMapActivityPointQuery extends TopiaSQLQuery<List<TripMapPoint>> { + private static class TripMapActivityPointQuery extends TopiaSqlQuery<List<TripMapPoint>> { private static String SQL = "SELECT" + - " a.timestamp, " + - " a.latitude," + - " a.longitude," + - " a.vesselActivity," + - " s.settingStartTimestamp," + - " s.settingStartLatitude," + - " s.settingStartLongitude," + - " s.settingEndTimestamp," + - " s.settingEndLatitude," + - " s.settingEndLongitude," + - " s.haulingStartTimestamp," + - " s.haulingStartLatitude," + - " s.haulingStartLongitude," + - " s.haulingEndTimestamp," + - " s.haulingEndLatitude," + - " s.haulingEndLongitude" + - " FROM observe_longLine.activity a" + - " LEFT OUTER JOIN observe_longLine.set s" + - " ON s.topiaId = a.set" + - " WHERE a.trip = ?" + - " ORDER BY a.timestamp"; + " a.timestamp, " + + " a.latitude," + + " a.longitude," + + " a.vesselActivity," + + " s.settingStartTimestamp," + + " s.settingStartLatitude," + + " s.settingStartLongitude," + + " s.settingEndTimestamp," + + " s.settingEndLatitude," + + " s.settingEndLongitude," + + " s.haulingStartTimestamp," + + " s.haulingStartLatitude," + + " s.haulingStartLongitude," + + " s.haulingEndTimestamp," + + " s.haulingEndLatitude," + + " s.haulingEndLongitude" + + " FROM observe_longLine.activity a" + + " LEFT OUTER JOIN observe_longLine.set s" + + " ON s.topiaId = a.set" + + " WHERE a.trip = ?" + + " ORDER BY a.timestamp"; protected String tripId; @@ -151,14 +151,14 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(SQL); preparedStatement.setString(1, tripId); return preparedStatement; } @Override - protected List<TripMapPoint> prepareResult(ResultSet resultSet) throws SQLException { + public List<TripMapPoint> prepareResult(ResultSet resultSet) throws SQLException { List<TripMapPoint> result = Lists.newLinkedList(); @@ -229,9 +229,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO } - - - private static class StubSqlQuery<E extends TripLongline> extends TopiaSQLQuery<E> { + private static class StubSqlQuery extends TopiaSqlQuery<TripLongline> { private final String sql; @@ -245,7 +243,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO this.referenceLocale = referenceLocale; } - public static <E extends TripLongline> List<E> findAll(TopiaContextImplementor context, String programId, ReferenceLocale referenceLocale) { + public static List<TripLongline> findAll(TopiaSqlSupport context, String programId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -263,12 +261,12 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO " AND t.vessel = v.topiaId" + " ORDER BY t.endDate"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, programId, referenceLocale); - return request.findMultipleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, programId, referenceLocale); + return context.findMultipleResult(request); } - public static <E extends TripLongline> E find(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) { + public static TripLongline find(TopiaSqlSupport context, String tripId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -286,22 +284,22 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO " AND t.vessel = v.topiaId" + " ORDER BY t.endDate"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, tripId, referenceLocale); - return request.findSingleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, tripId, referenceLocale); + return context.findSingleResult(request); } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, id); return preparedStatement; } @Override - protected E prepareResult(ResultSet set) throws SQLException { + public TripLongline prepareResult(ResultSet set) throws SQLException { - E trip = (E) new TripLonglineImpl(); + TripLongline trip = new TripLonglineImpl(); trip.setTopiaId(set.getString(1)); trip.setStartDate(set.getTimestamp(2)); trip.setEndDate(set.getTimestamp(3)); @@ -327,7 +325,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO } - public boolean updateEndDate(E trip) { + public boolean updateEndDate(TripLongline trip) { boolean wasUpdated = false; @@ -349,13 +347,13 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO } - public Date getTheoricalEndDate(E trip) { + public Date getTheoricalEndDate(TripLongline trip) { Date d; - Timestamp lastActivityDate = TheoricalEndOfDateSqlQuery.find(context, trip.getTopiaId()); + Timestamp lastActivityDate = TheoricalEndOfDateSqlQuery.find(topiaSqlSupport, trip.getTopiaId()); - if (lastActivityDate==null) { + if (lastActivityDate == null) { // pas d'activité, donc la date de fin est la date de debut d = trip.getStartDate(); @@ -373,7 +371,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO } - private static class TheoricalEndOfDateSqlQuery extends TopiaSQLQuery<Timestamp> { + private static class TheoricalEndOfDateSqlQuery extends TopiaSqlQuery<Timestamp> { private final String sql; @@ -384,19 +382,19 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO this.tripId = tripId; } - public static Timestamp find(TopiaContextImplementor context, String tripId) { + public static Timestamp find(TopiaSqlSupport context, String tripId) { String sql = "SELECT max(a.timestamp)" + " FROM observe_longline.activity a" + " WHERE a.trip = ?"; - TheoricalEndOfDateSqlQuery request = new TheoricalEndOfDateSqlQuery(sql, tripId); - return request.findSingleResult(context); + TheoricalEndOfDateSqlQuery request = new TheoricalEndOfDateSqlQuery(sql, tripId); + return context.findSingleResult(request); } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, tripId); @@ -405,7 +403,7 @@ public class TripLonglineDAOImpl<E extends TripLongline> extends TripLonglineDAO } @Override - protected Timestamp prepareResult(ResultSet set) throws SQLException { + public Timestamp prepareResult(ResultSet set) throws SQLException { Timestamp result = set.getTimestamp(1); return result; 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 4133d06..53464f9 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 @@ -111,6 +111,7 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback } + //FIXME @Override public Version getApplicationVersion() { Preconditions.checkNotNull(applicationConfigSupplier); diff --git a/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java b/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java deleted file mode 100644 index c3440f6..0000000 --- a/observe-entities/src/main/java/fr/ird/observe/util/DBHelper.java +++ /dev/null @@ -1,75 +0,0 @@ -/* - * #%L - * ObServe :: Entities - * %% - * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -package fr.ird.observe.util; - -import fr.ird.observe.ObserveDAOHelper; -import fr.ird.observe.ObserveEntityEnum; -import fr.ird.observe.entities.Entities; -import org.nuiton.topia.TopiaContext; - -import org.nuiton.topia.persistence.TopiaException; -import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.topia.persistence.TopiaEntityAbstract; - -import java.util.Properties; - -/** - * @author Tony Chemit - chemit@codelutin.com - * @since 1.0 - */ -public class DBHelper { - - - /** - * Attache l'entité à un topia context donné, cela permet d'activityr le - * support des modifications de propriétés. - * - * @param ctxt le topia context - * @param entity l'entité à attacher - */ - public static void attachTopiaContext(TopiaContext ctxt, - TopiaEntityAbstract entity) { - try { - if (entity.getTopiaContext() == null) { - // only attach topia context if required - entity.setTopiaContext(ctxt); - } - } catch (TopiaException e) { - throw new TopiaException(e); - } - } - - /** - * Permet d'ajouter les differents mapping hibernate specifique a - * l'application - * - * @param config l'objet properties dans lequel il faut ajouter les - * informations - * @return l'objet config passe en parametre - */ - public static Properties addHibernateMapping(Properties config) { - config.setProperty("topia.persistence.classes", - ObserveDAOHelper.getImplementationClassesAsString()); - return config; - } - -} diff --git a/observe-entities/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelperTest.java b/observe-entities/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelperTest.java index 4f634c0..8aca457 100644 --- a/observe-entities/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelperTest.java +++ b/observe-entities/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemeterHelperTest.java @@ -36,8 +36,7 @@ public class LengthWeightParemeterHelperTest { public void testComputeValue() { Float weight; - LengthWeightParameter parametrage = - new LengthWeightParameterImpl(); + LengthWeightParameter parametrage = new LengthWeightParameterImpl(); parametrage.setCoefficients("a=3.8e-5:b=2.78 "); parametrage.setLengthWeightFormula("a * Math.pow(L, b)"); Assert.assertTrue(parametrage.isLengthWeightFormulaValid()); diff --git a/observe-entities/src/test/java/fr/ird/observe/DBHelperTest.java b/observe-entities/src/test/java/fr/ird/observe/util/NumbersTest.java similarity index 52% rename from observe-entities/src/test/java/fr/ird/observe/DBHelperTest.java rename to observe-entities/src/test/java/fr/ird/observe/util/NumbersTest.java index ccaab3f..8280ab7 100644 --- a/observe-entities/src/test/java/fr/ird/observe/DBHelperTest.java +++ b/observe-entities/src/test/java/fr/ird/observe/util/NumbersTest.java @@ -1,57 +1,15 @@ -/* - * #%L - * ObServe :: Entities - * %% - * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -package fr.ird.observe; +package fr.ird.observe.util; -import fr.ird.observe.util.Numbers; import org.junit.Assert; import org.junit.Test; /** - * Pour tester les arrondis sur le weight. + * Created on 21/08/15. * * @author Tony Chemit - chemit@codelutin.com - * @since 1.8 */ -public class DBHelperTest { +public class NumbersTest { -// @Test -// public void testDatFormat() { -// -// I18n.init(null, Locale.FRANCE); -// -// Date d = new Date(); -// Calendar calendar = Calendar.getInstance(); -// calendar.setTime(d); -// calendar.set(Calendar.YEAR, 2010); -// calendar.set(Calendar.MONTH, Calendar.FEBRUARY); -// calendar.set(Calendar.DAY_OF_MONTH, 4); -// d = calendar.getTime(); -// -// d = DBHelper.getDay(d); -// String expected = "Démarrage de la réplication du référentiel (04/02/2010 à 00:00:00)"; -// String actual = I18n.t("observe.storage.message.replicate.referentiel.starting", d); -// Assert.assertEquals(expected, actual); -// -// } @Test public void testRound3Digits() { @@ -102,4 +60,5 @@ public class DBHelperTest { Float actual = Numbers.round1Digit(number); Assert.assertEquals("" + expected, "" + actual); } -} + +} \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 6df5da05b52991564bb22f72ddddebae6d8e6de9 Author: Brendan Le Ny <bleny@codelutin.com> Date: Fri Aug 21 12:16:15 2015 +0200 Portage des DAO dans fr.ird.observe.entities.seine vers ToPIA 3 --- ...eineDAOImpl.java => ActivitySeineTopiaDao.java} | 35 ++++++------ ...ectDAOImpl.java => FloatingObjectTopiaDao.java} | 35 ++++++------ .../{RouteDAOImpl.java => RouteTopiaDao.java} | 43 +++++++------- ...ripSeineDAOImpl.java => TripSeineTopiaDao.java} | 65 +++++++++++----------- 4 files changed, 86 insertions(+), 92 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java similarity index 71% rename from observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineDAOImpl.java rename to observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java index d633187..a9bdcc8 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/ActivitySeineTopiaDao.java @@ -25,9 +25,8 @@ package fr.ird.observe.entities.seine; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.seine.VesselActivitySeine; import fr.ird.observe.entities.referentiel.seine.VesselActivitySeineImpl; - -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.framework.TopiaSQLQuery; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.sql.Connection; import java.sql.PreparedStatement; @@ -35,23 +34,23 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; -public class ActivitySeineDAOImpl<E extends ActivitySeine> extends ActivitySeineDAOAbstract<E> { +public class ActivitySeineTopiaDao extends AbstractActivitySeineTopiaDao<ActivitySeine> { - public List<E> findAllStubByRouteId(String routeId, ReferenceLocale referenceLocale) { + public List<ActivitySeine> findAllStubByRouteId(String routeId, ReferenceLocale referenceLocale) { - List<E> result = StubSqlQuery.findAll(context, routeId, referenceLocale); + List<ActivitySeine> result = StubSqlQuery.findAll(topiaSqlSupport, routeId, referenceLocale); return result; } - public E findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) { + public ActivitySeine findStubByTopiaId(String activityId, ReferenceLocale referenceLocale) { - E result = StubSqlQuery.find(context, activityId, referenceLocale); + ActivitySeine result = StubSqlQuery.find(topiaSqlSupport, activityId, referenceLocale); return result; } - private static class StubSqlQuery<E extends ActivitySeine> extends TopiaSQLQuery<E> { + private static class StubSqlQuery extends TopiaSqlQuery<ActivitySeine> { private final String sql; @@ -59,7 +58,7 @@ public class ActivitySeineDAOImpl<E extends ActivitySeine> extends ActivitySeine private final ReferenceLocale referenceLocale; - static <E extends ActivitySeine> List<E> findAll(TopiaContextImplementor context, String routeId, ReferenceLocale referenceLocale) { + static List<ActivitySeine> findAll(TopiaSqlSupport context, String routeId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " a.topiaId," + @@ -73,12 +72,12 @@ public class ActivitySeineDAOImpl<E extends ActivitySeine> extends ActivitySeine " AND a.vesselactivity = va.topiaid" + " ORDER BY a.time"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, routeId, referenceLocale); - return request.findMultipleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, routeId, referenceLocale); + return context.findMultipleResult(request); } - static <E extends ActivitySeine> E find(TopiaContextImplementor context, String activityId, ReferenceLocale referenceLocale) { + static ActivitySeine find(TopiaSqlSupport context, String activityId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " a.topiaId," + @@ -92,8 +91,8 @@ public class ActivitySeineDAOImpl<E extends ActivitySeine> extends ActivitySeine " AND a.vesselactivity = va.topiaid" + " ORDER BY a.time"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, activityId, referenceLocale); - return request.findSingleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, activityId, referenceLocale); + return context.findSingleResult(request); } @@ -104,16 +103,16 @@ public class ActivitySeineDAOImpl<E extends ActivitySeine> extends ActivitySeine } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, id); return preparedStatement; } @Override - protected E prepareResult(ResultSet set) throws SQLException { + public ActivitySeine prepareResult(ResultSet set) throws SQLException { - E activity = (E) new ActivitySeineImpl(); + ActivitySeine activity = new ActivitySeineImpl(); activity.setTopiaId(set.getString(1)); activity.setTime(set.getTime(2)); activity.setOpen(set.getBoolean(3)); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectTopiaDao.java similarity index 67% rename from observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectDAOImpl.java rename to observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectTopiaDao.java index 5b9ac60..5e0f3f3 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/FloatingObjectTopiaDao.java @@ -25,9 +25,8 @@ package fr.ird.observe.entities.seine; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.referentiel.seine.ObjectType; import fr.ird.observe.entities.referentiel.seine.ObjectTypeImpl; - -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.framework.TopiaSQLQuery; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import java.sql.Connection; import java.sql.PreparedStatement; @@ -35,23 +34,23 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; -public class FloatingObjectDAOImpl<E extends FloatingObject> extends FloatingObjectDAOAbstract<E> { +public class FloatingObjectTopiaDao extends AbstractFloatingObjectTopiaDao<FloatingObject> { - public List<E> findAllStubByActivityId(String activityId, ReferenceLocale referenceLocale) { + public List<FloatingObject> findAllStubByActivityId(String activityId, ReferenceLocale referenceLocale) { - List<E> result = StubSqlQuery.findAll(context, activityId, referenceLocale); + List<FloatingObject> result = StubSqlQuery.findAll(topiaSqlSupport, activityId, referenceLocale); return result; } - public E findStubByTopiaId(String floatingObjectId, ReferenceLocale referenceLocale) { + public FloatingObject findStubByTopiaId(String floatingObjectId, ReferenceLocale referenceLocale) { - E result = StubSqlQuery.find(context, floatingObjectId, referenceLocale); + FloatingObject result = StubSqlQuery.find(topiaSqlSupport, floatingObjectId, referenceLocale); return result; } - private static class StubSqlQuery<E extends FloatingObject> extends TopiaSQLQuery<E> { + private static class StubSqlQuery extends TopiaSqlQuery<FloatingObject> { private final String sql; @@ -59,7 +58,7 @@ public class FloatingObjectDAOImpl<E extends FloatingObject> extends FloatingObj private final ReferenceLocale referenceLocale; - static <E extends FloatingObject> List<E> findAll(TopiaContextImplementor context, String activityId, ReferenceLocale referenceLocale) { + static List<FloatingObject> findAll(TopiaSqlSupport context, String activityId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " fo.topiaId," + @@ -70,12 +69,12 @@ public class FloatingObjectDAOImpl<E extends FloatingObject> extends FloatingObj " AND fo.objecttype = ot.topiaid" + " ORDER BY ot." + referenceLocale.getColumnName(); - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, activityId, referenceLocale); - return request.findMultipleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, activityId, referenceLocale); + return context.findMultipleResult(request); } - static <E extends FloatingObject> E find(TopiaContextImplementor context, String floatingObjectId, ReferenceLocale referenceLocale) { + static FloatingObject find(TopiaSqlSupport context, String floatingObjectId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " fo.topiaId," + @@ -86,8 +85,8 @@ public class FloatingObjectDAOImpl<E extends FloatingObject> extends FloatingObj " AND fo.objecttype = ot.topiaid" + " ORDER BY ot." + referenceLocale.getColumnName(); - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, floatingObjectId, referenceLocale); - return request.findSingleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, floatingObjectId, referenceLocale); + return context.findSingleResult(request); } @@ -98,16 +97,16 @@ public class FloatingObjectDAOImpl<E extends FloatingObject> extends FloatingObj } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, id); return preparedStatement; } @Override - protected E prepareResult(ResultSet set) throws SQLException { + public FloatingObject prepareResult(ResultSet set) throws SQLException { - E floatingObject = (E) new FloatingObjectImpl(); + FloatingObject floatingObject = new FloatingObjectImpl(); floatingObject.setTopiaId(set.getString(1)); String objectTypeLabel = set.getString(2); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteTopiaDao.java similarity index 73% rename from observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteDAOImpl.java rename to observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteTopiaDao.java index 499a25d..558b45f 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/RouteTopiaDao.java @@ -23,10 +23,9 @@ package fr.ird.observe.entities.seine; */ import com.google.common.base.Preconditions; -import org.hibernate.jdbc.Work; - -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.framework.TopiaSQLQuery; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.topia.persistence.support.TopiaSqlWork; import java.sql.Connection; import java.sql.Date; @@ -35,30 +34,30 @@ import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; -public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> { +public class RouteTopiaDao extends AbstractRouteTopiaDao<Route> { - public List<E> findAllStubByTripId(String tripSeineId) { + public List<Route> findAllStubByTripId(String tripSeineId) { - List<E> result = StubSqlQuery.findAll(context, tripSeineId); + List<Route> result = StubSqlQuery.findAll(topiaSqlSupport, tripSeineId); return result; } - public E findStubByTopiaId(String routeId) { + public Route findStubByTopiaId(String routeId) { - E result = StubSqlQuery.find(context, routeId); + Route result = StubSqlQuery.find(topiaSqlSupport, routeId); return result; } - private static class StubSqlQuery<E extends Route> extends TopiaSQLQuery<E> { + private static class StubSqlQuery extends TopiaSqlQuery<Route> { private final String sql; private final String id; - static <E extends Route> List<E> findAll(TopiaContextImplementor context, String tripSeineId) { + static List<Route> findAll(TopiaSqlSupport context, String tripSeineId) { String sql = "SELECT" + " r.topiaId," + @@ -69,12 +68,12 @@ public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> { " r.trip = ?" + " ORDER BY r.date"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, tripSeineId); - return request.findMultipleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, tripSeineId); + return context.findMultipleResult(request); } - static <E extends Route> E find(TopiaContextImplementor context, String routeId) { + static Route find(TopiaSqlSupport context, String routeId) { String sql = "SELECT" + " r.topiaId," + @@ -85,8 +84,8 @@ public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> { " r.topiaId = ?" + " ORDER BY r.date"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, routeId); - return request.findSingleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, routeId); + return context.findSingleResult(request); } @@ -96,16 +95,16 @@ public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> { } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, id); return preparedStatement; } @Override - protected E prepareResult(ResultSet set) throws SQLException { + public Route prepareResult(ResultSet set) throws SQLException { - E trip = (E) new RouteImpl(); + Route trip = new RouteImpl(); trip.setTopiaId(set.getString(1)); trip.setDate(set.getDate(2)); trip.setOpen(set.getBoolean(3)); @@ -127,13 +126,11 @@ public class RouteDAOImpl<E extends Route> extends RouteDAOAbstract<E> { Preconditions.checkNotNull(routeId,"routeId can't be null"); - E route = findByTopiaId(routeId); - - Preconditions.checkNotNull(route,"Could not find route this id: "+routeId); + Route route = forTopiaIdEquals(routeId).findUnique(); final Date date = new Date(route.getDate().getTime()); - context.getHibernate().doWork(new Work() { + topiaSqlSupport.doSqlWork(new TopiaSqlWork() { @Override public void execute(Connection connection) throws SQLException { diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineDAOImpl.java b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java similarity index 81% rename from observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineDAOImpl.java rename to observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java index 4846027..2910b8a 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineDAOImpl.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/seine/TripSeineTopiaDao.java @@ -31,9 +31,8 @@ import fr.ird.observe.entities.referentiel.Vessel; import fr.ird.observe.entities.referentiel.VesselImpl; import fr.ird.observe.tripMap.TripMapPoint; import fr.ird.observe.tripMap.TripMapPointType; - -import org.nuiton.topia.framework.TopiaContextImplementor; -import org.nuiton.topia.framework.TopiaSQLQuery; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; import org.nuiton.util.DateUtil; import java.sql.Connection; @@ -49,14 +48,14 @@ import java.util.List; * @author Tony Chemit - chemit@codelutin.com * @since 2.2 */ -public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract<E> { +public class TripSeineTopiaDao extends AbstractTripSeineTopiaDao<TripSeine> { public static final String ACTIVITY_HARBOUR_ID = "fr.ird.observe.entities.referentiel.seine.VesselActivitySeine#1239832675349#0.363119635949572"; public int findPositionByProgramId(String programId, String tripId) { int result = 0; - List<E> list = findAllStubByProgramId(programId, ReferenceLocale.FR); - for (E e : list) { + List<TripSeine> list = findAllStubByProgramId(programId, ReferenceLocale.FR); + for (TripSeine e : list) { if (tripId.equals(e.getTopiaId())) { return result; } @@ -67,23 +66,23 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< return -1; } - public List<E> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) { + public List<TripSeine> findAllStubByProgramId(String programId, ReferenceLocale referenceLocale) { - List<E> result = StubSqlQuery.findAll(context, programId, referenceLocale); + List<TripSeine> result = StubSqlQuery.findAll(topiaSqlSupport, programId, referenceLocale); return result; } - public E findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) { + public TripSeine findStubByTopiaId(String tripId, ReferenceLocale referenceLocale) { - E result = StubSqlQuery.find(context, tripId, referenceLocale); + TripSeine result = StubSqlQuery.find(topiaSqlSupport, tripId, referenceLocale); return result; } public List<TripMapPoint> extractTripMapActivityPoints(String tripId) { - TripSeine tripSeine = findByTopiaId(tripId); + TripSeine tripSeine = forTopiaIdEquals(tripId).findUnique(); List<TripMapPoint> tripMapPoints = Lists.newLinkedList(); @@ -100,7 +99,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< // Add Activities TripMapActivityPointQuery tripMapActivityPointQuery = new TripMapActivityPointQuery(tripId); - tripMapPoints.addAll(tripMapActivityPointQuery.findMultipleResult(context)); + tripMapPoints.addAll(topiaSqlSupport.findMultipleResult(tripMapActivityPointQuery)); // add landing harbours Harbour landingHarbour = tripSeine.getLandingHarbour(); @@ -116,7 +115,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< return tripMapPoints; } - private static class TripMapActivityPointQuery extends TopiaSQLQuery<TripMapPoint> { + private static class TripMapActivityPointQuery extends TopiaSqlQuery<TripMapPoint> { private static String SQL = "SELECT" + " r.date, " + @@ -140,14 +139,14 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(SQL); preparedStatement.setString(1, tripId); return preparedStatement; } @Override - protected TripMapPoint prepareResult(ResultSet resultSet) throws SQLException { + public TripMapPoint prepareResult(ResultSet resultSet) throws SQLException { TripMapPoint point = new TripMapPoint(); Date time = DateUtil.getDateAndTime(resultSet.getDate(1), resultSet.getTime(2), true, false); @@ -178,7 +177,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } - private static class StubSqlQuery<E extends TripSeine> extends TopiaSQLQuery<E> { + private static class StubSqlQuery extends TopiaSqlQuery<TripSeine> { private final String sql; @@ -186,7 +185,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< private final ReferenceLocale referenceLocale; - static <E extends TripSeine> List<E> findAll(TopiaContextImplementor context, String programId, ReferenceLocale referenceLocale) { + static <E extends TripSeine> List<TripSeine> findAll(TopiaSqlSupport context, String programId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -204,12 +203,12 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< " AND t.vessel = v.topiaId" + " ORDER BY t.endDate"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, programId, referenceLocale); - return request.findMultipleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, programId, referenceLocale); + return context.findMultipleResult(request); } - static <E extends TripSeine> E find(TopiaContextImplementor context, String tripId, ReferenceLocale referenceLocale) { + static TripSeine find(TopiaSqlSupport context, String tripId, ReferenceLocale referenceLocale) { String sql = "SELECT" + " t.topiaId," + @@ -227,8 +226,8 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< " AND t.vessel = v.topiaId" + " ORDER BY t.endDate"; - StubSqlQuery<E> request = new StubSqlQuery<E>(sql, tripId, referenceLocale); - return request.findSingleResult(context); + StubSqlQuery request = new StubSqlQuery(sql, tripId, referenceLocale); + return context.findSingleResult(request); } @@ -239,16 +238,16 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, id); return preparedStatement; } @Override - protected E prepareResult(ResultSet set) throws SQLException { + public TripSeine prepareResult(ResultSet set) throws SQLException { - E trip = (E) new TripSeineImpl(); + TripSeine trip = new TripSeineImpl(); trip.setTopiaId(set.getString(1)); trip.setStartDate(set.getDate(2)); @@ -275,7 +274,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } - public boolean updateEndDate(E trip) { + public boolean updateEndDate(TripSeine trip) { boolean wasUpdated = false; @@ -298,11 +297,11 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } - public Date getTheoricalEndDate(E trip) { + public Date getTheoricalEndDate(TripSeine trip) { Date d; - Date lastRouteDate = TheoricalEndOfDateSqlQuery.find(context, trip.getTopiaId()); + Date lastRouteDate = TheoricalEndOfDateSqlQuery.find(topiaSqlSupport, trip.getTopiaId()); if (lastRouteDate == null) { @@ -322,7 +321,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } - private static class TheoricalEndOfDateSqlQuery extends TopiaSQLQuery<Date> { + private static class TheoricalEndOfDateSqlQuery extends TopiaSqlQuery<Date> { private final String sql; @@ -333,19 +332,19 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< this.tripId = tripId; } - public static Date find(TopiaContextImplementor context, String tripId) { + public static Date find(TopiaSqlSupport context, String tripId) { String sql = "SELECT max(r.date)" + " FROM observe_seine.route r" + " WHERE r.trip = ?"; TheoricalEndOfDateSqlQuery request = new TheoricalEndOfDateSqlQuery(sql, tripId); - return request.findSingleResult(context); + return context.findSingleResult(request); } @Override - protected PreparedStatement prepareQuery(Connection connection) throws SQLException { + public PreparedStatement prepareQuery(Connection connection) throws SQLException { PreparedStatement preparedStatement = connection.prepareStatement(sql); preparedStatement.setString(1, tripId); @@ -354,7 +353,7 @@ public class TripSeineDAOImpl<E extends TripSeine> extends TripSeineDAOAbstract< } @Override - protected Date prepareResult(ResultSet set) throws SQLException { + public Date prepareResult(ResultSet set) throws SQLException { Date result = set.getDate(1); return result; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 5eaca28074538c11180bc92a93cddae3fff45e17 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 12:47:41 2015 +0200 mise en forme du service de migration + debut de migration des tag values --- .../observe/ObserveTopiaApplicationContext.java | 11 ++++++ .../migration/AbstractDataSourceMigration.java | 46 +++++++++++----------- .../entities/migration/ObserveMigrationEngine.java | 21 ++++++++++ .../src/main/xmi/observe-common.properties | 5 +++ .../src/main/xmi/observe-seine.properties | 11 ++++++ 5 files changed, 70 insertions(+), 24 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 d7d6bcc..55d0b46 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -7,6 +7,8 @@ import java.util.Properties; public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicationContext { + private boolean autoMigrate; + @Deprecated public ObserveTopiaApplicationContext(Properties properties) { super(properties); @@ -21,4 +23,13 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat super(topiaConfiguration); } + public boolean isAutoMigrate() { + return autoMigrate; + } + + //FIXME Voir comment remplir ça. + public void setAutoMigrate(boolean autoMigrate) { + this.autoMigrate = autoMigrate; + } + } 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 53464f9..1464c00 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 @@ -21,13 +21,12 @@ */ package fr.ird.observe.entities.migration; -import com.google.common.base.Preconditions; -import com.google.common.base.Supplier; +import fr.ird.observe.ObserveTopiaApplicationContext; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.config.ApplicationConfig; import org.nuiton.topia.migration.TopiaMigrationCallbackByClass; import org.nuiton.util.version.Version; +import org.nuiton.util.version.VersionBuilder; import org.nuiton.util.version.Versions; import javax.swing.JOptionPane; @@ -95,15 +94,17 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback V_4_0_RC3, V_4_0_RC4, V_4_0_RC6, V_4_0_RC7, V_4_0, V_4_0_1 }; - private static Supplier<ApplicationConfig> applicationConfigSupplier; + protected ObserveTopiaApplicationContext topiaApplicationContext; - public static void setApplicationConfigSupplier(Supplier<ApplicationConfig> applicationConfigSupplier) { - AbstractDataSourceMigration.applicationConfigSupplier = applicationConfigSupplier; - } - - public static Supplier<ApplicationConfig> getApplicationConfigSupplier() { - return applicationConfigSupplier; - } +// private static Supplier<ApplicationConfig> applicationConfigSupplier; +// +// public static void setApplicationConfigSupplier(Supplier<ApplicationConfig> applicationConfigSupplier) { +// AbstractDataSourceMigration.applicationConfigSupplier = applicationConfigSupplier; +// } +// +// public static Supplier<ApplicationConfig> getApplicationConfigSupplier() { +// return applicationConfigSupplier; +// } protected AbstractDataSourceMigration(MigrationCallBackForVersionResolver callBackResolver) { @@ -111,15 +112,6 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback } - //FIXME - @Override - public Version getApplicationVersion() { - Preconditions.checkNotNull(applicationConfigSupplier); - ApplicationConfig config = applicationConfigSupplier.get(); - return config.getOption(Version.class, DB_VERSION); -// return DataSourceFactory.getDbVersion(); - } - @Override public Version[] getAvailableVersions() { return availableVersions; @@ -129,7 +121,7 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback @Override public boolean askUser(Version dbVersion, List<Version> versions) { - Version applicationVersion = getApplicationVersion(); + Version applicationVersion = VersionBuilder.create(topiaApplicationContext.getModelVersion()).build(); if (dbVersion.before(V_3_0)) { @@ -143,12 +135,14 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback } - Preconditions.checkNotNull(applicationConfigSupplier); - ApplicationConfig config = applicationConfigSupplier.get(); + boolean autoMigrate = topiaApplicationContext.isAutoMigrate(); + +// Preconditions.checkNotNull(applicationConfigSupplier); +// ApplicationConfig config = applicationConfigSupplier.get(); // ApplicationConfig config = // ObserveServiceHelper.get().getContextValue( // ApplicationConfig.class); - boolean autoMigrate = config.getOptionAsBoolean(AUTO_MIGRATE); +// boolean autoMigrate = config.getOptionAsBoolean(AUTO_MIGRATE); if (autoMigrate) { // auto-migration @@ -168,4 +162,8 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback return answer == JOptionPane.YES_OPTION; } + public void setTopiaApplicationContext(ObserveTopiaApplicationContext topiaApplicationContext) { + this.topiaApplicationContext = topiaApplicationContext; + } + } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationEngine.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationEngine.java new file mode 100644 index 0000000..d28c78c --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/ObserveMigrationEngine.java @@ -0,0 +1,21 @@ +package fr.ird.observe.entities.migration; + +import fr.ird.observe.ObserveTopiaApplicationContext; +import org.nuiton.topia.migration.TopiaMigrationEngine; +import org.nuiton.topia.persistence.TopiaApplicationContext; + +import java.util.Map; + +/** + * Created on 21/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveMigrationEngine extends TopiaMigrationEngine { + + @Override + public void initTopiaService(TopiaApplicationContext topiaApplicationContext, Map<String, String> serviceConfiguration) { + super.initTopiaService(topiaApplicationContext, serviceConfiguration); + ((AbstractDataSourceMigration) callback).setTopiaApplicationContext((ObserveTopiaApplicationContext) topiaApplicationContext); + } +} diff --git a/observe-entities/src/main/xmi/observe-common.properties b/observe-entities/src/main/xmi/observe-common.properties index 62323b7..39cc2b6 100644 --- a/observe-entities/src/main/xmi/observe-common.properties +++ b/observe-entities/src/main/xmi/observe-common.properties @@ -42,10 +42,15 @@ package.fr.ird.observe.entities.tagvalue.dbSchema=OBSERVE_COMMON ### Champ Commentaire en text ################################################# ############################################################################### +#FIXME fr.ird.observe.entities.CommentableEntity.attribute.comment.tagvalue.type=text fr.ird.observe.entities.referentiel.Vessel.attribute.comment.tagvalue.type=text fr.ird.observe.entities.referentiel.Program.attribute.comment.tagvalue.type=text +#fr.ird.observe.entities.CommentableEntity.attribute.comment.tagValue.hibernateAttributeType.java.lang.String=text +#fr.ird.observe.entities.referentiel.Vessel.attribute.comment.tagValue.hibernateAttributeType.java.lang.String=text +#fr.ird.observe.entities.referentiel.Program.attribute.comment.tagValue.hibernateAttributeType.java.lang.String=text + ############################################################################### ### Champ Numeric (utilisation du type sql numeric) ########################### ############################################################################### diff --git a/observe-entities/src/main/xmi/observe-seine.properties b/observe-entities/src/main/xmi/observe-seine.properties index e04f24e..af310af 100644 --- a/observe-entities/src/main/xmi/observe-seine.properties +++ b/observe-entities/src/main/xmi/observe-seine.properties @@ -86,16 +86,27 @@ fr.ird.observe.entities.seine.TargetLength.attribute.weight.tagvalue.sqlType=num ############################################################################### ### Champ Date (utilisation du type sql date) ################################# ############################################################################### + +#FIXME fr.ird.observe.entities.seine.TripSeine.attribute.startDate.tagvalue.type=date fr.ird.observe.entities.seine.TripSeine.attribute.endDate.tagvalue.type=date fr.ird.observe.entities.seine.Route.attribute.date.tagvalue.type=date +#fr.ird.observe.entities.seine.TripSeine.attribute.startDate.tagValue.hibernateAttributeType.java.util.Date=date +#fr.ird.observe.entities.seine.TripSeine.attribute.endDate.tagValue.hibernateAttributeType.java.util.Date=date +#fr.ird.observe.entities.seine.Route.attribute.date.tagValue.hibernateAttributeType.java.util.Date + ############################################################################### ### Champ Time (utilisation du type sql time ) ################################ ############################################################################### + +#FIXME fr.ird.observe.entities.seine.ActivitySeine.attribute.time.tagvalue.type=time fr.ird.observe.entities.seine.SetSeine.attribute.startTime.tagvalue.type=time +#fr.ird.observe.entities.seine.SetSeine.attribute.startTime.tagValue.hibernateAttributeType.java.util.Date=time +#fr.ird.observe.entities.seine.ActivitySeine.attribute.time.tagValue.hibernateAttributeType.java.util.Date=time + ############################################################################### ### Données lazy ############################################################## ############################################################################### -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 16579ad45a6d835fcebf6ec147010038c7f78a85 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:54:34 2015 +0200 On passe sur topia 3.1-SNAPSHOT --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 9582f65..db3493e 100644 --- a/pom.xml +++ b/pom.xml @@ -120,7 +120,7 @@ <eugenePluginVersion>3.0-SNAPSHOT</eugenePluginVersion> - <topiaVersion>3.0</topiaVersion> + <topiaVersion>3.1-SNAPSHOT</topiaVersion> <jaxxVersion>2.24</jaxxVersion> <nuitonI18nVersion>3.3</nuitonI18nVersion> <nuitonValidatorVersion>3.0</nuitonValidatorVersion> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 7296ade624c66ff5b72faf28f44d08ffd2dd5e1b Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:55:08 2015 +0200 Ajout d'une dépendance sur le service de replication dans le module entities --- observe-entities/pom.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/observe-entities/pom.xml b/observe-entities/pom.xml index 1695e9d..9a144a5 100644 --- a/observe-entities/pom.xml +++ b/observe-entities/pom.xml @@ -88,6 +88,10 @@ <groupId>org.nuiton.topia</groupId> <artifactId>topia-service-migration</artifactId> </dependency> + <dependency> + <groupId>org.nuiton.topia</groupId> + <artifactId>topia-service-replication</artifactId> + </dependency> <dependency> <groupId>org.hibernate</groupId> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit bd3a91fa90b54f241ecaec3cd6469c8e09e09ba4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:55:38 2015 +0200 Ajout dépendances sur les drivers jdbc utilisés --- observe-services-topia/pom.xml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/observe-services-topia/pom.xml b/observe-services-topia/pom.xml index ecc1160..3c7fd4f 100644 --- a/observe-services-topia/pom.xml +++ b/observe-services-topia/pom.xml @@ -94,6 +94,15 @@ <artifactId>topia-service-replication</artifactId> </dependency--> + <dependency> + <groupId>com.h2database</groupId> + <artifactId>h2</artifactId> + </dependency> + <dependency> + <groupId>postgresql</groupId> + <artifactId>postgresql</artifactId> + </dependency> + <!-- Logging --> <dependency> <groupId>org.slf4j</groupId> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 04be14c570b1e89d86775a77f6e228de9834c084 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:56:12 2015 +0200 Utilisation des bonnes tag values --- .../src/main/xmi/observe-common.properties | 11 +++-------- .../src/main/xmi/observe-seine.properties | 19 +++++-------------- 2 files changed, 8 insertions(+), 22 deletions(-) diff --git a/observe-entities/src/main/xmi/observe-common.properties b/observe-entities/src/main/xmi/observe-common.properties index 39cc2b6..60a2f53 100644 --- a/observe-entities/src/main/xmi/observe-common.properties +++ b/observe-entities/src/main/xmi/observe-common.properties @@ -42,14 +42,9 @@ package.fr.ird.observe.entities.tagvalue.dbSchema=OBSERVE_COMMON ### Champ Commentaire en text ################################################# ############################################################################### -#FIXME -fr.ird.observe.entities.CommentableEntity.attribute.comment.tagvalue.type=text -fr.ird.observe.entities.referentiel.Vessel.attribute.comment.tagvalue.type=text -fr.ird.observe.entities.referentiel.Program.attribute.comment.tagvalue.type=text - -#fr.ird.observe.entities.CommentableEntity.attribute.comment.tagValue.hibernateAttributeType.java.lang.String=text -#fr.ird.observe.entities.referentiel.Vessel.attribute.comment.tagValue.hibernateAttributeType.java.lang.String=text -#fr.ird.observe.entities.referentiel.Program.attribute.comment.tagValue.hibernateAttributeType.java.lang.String=text +fr.ird.observe.entities.CommentableEntity.attribute.comment.tagValue.hibernateAttributeType.String=text +fr.ird.observe.entities.referentiel.Vessel.attribute.comment.tagValue.hibernateAttributeType.String=text +fr.ird.observe.entities.referentiel.Program.attribute.comment.tagValue.hibernateAttributeType.String=text ############################################################################### ### Champ Numeric (utilisation du type sql numeric) ########################### diff --git a/observe-entities/src/main/xmi/observe-seine.properties b/observe-entities/src/main/xmi/observe-seine.properties index af310af..ed29a3a 100644 --- a/observe-entities/src/main/xmi/observe-seine.properties +++ b/observe-entities/src/main/xmi/observe-seine.properties @@ -87,25 +87,16 @@ fr.ird.observe.entities.seine.TargetLength.attribute.weight.tagvalue.sqlType=num ### Champ Date (utilisation du type sql date) ################################# ############################################################################### -#FIXME -fr.ird.observe.entities.seine.TripSeine.attribute.startDate.tagvalue.type=date -fr.ird.observe.entities.seine.TripSeine.attribute.endDate.tagvalue.type=date -fr.ird.observe.entities.seine.Route.attribute.date.tagvalue.type=date - -#fr.ird.observe.entities.seine.TripSeine.attribute.startDate.tagValue.hibernateAttributeType.java.util.Date=date -#fr.ird.observe.entities.seine.TripSeine.attribute.endDate.tagValue.hibernateAttributeType.java.util.Date=date -#fr.ird.observe.entities.seine.Route.attribute.date.tagValue.hibernateAttributeType.java.util.Date +fr.ird.observe.entities.seine.TripSeine.attribute.startDate.tagValue.hibernateAttributeType.java.util.Date=date +fr.ird.observe.entities.seine.TripSeine.attribute.endDate.tagValue.hibernateAttributeType.java.util.Date=date +fr.ird.observe.entities.seine.Route.attribute.date.tagValue.hibernateAttributeType.java.util.Date=date ############################################################################### ### Champ Time (utilisation du type sql time ) ################################ ############################################################################### -#FIXME -fr.ird.observe.entities.seine.ActivitySeine.attribute.time.tagvalue.type=time -fr.ird.observe.entities.seine.SetSeine.attribute.startTime.tagvalue.type=time - -#fr.ird.observe.entities.seine.SetSeine.attribute.startTime.tagValue.hibernateAttributeType.java.util.Date=time -#fr.ird.observe.entities.seine.ActivitySeine.attribute.time.tagValue.hibernateAttributeType.java.util.Date=time +fr.ird.observe.entities.seine.SetSeine.attribute.startTime.tagValue.hibernateAttributeType.java.util.Date=time +fr.ird.observe.entities.seine.ActivitySeine.attribute.time.tagValue.hibernateAttributeType.java.util.Date=time ############################################################################### ### Données lazy ############################################################## -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit ac7942f4e04fe46874a9f86e894b471899a97618 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:56:46 2015 +0200 Exposition des services utilisables sur le context applicatif de topia --- .../observe/ObserveTopiaApplicationContext.java | 51 ++++++++++++++-------- 1 file changed, 33 insertions(+), 18 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 55d0b46..38b05ea 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -1,35 +1,50 @@ package fr.ird.observe; +import fr.ird.observe.entities.migration.ObserveMigrationEngine; import org.nuiton.topia.persistence.TopiaConfiguration; - -import java.util.Map; -import java.util.Properties; +import org.nuiton.topia.replication.TopiaReplicationService; public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicationContext { - private boolean autoMigrate; + public static final String MIGRATION_SERVICE_NAME = "migration"; - @Deprecated - public ObserveTopiaApplicationContext(Properties properties) { - super(properties); - } + public static final String REPLICATION_SERVICE_NAME = "replication"; - @Deprecated - public ObserveTopiaApplicationContext(Map<String, String> configuration) { - super(configuration); - } +// //FIXME Voir comment remplir ça. +// protected boolean autoMigrate; + + /** + * Mise à {@code true} quand au moins une connection a été effectuée. + */ + protected boolean open; public ObserveTopiaApplicationContext(TopiaConfiguration topiaConfiguration) { super(topiaConfiguration); } - public boolean isAutoMigrate() { - return autoMigrate; +// public boolean isAutoMigrate() { +// return autoMigrate; +// } +// +// public void setAutoMigrate(boolean autoMigrate) { +// this.autoMigrate = autoMigrate; +// } + + public boolean isOpen() { + //FIXME utiliser le flag open + return !isClosed(); + } + + public void setOpen(boolean open) { + this.open = open; + } + + public ObserveMigrationEngine getMigrationService() { + return getServices(ObserveMigrationEngine.class).get(MIGRATION_SERVICE_NAME); } - //FIXME Voir comment remplir ça. - public void setAutoMigrate(boolean autoMigrate) { - this.autoMigrate = autoMigrate; + public TopiaReplicationService getReplicationService() { + return getServices(TopiaReplicationService.class).get(REPLICATION_SERVICE_NAME); } -} + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit b0865146d2bd7c3e448fe3e7a74885aa43062568 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 18:57:17 2015 +0200 Ajout du nom de la base h2 à utiliser dans la configuration --- .../configuration/ObserveDataSourceConfigurationTopiaH2.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaH2.java b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaH2.java index 59d029c..1b96533 100644 --- a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaH2.java +++ b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaH2.java @@ -16,6 +16,15 @@ public class ObserveDataSourceConfigurationTopiaH2 extends ObserveDataSourceConf * Le répertoire où se trouve la base (le nom de la base est {@code obstuna}). */ protected File directory; + protected String dbName; + + public String getDbName() { + return dbName; + } + + public void setDbName(String dbName) { + this.dbName = dbName; + } public File getDirectory() { return directory; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 8905fce673b12b009e8fd70bfc4479b0f35bf46e Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 19:06:20 2015 +0200 Suppresion de la dépendance sur observe-business dans le module d'implantation des services topia --- observe-services-topia/pom.xml | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/observe-services-topia/pom.xml b/observe-services-topia/pom.xml index 3c7fd4f..a067f30 100644 --- a/observe-services-topia/pom.xml +++ b/observe-services-topia/pom.xml @@ -43,17 +43,6 @@ <artifactId>observe-entities</artifactId> <version>${project.version}</version> </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>observe-business</artifactId> - <version>${project.version}</version> - </dependency> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>observe-business</artifactId> - <version>${project.version}</version> - <classifier>tests</classifier> - </dependency> <!-- commons dependencies --> @@ -89,10 +78,14 @@ <groupId>org.nuiton.topia</groupId> <artifactId>topia-persistence</artifactId> </dependency> - <!--dependency> + <dependency> + <groupId>org.nuiton.topia</groupId> + <artifactId>topia-service-migration</artifactId> + </dependency> + <dependency> <groupId>org.nuiton.topia</groupId> <artifactId>topia-service-replication</artifactId> - </dependency--> + </dependency> <dependency> <groupId>com.h2database</groupId> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit ed0998615b7365729b8e2cdc5a434a8f762c5605 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 19:07:30 2015 +0200 Deplacement de constantes + utilisation du mode autoMigrate dans la migration --- .../observe/ObserveTopiaApplicationContext.java | 24 +++++++++++++--------- .../migration/AbstractDataSourceMigration.java | 23 +-------------------- 2 files changed, 15 insertions(+), 32 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 38b05ea..cff5f03 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -10,8 +10,12 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat public static final String REPLICATION_SERVICE_NAME = "replication"; -// //FIXME Voir comment remplir ça. -// protected boolean autoMigrate; + public static final String DB_VERSION = "db.version"; + + public static final String AUTO_MIGRATE = "auto.migrate"; + + //FIXME Voir comment remplir ça. + protected boolean autoMigrate; /** * Mise à {@code true} quand au moins une connection a été effectuée. @@ -22,13 +26,13 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat super(topiaConfiguration); } -// public boolean isAutoMigrate() { -// return autoMigrate; -// } -// -// public void setAutoMigrate(boolean autoMigrate) { -// this.autoMigrate = autoMigrate; -// } + public boolean isAutoMigrate() { + return autoMigrate; + } + + public void setAutoMigrate(boolean autoMigrate) { + this.autoMigrate = autoMigrate; + } public boolean isOpen() { //FIXME utiliser le flag open @@ -47,4 +51,4 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat return getServices(TopiaReplicationService.class).get(REPLICATION_SERVICE_NAME); } - } +} 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 1464c00..6294e0c 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 @@ -46,10 +46,6 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback static private Log log = LogFactory.getLog(AbstractDataSourceMigration.class); - public static final String DB_VERSION = "db.version"; - - public static final String AUTO_MIGRATE = "auto.migrate"; - public static final Version V_3_0 = Versions.valueOf("3.0"); public static final Version V_3_1 = Versions.valueOf("3.1"); @@ -96,16 +92,6 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback protected ObserveTopiaApplicationContext topiaApplicationContext; -// private static Supplier<ApplicationConfig> applicationConfigSupplier; -// -// public static void setApplicationConfigSupplier(Supplier<ApplicationConfig> applicationConfigSupplier) { -// AbstractDataSourceMigration.applicationConfigSupplier = applicationConfigSupplier; -// } -// -// public static Supplier<ApplicationConfig> getApplicationConfigSupplier() { -// return applicationConfigSupplier; -// } - protected AbstractDataSourceMigration(MigrationCallBackForVersionResolver callBackResolver) { super(callBackResolver); @@ -137,15 +123,8 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback boolean autoMigrate = topiaApplicationContext.isAutoMigrate(); -// Preconditions.checkNotNull(applicationConfigSupplier); -// ApplicationConfig config = applicationConfigSupplier.get(); -// ApplicationConfig config = -// ObserveServiceHelper.get().getContextValue( -// ApplicationConfig.class); -// boolean autoMigrate = config.getOptionAsBoolean(AUTO_MIGRATE); - if (autoMigrate) { - // auto-migration + if (log.isInfoEnabled()) { log.info("auto migrate mode"); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 38a2b7800cf785a42858699f3841a75d5a14ef24 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Aug 21 19:14:34 2015 +0200 Debut de boot avec topia 3.0, reste à écrire la logique d'ouverture ou création de base --- .../services/ObserveServiceContextTopia.java | 39 +++-- .../services/ObserveServiceFactoryTopia.java | 180 +++++++++++++++------ .../ird/observe/services/ObserveServiceTopia.java | 27 ++-- .../services/service/DataSourceServiceTopia.java | 48 ++++++ .../services/ObserveServiceFactoryTopiaTaiste.java | 21 +-- .../service/ApplicationContextResource.java | 31 ++-- .../services/service/DataSourceResource.java | 87 +++++----- .../service/ReferentialServiceTopiaTest.java | 28 ++-- pom.xml | 4 +- 9 files changed, 294 insertions(+), 171 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java index d6bad44..960a636 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java @@ -1,9 +1,9 @@ package fr.ird.observe.services; +import fr.ird.observe.ObserveTopiaApplicationContext; +import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; import fr.ird.observe.services.dto.constants.ReferentialLocale; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.framework.TopiaContextImplementor; import java.util.Date; @@ -18,22 +18,14 @@ public class ObserveServiceContextTopia implements ObserveServiceContext { protected ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration; - protected TopiaContext topiaPersistenceContext; + protected ObserveTopiaPersistenceContext topiaPersistenceContext; - protected TopiaContextImplementor topiaApplicationContext; + protected ObserveTopiaApplicationContext topiaApplicationContext; - public TopiaContextImplementor getTopiaApplicationContext() { + public ObserveTopiaApplicationContext getTopiaApplicationContext() { return topiaApplicationContext; } - public TopiaContext getTopiaPersistenceContext() { - return topiaPersistenceContext; - } - - public void setTopiaPersistenceContext(TopiaContext topiaPersistenceContext) { - this.topiaPersistenceContext = topiaPersistenceContext; - } - @Override public ReferentialLocale getReferentialLocale() { return applicationContext.getReferentialLocale(); @@ -44,6 +36,22 @@ public class ObserveServiceContextTopia implements ObserveServiceContext { return new Date(); } + public ObserveServiceApplicationContext getApplicationContext() { + return applicationContext; + } + + public ObserveTopiaPersistenceContext getTopiaPersistenceContext() { + return topiaPersistenceContext; + } + + public void setTopiaPersistenceContext(ObserveTopiaPersistenceContext topiaPersistenceContext) { + this.topiaPersistenceContext = topiaPersistenceContext; + } + + public void setTopiaApplicationContext(ObserveTopiaApplicationContext topiaApplicationContext) { + this.topiaApplicationContext = topiaApplicationContext; + } + public void setApplicationContext(ObserveServiceApplicationContext applicationContext) { this.applicationContext = applicationContext; } @@ -52,12 +60,9 @@ public class ObserveServiceContextTopia implements ObserveServiceContext { this.dataSourceConfiguration = dataSourceConfiguration; } - public void setTopiaApplicationContext(TopiaContextImplementor topiaApplicationContext) { - this.topiaApplicationContext = topiaApplicationContext; - } public void closeTopiaPersistenceContext() { - topiaPersistenceContext.closeContext(); + topiaPersistenceContext.close(); topiaPersistenceContext = null; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java index 13bc86b..9da62c1 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java @@ -4,15 +4,15 @@ import com.google.common.base.Preconditions; import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; +import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.reflect.Reflection; -import fr.ird.observe.ObserveTechnicalException; -import fr.ird.observe.db.DataSourceFactory; -import fr.ird.observe.db.constants.CommonDataSourceConfigParam; -import fr.ird.observe.db.impl.H2DataSourceConfig; -import fr.ird.observe.db.impl.H2DataSourceConfigParam; -import fr.ird.observe.db.impl.PGDataSourceConfig; -import fr.ird.observe.db.impl.PGDataSourceConfigParam; +import fr.ird.observe.ObserveTopiaApplicationContext; +import fr.ird.observe.ObserveTopiaIdFactory; +import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationEngine; +import fr.ird.observe.entities.migration.PGDataSourceMigration; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaPG; @@ -21,13 +21,19 @@ import fr.ird.observe.services.spi.NoDataAccess; import fr.ird.observe.services.spi.Write; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.framework.TopiaContextImplementor; +import org.nuiton.topia.persistence.BeanTopiaConfiguration; +import org.nuiton.topia.persistence.TopiaApplicationContext; +import org.nuiton.topia.persistence.TopiaConfiguration; +import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; +import org.nuiton.topia.persistence.jdbc.JdbcConfigurationBuilder; +import org.nuiton.topia.replication.TopiaReplicationServiceImpl; import java.io.Closeable; +import java.io.File; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.util.Collections; import java.util.Set; import java.util.concurrent.ExecutionException; @@ -40,25 +46,62 @@ import java.util.concurrent.ExecutionException; */ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport implements Closeable { + /** l'url d'acces a la base locale */ + public static final String h2LocalUrl = + "jdbc:h2:file:%s;" + + // on peut aussi utiliser file, socket + "FILE_LOCK=file;" + + //1 or 2 is needed to restore avec crash + // 0: logging is disabled (faster), + // 1: logging of the data is enabled, but logging of the index + // changes is disabled (default), 2: logging of both data and index + // changes are enabled + "LOG=0;" + + // on peut aussi utiliser hsqldb, mysql ou postgresql + "MODE=postgresql;" + + //"MODE=hsqldb;" + + // Sets the default lock timeout (in milliseconds) in this + // database that is used for the new sessions. + "DEFAULT_LOCK_TIMEOUT=2000;" + + // -1: the database is never closed until the close delay is set to + // some other rev or SHUTDOWN is called., 0: no delay (default; the + // database is closed if the last connection to it is closed)., n: + // the database is left open for n second after the last connection + // is closed. + "DB_CLOSE_DELAY=0;" + + // 0: no locking (should only be used for testing), + // 1: table level locking (default), + // 2: table level locking with garbage collection (if the + // application does not close all connections). + // LOCK_MODE 3 (READ_COMMITTED). Table level locking, but only when + // writing (no read locks). + "LOCK_MODE=3;" + + // Levels: 0=off, 1=error, 2=info, 3=debug. + "TRACE_LEVEL_FILE=0;" + + // on system.out: 0=off, 1=error, 2=info, 3=debug. + "TRACE_LEVEL_SYSTEM_OUT=0;" + + // maximumn cache to improve performance... + "CACHE_SIZE=65536"; + /** Logger. */ private static final Log log = LogFactory.getLog(ObserveServiceFactoryTopia.class); protected static final LoadingCache<Class<?>, Class<?>> serviceTypeCache = newServiceImplementationTypesCache("Topia"); - protected final LoadingCache<ObserveDataSourceConfigurationTopiaSupport, TopiaContextImplementor> topiaApplicationContextCache = CacheBuilder + protected final LoadingCache<ObserveDataSourceConfigurationTopiaSupport, ObserveTopiaApplicationContext> topiaApplicationContextCache = CacheBuilder .newBuilder() - .build(new CacheLoader<ObserveDataSourceConfigurationTopiaSupport, TopiaContextImplementor>() { + .build(new CacheLoader<ObserveDataSourceConfigurationTopiaSupport, ObserveTopiaApplicationContext>() { @Override - public TopiaContextImplementor load(ObserveDataSourceConfigurationTopiaSupport key) throws Exception { + public ObserveTopiaApplicationContext load(ObserveDataSourceConfigurationTopiaSupport key) throws Exception { - TopiaContextImplementor dataSource = null; + ObserveTopiaApplicationContext dataSource = null; if (key instanceof ObserveDataSourceConfigurationTopiaH2) { - dataSource = createH2DataSource((ObserveDataSourceConfigurationTopiaH2) key); + dataSource = createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaH2) key); } if (key instanceof ObserveDataSourceConfigurationTopiaPG) { - dataSource = createPGDataSource((ObserveDataSourceConfigurationTopiaPG) key); + dataSource = createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaPG) key); } Preconditions.checkState(dataSource != null, "No dataSource found for configuration: " + key); @@ -66,6 +109,8 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp } }); + protected final JdbcConfigurationBuilder jdbcConfigurationBuilder = new JdbcConfigurationBuilder(); + @Override public <S extends ObserveService> boolean accept(ObserveDataSourceConfiguration dataSourceConfiguration, Class<S> serviceType) { @@ -102,56 +147,87 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp serviceContext.setDataSourceConfiguration(dataSourceConfigurationTopia); - TopiaContextImplementor dataSource = getDataSource(dataSourceConfigurationTopia); + ObserveTopiaApplicationContext dataSource = getTopiaApplicationContext(dataSourceConfigurationTopia); serviceContext.setTopiaApplicationContext(dataSource); return serviceContext; } - protected TopiaContextImplementor createPGDataSource(ObserveDataSourceConfigurationTopiaPG key) { - - PGDataSourceConfig result = DataSourceFactory.newPGConfig( - key.getLabel(), - CommonDataSourceConfigParam.LOGIN, key.getUsername(), - CommonDataSourceConfigParam.PASSWORD, key.getPassword(), - CommonDataSourceConfigParam.CAN_MIGRATE, key.isCanMigrate(), - CommonDataSourceConfigParam.SHOW_MIGRATION_PROGRESSION, key.isShowMigrationProgression(), - CommonDataSourceConfigParam.SHOW_MIGRATION_SQL, key.isShowMigrationSql(), - PGDataSourceConfigParam.URL, key.getJdbcUrl(), - PGDataSourceConfigParam.USE_SSL, key.isUseSsl() - ); - - //TODO - TopiaContextImplementor topiaApplicationContext = null; + protected ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaPG configuration) { + + TopiaConfiguration topiaConfiguration = getTopiaConfiguration(configuration); + + if (log.isInfoEnabled()) { + log.info("PG Topia configuration: " + topiaConfiguration); + } + + ObserveTopiaApplicationContext topiaApplicationContext = new ObserveTopiaApplicationContext(topiaConfiguration); return topiaApplicationContext; } - protected TopiaContextImplementor createH2DataSource(ObserveDataSourceConfigurationTopiaH2 key) { + protected TopiaConfiguration getTopiaConfiguration(ObserveDataSourceConfigurationTopiaPG configuration) { - H2DataSourceConfig result = DataSourceFactory.newH2Config( - key.getLabel(), - CommonDataSourceConfigParam.LOGIN, key.getUsername(), - CommonDataSourceConfigParam.PASSWORD, key.getPassword(), - CommonDataSourceConfigParam.CAN_MIGRATE, key.isCanMigrate(), - CommonDataSourceConfigParam.SHOW_MIGRATION_PROGRESSION, key.isShowMigrationProgression(), - CommonDataSourceConfigParam.SHOW_MIGRATION_SQL, key.isShowMigrationSql(), - H2DataSourceConfigParam.DIRECTORY, key.getDirectory() - ); + JdbcConfiguration jdbcConfiguration = getJdbcConfiguration(configuration, configuration.getJdbcUrl()); + + BeanTopiaConfiguration topiaConfiguration = new BeanTopiaConfiguration(jdbcConfiguration); + topiaConfiguration.setTopiaIdFactoryClass(ObserveTopiaIdFactory.class); + topiaConfiguration.setInitSchema(false); + topiaConfiguration.setValidateSchema(false); + + ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, PGDataSourceMigration.class.getName()); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class, Collections.<String, String>emptyMap()); + return topiaConfiguration; + } + + protected JdbcConfiguration getJdbcConfiguration(ObserveDataSourceConfigurationTopiaPG configuration, String jdbcUrl) { + return jdbcConfigurationBuilder.forH2Database(jdbcUrl, + configuration.getUsername(), + String.valueOf(configuration.getPassword())); + } - //TODO - TopiaContextImplementor topiaApplicationContext = null; + protected ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaH2 configuration) { + + TopiaConfiguration topiaConfiguration = getTopiaConfiguration(configuration); + + if (log.isInfoEnabled()) { + log.info("H2 Topia configuration: " + topiaConfiguration); + } + ObserveTopiaApplicationContext topiaApplicationContext = new ObserveTopiaApplicationContext(topiaConfiguration); return topiaApplicationContext; } - protected TopiaContextImplementor getDataSource(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { + protected TopiaConfiguration getTopiaConfiguration(ObserveDataSourceConfigurationTopiaH2 configuration) { + + String dbPath = new File(configuration.getDirectory(), configuration.getDbName()).getPath(); + + String jdbcUrl = String.format(h2LocalUrl, dbPath); + + JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forH2Database(jdbcUrl, + configuration.getUsername(), + String.valueOf(configuration.getPassword())); + + BeanTopiaConfiguration topiaConfiguration = new BeanTopiaConfiguration(jdbcConfiguration); + topiaConfiguration.setTopiaIdFactoryClass(ObserveTopiaIdFactory.class); + topiaConfiguration.setInitSchema(false); + topiaConfiguration.setValidateSchema(false); + + ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, H2DataSourceMigration.class.getName()); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class, Collections.<String, String>emptyMap()); + return topiaConfiguration; + } + + protected ObserveTopiaApplicationContext getTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { try { - TopiaContextImplementor dataSource = topiaApplicationContextCache.get(dataSourceConfiguration); + ObserveTopiaApplicationContext dataSource = topiaApplicationContextCache.get(dataSourceConfiguration); return dataSource; } catch (ExecutionException e) { - throw new ObserveTechnicalException("Could not get dataSource for configuration: " + dataSourceConfiguration, e); + //FIXME Avoir une vraie execption + throw new RuntimeException("Could not get dataSource for configuration: " + dataSourceConfiguration, e); } } @@ -167,11 +243,11 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp @Override public void close() { - for (TopiaContextImplementor dataSource : topiaApplicationContextCache.asMap().values()) { + for (TopiaApplicationContext dataSource : topiaApplicationContextCache.asMap().values()) { if (!dataSource.isClosed()) { try { - dataSource.closeContext(); + dataSource.close(); } catch (Exception e) { if (log.isErrorEnabled()) { log.error("Could not close data source: " + dataSource, e); @@ -241,9 +317,9 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp protected Object invokeMethodWithTransaction(Method method, Object... args) throws Throwable { - TopiaContextImplementor source = serviceContext.getTopiaApplicationContext(); + ObserveTopiaApplicationContext source = serviceContext.getTopiaApplicationContext(); - TopiaContext topiaPersistenceContext = source.beginTransaction(); + ObserveTopiaPersistenceContext topiaPersistenceContext = source.newPersistenceContext(); try { @@ -254,7 +330,7 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp if (method.isAnnotationPresent(Write.class)) { // do commit - topiaPersistenceContext.commitTransaction(); + topiaPersistenceContext.commit(); } @@ -265,7 +341,7 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp try { // always rollback transaction to avoid dirty transactions - topiaPersistenceContext.rollbackTransaction(); + topiaPersistenceContext.rollback(); } finally { 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 b17e2b5..475f6b5 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 @@ -3,15 +3,14 @@ package fr.ird.observe.services; import com.google.common.base.Preconditions; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.ObserveDAOHelper; +import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.ObserveDtosInitializer; import fr.ird.observe.services.dto.ObserveModelInitializerRunner; import fr.ird.observe.services.dto.ReferenceDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.service.DataNotFoundException; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.persistence.TopiaDAO; +import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import java.util.List; @@ -74,15 +73,15 @@ public class ObserveServiceTopia implements ObserveService { } protected <E extends TopiaEntity> List<E> loadEntities(Class<E> entityType) { - TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = transaction.getDao(entityType); List<E> entities = dao.findAll(); return entities; } protected <D extends ReferentialDto, E extends TopiaEntity> E loadEntity(Class<D> dtoType, Class<E> entityType, String id) { - TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = transaction.getDao(entityType); E entity = dao.findByTopiaId(id); if (entity == null) { throw new DataNotFoundException(dtoType, id); @@ -91,24 +90,24 @@ public class ObserveServiceTopia implements ObserveService { } public <E extends TopiaEntity> E newEntity(Class<E> entityType) { - TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = transaction.getDao(entityType); E entity = dao.newInstance(); return entity; } protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { - TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = transaction.getDao(entityType); entity = dao.update(entity); return entity; } protected <D extends ReferentialDto, E extends TopiaEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { - TopiaContext transaction = serviceContext.getTopiaPersistenceContext(); - TopiaDAO<E> dao = ObserveDAOHelper.getDAO(transaction, entityType); + ObserveTopiaPersistenceContext transaction = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = transaction.getDao(entityType); for (String id : ids) { - E entity = dao.findByTopiaId(id); + E entity = dao.forTopiaIdEquals(id).findUniqueOrNull(); if (entity == null) { throw new DataNotFoundException(dtoType, id); } 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 new file mode 100644 index 0000000..f3b58e6 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java @@ -0,0 +1,48 @@ +package fr.ird.observe.services.service; + +import fr.ird.observe.services.ObserveServiceContext; +import fr.ird.observe.services.ObserveServiceTopia; + +/** + * Created on 21/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataSourceServiceTopia extends ObserveServiceTopia implements DataSourceService { + + @Override + public boolean exist() { + return false; + } + + @Override + public void create() { + + } + + @Override + public void open() { + + } + + @Override + public void close() { + + } + + @Override + public boolean canConnect() { + + return false; + } + + @Override + public void destroy() { + + } + + @Override + public void setServiceContext(ObserveServiceContext serviceContext) { + + } +} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java index 6781edb..5f784c5 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java @@ -1,9 +1,6 @@ package fr.ird.observe.services; -import fr.ird.observe.ObserveTechnicalException; -import fr.ird.observe.db.DataSource; -import fr.ird.observe.db.DataSourceException; -import fr.ird.observe.db.impl.H2DataSource; +import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; @@ -14,22 +11,18 @@ import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopia */ public class ObserveServiceFactoryTopiaTaiste extends ObserveServiceFactoryTopia { - public H2DataSource getExistingDataSource(ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration) { - H2DataSource dataSource = (H2DataSource) topiaApplicationContextCache.getIfPresent(dataSourceConfiguration); + public ObserveTopiaApplicationContext getExistingDataSource(ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration) { + ObserveTopiaApplicationContext dataSource = topiaApplicationContextCache.getIfPresent(dataSourceConfiguration); return dataSource; } @Override - protected DataSource getDataSource(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { + protected ObserveTopiaApplicationContext getTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { - DataSource dataSource = super.getDataSource(dataSourceConfiguration); + ObserveTopiaApplicationContext dataSource = super.getTopiaApplicationContext(dataSourceConfiguration); - if (!dataSource.isOpen()) { - try { - dataSource.doOpen(); - } catch (DataSourceException e) { - throw new ObserveTechnicalException("Could not open dataSource: " + dataSourceConfiguration, e); - } + if (!dataSource.isClosed()) { + dataSource.close(); } return dataSource; diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java index 04ab6ca..e15620e 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java @@ -1,12 +1,8 @@ package fr.ird.observe.services.service; -import fr.ird.observe.IObserveConfig; import fr.ird.observe.services.ObserveServiceApplicationContext; import fr.ird.observe.services.ObserveServiceFactoryTopiaTaiste; -import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.constants.ReferentialLocale; -import fr.ird.observe.test.TestHelper; -import fr.ird.observe.util.Scripts; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.rules.TestRule; @@ -37,7 +33,7 @@ public class ApplicationContextResource implements TestRule { } public String getScriptPath(String classifier) { - return Scripts.getBackupScript(databaseVersion, classifier); + return getBackupScript(databaseVersion, classifier); } public ObserveServiceApplicationContext getServiceApplicationContext() { @@ -70,11 +66,12 @@ public class ApplicationContextResource implements TestRule { if (log.isDebugEnabled()) { log.debug("Starts " + testClass.getName()); } - TestHelper.initTest(testClass); - TestHelper.createApplicationContext(); - TestHelper.setConfig(IObserveConfig.DB_VERSION, databaseVersion.toString()); - - ObserveServiceTopia.init(); + //TODO A revoir +// TestHelper.initTest(testClass); +// TestHelper.createApplicationContext(); +// TestHelper.setConfig(IObserveConfig.DB_VERSION, databaseVersion.toString()); +// +// ObserveServiceTopia.init(); serviceApplicationContext.setReferentialLocale(ReferentialLocale.FR); @@ -88,4 +85,18 @@ public class ApplicationContextResource implements TestRule { } } + + protected final String BACKUP_SCRIPT_PATTERN = "/db/%1$s/%2$s.sql.gz"; + + protected String getBackupScript(Version version, String loadScript) { + String result = String.format( + BACKUP_SCRIPT_PATTERN, + version.toString(), + loadScript + ); + if (log.isInfoEnabled()) { + log.info(result); + } + return result; + } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java index fcc50fb..f7b899c 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java @@ -1,23 +1,16 @@ package fr.ird.observe.services.service; -import fr.ird.observe.db.DBTestHelper; -import fr.ird.observe.db.DataSourceException; -import fr.ird.observe.db.impl.H2DataSource; -import fr.ird.observe.db.impl.H2DataSourceConfig; +import fr.ird.observe.ObserveTopiaApplicationContext; +import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.services.ObserveServiceFactoryTopiaTaiste; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; -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.rules.TestRule; import org.junit.runner.Description; import org.junit.runners.model.Statement; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.persistence.TopiaDAO; -import org.nuiton.topia.persistence.TopiaEntity; -import java.io.File; import java.net.URL; import java.util.LinkedHashMap; import java.util.Map; @@ -36,7 +29,7 @@ public class DataSourceResource implements TestRule { protected final String dbPath; - protected Map<String, TopiaContext> transactions = new LinkedHashMap<>(); + protected Map<String, ObserveTopiaPersistenceContext> transactions = new LinkedHashMap<>(); protected ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration; @@ -49,13 +42,13 @@ public class DataSourceResource implements TestRule { return dataSourceConfiguration; } - public TopiaContext newTransaction(String name) throws DataSourceException { + public ObserveTopiaPersistenceContext newTransaction(String name) { ObserveServiceFactoryTopiaTaiste serviceFactory = applicationContextResource.getServiceFactory(); - H2DataSource dataSource = serviceFactory.getExistingDataSource(dataSourceConfiguration); - TopiaContext topiaContext = dataSource.beginTransaction(name); - transactions.put(name, topiaContext); - return topiaContext; + ObserveTopiaApplicationContext dataSource = serviceFactory.getExistingDataSource(dataSourceConfiguration); + ObserveTopiaPersistenceContext persistenceContext = dataSource.newPersistenceContext(); + transactions.put(name, persistenceContext); + return persistenceContext; } public Statement apply(final Statement base, final Description description) { @@ -73,11 +66,6 @@ public class DataSourceResource implements TestRule { }; } - public <E extends TopiaEntity> TopiaDAO<E> getDAO(TopiaContext tx, Class<E> entityType) { - H2DataSource dataSource = getDataSource(); - return dataSource.getDAO(tx, entityType); - } - protected void before(Description description) throws Throwable { Class<?> testClass = description.getTestClass(); @@ -86,34 +74,37 @@ public class DataSourceResource implements TestRule { log.debug("Starts " + testClass.getName() + "::" + methodName); } - URL dbUrl = getClass().getResource(dbPath); Assert.assertNotNull("could not find resource : " + dbPath, dbUrl); - File localDbFile = TestHelper.newLocalDB(methodName); - - H2DataSource dataSource = DBTestHelper.createAndOpenFromDump( - localDbFile, - dbUrl, - false, - false, - true, - true, - true); +// File localDbFile = TestHelper.newLocalDB(methodName); - H2DataSourceConfig dataSourceConfig = dataSource.getConfig(); - - dataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); - dataSourceConfiguration.setLabel(dataSourceConfig.getLabel()); - dataSourceConfiguration.setUsername(dataSourceConfig.getLogin()); - dataSourceConfiguration.setPassword(dataSourceConfig.getPassword()); - dataSourceConfiguration.setDirectory(dataSourceConfig.getStorageDirectory()); - dataSourceConfiguration.setCanMigrate(dataSourceConfig.isCanMigrate()); - dataSourceConfiguration.setShowMigrationProgression(dataSourceConfig.isShowMigrationProgression()); - dataSourceConfiguration.setShowMigrationSql(dataSourceConfig.isShowMigrationSql()); - - dataSource.doClose(false); + ObserveServiceFactoryTopiaTaiste serviceFactory = applicationContextResource.getServiceFactory(); + ObserveTopiaApplicationContext existingDataSource = serviceFactory.getExistingDataSource(dataSourceConfiguration); + +// +// H2DataSource dataSource = DBTestHelper.createAndOpenFromDump( +// localDbFile, +// dbUrl, +// false, +// false, +// true, +// true, +// true); +// +// H2DataSourceConfig dataSourceConfig = dataSource.getConfig(); +// +// dataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); +// dataSourceConfiguration.setLabel(dataSourceConfig.getLabel()); +// dataSourceConfiguration.setUsername(dataSourceConfig.getLogin()); +// dataSourceConfiguration.setPassword(dataSourceConfig.getPassword()); +// dataSourceConfiguration.setDirectory(dataSourceConfig.getStorageDirectory()); +// dataSourceConfiguration.setCanMigrate(dataSourceConfig.isCanMigrate()); +// dataSourceConfiguration.setShowMigrationProgression(dataSourceConfig.isShowMigrationProgression()); +// dataSourceConfiguration.setShowMigrationSql(dataSourceConfig.isShowMigrationSql()); +// +// dataSource.doClose(false); } @@ -125,15 +116,15 @@ public class DataSourceResource implements TestRule { log.debug("Ends " + testClass.getName() + "::" + methodName); } - H2DataSource dataSource = getDataSource(); + ObserveTopiaApplicationContext dataSource = getDataSource(); if (dataSource != null && dataSource.isOpen()) { - for (Map.Entry<String, TopiaContext> entry : transactions.entrySet()) { - TopiaContext topiaContext = entry.getValue(); + for (Map.Entry<String, ObserveTopiaPersistenceContext> entry : transactions.entrySet()) { + ObserveTopiaPersistenceContext topiaContext = entry.getValue(); if (!topiaContext.isClosed()) { String transactionKey = entry.getKey(); try { - dataSource.closeTransaction(topiaContext, transactionKey); + topiaContext.close(); } catch (Exception e) { if (log.isErrorEnabled()) { log.error("Could not close transaction: " + transactionKey, e); @@ -148,7 +139,7 @@ public class DataSourceResource implements TestRule { } - private H2DataSource getDataSource() { + private ObserveTopiaApplicationContext getDataSource() { return applicationContextResource.getServiceFactory().getExistingDataSource(dataSourceConfiguration); } } 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 e78a353..47fd2e0 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 @@ -1,5 +1,6 @@ package fr.ird.observe.services.service; +import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.entities.referentiel.LengthWeightParameter; import fr.ird.observe.entities.referentiel.Program; @@ -19,8 +20,7 @@ import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; -import org.nuiton.topia.TopiaContext; -import org.nuiton.topia.persistence.TopiaDAO; +import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import java.util.Map; @@ -59,7 +59,7 @@ public class ReferentialServiceTopiaTest { @Test public void testGetReferentialLabelSet() throws Exception { - TopiaContext tx = dataSourceResource.newTransaction("testGetReferentialLabelSet"); + ObserveTopiaPersistenceContext tx = dataSourceResource.newTransaction("testGetReferentialLabelSet"); for (Map.Entry<Class<?>, Class<?>> entry : ReferentialServiceTopia.getDtoTypes()) { Class dtoType = entry.getKey(); @@ -68,7 +68,7 @@ public class ReferentialServiceTopiaTest { } Class entityType = entry.getValue(); - TopiaDAO dao = dataSourceResource.getDAO(tx, entityType); + TopiaDao dao = tx.getDao(entityType); long expectedCount = dao.count(); if (log.isInfoEnabled()) { @@ -86,7 +86,7 @@ public class ReferentialServiceTopiaTest { @Test public void testLoadToRead() throws Exception { - TopiaContext tx = dataSourceResource.newTransaction("testLoadToRead"); + ObserveTopiaPersistenceContext tx = dataSourceResource.newTransaction("testLoadToRead"); for (Map.Entry<Class<?>, Class<?>> entry : ReferentialServiceTopia.getDtoTypes()) { @@ -104,7 +104,7 @@ public class ReferentialServiceTopiaTest { @Test public void testLoadToEdit() throws Exception { - TopiaContext tx = dataSourceResource.newTransaction("testLoadToEdit"); + ObserveTopiaPersistenceContext tx = dataSourceResource.newTransaction("testLoadToEdit"); for (Map.Entry<Class<?>, Class<?>> entry : ReferentialServiceTopia.getDtoTypes()) { @@ -122,15 +122,15 @@ public class ReferentialServiceTopiaTest { @Test public void testDelete() throws Exception { - TopiaContext tx = dataSourceResource.newTransaction("testDelete"); + ObserveTopiaPersistenceContext tx = dataSourceResource.newTransaction("testDelete"); delete(tx, ProgramDto.class, Program.class); delete(tx, LengthWeightParameterDto.class, LengthWeightParameter.class); } - protected void loadToRead(TopiaContext tx, Class dtoType, Class entityType) { - TopiaDAO<?> dao = dataSourceResource.getDAO(tx, entityType); + protected void loadToRead(ObserveTopiaPersistenceContext tx, Class dtoType, Class entityType) { + TopiaDao<?> dao = tx.getDao(entityType); long expectedCount = dao.count(); if (log.isInfoEnabled()) { @@ -158,8 +158,8 @@ public class ReferentialServiceTopiaTest { } } - protected void loadToEdit(TopiaContext tx, Class dtoType, Class entityType) { - TopiaDAO<?> dao = dataSourceResource.getDAO(tx, entityType); + protected void loadToEdit(ObserveTopiaPersistenceContext tx, Class dtoType, Class entityType) { + TopiaDao<?> dao = tx.getDao(entityType); long expectedCount = dao.count(); if (log.isInfoEnabled()) { @@ -183,7 +183,7 @@ public class ReferentialServiceTopiaTest { for (ReferenceSetDto labelSetDto : formDto.getLabels()) { Class refEntityType = ReferentialServiceTopia.getEntityType(labelSetDto.getType()); - long refExpected = dataSourceResource.getDAO(tx, refEntityType).count(); + long refExpected = tx.getDao(refEntityType).count(); Assert.assertEquals(refExpected, labelSetDto.sizeReference()); } @@ -191,9 +191,9 @@ public class ReferentialServiceTopiaTest { } } - protected void delete(TopiaContext tx, Class dtoType, Class entityType) { + protected void delete(ObserveTopiaPersistenceContext tx, Class dtoType, Class entityType) { - TopiaDAO<?> dao = dataSourceResource.getDAO(tx, entityType); + TopiaDao<?> dao = tx.getDao(entityType); long expectedCount = dao.count(); TopiaEntity entity = dao.iterator().next(); diff --git a/pom.xml b/pom.xml index db3493e..c002299 100644 --- a/pom.xml +++ b/pom.xml @@ -85,8 +85,8 @@ <module>observe-services-api</module> <module>observe-test-data</module> <module>observe-entities</module> - <module>observe-business</module> - <module>observe-validation</module> + <!--<module>observe-business</module>--> + <!--<module>observe-validation</module>--> <module>observe-services-configuration-topia</module> <module>observe-services-topia</module> <!--<module>observe-services-configuration-rest</module>--> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 3d5c7dae5dd456a0e68daf74e63b92e436045c12 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Aug 22 21:01:14 2015 +0200 Utilisation de la tag value attributeType --- observe-entities/src/main/xmi/observe-common.properties | 12 +++++------- observe-entities/src/main/xmi/observe-longline.properties | 1 - observe-entities/src/main/xmi/observe-seine.properties | 1 - 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/observe-entities/src/main/xmi/observe-common.properties b/observe-entities/src/main/xmi/observe-common.properties index 60a2f53..667b4e6 100644 --- a/observe-entities/src/main/xmi/observe-common.properties +++ b/observe-entities/src/main/xmi/observe-common.properties @@ -21,15 +21,13 @@ ### model.tagvalue.version=4.0.1 model.tagvalue.notGenerateToString=true -model.tagvalue.generateOperatorForDAOHelper=true -model.tagvalue.generateStandaloneEnumForDAOHelper=true model.tagvalue.generateForeignKeyNames=true model.tagvalue.indexForeignKeys=true -model.tagvalue.String=java.lang.String -model.tagvalue.Float=java.lang.Float -model.tagvalue.Integer=java.lang.Integer -model.tagvalue.Boolean=java.lang.Boolean -model.tagvalue.Long=long +model.tagvalue.attributeType.String=java.lang.String +model.tagvalue.attributeType.Float=java.lang.Float +model.tagvalue.attributeType.Integer=java.lang.Integer +model.tagvalue.attributeType.Boolean=java.lang.Boolean +model.tagvalue.attributeType.Long=long ############################################################################### ### Schema #################################################################### diff --git a/observe-entities/src/main/xmi/observe-longline.properties b/observe-entities/src/main/xmi/observe-longline.properties index 1340a65..51584bf 100644 --- a/observe-entities/src/main/xmi/observe-longline.properties +++ b/observe-entities/src/main/xmi/observe-longline.properties @@ -22,7 +22,6 @@ model.tagvalue.version=4.0.1 model.tagvalue.notGenerateToString=true model.tagvalue.generateOperatorForDAOHelper=true -model.tagvalue.generateStandaloneEnumForDAOHelper=true model.tagvalue.generateForeignKeyNames=true ############################################################################### diff --git a/observe-entities/src/main/xmi/observe-seine.properties b/observe-entities/src/main/xmi/observe-seine.properties index ed29a3a..e8886fc 100644 --- a/observe-entities/src/main/xmi/observe-seine.properties +++ b/observe-entities/src/main/xmi/observe-seine.properties @@ -22,7 +22,6 @@ model.tagvalue.version=4.0.1 model.tagvalue.notGenerateToString=true model.tagvalue.generateOperatorForDAOHelper=true -model.tagvalue.generateStandaloneEnumForDAOHelper=true model.tagvalue.generateForeignKeyNames=true ############################################################################### -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 9db7cfaa72d7da701a59e16ab1f940a013b7d723 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 23 01:34:49 2015 +0200 Implantation de création d'une base (See #7464) --- .../observe/ObserveTopiaApplicationContext.java | 5 +- .../services/ObserveServiceApplicationContext.java | 37 ++++ .../observe/services/ObserveServiceContext.java | 18 ++ .../service/DataSourceDumpProducerService.java | 16 ++ .../services/service/DataSourceService.java | 5 +- observe-services-configuration-api/pom.xml | 7 - .../ObserveDataSourceConfiguration.java | 2 + ...ObserveDataSourceConfigurationTopiaSupport.java | 1 + observe-services-model/pom.xml | 7 + .../dto/DataSourceCreateConfigurationDto.java | 81 ++++++++ .../services/ObserveServiceContextTopia.java | 28 ++- .../services/ObserveServiceFactoryTopia.java | 180 +--------------- .../ObserveTopiaApplicationContextFactory.java | 230 +++++++++++++++++++++ .../DataSourceDumpProducerServiceTopia.java | 21 ++ .../services/service/DataSourceServiceTopia.java | 91 +++++++- .../services/ObserveServiceFactoryTopiaTaiste.java | 30 --- .../service/ApplicationContextResource.java | 9 +- .../services/service/DataSourceResource.java | 34 +-- .../service/DataSourceServiceTopiaTest.java | 50 +++++ .../service/ReferentialServiceTopiaTest.java | 6 +- 20 files changed, 602 insertions(+), 256 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 cff5f03..7c66d03 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -14,7 +14,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat public static final String AUTO_MIGRATE = "auto.migrate"; - //FIXME Voir comment remplir ça. + //FIXME Voir comment remplir ça (probablement pour les tests ?) protected boolean autoMigrate; /** @@ -35,8 +35,7 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat } public boolean isOpen() { - //FIXME utiliser le flag open - return !isClosed(); + return isOpened() && open; } public void setOpen(boolean open) { diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceApplicationContext.java b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceApplicationContext.java index 542f8e3..49a84ee 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceApplicationContext.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceApplicationContext.java @@ -2,6 +2,15 @@ package fr.ird.observe.services; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.attribute.FileAttribute; +import java.nio.file.attribute.PosixFilePermission; +import java.nio.file.attribute.PosixFilePermissions; +import java.util.Set; + /** * Created on 19/08/15. * @@ -14,6 +23,16 @@ public class ObserveServiceApplicationContext { */ protected ReferentialLocale referentialLocale; + /** + * L'usine de services principale (celle au dessus de toutes les usines d'implantation). + */ + protected ObserveServiceFactory mainServiceFactory; + + /** + * Le répertoire où créer les répertoires temporaires. + */ + protected Path temporaryDirectoryRoot; + public ReferentialLocale getReferentialLocale() { return referentialLocale; } @@ -21,4 +40,22 @@ public class ObserveServiceApplicationContext { public void setReferentialLocale(ReferentialLocale referentialLocale) { this.referentialLocale = referentialLocale; } + + public ObserveServiceFactory getMainServiceFactory() { + return mainServiceFactory; + } + + public void setMainServiceFactory(ObserveServiceFactory mainServiceFactory) { + this.mainServiceFactory = mainServiceFactory; + } + + public void setTemporaryDirectoryRoot(Path temporaryDirectoryRoot) { + this.temporaryDirectoryRoot = temporaryDirectoryRoot; + } + + public File createTemporaryDirectory(String prefix) throws IOException { + Set<PosixFilePermission> posixFilePermissions = PosixFilePermissions.fromString("rwxr-x---"); + FileAttribute<Set<PosixFilePermission>> fileAttribute = PosixFilePermissions.asFileAttribute(posixFilePermissions); + return Files.createTempDirectory(temporaryDirectoryRoot, prefix, fileAttribute).toFile(); + } } diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceContext.java b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceContext.java index d854949..cd959c9 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceContext.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/ObserveServiceContext.java @@ -1,7 +1,10 @@ package fr.ird.observe.services; +import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import java.io.File; +import java.io.IOException; import java.util.Date; /** @@ -15,4 +18,19 @@ public interface ObserveServiceContext { Date now(); + /** + * Pour créer un service à partir de la data source courante. + */ + <S extends ObserveService> S newService(Class<S> serviceType); + + /** + * Pour créer un service à partir de la data source donnée. + */ + <S extends ObserveService> S newService(ObserveDataSourceConfiguration dataSourceConfiguration, Class<S> serviceType); + + /** + * Pour créer un répertoire temporaire dont le nom commence par le préfixe donné. + */ + File createTemporaryDirectory(String prefix) throws IOException; + } 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 new file mode 100644 index 0000000..163d414 --- /dev/null +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerService.java @@ -0,0 +1,16 @@ +package fr.ird.observe.services.service; + +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[] getDataDump(String... importDataIds); + +} 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 dac2dc6..1e41b82 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 @@ -1,6 +1,9 @@ package fr.ird.observe.services.service; import fr.ird.observe.services.ObserveService; +import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; + +import java.io.IOException; /** * Created on 21/08/15. @@ -11,7 +14,7 @@ public interface DataSourceService extends ObserveService { boolean exist(); - void create(); + void create(DataSourceCreateConfigurationDto dataSourceCreateConfiguration) throws IOException; void open(); diff --git a/observe-services-configuration-api/pom.xml b/observe-services-configuration-api/pom.xml index 07c10a3..ebce096 100644 --- a/observe-services-configuration-api/pom.xml +++ b/observe-services-configuration-api/pom.xml @@ -17,13 +17,6 @@ <dependencies> - <!-- sibling dependencies --> - <dependency> - <groupId>${project.groupId}</groupId> - <artifactId>observe-services-model</artifactId> - <version>${project.version}</version> - </dependency> - <!-- commons dependencies --> <dependency> diff --git a/observe-services-configuration-api/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfiguration.java b/observe-services-configuration-api/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfiguration.java index b611428..8b898a2 100644 --- a/observe-services-configuration-api/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfiguration.java +++ b/observe-services-configuration-api/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfiguration.java @@ -7,4 +7,6 @@ package fr.ird.observe.services.configuration; */ public interface ObserveDataSourceConfiguration { + String getLabel(); + } diff --git a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java index cb8de02..aab2ebe 100644 --- a/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java +++ b/observe-services-configuration-topia/src/main/java/fr/ird/observe/services/configuration/ObserveDataSourceConfigurationTopiaSupport.java @@ -56,6 +56,7 @@ public abstract class ObserveDataSourceConfigurationTopiaSupport implements Obse this.password = password; } + @Override public String getLabel() { return label; } diff --git a/observe-services-model/pom.xml b/observe-services-model/pom.xml index 7c25fff..a0486c1 100644 --- a/observe-services-model/pom.xml +++ b/observe-services-model/pom.xml @@ -39,6 +39,13 @@ <dependencies> + <!-- sibling dependencies --> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>observe-services-configuration-api</artifactId> + <version>${project.version}</version> + </dependency> + <!-- Nuiton --> <dependency> <groupId>org.nuiton</groupId> diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataSourceCreateConfigurationDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataSourceCreateConfigurationDto.java new file mode 100644 index 0000000..6c1580c --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataSourceCreateConfigurationDto.java @@ -0,0 +1,81 @@ +package fr.ird.observe.services.dto; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; + +/** + * Created on 22/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataSourceCreateConfigurationDto extends AbstractObserveDto { + + private static final long serialVersionUID = 1L; + + /** + * Le contenu de la base à importer (Optionel). + */ + protected Optional<byte[]> optionalImportDatabase; + + /** + * Une configuration de la dataSource à utiliser pour importer le référentiel (Optionel). + */ + protected Optional<ObserveDataSourceConfiguration> optionalImportReferentialDataSourceConfiguration; + + /** + * Une configuration de la dataSource à utiliser pour importer des données (Optionel). + */ + protected Optional<ObserveDataSourceConfiguration> optionalImportDataDataSourceConfiguration; + + /** + * Les données à importer (ids des marées) (Optionel). + */ + protected Optional<String[]> optionalImportDataIds; + + public boolean isImportDatabase() { + return optionalImportDatabase.isPresent(); + } + + public boolean isImportReferential() { + return optionalImportReferentialDataSourceConfiguration.isPresent(); + } + + public boolean isImportData() { + return optionalImportDataDataSourceConfiguration.isPresent(); + } + + public byte[] getImportDatabase() { + return optionalImportDatabase.get(); + } + + public ObserveDataSourceConfiguration getImportReferentialDataSourceConfiguration() { + return optionalImportReferentialDataSourceConfiguration.get(); + } + + public ObserveDataSourceConfiguration getImportDataDataSourceConfiguration() { + return optionalImportDataDataSourceConfiguration.get(); + } + + public String[] getImportDataIds() { + return optionalImportDataIds.get(); + } + + public void setImportDatabase(byte... importDatabase) { + Preconditions.checkNotNull(importDatabase, "'importDatabase' can't be null."); + this.optionalImportDatabase = Optional.of(importDatabase); + } + + public void setImportReferentialDataSourceConfiguration(ObserveDataSourceConfiguration importReferentialDataSourceConfiguration) { + Preconditions.checkNotNull(importReferentialDataSourceConfiguration, "'importReferentialDataSourceConfiguration' can't be null."); + this.optionalImportReferentialDataSourceConfiguration = Optional.of(importReferentialDataSourceConfiguration); + } + + public void setImportDataConfiguration(ObserveDataSourceConfiguration importDataDataSourceConfiguration, String... importDataIds) { + Preconditions.checkNotNull(importDataDataSourceConfiguration, "'importDataDataSourceConfiguration' can't be null."); + Preconditions.checkNotNull(importDataIds, "'importDataIds' can't be null."); + this.optionalImportDataDataSourceConfiguration = Optional.of(importDataDataSourceConfiguration); + this.optionalImportDataIds = Optional.of(importDataIds); + } + +} diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java index 960a636..5bec7f8 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceContextTopia.java @@ -2,9 +2,12 @@ package fr.ird.observe.services; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import java.io.File; +import java.io.IOException; import java.util.Date; /** @@ -16,6 +19,8 @@ public class ObserveServiceContextTopia implements ObserveServiceContext { protected ObserveServiceApplicationContext applicationContext; + protected ObserveServiceFactory serviceFactory; + protected ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration; protected ObserveTopiaPersistenceContext topiaPersistenceContext; @@ -36,8 +41,23 @@ public class ObserveServiceContextTopia implements ObserveServiceContext { return new Date(); } - public ObserveServiceApplicationContext getApplicationContext() { - return applicationContext; + @Override + public <S extends ObserveService> S newService(Class<S> serviceType) { + return serviceFactory.newService(applicationContext, dataSourceConfiguration, serviceType); + } + + @Override + public <S extends ObserveService> S newService(ObserveDataSourceConfiguration dataSourceConfiguration, Class<S> serviceType) { + return applicationContext.getMainServiceFactory().newService(applicationContext, dataSourceConfiguration, serviceType); + } + + @Override + public File createTemporaryDirectory(String prefix) throws IOException { + return applicationContext.createTemporaryDirectory(prefix); + } + + public ObserveDataSourceConfigurationTopiaSupport getDataSourceConfiguration() { + return dataSourceConfiguration; } public ObserveTopiaPersistenceContext getTopiaPersistenceContext() { @@ -60,10 +80,12 @@ public class ObserveServiceContextTopia implements ObserveServiceContext { this.dataSourceConfiguration = dataSourceConfiguration; } + public void setServiceFactory(ObserveServiceFactory serviceFactory) { + this.serviceFactory = serviceFactory; + } public void closeTopiaPersistenceContext() { topiaPersistenceContext.close(); topiaPersistenceContext = null; } - } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java index 9da62c1..ccf5e1b 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java @@ -1,41 +1,23 @@ package fr.ird.observe.services; import com.google.common.base.Preconditions; -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; -import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; import com.google.common.reflect.Reflection; import fr.ird.observe.ObserveTopiaApplicationContext; -import fr.ird.observe.ObserveTopiaIdFactory; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.migration.H2DataSourceMigration; -import fr.ird.observe.entities.migration.ObserveMigrationEngine; -import fr.ird.observe.entities.migration.PGDataSourceMigration; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaPG; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; import fr.ird.observe.services.spi.NoDataAccess; import fr.ird.observe.services.spi.Write; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.BeanTopiaConfiguration; -import org.nuiton.topia.persistence.TopiaApplicationContext; -import org.nuiton.topia.persistence.TopiaConfiguration; -import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; -import org.nuiton.topia.persistence.jdbc.JdbcConfigurationBuilder; -import org.nuiton.topia.replication.TopiaReplicationServiceImpl; import java.io.Closeable; -import java.io.File; import java.lang.reflect.InvocationHandler; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import java.util.Collections; import java.util.Set; -import java.util.concurrent.ExecutionException; /** * FIXME Supprimer les DataSourceConfig et DataSource et directement utiliser TopiaConfiguration. @@ -46,71 +28,11 @@ import java.util.concurrent.ExecutionException; */ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport implements Closeable { - /** l'url d'acces a la base locale */ - public static final String h2LocalUrl = - "jdbc:h2:file:%s;" + - // on peut aussi utiliser file, socket - "FILE_LOCK=file;" + - //1 or 2 is needed to restore avec crash - // 0: logging is disabled (faster), - // 1: logging of the data is enabled, but logging of the index - // changes is disabled (default), 2: logging of both data and index - // changes are enabled - "LOG=0;" + - // on peut aussi utiliser hsqldb, mysql ou postgresql - "MODE=postgresql;" + - //"MODE=hsqldb;" + - // Sets the default lock timeout (in milliseconds) in this - // database that is used for the new sessions. - "DEFAULT_LOCK_TIMEOUT=2000;" + - // -1: the database is never closed until the close delay is set to - // some other rev or SHUTDOWN is called., 0: no delay (default; the - // database is closed if the last connection to it is closed)., n: - // the database is left open for n second after the last connection - // is closed. - "DB_CLOSE_DELAY=0;" + - // 0: no locking (should only be used for testing), - // 1: table level locking (default), - // 2: table level locking with garbage collection (if the - // application does not close all connections). - // LOCK_MODE 3 (READ_COMMITTED). Table level locking, but only when - // writing (no read locks). - "LOCK_MODE=3;" + - // Levels: 0=off, 1=error, 2=info, 3=debug. - "TRACE_LEVEL_FILE=0;" + - // on system.out: 0=off, 1=error, 2=info, 3=debug. - "TRACE_LEVEL_SYSTEM_OUT=0;" + - // maximumn cache to improve performance... - "CACHE_SIZE=65536"; - /** Logger. */ private static final Log log = LogFactory.getLog(ObserveServiceFactoryTopia.class); protected static final LoadingCache<Class<?>, Class<?>> serviceTypeCache = newServiceImplementationTypesCache("Topia"); - protected final LoadingCache<ObserveDataSourceConfigurationTopiaSupport, ObserveTopiaApplicationContext> topiaApplicationContextCache = CacheBuilder - .newBuilder() - .build(new CacheLoader<ObserveDataSourceConfigurationTopiaSupport, ObserveTopiaApplicationContext>() { - - @Override - public ObserveTopiaApplicationContext load(ObserveDataSourceConfigurationTopiaSupport key) throws Exception { - - ObserveTopiaApplicationContext dataSource = null; - if (key instanceof ObserveDataSourceConfigurationTopiaH2) { - dataSource = createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaH2) key); - } - - if (key instanceof ObserveDataSourceConfigurationTopiaPG) { - dataSource = createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaPG) key); - } - - Preconditions.checkState(dataSource != null, "No dataSource found for configuration: " + key); - return dataSource; - } - }); - - protected final JdbcConfigurationBuilder jdbcConfigurationBuilder = new JdbcConfigurationBuilder(); - @Override public <S extends ObserveService> boolean accept(ObserveDataSourceConfiguration dataSourceConfiguration, Class<S> serviceType) { @@ -143,95 +65,16 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp ObserveServiceContextTopia serviceContext = new ObserveServiceContextTopia(); serviceContext.setApplicationContext(applicationContext); - ObserveDataSourceConfigurationTopiaSupport dataSourceConfigurationTopia = dataSourceConfiguration; - serviceContext.setDataSourceConfiguration(dataSourceConfigurationTopia); + serviceContext.setDataSourceConfiguration(dataSourceConfiguration); + serviceContext.setServiceFactory(this); - ObserveTopiaApplicationContext dataSource = getTopiaApplicationContext(dataSourceConfigurationTopia); - serviceContext.setTopiaApplicationContext(dataSource); + ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); + serviceContext.setTopiaApplicationContext(topiaApplicationContext); return serviceContext; } - protected ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaPG configuration) { - - TopiaConfiguration topiaConfiguration = getTopiaConfiguration(configuration); - - if (log.isInfoEnabled()) { - log.info("PG Topia configuration: " + topiaConfiguration); - } - - ObserveTopiaApplicationContext topiaApplicationContext = new ObserveTopiaApplicationContext(topiaConfiguration); - return topiaApplicationContext; - - } - - protected TopiaConfiguration getTopiaConfiguration(ObserveDataSourceConfigurationTopiaPG configuration) { - - JdbcConfiguration jdbcConfiguration = getJdbcConfiguration(configuration, configuration.getJdbcUrl()); - - BeanTopiaConfiguration topiaConfiguration = new BeanTopiaConfiguration(jdbcConfiguration); - topiaConfiguration.setTopiaIdFactoryClass(ObserveTopiaIdFactory.class); - topiaConfiguration.setInitSchema(false); - topiaConfiguration.setValidateSchema(false); - - ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, PGDataSourceMigration.class.getName()); - topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); - topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class, Collections.<String, String>emptyMap()); - return topiaConfiguration; - } - - protected JdbcConfiguration getJdbcConfiguration(ObserveDataSourceConfigurationTopiaPG configuration, String jdbcUrl) { - return jdbcConfigurationBuilder.forH2Database(jdbcUrl, - configuration.getUsername(), - String.valueOf(configuration.getPassword())); - } - - protected ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaH2 configuration) { - - TopiaConfiguration topiaConfiguration = getTopiaConfiguration(configuration); - - if (log.isInfoEnabled()) { - log.info("H2 Topia configuration: " + topiaConfiguration); - } - ObserveTopiaApplicationContext topiaApplicationContext = new ObserveTopiaApplicationContext(topiaConfiguration); - return topiaApplicationContext; - - } - - protected TopiaConfiguration getTopiaConfiguration(ObserveDataSourceConfigurationTopiaH2 configuration) { - - String dbPath = new File(configuration.getDirectory(), configuration.getDbName()).getPath(); - - String jdbcUrl = String.format(h2LocalUrl, dbPath); - - JdbcConfiguration jdbcConfiguration = jdbcConfigurationBuilder.forH2Database(jdbcUrl, - configuration.getUsername(), - String.valueOf(configuration.getPassword())); - - BeanTopiaConfiguration topiaConfiguration = new BeanTopiaConfiguration(jdbcConfiguration); - topiaConfiguration.setTopiaIdFactoryClass(ObserveTopiaIdFactory.class); - topiaConfiguration.setInitSchema(false); - topiaConfiguration.setValidateSchema(false); - - ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, H2DataSourceMigration.class.getName()); - topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); - topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class, Collections.<String, String>emptyMap()); - return topiaConfiguration; - } - - protected ObserveTopiaApplicationContext getTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { - - try { - ObserveTopiaApplicationContext dataSource = topiaApplicationContextCache.get(dataSourceConfiguration); - return dataSource; - } catch (ExecutionException e) { - //FIXME Avoir une vraie execption - throw new RuntimeException("Could not get dataSource for configuration: " + dataSourceConfiguration, e); - } - - } - protected <S extends ObserveService> S newServiceTransactionalProxy(Class<S> serviceType, S service, ObserveServiceContextTopia serviceContext) { ObserveServiceInvocationHandler invocationHandler = new ObserveServiceInvocationHandler(serviceContext, service); @@ -243,20 +86,7 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp @Override public void close() { - for (TopiaApplicationContext dataSource : topiaApplicationContextCache.asMap().values()) { - - if (!dataSource.isClosed()) { - try { - dataSource.close(); - } catch (Exception e) { - if (log.isErrorEnabled()) { - log.error("Could not close data source: " + dataSource, e); - } - } - } - } - - topiaApplicationContextCache.invalidateAll(); + ObserveTopiaApplicationContextFactory.close(); } 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 new file mode 100644 index 0000000..7b5c316 --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveTopiaApplicationContextFactory.java @@ -0,0 +1,230 @@ +package fr.ird.observe.services; + +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.cache.CacheBuilder; +import com.google.common.cache.CacheLoader; +import com.google.common.cache.LoadingCache; +import com.google.common.collect.ImmutableMap; +import fr.ird.observe.ObserveTopiaApplicationContext; +import fr.ird.observe.ObserveTopiaIdFactory; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.ObserveMigrationEngine; +import fr.ird.observe.entities.migration.PGDataSourceMigration; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaPG; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.persistence.BeanTopiaConfiguration; +import org.nuiton.topia.persistence.TopiaApplicationContext; +import org.nuiton.topia.persistence.TopiaConfiguration; +import org.nuiton.topia.persistence.jdbc.JdbcConfiguration; +import org.nuiton.topia.persistence.jdbc.JdbcConfigurationBuilder; +import org.nuiton.topia.replication.TopiaReplicationServiceImpl; + +import java.io.File; +import java.util.Collections; +import java.util.concurrent.ExecutionException; + +/** + * Created on 23/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class ObserveTopiaApplicationContextFactory { + + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveTopiaApplicationContextFactory.class); + + /** l'url d'acces a la base locale */ + public static final String H2_LOCAL_URL = + "jdbc:h2:file:%s;" + + // on peut aussi utiliser file, socket + "FILE_LOCK=file;" + + //1 or 2 is needed to restore avec crash + // 0: logging is disabled (faster), + // 1: logging of the data is enabled, but logging of the index + // changes is disabled (default), 2: logging of both data and index + // changes are enabled + "LOG=0;" + + // on peut aussi utiliser hsqldb, mysql ou postgresql + "MODE=postgresql;" + + //"MODE=hsqldb;" + + // Sets the default lock timeout (in milliseconds) in this + // database that is used for the new sessions. + "DEFAULT_LOCK_TIMEOUT=2000;" + + // -1: the database is never closed until the close delay is set to + // some other rev or SHUTDOWN is called., 0: no delay (default; the + // database is closed if the last connection to it is closed)., n: + // the database is left open for n second after the last connection + // is closed. + "DB_CLOSE_DELAY=0;" + + // 0: no locking (should only be used for testing), + // 1: table level locking (default), + // 2: table level locking with garbage collection (if the + // application does not close all connections). + // LOCK_MODE 3 (READ_COMMITTED). Table level locking, but only when + // writing (no read locks). + "LOCK_MODE=3;" + + // Levels: 0=off, 1=error, 2=info, 3=debug. + "TRACE_LEVEL_FILE=0;" + + // on system.out: 0=off, 1=error, 2=info, 3=debug. + "TRACE_LEVEL_SYSTEM_OUT=0;" + + // maximumn cache to improve performance... + "CACHE_SIZE=65536"; + + protected static final JdbcConfigurationBuilder JDBC_CONFIGURATION_BUILDER = new JdbcConfigurationBuilder(); + + protected static final LoadingCache<ObserveDataSourceConfigurationTopiaSupport, ObserveTopiaApplicationContext> TOPIA_APPLICATION_CONTEXT_CACHE = CacheBuilder + .newBuilder() + .build(new CacheLoader<ObserveDataSourceConfigurationTopiaSupport, ObserveTopiaApplicationContext>() { + + @Override + public ObserveTopiaApplicationContext load(ObserveDataSourceConfigurationTopiaSupport key) throws Exception { + + ObserveTopiaApplicationContext dataSource = createTopiaApplicationContext(key); + return dataSource; + + } + }); + + public static ObserveTopiaApplicationContext getTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { + + try { + ObserveTopiaApplicationContext topiaApplicationContext = TOPIA_APPLICATION_CONTEXT_CACHE.get(dataSourceConfiguration); + return topiaApplicationContext; + } catch (ExecutionException e) { + //FIXME Avoir une vraie execption + throw new RuntimeException("Could not get dataSource for configuration: " + dataSourceConfiguration, e); + } + + } + + public static Optional<ObserveTopiaApplicationContext> getTopiaApplicationContextIfPresent(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { + + ObserveTopiaApplicationContext topiaApplicationContext = TOPIA_APPLICATION_CONTEXT_CACHE.getIfPresent(dataSourceConfiguration); + return Optional.fromNullable(topiaApplicationContext); + + } + + public static void close() { + + for (TopiaApplicationContext dataSource : TOPIA_APPLICATION_CONTEXT_CACHE.asMap().values()) { + + if (!dataSource.isClosed()) { + try { + dataSource.close(); + } catch (Exception e) { + if (log.isErrorEnabled()) { + log.error("Could not close data source: " + dataSource, e); + } + } + } + } + + TOPIA_APPLICATION_CONTEXT_CACHE.invalidateAll(); + + } + + protected static ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport configuration) { + + ObserveTopiaApplicationContext topiaApplicationContext = null; + + if (configuration instanceof ObserveDataSourceConfigurationTopiaH2) { + topiaApplicationContext = createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaH2) configuration); + } else if (configuration instanceof ObserveDataSourceConfigurationTopiaPG) { + topiaApplicationContext = createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaPG) configuration); + } + Preconditions.checkState(topiaApplicationContext != null, "Did not find how to create ObserveTopiaApplicationContext from: " + configuration); + return topiaApplicationContext; + + } + + protected static TopiaConfiguration createTopiaConfiguration(ObserveDataSourceConfigurationTopiaPG configuration) { + + JdbcConfiguration jdbcConfiguration = createJdbcConfiguration(configuration, configuration.getJdbcUrl()); + + BeanTopiaConfiguration topiaConfiguration = new BeanTopiaConfiguration(jdbcConfiguration); + topiaConfiguration.setTopiaIdFactoryClass(ObserveTopiaIdFactory.class); + topiaConfiguration.setInitSchema(false); + topiaConfiguration.setValidateSchema(false); + + ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, PGDataSourceMigration.class.getName()); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class, Collections.<String, String>emptyMap()); + return topiaConfiguration; + + } + + protected static TopiaConfiguration createTopiaConfiguration(ObserveDataSourceConfigurationTopiaH2 configuration) { + + String dbPath = new File(configuration.getDirectory(), configuration.getDbName()).getPath(); + + String jdbcUrl = String.format(H2_LOCAL_URL, dbPath); + + JdbcConfiguration jdbcConfiguration = JDBC_CONFIGURATION_BUILDER.forH2Database(jdbcUrl, + configuration.getUsername(), + String.valueOf(configuration.getPassword())); + + BeanTopiaConfiguration topiaConfiguration = new BeanTopiaConfiguration(jdbcConfiguration); + topiaConfiguration.setTopiaIdFactoryClass(ObserveTopiaIdFactory.class); + topiaConfiguration.setInitSchema(false); + topiaConfiguration.setValidateSchema(false); + + ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, H2DataSourceMigration.class.getName()); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class, Collections.<String, String>emptyMap()); + return topiaConfiguration; + + } + + protected static JdbcConfiguration createJdbcConfiguration(ObserveDataSourceConfigurationTopiaPG configuration, String jdbcUrl) { + return JDBC_CONFIGURATION_BUILDER.forH2Database(jdbcUrl, + configuration.getUsername(), + String.valueOf(configuration.getPassword())); + } + + protected static ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaPG configuration) { + + TopiaConfiguration topiaConfiguration = createTopiaConfiguration(configuration); + + if (log.isInfoEnabled()) { + log.info("PG Topia configuration: " + topiaConfiguration); + } + + ObserveTopiaApplicationContext topiaApplicationContext = new MyObserveTopiaApplicationContext(topiaConfiguration); + return topiaApplicationContext; + + } + + protected static ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaH2 configuration) { + + TopiaConfiguration topiaConfiguration = createTopiaConfiguration(configuration); + + if (log.isInfoEnabled()) { + log.info("H2 Topia configuration: " + topiaConfiguration); + } + ObserveTopiaApplicationContext topiaApplicationContext = new MyObserveTopiaApplicationContext(topiaConfiguration); + return topiaApplicationContext; + + } + + protected static class MyObserveTopiaApplicationContext extends ObserveTopiaApplicationContext { + + public MyObserveTopiaApplicationContext(TopiaConfiguration topiaConfiguration) { + super(topiaConfiguration); + } + + @Override + public void close() { + try { + super.close(); + } finally { + // remove from cache + TOPIA_APPLICATION_CONTEXT_CACHE.invalidate(getConfiguration()); + } + } + + } +} 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 new file mode 100644 index 0000000..c4fb15f --- /dev/null +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopia.java @@ -0,0 +1,21 @@ +package fr.ird.observe.services.service; + +import fr.ird.observe.services.ObserveServiceTopia; + +/** + * Created on 23/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataSourceDumpProducerServiceTopia extends ObserveServiceTopia implements DataSourceDumpProducerService { + + @Override + public byte[] getReferentialDump() { + return new byte[0]; + } + + @Override + public byte[] getDataDump(String... importDataIds) { + return new byte[0]; + } +} 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 f3b58e6..b8bc87a 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 @@ -1,7 +1,21 @@ package fr.ird.observe.services.service; -import fr.ird.observe.services.ObserveServiceContext; +import com.google.common.base.Optional; +import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.services.ObserveServiceTopia; +import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; +import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; +import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; +import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; + +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; /** * Created on 21/08/15. @@ -12,28 +26,87 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS @Override public boolean exist() { + + ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); return false; } @Override - public void create() { + public void create(DataSourceCreateConfigurationDto dataSourceCreateConfiguration) throws IOException { + + ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); + ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); + + JdbcH2Helper jdbcH2Helper = new JdbcH2Helper(topiaApplicationContext.getConfiguration()); + + if (dataSourceCreateConfiguration.isImportDatabase()) { + + byte[] importDatabase = dataSourceCreateConfiguration.getImportDatabase(); + + executeSqlScript(jdbcH2Helper, "ImportDatabase_" + dataSourceConfiguration.getLabel(), importDatabase); + + } else { + + // Creer une base + + //FIXME Voir si ça convient + topiaApplicationContext.createSchema(); + + if (dataSourceCreateConfiguration.isImportReferential()) { + + ObserveDataSourceConfiguration importDataSourceConfiguration = dataSourceCreateConfiguration.getImportReferentialDataSourceConfiguration(); + + DataSourceDumpProducerService dumpProducerService = serviceContext.newService(importDataSourceConfiguration, DataSourceDumpProducerService.class); + + byte[] referentialDump = dumpProducerService.getReferentialDump(); + + executeSqlScript(jdbcH2Helper, "ImportReferential_" + importDataSourceConfiguration.getLabel(), referentialDump); + + } + + if (dataSourceCreateConfiguration.isImportData()) { + + ObserveDataSourceConfiguration importDataSourceConfiguration = dataSourceCreateConfiguration.getImportDataDataSourceConfiguration(); + String[] importDataIds = dataSourceCreateConfiguration.getImportDataIds(); + + DataSourceDumpProducerService dumpProducerService = serviceContext.newService(importDataSourceConfiguration, DataSourceDumpProducerService.class); + + byte[] dataDump = dumpProducerService.getDataDump(importDataIds); + + executeSqlScript(jdbcH2Helper, "ImportData_" + importDataSourceConfiguration.getLabel(), dataDump); + + } + + } } @Override public void open() { + ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); + ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); + } @Override public void close() { + ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); + Optional<ObserveTopiaApplicationContext> optionalTopiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContextIfPresent(dataSourceConfiguration); + + if (optionalTopiaApplicationContext.isPresent()) { + optionalTopiaApplicationContext.get().close(); + } + } @Override public boolean canConnect() { + ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); return false; + } @Override @@ -41,8 +114,18 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS } - @Override - public void setServiceContext(ObserveServiceContext serviceContext) { + protected void executeSqlScript(JdbcH2Helper jdbcH2Helper, String temporaryFilePrefix, byte... content) throws IOException { + + File temporaryDirectory = serviceContext.createTemporaryDirectory(temporaryFilePrefix); + + Path sqlScript = new File(temporaryDirectory, "script.sql").toPath(); + + try (InputStream inputSream = new BufferedInputStream(new ByteArrayInputStream(content))) { + Files.copy(inputSream, sqlScript); + } + + jdbcH2Helper.restore(sqlScript.toFile()); } + } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java deleted file mode 100644 index 5f784c5..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceFactoryTopiaTaiste.java +++ /dev/null @@ -1,30 +0,0 @@ -package fr.ird.observe.services; - -import fr.ird.observe.ObserveTopiaApplicationContext; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; - -/** - * Created on 20/08/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -public class ObserveServiceFactoryTopiaTaiste extends ObserveServiceFactoryTopia { - - public ObserveTopiaApplicationContext getExistingDataSource(ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration) { - ObserveTopiaApplicationContext dataSource = topiaApplicationContextCache.getIfPresent(dataSourceConfiguration); - return dataSource; - } - - @Override - protected ObserveTopiaApplicationContext getTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { - - ObserveTopiaApplicationContext dataSource = super.getTopiaApplicationContext(dataSourceConfiguration); - - if (!dataSource.isClosed()) { - dataSource.close(); - } - return dataSource; - - } -} diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java index e15620e..3743844 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java @@ -1,7 +1,7 @@ package fr.ird.observe.services.service; import fr.ird.observe.services.ObserveServiceApplicationContext; -import fr.ird.observe.services.ObserveServiceFactoryTopiaTaiste; +import fr.ird.observe.services.ObserveServiceFactoryTopia; import fr.ird.observe.services.dto.constants.ReferentialLocale; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -24,12 +24,12 @@ public class ApplicationContextResource implements TestRule { protected final ObserveServiceApplicationContext serviceApplicationContext; - protected final ObserveServiceFactoryTopiaTaiste serviceFactory; + protected final ObserveServiceFactoryTopia serviceFactory; public ApplicationContextResource(Version databaseVersion) { this.databaseVersion = databaseVersion; this.serviceApplicationContext = new ObserveServiceApplicationContext(); - this.serviceFactory = new ObserveServiceFactoryTopiaTaiste(); + this.serviceFactory = new ObserveServiceFactoryTopia(); } public String getScriptPath(String classifier) { @@ -40,7 +40,7 @@ public class ApplicationContextResource implements TestRule { return serviceApplicationContext; } - public ObserveServiceFactoryTopiaTaiste getServiceFactory() { + public ObserveServiceFactoryTopia getServiceFactory() { return serviceFactory; } @@ -74,6 +74,7 @@ public class ApplicationContextResource implements TestRule { // ObserveServiceTopia.init(); serviceApplicationContext.setReferentialLocale(ReferentialLocale.FR); + serviceApplicationContext.setMainServiceFactory(serviceFactory); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java index f7b899c..90a4597 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java @@ -2,7 +2,7 @@ package fr.ird.observe.services.service; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.services.ObserveServiceFactoryTopiaTaiste; +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; @@ -42,13 +42,13 @@ public class DataSourceResource implements TestRule { return dataSourceConfiguration; } - public ObserveTopiaPersistenceContext newTransaction(String name) { + public ObserveTopiaPersistenceContext newTransaction(String name) { - ObserveServiceFactoryTopiaTaiste serviceFactory = applicationContextResource.getServiceFactory(); - ObserveTopiaApplicationContext dataSource = serviceFactory.getExistingDataSource(dataSourceConfiguration); + ObserveTopiaApplicationContext dataSource = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); ObserveTopiaPersistenceContext persistenceContext = dataSource.newPersistenceContext(); transactions.put(name, persistenceContext); return persistenceContext; + } public Statement apply(final Statement base, final Description description) { @@ -80,8 +80,7 @@ public class DataSourceResource implements TestRule { // File localDbFile = TestHelper.newLocalDB(methodName); - ObserveServiceFactoryTopiaTaiste serviceFactory = applicationContextResource.getServiceFactory(); - ObserveTopiaApplicationContext existingDataSource = serviceFactory.getExistingDataSource(dataSourceConfiguration); + ObserveTopiaApplicationContext dataSource = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); // // H2DataSource dataSource = DBTestHelper.createAndOpenFromDump( @@ -116,30 +115,11 @@ public class DataSourceResource implements TestRule { log.debug("Ends " + testClass.getName() + "::" + methodName); } - ObserveTopiaApplicationContext dataSource = getDataSource(); - if (dataSource != null && dataSource.isOpen()) { - - for (Map.Entry<String, ObserveTopiaPersistenceContext> entry : transactions.entrySet()) { - ObserveTopiaPersistenceContext topiaContext = entry.getValue(); - if (!topiaContext.isClosed()) { - String transactionKey = entry.getKey(); - try { - topiaContext.close(); - } catch (Exception e) { - if (log.isErrorEnabled()) { - log.error("Could not close transaction: " + transactionKey, e); - } - } - } - } - - } - applicationContextResource.getServiceFactory().close(); } - private ObserveTopiaApplicationContext getDataSource() { - return applicationContextResource.getServiceFactory().getExistingDataSource(dataSourceConfiguration); + private ObserveTopiaApplicationContext getTopiaApplicationContext() { + return ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); } } 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 new file mode 100644 index 0000000..fdfdb25 --- /dev/null +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java @@ -0,0 +1,50 @@ +package fr.ird.observe.services.service; + +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.services.ObserveServiceApplicationContext; +import fr.ird.observe.services.ObserveServiceFactoryTopia; +import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.junit.Before; +import org.junit.ClassRule; +import org.junit.Rule; +import org.junit.Test; + +/** + * Created on 23/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataSourceServiceTopiaTest { + + /** Logger. */ + private static final Log log = LogFactory.getLog(DataSourceServiceTopiaTest.class); + + @ClassRule + public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(H2DataSourceMigration.V_4_0); + + @Rule + public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, applicationContextResource.getScriptPath("referentiel")); + + protected DataSourceService service; + + @Before + public void setUp() throws Exception { + + ObserveServiceFactoryTopia serviceFactory = applicationContextResource.getServiceFactory(); + + ObserveServiceApplicationContext serviceApplicationContext = applicationContextResource.getServiceApplicationContext(); + + ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = dataSourceResource.getDataSourceConfiguration(); + + service = serviceFactory.newService(serviceApplicationContext, dataSourceConfiguration, DataSourceService.class); + + } + + @Test + public void testCreateDataSource() { + + } + +} \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java index 47fd2e0..458e68f 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 @@ -5,7 +5,7 @@ import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.entities.referentiel.LengthWeightParameter; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.services.ObserveServiceApplicationContext; -import fr.ird.observe.services.ObserveServiceFactoryTopiaTaiste; +import fr.ird.observe.services.ObserveServiceFactoryTopia; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.IdDto; @@ -18,6 +18,7 @@ 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 org.nuiton.topia.persistence.TopiaDao; @@ -30,6 +31,7 @@ import java.util.Map; * * @author Tony Chemit - chemit@codelutin.com */ +@Ignore public class ReferentialServiceTopiaTest { /** Logger. */ @@ -46,7 +48,7 @@ public class ReferentialServiceTopiaTest { @Before public void setUp() throws Exception { - ObserveServiceFactoryTopiaTaiste serviceFactory = applicationContextResource.getServiceFactory(); + ObserveServiceFactoryTopia serviceFactory = applicationContextResource.getServiceFactory(); ObserveServiceApplicationContext serviceApplicationContext = applicationContextResource.getServiceApplicationContext(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7464 in repository observe. See http://git.codelutin.com/observe.git commit 9a2d465842069c630584674cd0ff4092f4671fdf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Aug 23 04:15:54 2015 +0200 L'import d'une base fonctionne, mais pas encore la création d'une base vide (le mapping hibernate n'est pas correcte) (See #7464) --- .../observe/ObserveTopiaApplicationContext.java | 33 ++++++++ .../dto/DataSourceCreateConfigurationDto.java | 31 ++++---- observe-services-topia/pom.xml | 6 ++ .../services/ObserveServiceFactoryTopia.java | 2 +- .../ObserveTopiaApplicationContextFactory.java | 89 +++++++++++----------- .../services/service/DataSourceServiceTopia.java | 14 +++- .../service/ApplicationContextResource.java | 22 ++---- .../services/service/DataSourceResource.java | 88 +++++++++++++-------- .../service/DataSourceServiceTopiaTest.java | 24 +++++- .../main/java/fr/ird/observe/test/TestHelper.java | 20 ++++- 10 files changed, 215 insertions(+), 114 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 7c66d03..b135233 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -1,11 +1,20 @@ package fr.ird.observe; import fr.ird.observe.entities.migration.ObserveMigrationEngine; +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.TopiaConfiguration; +import org.nuiton.topia.persistence.TopiaException; import org.nuiton.topia.replication.TopiaReplicationService; public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicationContext { + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveTopiaApplicationContext.class); + public static final String MIGRATION_SERVICE_NAME = "migration"; public static final String REPLICATION_SERVICE_NAME = "replication"; @@ -14,6 +23,8 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat 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; @@ -50,4 +61,26 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat return getServices(TopiaReplicationService.class).get(REPLICATION_SERVICE_NAME); } + @Override + public void createSchema() { + try { + boolean showSchema = false; + if (log.isDebugEnabled()) { + showSchema = true; + } + topiaFiresSupport.firePreCreateSchema(this); + try (ObserveTopiaPersistenceContext topiaPersistenceContext = newPersistenceContext()) { + + topiaPersistenceContext.getSqlSupport().executeSql(CREATE_SCHEMA_SCRIPT); + } + + Configuration hibernateConfiguration = getHibernateProvider().getHibernateConfiguration(); + new SchemaExport(hibernateConfiguration).execute(showSchema, true, false, true); + topiaFiresSupport.firePostCreateSchema(this); + } catch (HibernateException eee) { + throw new TopiaException( + String.format("Could not create schema for reason: %s", + eee.getMessage()), eee); + } + } } diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataSourceCreateConfigurationDto.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataSourceCreateConfigurationDto.java index 6c1580c..e57672d 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataSourceCreateConfigurationDto.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/DataSourceCreateConfigurationDto.java @@ -1,6 +1,5 @@ package fr.ird.observe.services.dto; -import com.google.common.base.Optional; import com.google.common.base.Preconditions; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; @@ -16,66 +15,66 @@ public class DataSourceCreateConfigurationDto extends AbstractObserveDto { /** * Le contenu de la base à importer (Optionel). */ - protected Optional<byte[]> optionalImportDatabase; + protected byte[] optionalImportDatabase; /** * Une configuration de la dataSource à utiliser pour importer le référentiel (Optionel). */ - protected Optional<ObserveDataSourceConfiguration> optionalImportReferentialDataSourceConfiguration; + protected ObserveDataSourceConfiguration optionalImportReferentialDataSourceConfiguration; /** * Une configuration de la dataSource à utiliser pour importer des données (Optionel). */ - protected Optional<ObserveDataSourceConfiguration> optionalImportDataDataSourceConfiguration; + protected ObserveDataSourceConfiguration optionalImportDataDataSourceConfiguration; /** * Les données à importer (ids des marées) (Optionel). */ - protected Optional<String[]> optionalImportDataIds; + protected String[] optionalImportDataIds; public boolean isImportDatabase() { - return optionalImportDatabase.isPresent(); + return optionalImportDatabase != null; } public boolean isImportReferential() { - return optionalImportReferentialDataSourceConfiguration.isPresent(); + return optionalImportReferentialDataSourceConfiguration != null; } public boolean isImportData() { - return optionalImportDataDataSourceConfiguration.isPresent(); + return optionalImportDataDataSourceConfiguration != null; } public byte[] getImportDatabase() { - return optionalImportDatabase.get(); + return optionalImportDatabase; } public ObserveDataSourceConfiguration getImportReferentialDataSourceConfiguration() { - return optionalImportReferentialDataSourceConfiguration.get(); + return optionalImportReferentialDataSourceConfiguration; } public ObserveDataSourceConfiguration getImportDataDataSourceConfiguration() { - return optionalImportDataDataSourceConfiguration.get(); + return optionalImportDataDataSourceConfiguration; } public String[] getImportDataIds() { - return optionalImportDataIds.get(); + return optionalImportDataIds; } public void setImportDatabase(byte... importDatabase) { Preconditions.checkNotNull(importDatabase, "'importDatabase' can't be null."); - this.optionalImportDatabase = Optional.of(importDatabase); + this.optionalImportDatabase = importDatabase; } public void setImportReferentialDataSourceConfiguration(ObserveDataSourceConfiguration importReferentialDataSourceConfiguration) { Preconditions.checkNotNull(importReferentialDataSourceConfiguration, "'importReferentialDataSourceConfiguration' can't be null."); - this.optionalImportReferentialDataSourceConfiguration = Optional.of(importReferentialDataSourceConfiguration); + this.optionalImportReferentialDataSourceConfiguration = importReferentialDataSourceConfiguration; } public void setImportDataConfiguration(ObserveDataSourceConfiguration importDataDataSourceConfiguration, String... importDataIds) { Preconditions.checkNotNull(importDataDataSourceConfiguration, "'importDataDataSourceConfiguration' can't be null."); Preconditions.checkNotNull(importDataIds, "'importDataIds' can't be null."); - this.optionalImportDataDataSourceConfiguration = Optional.of(importDataDataSourceConfiguration); - this.optionalImportDataIds = Optional.of(importDataIds); + this.optionalImportDataDataSourceConfiguration = importDataDataSourceConfiguration; + this.optionalImportDataIds = importDataIds; } } diff --git a/observe-services-topia/pom.xml b/observe-services-topia/pom.xml index a067f30..d2c914f 100644 --- a/observe-services-topia/pom.xml +++ b/observe-services-topia/pom.xml @@ -43,6 +43,12 @@ <artifactId>observe-entities</artifactId> <version>${project.version}</version> </dependency> + <dependency> + <groupId>${project.groupId}</groupId> + <artifactId>observe-test-data</artifactId> + <version>${project.version}</version> + <scope>test</scope> + </dependency> <!-- commons dependencies --> diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java index ccf5e1b..72f138c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceFactoryTopia.java @@ -69,7 +69,7 @@ public class ObserveServiceFactoryTopia extends ObserveServiceFactorySupport imp serviceContext.setDataSourceConfiguration(dataSourceConfiguration); serviceContext.setServiceFactory(this); - ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); + ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration, true); serviceContext.setTopiaApplicationContext(topiaApplicationContext); return serviceContext; 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 7b5c316..e5df980 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 @@ -2,9 +2,6 @@ package fr.ird.observe.services; import com.google.common.base.Optional; import com.google.common.base.Preconditions; -import com.google.common.cache.CacheBuilder; -import com.google.common.cache.CacheLoader; -import com.google.common.cache.LoadingCache; import com.google.common.collect.ImmutableMap; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaIdFactory; @@ -24,8 +21,8 @@ import org.nuiton.topia.persistence.jdbc.JdbcConfigurationBuilder; import org.nuiton.topia.replication.TopiaReplicationServiceImpl; import java.io.File; -import java.util.Collections; -import java.util.concurrent.ExecutionException; +import java.util.HashMap; +import java.util.Map; /** * Created on 23/08/15. @@ -76,83 +73,74 @@ public class ObserveTopiaApplicationContextFactory { protected static final JdbcConfigurationBuilder JDBC_CONFIGURATION_BUILDER = new JdbcConfigurationBuilder(); - protected static final LoadingCache<ObserveDataSourceConfigurationTopiaSupport, ObserveTopiaApplicationContext> TOPIA_APPLICATION_CONTEXT_CACHE = CacheBuilder - .newBuilder() - .build(new CacheLoader<ObserveDataSourceConfigurationTopiaSupport, ObserveTopiaApplicationContext>() { + protected static final Map<ObserveDataSourceConfigurationTopiaSupport, ObserveTopiaApplicationContext> TOPIA_APPLICATION_CONTEXT_CACHE = new HashMap<>(); - @Override - public ObserveTopiaApplicationContext load(ObserveDataSourceConfigurationTopiaSupport key) throws Exception { + public static ObserveTopiaApplicationContext getTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration, boolean initSchema) { - ObserveTopiaApplicationContext dataSource = createTopiaApplicationContext(key); - return dataSource; - - } - }); - - public static ObserveTopiaApplicationContext getTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { - - try { - ObserveTopiaApplicationContext topiaApplicationContext = TOPIA_APPLICATION_CONTEXT_CACHE.get(dataSourceConfiguration); - return topiaApplicationContext; - } catch (ExecutionException e) { - //FIXME Avoir une vraie execption - throw new RuntimeException("Could not get dataSource for configuration: " + dataSourceConfiguration, e); + Optional<ObserveTopiaApplicationContext> optionalTopiaApplicationContext = getTopiaApplicationContextIfPresent(dataSourceConfiguration); + ObserveTopiaApplicationContext topiaApplicationContext; + if (optionalTopiaApplicationContext.isPresent()) { + topiaApplicationContext = optionalTopiaApplicationContext.get(); + } else { + topiaApplicationContext = createTopiaApplicationContext(dataSourceConfiguration, initSchema); } + return topiaApplicationContext; } public static Optional<ObserveTopiaApplicationContext> getTopiaApplicationContextIfPresent(ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration) { - ObserveTopiaApplicationContext topiaApplicationContext = TOPIA_APPLICATION_CONTEXT_CACHE.getIfPresent(dataSourceConfiguration); + ObserveTopiaApplicationContext topiaApplicationContext = TOPIA_APPLICATION_CONTEXT_CACHE.get(dataSourceConfiguration); return Optional.fromNullable(topiaApplicationContext); } public static void close() { - for (TopiaApplicationContext dataSource : TOPIA_APPLICATION_CONTEXT_CACHE.asMap().values()) { + for (TopiaApplicationContext topiaApplicationContext : TOPIA_APPLICATION_CONTEXT_CACHE.values()) { - if (!dataSource.isClosed()) { + if (!topiaApplicationContext.isClosed()) { try { - dataSource.close(); + topiaApplicationContext.close(); } catch (Exception e) { if (log.isErrorEnabled()) { - log.error("Could not close data source: " + dataSource, e); + log.error("Could not close topiaApplicationContext: " + topiaApplicationContext, e); } } } } - TOPIA_APPLICATION_CONTEXT_CACHE.invalidateAll(); + TOPIA_APPLICATION_CONTEXT_CACHE.clear(); } - protected static ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport configuration) { + protected static ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaSupport configuration, boolean initSchema) { ObserveTopiaApplicationContext topiaApplicationContext = null; if (configuration instanceof ObserveDataSourceConfigurationTopiaH2) { topiaApplicationContext = createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaH2) configuration); } else if (configuration instanceof ObserveDataSourceConfigurationTopiaPG) { - topiaApplicationContext = createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaPG) configuration); + topiaApplicationContext = createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaPG) configuration, initSchema); } Preconditions.checkState(topiaApplicationContext != null, "Did not find how to create ObserveTopiaApplicationContext from: " + configuration); return topiaApplicationContext; } - protected static TopiaConfiguration createTopiaConfiguration(ObserveDataSourceConfigurationTopiaPG configuration) { + protected static TopiaConfiguration createTopiaConfiguration(ObserveDataSourceConfigurationTopiaPG configuration, boolean initSchema) { JdbcConfiguration jdbcConfiguration = createJdbcConfiguration(configuration, configuration.getJdbcUrl()); BeanTopiaConfiguration topiaConfiguration = new BeanTopiaConfiguration(jdbcConfiguration); topiaConfiguration.setTopiaIdFactoryClass(ObserveTopiaIdFactory.class); - topiaConfiguration.setInitSchema(false); + topiaConfiguration.setInitSchema(initSchema); topiaConfiguration.setValidateSchema(false); - ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, PGDataSourceMigration.class.getName()); +// ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, PGDataSourceMigration.class.getName()); + ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveMigrationEngine.MIGRATION_CALLBACK, PGDataSourceMigration.class.getName()); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); - topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class, Collections.<String, String>emptyMap()); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class); return topiaConfiguration; } @@ -172,9 +160,19 @@ public class ObserveTopiaApplicationContextFactory { topiaConfiguration.setInitSchema(false); topiaConfiguration.setValidateSchema(false); - ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, H2DataSourceMigration.class.getName()); + if (log.isInfoEnabled()) { + log.info("jdbcUrl: " + jdbcUrl); + } + +// ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME + '.' + ObserveMigrationEngine.MIGRATION_CALLBACK, H2DataSourceMigration.class.getName()); + ImmutableMap<String, String> migrationServiceConfiguration = ImmutableMap.of( + ObserveMigrationEngine.MIGRATION_CALLBACK, H2DataSourceMigration.class.getName(), + ObserveMigrationEngine.MIGRATION_SHOW_PROGRESSION, String.valueOf(configuration.isShowMigrationProgression()), + ObserveMigrationEngine.MIGRATION_SHOW_SQL, String.valueOf(configuration.isShowMigrationSql()), + ObserveTopiaApplicationContext.AUTO_MIGRATE, String.valueOf(false) + ); topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.MIGRATION_SERVICE_NAME, ObserveMigrationEngine.class, migrationServiceConfiguration); - topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class, Collections.<String, String>emptyMap()); + topiaConfiguration.addDeclaredService(ObserveTopiaApplicationContext.REPLICATION_SERVICE_NAME, TopiaReplicationServiceImpl.class); return topiaConfiguration; } @@ -185,15 +183,15 @@ public class ObserveTopiaApplicationContextFactory { String.valueOf(configuration.getPassword())); } - protected static ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaPG configuration) { + protected static ObserveTopiaApplicationContext createTopiaApplicationContext(ObserveDataSourceConfigurationTopiaPG configuration, boolean initSchema) { - TopiaConfiguration topiaConfiguration = createTopiaConfiguration(configuration); + TopiaConfiguration topiaConfiguration = createTopiaConfiguration(configuration, initSchema); if (log.isInfoEnabled()) { log.info("PG Topia configuration: " + topiaConfiguration); } - ObserveTopiaApplicationContext topiaApplicationContext = new MyObserveTopiaApplicationContext(topiaConfiguration); + ObserveTopiaApplicationContext topiaApplicationContext = new MyObserveTopiaApplicationContext(topiaConfiguration, configuration); return topiaApplicationContext; } @@ -205,15 +203,18 @@ public class ObserveTopiaApplicationContextFactory { if (log.isInfoEnabled()) { log.info("H2 Topia configuration: " + topiaConfiguration); } - ObserveTopiaApplicationContext topiaApplicationContext = new MyObserveTopiaApplicationContext(topiaConfiguration); + ObserveTopiaApplicationContext topiaApplicationContext = new MyObserveTopiaApplicationContext(topiaConfiguration, configuration); return topiaApplicationContext; } protected static class MyObserveTopiaApplicationContext extends ObserveTopiaApplicationContext { - public MyObserveTopiaApplicationContext(TopiaConfiguration topiaConfiguration) { + private final ObserveDataSourceConfigurationTopiaSupport observeDataSourceConfiguration; + + public MyObserveTopiaApplicationContext(TopiaConfiguration topiaConfiguration, ObserveDataSourceConfigurationTopiaSupport observeDataSourceConfiguration) { super(topiaConfiguration); + this.observeDataSourceConfiguration = observeDataSourceConfiguration; } @Override @@ -222,7 +223,7 @@ public class ObserveTopiaApplicationContextFactory { super.close(); } finally { // remove from cache - TOPIA_APPLICATION_CONTEXT_CACHE.invalidate(getConfiguration()); + TOPIA_APPLICATION_CONTEXT_CACHE.remove(observeDataSourceConfiguration); } } 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 b8bc87a..d2b6943 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 @@ -7,6 +7,8 @@ import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaSupport; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.jdbc.JdbcH2Helper; import java.io.BufferedInputStream; @@ -24,6 +26,9 @@ import java.nio.file.Path; */ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataSourceService { + /** Logger. */ + private static final Log log = LogFactory.getLog(DataSourceServiceTopia.class); + @Override public boolean exist() { @@ -34,8 +39,10 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS @Override public void create(DataSourceCreateConfigurationDto dataSourceCreateConfiguration) throws IOException { + boolean initSchema = !dataSourceCreateConfiguration.isImportDatabase(); + ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); - ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); + ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration, initSchema); JdbcH2Helper jdbcH2Helper = new JdbcH2Helper(topiaApplicationContext.getConfiguration()); @@ -85,7 +92,7 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS public void open() { ObserveDataSourceConfigurationTopiaSupport dataSourceConfiguration = serviceContext.getDataSourceConfiguration(); - ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); + ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration, true); } @@ -120,6 +127,9 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS Path sqlScript = new File(temporaryDirectory, "script.sql").toPath(); + if (log.isInfoEnabled()) { + log.info("script: " + sqlScript); + } try (InputStream inputSream = new BufferedInputStream(new ByteArrayInputStream(content))) { Files.copy(inputSream, sqlScript); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java index 3743844..63dad22 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ApplicationContextResource.java @@ -2,7 +2,9 @@ package fr.ird.observe.services.service; import fr.ird.observe.services.ObserveServiceApplicationContext; import fr.ird.observe.services.ObserveServiceFactoryTopia; +import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.test.TestHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.rules.TestRule; @@ -33,7 +35,7 @@ public class ApplicationContextResource implements TestRule { } public String getScriptPath(String classifier) { - return getBackupScript(databaseVersion, classifier); + return TestHelper.getBackupScript(databaseVersion, classifier); } public ObserveServiceApplicationContext getServiceApplicationContext() { @@ -67,11 +69,12 @@ public class ApplicationContextResource implements TestRule { log.debug("Starts " + testClass.getName()); } //TODO A revoir -// TestHelper.initTest(testClass); + TestHelper.initTest(testClass); + // TestHelper.createApplicationContext(); // TestHelper.setConfig(IObserveConfig.DB_VERSION, databaseVersion.toString()); // -// ObserveServiceTopia.init(); + ObserveServiceTopia.init(); serviceApplicationContext.setReferentialLocale(ReferentialLocale.FR); serviceApplicationContext.setMainServiceFactory(serviceFactory); @@ -87,17 +90,4 @@ public class ApplicationContextResource implements TestRule { } - protected final String BACKUP_SCRIPT_PATTERN = "/db/%1$s/%2$s.sql.gz"; - - protected String getBackupScript(Version version, String loadScript) { - String result = String.format( - BACKUP_SCRIPT_PATTERN, - version.toString(), - loadScript - ); - if (log.isInfoEnabled()) { - log.info(result); - } - return result; - } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java index 90a4597..d894a98 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceResource.java @@ -1,9 +1,13 @@ package fr.ird.observe.services.service; +import com.google.common.base.Preconditions; +import com.google.common.io.ByteStreams; +import com.google.common.io.Resources; 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.test.TestHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -11,7 +15,12 @@ import org.junit.rules.TestRule; import org.junit.runner.Description; import org.junit.runners.model.Statement; +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.LinkedHashMap; import java.util.Map; @@ -33,6 +42,8 @@ public class DataSourceResource implements TestRule { protected ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration; + private File testDirectory; + public DataSourceResource(ApplicationContextResource applicationContextResource, String dbPath) { this.applicationContextResource = applicationContextResource; this.dbPath = dbPath; @@ -42,9 +53,23 @@ public class DataSourceResource implements TestRule { return dataSourceConfiguration; } + public byte[] getDatabaseToImportContent() throws IOException { + + URL url = getClass().getResource(dbPath); + Preconditions.checkNotNull(dbPath, "Could not find database at: " + dbPath); + try (InputStream inputStream = Resources.asByteSource(url).openStream()) { + byte[] dumpContent = ByteStreams.toByteArray(inputStream); + return dumpContent; + } + } + + public File getTestDirectory() { + return testDirectory; + } + public ObserveTopiaPersistenceContext newTransaction(String name) { - ObserveTopiaApplicationContext dataSource = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); + ObserveTopiaApplicationContext dataSource = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration, true); ObserveTopiaPersistenceContext persistenceContext = dataSource.newPersistenceContext(); transactions.put(name, persistenceContext); return persistenceContext; @@ -74,36 +99,33 @@ public class DataSourceResource implements TestRule { log.debug("Starts " + testClass.getName() + "::" + methodName); } - URL dbUrl = getClass().getResource(dbPath); - - Assert.assertNotNull("could not find resource : " + dbPath, dbUrl); - -// File localDbFile = TestHelper.newLocalDB(methodName); - - ObserveTopiaApplicationContext dataSource = ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); - -// -// H2DataSource dataSource = DBTestHelper.createAndOpenFromDump( -// localDbFile, -// dbUrl, -// false, -// false, -// true, -// true, -// true); -// -// H2DataSourceConfig dataSourceConfig = dataSource.getConfig(); -// -// dataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); -// dataSourceConfiguration.setLabel(dataSourceConfig.getLabel()); -// dataSourceConfiguration.setUsername(dataSourceConfig.getLogin()); -// dataSourceConfiguration.setPassword(dataSourceConfig.getPassword()); -// dataSourceConfiguration.setDirectory(dataSourceConfig.getStorageDirectory()); -// dataSourceConfiguration.setCanMigrate(dataSourceConfig.isCanMigrate()); -// dataSourceConfiguration.setShowMigrationProgression(dataSourceConfig.isShowMigrationProgression()); -// dataSourceConfiguration.setShowMigrationSql(dataSourceConfig.isShowMigrationSql()); -// -// dataSource.doClose(false); + testDirectory = TestHelper.newFile(methodName); + Path temporaryDirectoryRoot = new File(testDirectory, "tmp").toPath(); + Files.createDirectories(temporaryDirectoryRoot); + applicationContextResource.getServiceApplicationContext().setTemporaryDirectoryRoot(temporaryDirectoryRoot); + + Assert.assertNotNull("could not find resource : " + dbPath, getClass().getResource(dbPath)); + + dataSourceConfiguration = createDataSourceConfigurationH2(testClass, methodName); + ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration, true); + + } + + private ObserveDataSourceConfigurationTopiaH2 createDataSourceConfigurationH2(Class<?> testClass, String methodName) { + + ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); + + File localDbFile = new File(testDirectory, "localdb"); + + if (log.isInfoEnabled()) { + log.info("db directory: "+localDbFile); + } + configurationTopiaH2.setLabel(testClass.getSimpleName() + "#" + methodName); + configurationTopiaH2.setUsername(TestHelper.TEST_H2_LOGIN); + configurationTopiaH2.setPassword(TestHelper.TEST_H2_PASSWORD); + configurationTopiaH2.setDirectory(localDbFile); + configurationTopiaH2.setDbName("localdb"); + return configurationTopiaH2; } @@ -119,7 +141,7 @@ public class DataSourceResource implements TestRule { } - private ObserveTopiaApplicationContext getTopiaApplicationContext() { - return ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration); + public ObserveTopiaApplicationContext getTopiaApplicationContext() { + return ObserveTopiaApplicationContextFactory.getTopiaApplicationContext(dataSourceConfiguration, true); } } 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 fdfdb25..7216bea 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 @@ -4,6 +4,7 @@ import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.services.ObserveServiceApplicationContext; import fr.ird.observe.services.ObserveServiceFactoryTopia; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; @@ -11,6 +12,8 @@ import org.junit.ClassRule; import org.junit.Rule; import org.junit.Test; +import java.io.IOException; + /** * Created on 23/08/15. * @@ -43,8 +46,27 @@ public class DataSourceServiceTopiaTest { } @Test - public void testCreateDataSource() { + public void testOpen() throws IOException { + service.open(); + } + + @Test + public void testCreateEmptyDataSource() throws IOException { + + DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); + service.create(dataSourceCreateConfiguration); + + } + + @Test + public void testCreateDataSourceFromImportDatabase() throws IOException { + + byte[] dumpContent = dataSourceResource.getDatabaseToImportContent(); + + DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); + dataSourceCreateConfiguration.setImportDatabase(dumpContent); + service.create(dataSourceCreateConfiguration); } } \ No newline at end of file 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 dd0cfbf..73267bd 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 @@ -23,6 +23,7 @@ package fr.ird.observe.test; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.util.version.Version; import java.io.File; import java.util.Date; @@ -35,7 +36,9 @@ public abstract class TestHelper { /** Logger */ private static final Log log = LogFactory.getLog(TestHelper.class); - static private final String TEST_BASEDIR_PATTERN = "target%1$ssurefire-workdir%1$s%2$td_%2$tm_%2$tY%1$s%2$tH_%2$tM_%2$tS"; + protected static final String BACKUP_SCRIPT_PATTERN = "/db/%1$s/%2$s.sql.gz"; + + private static final String TEST_BASEDIR_PATTERN = "target%1$ssurefire-workdir%1$s%2$td_%2$tm_%2$tY%1$s%2$tH_%2$tM_%2$tS"; public static final String TEST_H2_LOGIN = "sa"; @@ -208,6 +211,10 @@ public abstract class TestHelper { return new File(TEST_BASEDIR, "localDB_" + name); } + public static File newFile(String name) { + return new File(TEST_BASEDIR, name); + } + public static File getBasedir() { return basedir; } @@ -243,4 +250,15 @@ public abstract class TestHelper { // securityModel.setRole(TEST_REMOTE_REFERENTIEL_LOGIN, SecurityModel.Role.referentiel, false); // return securityModel; // } + + public static String getBackupScript(Version version, String loadScript) { + + String result = String.format(BACKUP_SCRIPT_PATTERN, version.toString(), loadScript); + if (log.isInfoEnabled()) { + log.info(result); + } + return result; + + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm