This is an automated email from the git hooks/post-receive script. New change to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git from 67e1841 o Revue de la gestion des migrations pour la version 5.0 : chaque script de migration a une version, la 5.à aggrègera toutes les versions intermédiaires o Renommage de ReferenceEntity en ObserveReferentialEntity o Introduction de ObserveEntity et ObserveDataEntity o Début de suppression du code sur les FollowedEntity o Revue de l'api de test (so weak, so lame :( avec un héritage très douteux) o Écriture d'un test pour effectuer les migrations facilement des bases de [...] new 87c65fe Correction de la génération du mapping hibernate new 472642a Generation des bases de test pour la version 5.0-2 new 3a106d4 Amélioration de l'API de tests new 7b92724 Revue bis de la configuration des tests new e744c95 Ajout d'une table globale des dates de dernières mises à jour (utilisé pour les suppressions) (See #7470) new 2fd2971 Changement du niveau de log new d6fcd2b Ajout de la talbe LastupdateDate dans la synchronisation du référentiel new 8bd2466 Mise en place de la mise à jour de la date de dernière mise à jour lors de la sauvegarde ou suppression d'une entité (il faudra bien repasser sur chaque appel, car il me semble que cela n'est pas bien géré partout) (See #7470) new cde7c09 Utilisation de la dernière version du modèle de persistence new a97c28b Suppression d'un test inutile new e0e0eac Faire fonctionner les tests de suppression (mais ajout d'un fixme) new 8679f9c Amélioration du code de mise à jour new 6662c85 Renommage méthode de test The 13 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 6662c85160020e6cd75049709eec1d20cbc6ee92 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:20:25 2015 +0100 Renommage méthode de test commit 8679f9c2dc89e1e15cd1edde92f3c3f34e155f1a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:18:45 2015 +0100 Amélioration du code de mise à jour commit e0e0eacaa0c7b4edecbab50ad5540c487682d9bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:17:11 2015 +0100 Faire fonctionner les tests de suppression (mais ajout d'un fixme) commit a97c28b20462334daaab8e5efedb97d4d2f9102e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:16:19 2015 +0100 Suppression d'un test inutile commit cde7c09f0c3fb2bbb5b40e67a8f0eb873bc90e07 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:48:49 2015 +0100 Utilisation de la dernière version du modèle de persistence commit 8bd2466f6556559993b76de3f465460b4434c15d Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:48:08 2015 +0100 Mise en place de la mise à jour de la date de dernière mise à jour lors de la sauvegarde ou suppression d'une entité (il faudra bien repasser sur chaque appel, car il me semble que cela n'est pas bien géré partout) (See #7470) commit d6fcd2b1510741359981deec9793dd24eb23caed Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:46:46 2015 +0100 Ajout de la talbe LastupdateDate dans la synchronisation du référentiel commit 2fd2971d1f984d1d85e3bd239c5e4b89090824c7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:48:54 2015 +0100 Changement du niveau de log commit e744c95114d9d273575e4215ae0aedf091047608 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:48:32 2015 +0100 Ajout d'une table globale des dates de dernières mises à jour (utilisé pour les suppressions) (See #7470) commit 7b927249b2d1d04bbaf4bdf1772b2c2ecc636e11 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:01:41 2015 +0100 Revue bis de la configuration des tests commit 3a106d48370fa5e957bf5b255fb7c3d753f65d7c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:29:30 2015 +0100 Amélioration de l'API de tests commit 472642ac26abbb1cddfa7cfc412e51f318abed3e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:28:49 2015 +0100 Generation des bases de test pour la version 5.0-2 commit 87c65feab17e6f8e491da90456cb4d86fd2febef Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:27:14 2015 +0100 Correction de la génération du mapping hibernate Summary of changes: .../observe/ObserveTopiaPersistenceContext.java | 45 ++++- .../java/fr/ird/observe/entities/Entities.java | 4 +- .../observe/entities/LastUpdateDateTopiaDao.java | 9 + .../migration/AbstractDataSourceMigration.java | 4 +- ...va => DataSourceMigrationForVersion_5_0_3.java} | 14 +- .../db/5.0-3/add_lastUpdateDate_table-H2.sql | 106 ++++++++++ .../db/5.0-3/add_lastUpdateDate_table-PG.sql | 106 ++++++++++ .../src/main/xmi/observe-common.properties | 1 + observe-entities/src/main/xmi/observe-common.zargo | Bin 37208 -> 37603 bytes .../dto/result/TripChildSaveResultDtos.java | 12 ++ .../ird/observe/services/ObserveServiceTopia.java | 65 +++---- .../services/service/DataSourceServiceTopia.java | 4 +- .../services/service/ReferentialServiceTopia.java | 9 +- .../ActivityLongLineEncouterServiceTopia.java | 9 +- .../ActivityLongLineSensorUsedServiceTopia.java | 9 +- .../longline/ActivityLonglineServiceTopia.java | 13 +- .../service/longline/BranchlineServiceTopia.java | 7 +- .../longline/SetLonglineCatchServiceTopia.java | 9 +- .../SetLonglineDetailCompositionServiceTopia.java | 7 +- .../SetLonglineGlobalCompositionServiceTopia.java | 9 +- .../service/longline/SetLonglineServiceTopia.java | 7 +- .../services/service/longline/TdrServiceTopia.java | 9 +- .../longline/TripLonglineGearUseServiceTopia.java | 7 +- .../service/longline/TripLonglineServiceTopia.java | 9 +- .../ActivitySeineObservedSystemServiceTopia.java | 9 +- .../service/seine/ActivitySeineServiceTopia.java | 11 +- .../service/seine/FloatingObjectServiceTopia.java | 8 +- .../service/seine/NonTargetCatchServiceTopia.java | 6 +- .../service/seine/NonTargetSampleServiceTopia.java | 6 +- .../seine/ObjectObservedSpeciesServiceTopia.java | 9 +- .../seine/ObjectSchoolEstimateServiceTopia.java | 9 +- .../services/service/seine/RouteServiceTopia.java | 13 +- .../service/seine/SchoolEstimateServiceTopia.java | 6 +- .../service/seine/SetSeineServiceTopia.java | 5 +- .../service/seine/TargetCatchServiceTopia.java | 6 +- .../service/seine/TargetSampleServiceTopia.java | 6 +- .../TransmittingBuoyOperationServiceTopia.java | 9 +- .../seine/TripSeineGearUseServiceTopia.java | 13 +- .../service/seine/TripSeineServiceTopia.java | 9 +- .../referentiel/LengthWeightParemetersTest.java | 10 +- .../services/ApplicationContextResource.java | 213 ++++++++++++++------- .../ird/observe/services/DataSourceResource.java | 204 +++++++++++++------- .../services/ObserveServiceContextTopiaTaiste.java | 2 +- .../observe/services/binder/BinderEngineTest.java | 9 +- .../services/service/AbstractServiceTopiaTest.java | 147 +++----------- .../DataSourceDumpProducerServiceTopiaTest.java | 15 +- .../service/DataSourceServiceTopiaTest.java | 36 ++-- .../services/service/MigrateTestsDatabases.java | 54 +++--- .../service/ReferentialServiceTopiaTest.java | 25 ++- .../ConsolidateDataServiceTopiaTest.java | 16 +- .../report/AbstractReportServiceTopiaTest.java | 11 +- .../report/ReportSetByAssociation2Test.java | 50 ----- .../actions/validate/ValidateServiceTopiaTest.java | 13 +- ...tLonglineDetailCompositionServiceTopiaTest.java | 18 +- .../service/seine/RouteServiceTopiaTest.java | 15 +- .../seine/TargetSampleServiceTopiaTest.java | 13 +- .../seine/TripSeineGearUseServiceTopiaTest.java | 20 +- .../service/seine/TripSeineServiceTopiaTest.java | 52 ++--- .../java/fr/ird/observe/test/DatabaseName.java | 12 ++ .../main/java/fr/ird/observe/test/TestHelper.java | 61 ++++-- .../test/spi/CopyDatabaseConfiguration.java | 17 ++ .../test/spi/DatabaseNameConfiguration.java | 21 ++ .../test/spi/DatabaseVersionConfiguration.java | 19 ++ .../resources/db/5.0-2/dataForTestSeine.sql.gz | Bin 0 -> 437609 bytes .../src/main/resources/db/5.0-2/referentiel.sql.gz | Bin 0 -> 142009 bytes .../resources/db/5.0-3/dataForTestSeine.sql.gz | Bin 0 -> 439122 bytes .../src/main/resources/db/5.0-3/referentiel.sql.gz | Bin 0 -> 143337 bytes pom.xml | 2 +- 68 files changed, 921 insertions(+), 733 deletions(-) create mode 100644 observe-entities/src/main/java/fr/ird/observe/entities/LastUpdateDateTopiaDao.java copy observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/{DataSourceMigrationForVersion_5_0_2.java => DataSourceMigrationForVersion_5_0_3.java} (85%) create mode 100644 observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-H2.sql create mode 100644 observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-PG.sql create mode 100644 observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java delete mode 100644 observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociation2Test.java create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java create mode 100644 observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java create mode 100644 observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz create mode 100644 observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz create mode 100644 observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz create mode 100644 observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit 87c65feab17e6f8e491da90456cb4d86fd2febef Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:27:14 2015 +0100 Correction de la génération du mapping hibernate --- observe-entities/src/main/xmi/observe-common.properties | 1 + 1 file changed, 1 insertion(+) diff --git a/observe-entities/src/main/xmi/observe-common.properties b/observe-entities/src/main/xmi/observe-common.properties index 3308c19..e586ffe 100644 --- a/observe-entities/src/main/xmi/observe-common.properties +++ b/observe-entities/src/main/xmi/observe-common.properties @@ -24,6 +24,7 @@ model.tagvalue.notGenerateToString=true model.tagvalue.generateForeignKeyNames=true model.tagvalue.generatePropertyChangeSupport =true model.tagvalue.indexForeignKeys=true +model.tagvalue.useEnumerationName=false model.tagvalue.attributeType.String=java.lang.String model.tagvalue.attributeType.Float=java.lang.Float model.tagvalue.attributeType.Integer=java.lang.Integer -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit 472642ac26abbb1cddfa7cfc412e51f318abed3e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:28:49 2015 +0100 Generation des bases de test pour la version 5.0-2 --- .../main/resources/db/5.0-2/dataForTestSeine.sql.gz | Bin 0 -> 437609 bytes .../src/main/resources/db/5.0-2/referentiel.sql.gz | Bin 0 -> 142009 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz b/observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz new file mode 100644 index 0000000..a5deaf8 Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-2/dataForTestSeine.sql.gz differ diff --git a/observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz b/observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz new file mode 100644 index 0000000..afe626a Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-2/referentiel.sql.gz differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit 3a106d48370fa5e957bf5b255fb7c3d753f65d7c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 11:29:30 2015 +0100 Amélioration de l'API de tests --- .../referentiel/LengthWeightParemetersTest.java | 13 +- .../services/ApplicationContextResource.java | 209 ++++++++++++++------- .../ird/observe/services/DataSourceResource.java | 202 +++++++++++++------- .../services/ObserveServiceContextTopiaTaiste.java | 2 +- .../observe/services/binder/BinderEngineTest.java | 9 +- .../services/service/AbstractServiceTopiaTest.java | 140 +++----------- .../DataSourceDumpProducerServiceTopiaTest.java | 15 +- .../service/DataSourceServiceTopiaTest.java | 36 ++-- .../services/service/MigrateTestsDatabases.java | 54 +++--- .../service/ReferentialServiceTopiaTest.java | 22 ++- .../ConsolidateDataServiceTopiaTest.java | 16 +- .../report/AbstractReportServiceTopiaTest.java | 11 +- .../actions/validate/ValidateServiceTopiaTest.java | 13 +- ...tLonglineDetailCompositionServiceTopiaTest.java | 16 +- .../service/seine/RouteServiceTopiaTest.java | 15 +- .../seine/TargetSampleServiceTopiaTest.java | 13 +- .../seine/TripSeineGearUseServiceTopiaTest.java | 20 +- .../service/seine/TripSeineServiceTopiaTest.java | 25 ++- .../ApplicationContextResourceConfiguration.java | 28 +++ .../test/DataSourceResourceConfiguration.java | 36 ++++ .../java/fr/ird/observe/test/DatabaseName.java | 12 ++ .../main/java/fr/ird/observe/test/TestHelper.java | 51 +++-- 22 files changed, 536 insertions(+), 422 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java index 89db270..eb8e803 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java @@ -26,10 +26,14 @@ import com.opensymphony.xwork2.interceptor.annotations.After; import fr.ird.observe.ObserveTopiaDaoSupplier; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.constants.ReferenceStatus; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.util.DateUtil; @@ -41,20 +45,16 @@ import java.util.Date; * @author Tony Chemit - chemit@codelutin.com * @since 1.8 */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.referentiel, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { /** Logger */ private static final Log log = LogFactory.getLog(LengthWeightParemetersTest.class); - public LengthWeightParemetersTest() { - super("referentiel", "testGetCorrectLengthWeightParameter"); - } - private ObserveTopiaPersistenceContext persistenceContext; - @Override + @Before public void setUp() throws Exception { - super.setUp(); persistenceContext = dataSourceResource.newPersistenceContext(); @@ -136,6 +136,7 @@ public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { * See http://forge.codelutin.com/issues/7628 */ @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void testGetCorrectLengthWeightParameter() { SpeciesTopiaDao speciesDAO = persistenceContext.getSpeciesDao(); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java index 56f6955..40f097a 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java @@ -24,11 +24,16 @@ package fr.ird.observe.services; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.entities.migration.AbstractDataSourceMigration; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; +import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; +import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; +import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.services.service.DataSourceService; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.test.TestHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -38,8 +43,11 @@ import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.nuiton.topia.persistence.TopiaException; import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; import java.io.File; +import java.io.IOException; +import java.nio.file.Files; import java.nio.file.Path; import java.util.Locale; @@ -55,15 +63,15 @@ public class ApplicationContextResource implements TestRule { protected final ObserveServiceFactoryTopia serviceFactory; - private File testDirectory; + private Path temporaryDirectoryRoot; - private File dataBaseDirectory; + private final ObserveSpeciesListConfiguration speciesListConfiguration; - private File dataBaseCommonRefDirectory; + private final DataSourcesForTestManager dataSourcesForTestManager; - private Path temporaryDirectoryRoot; + protected String dbName; - private final ObserveSpeciesListConfiguration speciesListConfiguration; + protected String dbVersion; public ApplicationContextResource() { this.speciesListConfiguration = ObserveSpeciesListConfiguration.newDefaultConfiguration(); @@ -76,6 +84,57 @@ public class ApplicationContextResource implements TestRule { } }; serviceFactory.setMainServiceFactory(serviceFactory); + + dataSourcesForTestManager = new DataSourcesForTestManager(); + + } + + public ObserveDataSourceConfigurationTopiaH2 createDataSource(Version dbVersion, String dbName, File targetPath) throws DataSourceCreateWithNoReferentialImportException, IOException, IncompatibleDataSourceCreateConfigurationException { + + ObserveDataSourceConfigurationTopiaH2 sharedDatabaseConfiguration = dataSourcesForTestManager.createSharedDataSourceConfigurationH2(dbVersion, dbName); + + File sharedDatabaseFile = sharedDatabaseConfiguration.getDatabaseFile(); + + ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration; + + boolean sharedDatabaseExist = sharedDatabaseFile.exists(); + if (!sharedDatabaseExist) { + + if (log.isInfoEnabled()) { + log.info("Create shared database: " + dbVersion.toString() + "/" + dbName + " to " + sharedDatabaseFile); + } + + byte[] databaseToImportContent = dataSourcesForTestManager.getDatabaseScriptContent(dbVersion, dbName); + + DataSourceService dataSourceService = newService(sharedDatabaseConfiguration, DataSourceService.class); + DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); + createConfiguration.setImportDatabase(databaseToImportContent); + dataSourceService.create(sharedDatabaseConfiguration, createConfiguration); + + } + + if (targetPath == null) { + + dataSourceConfiguration = sharedDatabaseConfiguration; + } else { + + // Use a copy + + dataSourceConfiguration = dataSourcesForTestManager.createDataSourceConfigurationH2(targetPath, dbVersion, dbName); + File databaseFileTarget = dataSourceConfiguration.getDatabaseFile(); + + if (log.isInfoEnabled()) { + log.info("Copy database: " + dbVersion.toString() + "/" + dbName + " to " + databaseFileTarget); + } + Files.createDirectories(databaseFileTarget.toPath().getParent()); + Files.copy(sharedDatabaseFile.toPath(), databaseFileTarget.toPath()); + + } + + dataSourceConfiguration.setModelVersion(Versions.valueOf(AbstractServiceTopiaTest.DEFAULT_VERSION)); + + return dataSourceConfiguration; + } public String getScriptPath(String classifier, Version databaseVersion) { @@ -137,6 +196,13 @@ public class ApplicationContextResource implements TestRule { TestHelper.initTest(testClass); + ApplicationContextResourceConfiguration dataSourceTestConfiguration = getApplicationContextTestConfiguration(testClass); + + if (dataSourceTestConfiguration != null) { + dbName = dataSourceTestConfiguration.dbName().name(); + dbVersion = dataSourceTestConfiguration.dbVersion(); + } + } protected void after(Description description) { @@ -151,68 +217,14 @@ public class ApplicationContextResource implements TestRule { } - public File getTestDirectory() { - return testDirectory; - } + protected ApplicationContextResourceConfiguration getApplicationContextTestConfiguration(Class<?> clazz) { - public void setTestDirectory(File testDirectory) { - this.testDirectory = testDirectory; - } + ApplicationContextResourceConfiguration dataSourceTestConfiguration = clazz.getAnnotation(ApplicationContextResourceConfiguration.class); - public File getDataBaseDirectory() { - return dataBaseDirectory; - } - - public void setDataBaseDirectory(File dataBaseDirectory) { - this.dataBaseDirectory = dataBaseDirectory; - } - - public File getDataBaseCommonRefDirectory() { - return dataBaseCommonRefDirectory; - } - - public void setDataBaseCommonRefDirectory(File dataBaseCommonRefDirectory) { - this.dataBaseCommonRefDirectory = dataBaseCommonRefDirectory; - } - - public ObserveDataSourceConfigurationTopiaH2 createDataSourceConfigurationH2(Class<?> testClass, String dbName) { - - ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); - - File localDbFile = new File(dataBaseDirectory, dbName); - - if (log.isInfoEnabled()) { - log.info("db directory: " + localDbFile); + if (dataSourceTestConfiguration == null && clazz.getSuperclass() != null) { + dataSourceTestConfiguration = getApplicationContextTestConfiguration(clazz.getSuperclass()); } - configurationTopiaH2.setLabel(testClass.getSimpleName() + "#" + dbName); - configurationTopiaH2.setUsername(TestHelper.TEST_H2_LOGIN); - configurationTopiaH2.setPassword(TestHelper.TEST_H2_PASSWORD); - configurationTopiaH2.setDirectory(localDbFile); - configurationTopiaH2.setDbName("obstuna"); - configurationTopiaH2.setAutoMigrate(true); - configurationTopiaH2.setModelVersion(AbstractDataSourceMigration.getLastVersion()); - return configurationTopiaH2; - - } - - public ObserveDataSourceConfigurationTopiaH2 createCommonsDataSourceConfigurationH2(String dbName) { - - ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); - - File localDbFile = new File(dataBaseCommonRefDirectory, dbName); - - if (log.isInfoEnabled()) { - log.info("db directory: " + localDbFile); - } - configurationTopiaH2.setLabel("Commons database#" + dbName); - configurationTopiaH2.setUsername(TestHelper.TEST_H2_LOGIN); - configurationTopiaH2.setPassword(TestHelper.TEST_H2_PASSWORD); - configurationTopiaH2.setDirectory(localDbFile); - configurationTopiaH2.setDbName("obstuna"); - configurationTopiaH2.setAutoMigrate(true); - configurationTopiaH2.setModelVersion(AbstractDataSourceMigration.getLastVersion()); - return configurationTopiaH2; - + return dataSourceTestConfiguration; } public void assertSchemaCreated(ObserveTopiaApplicationContext topiaApplicationContext) { @@ -240,4 +252,71 @@ public class ApplicationContextResource implements TestRule { } } + public String getDbName() { + return dbName; + } + + public String getDbVersion() { + return dbVersion; + } + + /** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ + public static class DataSourcesForTestManager { + + /** + * Root path of shared databases. + */ + private static Path sharedDatabasesRootPath; + + public Path getSharedDatabasesRootPath() { + if (sharedDatabasesRootPath == null) { + sharedDatabasesRootPath = TestHelper.getCommonsDir().toPath(); + } + return sharedDatabasesRootPath; + } + + public Path getSharedDatabasePath(Version dbVersion, String dbName) { + return getDatabasePath(getSharedDatabasesRootPath(), dbVersion, dbName); + } + + public Path getDatabasePath(Path rootPath, Version dbVersion, String dbName) { + return rootPath.resolve(dbVersion.getValidName()).resolve(dbName); + } + + public ObserveDataSourceConfigurationTopiaH2 createSharedDataSourceConfigurationH2(Version dbVersion, String dbName) { + Path databasePath = getDatabasePath(getSharedDatabasesRootPath(), dbVersion, dbName); + return createDataSourceConfigurationH2(databasePath.toFile(), dbVersion, dbName); + } + + public ObserveDataSourceConfigurationTopiaH2 createDataSourceConfigurationH2(File localDbFile, Version dbVersion, String dbName) { + + ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); + + if (log.isDebugEnabled()) { + log.debug("db directory: " + localDbFile); + } + configurationTopiaH2.setLabel("Commons database#" + dbName); + configurationTopiaH2.setUsername(TestHelper.TEST_H2_LOGIN); + configurationTopiaH2.setPassword(TestHelper.TEST_H2_PASSWORD); + configurationTopiaH2.setDirectory(localDbFile); + configurationTopiaH2.setDbName("obstuna"); + configurationTopiaH2.setAutoMigrate(true); + configurationTopiaH2.setModelVersion(dbVersion); + return configurationTopiaH2; + + } + + public byte[] getDatabaseScriptContent(Version dbVersion, String dbName) throws IOException { + String scriptPath = "/db/" + dbVersion.toString() + "/" + dbName + ".sql.gz"; + + byte[] databaseToImportContent = TestHelper.getResourceContent(scriptPath); + return databaseToImportContent; + } + + } + } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java index 23b0316..003422d 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java @@ -23,18 +23,21 @@ package fr.ird.observe.services; */ import com.google.common.base.Preconditions; -import com.google.common.collect.ImmutableSet; -import com.google.common.io.ByteStreams; -import com.google.common.io.Resources; +import com.google.common.base.Strings; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; +import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DataSourceService; +import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; +import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ObserveReferentialCache; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.test.TestHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -44,14 +47,13 @@ import org.junit.runners.model.Statement; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.TopiaPersistenceContext; +import org.nuiton.util.version.Version; +import org.nuiton.util.version.Versions; import java.io.File; import java.io.IOException; -import java.io.InputStream; -import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; -import java.util.Set; /** * Created on 18/08/15. @@ -69,18 +71,37 @@ public class DataSourceResource implements TestRule { protected ObserveDataSourceConnection dataSourceConnection; - protected Set<String> testNamesChangeDataBase; - - protected String scriptName; - protected ObserveReferentialCache referentialCache; - public DataSourceResource(ApplicationContextResource applicationContextResource, String scriptName, String... testNamesChangeDataBase) { + protected File testDirectory; + + public DataSourceResource(ApplicationContextResource applicationContextResource) { this.applicationContextResource = applicationContextResource; - this.scriptName = scriptName; - this.testNamesChangeDataBase = ImmutableSet.<String>builder().add(testNamesChangeDataBase).build(); } + public <S extends ObserveService> S newService(Class<S> serviceType) throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { + + ObserveDataSourceConnection dataSourceConnection = getDataSourceConnection(); + + if (dataSourceConnection == null) { + + ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = getDataSourceConfiguration(); + + DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); + + dataSourceConnection = dataSourceService.open(dataSourceConfiguration); + + dataSourceConnection = new ObserveDataSourceConnectionTopiaTaiste(dataSourceConnection.getAuthenticationToken()); + + setDataSourceConnection(dataSourceConnection); + } + + S service = applicationContextResource.newService(dataSourceConnection, serviceType); + + return service; + } + + public ObserveDataSourceConfigurationTopiaH2 getDataSourceConfiguration() { return dataSourceConfiguration; } @@ -93,16 +114,6 @@ public class DataSourceResource implements TestRule { this.dataSourceConnection = dataSourceConnection; } - public byte[] getDatabaseToImportContent(String scriptPath) throws IOException { - - URL url = getClass().getResource(scriptPath); - Preconditions.checkNotNull(url, "Could not find database at: " + scriptPath); - try (InputStream inputStream = Resources.asByteSource(url).openStream()) { - byte[] dumpContent = ByteStreams.toByteArray(inputStream); - return dumpContent; - } - } - public ObserveReferentialCache getReferentialCache() { if (referentialCache == null) { referentialCache = new ObserveReferentialCache(); @@ -110,35 +121,9 @@ public class DataSourceResource implements TestRule { return referentialCache; } - public void createDataSourceFromScript(String scriptPath) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - - byte[] databaseToImportContent = getDatabaseToImportContent(scriptPath); - - DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); - DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); - createConfiguration.setImportDatabase(databaseToImportContent); - dataSourceService.create(dataSourceConfiguration, createConfiguration); - - } - - public void createCommonsDataSourceFromScript(String scriptPath) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - - byte[] databaseToImportContent = getDatabaseToImportContent(scriptPath); - - ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = applicationContextResource.createCommonsDataSourceConfigurationH2("localdb"); - - DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); - DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); - createConfiguration.setImportDatabase(databaseToImportContent); - dataSourceService.create(dataSourceConfiguration, createConfiguration); - - } - public ObserveTopiaPersistenceContext newPersistenceContext() { - ObserveTopiaPersistenceContext persistenceContext = getTopiaApplicationContext().newPersistenceContext(); return persistenceContext; - } public ObserveTopiaApplicationContext getTopiaApplicationContext() { @@ -168,6 +153,17 @@ public class DataSourceResource implements TestRule { } + public void createDataSourceFromScript(String scriptPath) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + + byte[] databaseToImportContent = TestHelper.getResourceContent(scriptPath); + + DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); + DataSourceCreateConfigurationDto createConfiguration = new DataSourceCreateConfigurationDto(); + createConfiguration.setImportDatabase(databaseToImportContent); + dataSourceService.create(dataSourceConfiguration, createConfiguration); + + } + @Override public Statement apply(final Statement base, final Description description) { return new Statement() { @@ -184,44 +180,110 @@ public class DataSourceResource implements TestRule { }; } + private Class<?> testClass; + + private String methodName; + + private boolean useSharedDatabase; + + private String dbName; + + private Version dbVersion; + + public String getDbName() { + return dbName; + } + + public Version getDbVersion() { + return dbVersion; + } + + public String getMethodName() { + return methodName; + } + + public Class<?> getTestClass() { + return testClass; + } + + public boolean isUseSharedDatabase() { + return useSharedDatabase; + } + + public File getTestDirectory() { + return testDirectory; + } + + public ObserveDataSourceConfigurationTopiaH2 createDataSourceConfigurationH2(Class<?> testClass, String dbName) { + + ObserveDataSourceConfigurationTopiaH2 configurationTopiaH2 = new ObserveDataSourceConfigurationTopiaH2(); + + File localDbFile = new File(testDirectory, dbName); + + if (log.isInfoEnabled()) { + log.info("db directory: " + localDbFile); + } + configurationTopiaH2.setLabel(testClass.getSimpleName() + "#" + dbName); + configurationTopiaH2.setUsername(TestHelper.TEST_H2_LOGIN); + configurationTopiaH2.setPassword(TestHelper.TEST_H2_PASSWORD); + configurationTopiaH2.setDirectory(localDbFile); + configurationTopiaH2.setDbName("obstuna"); + configurationTopiaH2.setAutoMigrate(true); + configurationTopiaH2.setModelVersion(AbstractDataSourceMigration.getLastVersion()); + return configurationTopiaH2; + + } + protected void before(Description description) throws Throwable { - Class<?> testClass = description.getTestClass(); - String methodName = description.getMethodName(); + testClass = description.getTestClass(); + methodName = description.getMethodName(); if (log.isDebugEnabled()) { log.debug("Starts " + testClass.getName() + "::" + methodName); } - File testDirectory = TestHelper.newFile(methodName); + DataSourceResourceConfiguration dataSourceResourceConfiguration = testClass.getMethod(methodName).getAnnotation(DataSourceResourceConfiguration.class); - applicationContextResource.setTestDirectory(testDirectory); + String dbVersionStr; - Path temporaryDirectoryRoot = new File(testDirectory, "tmp").toPath(); - - Files.createDirectories(temporaryDirectoryRoot); - - applicationContextResource.setTemporaryDirectoryRoot(temporaryDirectoryRoot); + if (dataSourceResourceConfiguration == null) { + useSharedDatabase = true; + dbName = null; + dbVersionStr = null; + } else { + useSharedDatabase = dataSourceResourceConfiguration.useSharedDatabase(); + dbName = dataSourceResourceConfiguration.dbName().name(); + dbVersionStr = dataSourceResourceConfiguration.dbVersion(); + } + if (Strings.isNullOrEmpty(dbName)) { + dbName = applicationContextResource.getDbName(); + } + Preconditions.checkState(!Strings.isNullOrEmpty(dbName), "Pas de nom de base spécifié"); - File commonsDir = TestHelper.getCommonsDir(); + if (Strings.isNullOrEmpty(dbVersionStr)) { + dbVersionStr = applicationContextResource.getDbVersion(); + } + Preconditions.checkState(!Strings.isNullOrEmpty(dbVersionStr), "Pas de version de base spécifié"); + dbVersion = Versions.valueOf(dbVersionStr); - File dataBaseCommonsRefDirectory = new File(commonsDir, scriptName); + if (log.isDebugEnabled()) { + log.debug("Starts " + testClass.getName() + "::" + methodName); + } - applicationContextResource.setDataBaseCommonRefDirectory(dataBaseCommonsRefDirectory); + testDirectory = TestHelper.newFile(methodName); - //if (testNamesChangeDataBase.contains(methodName)) { + Path temporaryDirectoryRoot = new File(testDirectory, "tmp").toPath(); - File dataBaseDirectory = new File(testDirectory, scriptName); + Files.createDirectories(temporaryDirectoryRoot); - applicationContextResource.setDataBaseDirectory(dataBaseDirectory); + applicationContextResource.setTemporaryDirectoryRoot(temporaryDirectoryRoot); -// } else { -// -// applicationContextResource.setDataBaseDirectory(dataBaseCommonsRefDirectory); -// -// } + File databasePath = useSharedDatabase + ? null + : getTestDirectory().toPath().resolve("localDb").toFile(); - dataSourceConfiguration = applicationContextResource.createDataSourceConfigurationH2(testClass, "localdb"); + dataSourceConfiguration = applicationContextResource.createDataSource(dbVersion, this.dbName, databasePath); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceContextTopiaTaiste.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceContextTopiaTaiste.java index 284c7ad..e78d050 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceContextTopiaTaiste.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/ObserveServiceContextTopiaTaiste.java @@ -31,7 +31,7 @@ import java.util.Date; */ public class ObserveServiceContextTopiaTaiste extends ObserveServiceContextTopia { - public static final Date DATE = DateUtil.createDate(36, 15, 17, 21, 8, 2015); + public static final Date DATE = DateUtil.createDate(36, 15, 17, 21, 8, 2016); public ObserveServiceContextTopiaTaiste(ObserveServiceInitializer observeServiceInitializer, ObserveServiceFactory mainServiceFactory, ObserveServiceFactory serviceFactory) { super(observeServiceInitializer, mainServiceFactory, serviceFactory); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java index 7191477..a457863 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java @@ -2,6 +2,7 @@ package fr.ird.observe.services.binder; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; @@ -123,6 +124,7 @@ import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; +import fr.ird.observe.test.DatabaseName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -138,6 +140,7 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class BinderEngineTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -145,15 +148,9 @@ public class BinderEngineTest extends AbstractServiceTopiaTest { private BinderEngine binderEngine; - public BinderEngineTest() { - super("dataForTestSeine"); - } - - @Override @Before public void setUp() throws Exception { - super.setUp(); binderEngine = BinderEngine.get(); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java index ed8c194..162e2e9 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java @@ -1,57 +1,29 @@ package fr.ird.observe.services.service; -/* - * #%L - * ObServe :: Services ToPIA Implementation - * %% - * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ - -import fr.ird.observe.AbstractObserveTopiaDao; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.ObserveEntity; -import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.services.ApplicationContextResource; import fr.ird.observe.services.DataSourceResource; -import fr.ird.observe.services.ObserveDataSourceConnectionTopiaTaiste; -import fr.ird.observe.services.ObserveService; -import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; -import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.junit.Assert; -import org.junit.Before; import org.junit.ClassRule; import org.junit.Rule; -import org.nuiton.util.FileUtil; -import java.io.File; -import java.nio.file.Files; import java.util.Date; /** - * @author Sylvain Bavencoff - bavencoff@codelutin.com + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com */ -public abstract class AbstractServiceTopiaTest { +public class AbstractServiceTopiaTest { + + public static final String OLD_VERSION = "4.0.1"; + + public static final String DEFAULT_VERSION = "5.0-2"; public static final String TRIP_SEINE_ID_1 = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; @@ -61,83 +33,33 @@ public abstract class AbstractServiceTopiaTest { public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; + @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); - private static final Log log = LogFactory.getLog(AbstractServiceTopiaTest.class); - - protected AbstractServiceTopiaTest(String scriptName, String... testNamesChangeDataBase) { - this.scriptName = scriptName; - this.testNamesChangeDataBase = testNamesChangeDataBase; - this.dataSourceResource = new DataSourceResource(applicationContextResource, this.scriptName, this.testNamesChangeDataBase); - } - - private final String scriptName; - - private final String[] testNamesChangeDataBase; - @Rule - public final DataSourceResource dataSourceResource; - - protected DataSourceResource newDataSourceResource(String scriptName, String... testNamesChangeDataBase) { - return new DataSourceResource(applicationContextResource, scriptName, testNamesChangeDataBase); - } - @Before - public void setUp() throws Exception { - - File dataBaseDirectory = applicationContextResource.getDataBaseDirectory(); - - if (!dataBaseDirectory.isDirectory()) { - - File dataBaseCommonRefDirectory = applicationContextResource.getDataBaseCommonRefDirectory(); - - if (!dataBaseCommonRefDirectory.isDirectory()) { - - if (log.isInfoEnabled()) { - log.info("create Database on " + dataBaseDirectory + " from script " + scriptName); - } - - Files.createDirectories(dataBaseDirectory.toPath()); - - // Create database from script - String scriptPath = applicationContextResource.getScriptPath(scriptName, H2DataSourceMigration.V_4_0_1); - - dataSourceResource.createCommonsDataSourceFromScript(scriptPath); - } - - if (!dataBaseCommonRefDirectory.equals(dataBaseDirectory)) { - - FileUtil.copyAndRenameRecursively(dataBaseCommonRefDirectory, dataBaseDirectory, false, (String) null, (String) null, false); - - } + public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource); + protected Date getLastUpdate(Class entityType) { + try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext()) { + return persistenceContext.getLastUpdate(entityType); } } - public <S extends ObserveService> S newService(Class<S> serviceType) throws DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { - - ObserveDataSourceConnection dataSourceConnection = dataSourceResource.getDataSourceConnection(); - - if (dataSourceConnection == null) { - - ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = dataSourceResource.getDataSourceConfiguration(); - - DataSourceService dataSourceService = applicationContextResource.newService(dataSourceConfiguration, DataSourceService.class); - - dataSourceConnection = dataSourceService.open(dataSourceConfiguration); - - dataSourceConnection = new ObserveDataSourceConnectionTopiaTaiste(dataSourceConnection.getAuthenticationToken()); + protected void loadReferenceSets(ReferentialService referentialService, Form<?> form) { + dataSourceResource.getReferentialCache().loadReferenceSets(referentialService, form.getReferentialReferenceSetsRequestName()); + } - dataSourceResource.setDataSourceConnection(dataSourceConnection); - } + protected <R extends ReferentialDto> ReferentialReference<R> getReference(Class<R> type, int index) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { - S service = applicationContextResource.newService(dataSourceConnection, serviceType); + ReferentialService referentialService = dataSourceResource.newService(ReferentialService.class); + ReferentialReferenceSet<R> referentialReferenceSet = dataSourceResource.getReferentialCache().getReferentialReferenceSet(referentialService, type); + ReferentialReference<R> reference = referentialReferenceSet.getReferenceByPosition(index); + return reference; - return service; } - protected void assertEntityEqualsReferenceDto(ObserveEntity entity, ReferentialReference referenceDto) { if (entity == null) { Assert.assertNull(referenceDto); @@ -156,24 +78,4 @@ public abstract class AbstractServiceTopiaTest { } - protected Date getLastUpdate(Class entityType) { - ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); - AbstractObserveTopiaDao dao = (AbstractObserveTopiaDao) persistenceContext.getDao(entityType); - return dao.getLastUpdateDate(); - - } - - protected void loadReferenceSets(ReferentialService referentialService, Form<?> form) { - dataSourceResource.getReferentialCache().loadReferenceSets(referentialService, form.getReferentialReferenceSetsRequestName()); - } - - protected <R extends ReferentialDto> ReferentialReference<R> getReference(Class<R> type, int index) throws DatabaseNotFoundException, BabModelVersionException, DatabaseConnexionNotAuthorizedException { - - ReferentialService referentialService = newService(ReferentialService.class); - ReferentialReferenceSet<R> referentialReferenceSet = dataSourceResource.getReferentialCache().getReferentialReferenceSet(referentialService, type); - ReferentialReference<R> reference = referentialReferenceSet.getReferenceByPosition(index); - return reference; - - } - } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java index 6f69f91..4d89b4c 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java @@ -23,33 +23,28 @@ package fr.ird.observe.services.service; */ import com.google.common.collect.ImmutableSet; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; import org.junit.Test; -import java.io.File; - /** * Created on 26/08/15. * * @author Tony Chemit - chemit@codelutin.com - * FIXME IT tests + * FIXME IT tests */ @Ignore +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class DataSourceDumpProducerServiceTopiaTest extends AbstractServiceTopiaTest { protected DataSourceDumpProducerService service; - public DataSourceDumpProducerServiceTopiaTest() { - super("dataForTestSeine"); - } - @Before public void setUp() throws Exception { - - super.setUp(); - service = newService(DataSourceDumpProducerService.class); + service = dataSourceResource.newService(DataSourceDumpProducerService.class); } @Test diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java index 5a811df..d62bd99 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java @@ -25,8 +25,8 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.entities.migration.H2DataSourceMigration; -import fr.ird.observe.services.ApplicationContextResource; -import fr.ird.observe.services.DataSourceResource; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; @@ -34,13 +34,13 @@ import fr.ird.observe.services.dto.DataSourceCreateConfigurationDto; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.services.dto.referential.GearDto; +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.TestHelper; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Before; -import org.junit.ClassRule; import org.junit.Ignore; -import org.junit.Rule; import org.junit.Test; import java.io.File; @@ -54,25 +54,12 @@ import java.util.Date; * FIXME IT tests */ @Ignore -public class DataSourceServiceTopiaTest { - - @ClassRule - public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); - - public static final String[] TEST_NAMES_CHANGE_DATA_BASE = new String[]{ - "testOpenNotExistingDatabase", - "testOpen", - "testCreateEmptyDataSource", - "testCreateDataSourceFromImportDatabase", - "testCreateDataSourceFromImportReferential", - "testCreateDataSourceFromImportReferentialAndData"}; +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataSourceTest, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ private static final Log log = LogFactory.getLog(DataSourceServiceTopiaTest.class); - @Rule - public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, "dataSourceTest", TEST_NAMES_CHANGE_DATA_BASE); - protected DataSourceService service; @Before @@ -84,6 +71,7 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test(expected = DatabaseNotFoundException.class) public void testOpenNotExistingDatabase() throws IOException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { @@ -169,6 +157,7 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test public void testCreateEmptyDataSource() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -181,12 +170,13 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test public void testCreateDataSourceFromImportDatabase() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { String scriptPath = applicationContextResource.getScriptPath("referentiel", H2DataSourceMigration.V_4_0); - byte[] dumpContent = dataSourceResource.getDatabaseToImportContent(scriptPath); + byte[] dumpContent = TestHelper.getResourceContent(scriptPath); ObserveDataSourceConfigurationTopiaH2 dataSourceConfiguration = dataSourceResource.getDataSourceConfiguration(); DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); @@ -197,6 +187,7 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test public void testCreateDataSourceFromImportReferential() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -209,7 +200,7 @@ public class DataSourceServiceTopiaTest { DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); dataSourceCreateConfiguration.setImportReferentialDataSourceConfiguration(dataSourceConfiguration); - ObserveDataSourceConfigurationTopiaH2 createdDatabaseDataSourceConfiguration = applicationContextResource.createDataSourceConfigurationH2(getClass(), "resultDatabase"); + ObserveDataSourceConfigurationTopiaH2 createdDatabaseDataSourceConfiguration = dataSourceResource.createDataSourceConfigurationH2(getClass(), "resultDatabase"); DataSourceService dataSourceService = applicationContextResource.newService(createdDatabaseDataSourceConfiguration, DataSourceService.class); @@ -220,6 +211,7 @@ public class DataSourceServiceTopiaTest { } + @DataSourceResourceConfiguration(useSharedDatabase = false) @Test public void testCreateDataSourceFromImportReferentialAndData() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -233,7 +225,7 @@ public class DataSourceServiceTopiaTest { dataSourceCreateConfiguration.setImportReferentialDataSourceConfiguration(dataSourceConfiguration); dataSourceCreateConfiguration.setImportDataConfiguration(dataSourceConfiguration, ImmutableSet.of(AbstractServiceTopiaTest.TRIP_SEINE_ID_1)); - ObserveDataSourceConfigurationTopiaH2 createdDatabaseDataSourceConfiguration = applicationContextResource.createDataSourceConfigurationH2(getClass(), "resultDatabase"); + ObserveDataSourceConfigurationTopiaH2 createdDatabaseDataSourceConfiguration = dataSourceResource.createDataSourceConfigurationH2(getClass(), "resultDatabase"); DataSourceService dataSourceService = applicationContextResource.newService(createdDatabaseDataSourceConfiguration, DataSourceService.class); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java index e910486..dd2b991 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -1,21 +1,18 @@ package fr.ird.observe.services.service; -import com.google.common.base.Preconditions; -import fr.ird.observe.services.ApplicationContextResource; -import fr.ird.observe.services.DataSourceResource; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; +import fr.ird.observe.test.DatabaseName; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.junit.ClassRule; import org.junit.Ignore; -import org.junit.Rule; import org.junit.Test; import java.io.File; import java.io.IOException; -import java.net.URL; import java.nio.file.Files; /** @@ -24,53 +21,48 @@ import java.nio.file.Files; * @author Tony Chemit - chemit@codelutin.com */ @Ignore -public class MigrateTestsDatabases { - - @ClassRule - public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); - - public static final String FROM_VERSION = "4.0.1"; - - public static final String TO_VERSION = "5.0"; +@ApplicationContextResourceConfiguration(dbVersion = MigrateTestsDatabases.FROM_VERSION) +public class MigrateTestsDatabases extends AbstractServiceTopiaTest { /** Logger. */ private static final Log log = LogFactory.getLog(MigrateTestsDatabases.class); - @Rule - public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource, "taiste"); + public static final String FROM_VERSION = "4.0.1"; + + public static final String TO_VERSION = "5.0-2"; + @DataSourceResourceConfiguration(dbName = DatabaseName.referentiel) @Test public void migrateReferentielDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - migrateReferentielDb(FROM_VERSION, TO_VERSION, "referentiel"); + migrateReferentielDb(TO_VERSION); } + @DataSourceResourceConfiguration(dbName = DatabaseName.dataForTestSeine) @Test public void migrateDataForTestSeineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - migrateReferentielDb(FROM_VERSION, TO_VERSION, "dataForTestSeine"); + migrateReferentielDb(TO_VERSION); } + @DataSourceResourceConfiguration(dbName = DatabaseName.dataForTestLongline) @Test public void migrateDataForTestLonglineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - migrateReferentielDb(FROM_VERSION, TO_VERSION, "dataForTestLongline"); + migrateReferentielDb(TO_VERSION); } - protected void migrateReferentielDb(String fromVersion, String toVersion, String databaseName) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { + protected void migrateReferentielDb(String toVersion) throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { - String sqlFilename = databaseName + ".sql.gz"; - String scriptPath = "/db/" + fromVersion + "/" + sqlFilename; + String dbName = dataSourceResource.getDbName(); + File databasesRootDirectory = dataSourceResource.getDataSourceConfiguration().getDatabaseFile(); - URL url = getClass().getResource(scriptPath); - - Preconditions.checkNotNull(url, "Could not find database at " + scriptPath); - - File databasesRootDirectory = new File(url.getFile()); - - while (!"observe-test-data".equals(databasesRootDirectory.getName())) { + while (!"observe".equals(databasesRootDirectory.getName())) { databasesRootDirectory = databasesRootDirectory.getParentFile(); } + String sqlFilename = dbName + ".sql.gz"; + File f = databasesRootDirectory .toPath() + .resolve("observe-test-data") .resolve("src") .resolve("main") .resolve("resources") @@ -80,13 +72,11 @@ public class MigrateTestsDatabases { .toFile(); if (log.isInfoEnabled()) { - log.info("Will generate " + databaseName + " to " + f); + log.info("Will generate " + dbName + " to " + f); } Files.createDirectories(f.toPath().getParent()); - dataSourceResource.createDataSourceFromScript(scriptPath); - DataSourceDumpProducerService service = applicationContextResource.newService(dataSourceResource.getDataSourceConfiguration(), DataSourceDumpProducerService.class); byte[] allDataDump = service.getAllDataDump(); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java index 7791249..4960b6b 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java @@ -26,15 +26,20 @@ import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.LengthWeightParameter; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Program; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.test.DatabaseName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; +import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; @@ -46,6 +51,7 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -53,15 +59,10 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { protected ReferentialService service; - public ReferentialServiceTopiaTest() { - super("referentiel", "testDelete"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(ReferentialService.class); + service = dataSourceResource.newService(ReferentialService.class); } @@ -78,7 +79,10 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } + //FIXME En réutilisant une table de lastUpdateDate + @Ignore @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void testDelete() throws Exception { ObserveTopiaPersistenceContext tx = dataSourceResource.newPersistenceContext(); @@ -131,13 +135,13 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(form.getObject()); Assert.assertNotNull(form.getObject().getId()); - Date lastUpdateBefore = getLastUpdate(entityType); + Date lastUpdateBefore = persistenceContext.getLastUpdate(entityType); service.delete(dtoType, entity.getTopiaId()); Assert.assertEquals(expectedCount - 1, dao.count()); - Date lastUpdateAfter = getLastUpdate(entityType); + Date lastUpdateAfter = persistenceContext.getLastUpdate(entityType); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); try { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java index cfb845c..248859a 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java @@ -24,8 +24,12 @@ package fr.ird.observe.services.service.actions.consolidate; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import java.util.List; @@ -35,21 +39,18 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class ConsolidateDataServiceTopiaTest extends AbstractServiceTopiaTest { protected ConsolidateDataService service; - public ConsolidateDataServiceTopiaTest() { - super("dataForTestSeine", "testConsolidateTripSeines"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(ConsolidateDataService.class); + service = dataSourceResource.newService(ConsolidateDataService.class); } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void testConsolidateTripSeines() throws Exception { ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); @@ -65,6 +66,5 @@ public class ConsolidateDataServiceTopiaTest extends AbstractServiceTopiaTest { //FIXME faire des asserts sur le résultat Assert.assertEquals(3, results.size()); - } } \ No newline at end of file diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java index 1c367fc..00b4414 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java @@ -23,12 +23,14 @@ package fr.ird.observe.services.service.actions.report; import com.google.common.collect.Iterables; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; import fr.ird.observe.services.dto.actions.report.ReportRequest; import fr.ird.observe.services.dto.actions.report.ReportVariable; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -50,6 +52,7 @@ import java.util.Map; * @author Tony Chemit - chemit@codelutin.com * @since 1.9 */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger */ @@ -63,18 +66,12 @@ public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopi /** Le report à tester. */ private Report report; - public AbstractReportServiceTopiaTest() { - super("dataForTestSeine"); - } - protected abstract String getReportId(); @Before public final void setUp() throws Exception { - super.setUp(); - - service = newService(ReportService.class); + service = dataSourceResource.newService(ReportService.class); // recuperation du report à tester report = getReport(log, getReportId()); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java index b651473..d6ddff8 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java @@ -24,29 +24,28 @@ package fr.ird.observe.services.service.actions.validate; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.validator.NuitonValidatorScope; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class ValidateServiceTopiaTest extends AbstractServiceTopiaTest { protected ValidateService service; - public ValidateServiceTopiaTest() { - super("dataForTestSeine"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(ValidateService.class); + service = dataSourceResource.newService(ValidateService.class); } @Test diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java index 8708235..effc0a5 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java @@ -26,6 +26,8 @@ import fr.ird.observe.entities.longline.Basket; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -39,29 +41,26 @@ import fr.ird.observe.services.dto.referential.longline.HookSizeDto; import fr.ird.observe.services.dto.referential.longline.HookTypeDto; import fr.ird.observe.services.dto.referential.longline.LineTypeDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.util.DateUtil; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestLongline, dbVersion = AbstractServiceTopiaTest.OLD_VERSION) public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServiceTopiaTest { protected SetLonglineDetailCompositionService service; public static final String SET_LONGLINE_ID = "fr.ird.observe.entities.longline.SetLongline#1429538714446#0.0876020351424813"; - public SetLonglineDetailCompositionServiceTopiaTest() { - super("dataForTestLongline", "saveTest"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - - service = newService(SetLonglineDetailCompositionService.class); + service = dataSourceResource.newService(SetLonglineDetailCompositionService.class); } @@ -93,6 +92,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveTest() { Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java index 7c9b507..64267f4 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java @@ -22,29 +22,28 @@ package fr.ird.observe.services.service.seine; * #L% */ +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.util.DateUtil; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -public class RouteServiceTopiaTest extends AbstractServiceTopiaTest{ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +public class RouteServiceTopiaTest extends AbstractServiceTopiaTest { protected RouteService service; - public RouteServiceTopiaTest() { - super("dataForTestSeine"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(RouteService.class); + service = dataSourceResource.newService(RouteService.class); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java index 952ea0a..8aaa1d8 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java @@ -22,30 +22,29 @@ package fr.ird.observe.services.service.seine; * #L% */ +import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class TargetSampleServiceTopiaTest extends AbstractServiceTopiaTest { public static String SET_SEINE_ID = "fr.ird.observe.entities.seine.SetSeine#1359573677233#0.016313003525718517"; protected TargetSampleService service; - public TargetSampleServiceTopiaTest() { - super("dataForTestSeine"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(TargetSampleService.class); + service = dataSourceResource.newService(TargetSampleService.class); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java index be0e4fa..93134a6 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java @@ -26,6 +26,8 @@ import com.google.common.collect.Iterables; import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; import fr.ird.observe.entities.seine.GearUseFeaturesSeine; import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; @@ -33,13 +35,16 @@ import fr.ird.observe.services.dto.seine.GearUseFeaturesSeineDto; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; import org.junit.Test; import org.nuiton.topia.persistence.TopiaEntities; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { protected TripSeineGearUseService service; @@ -48,20 +53,12 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { public static final String GEAR_USE_FEATURES_SEINE_ID = "fr.ird.observe.entities.seine.GearUseFeaturesSeine#1440486230661#0.42614931015885216"; - public TripSeineGearUseServiceTopiaTest() { - super("dataForTestSeine", "saveCreateTest", - "saveUpdateTest", - "deleteTest"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - - service = newService(TripSeineGearUseService.class); + service = dataSourceResource.newService(TripSeineGearUseService.class); - referentialService = newService(ReferentialService.class); + referentialService = dataSourceResource.newService(ReferentialService.class); } @@ -114,6 +111,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveUpdateTest() { Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java index d3c2096..5b2400c 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java @@ -23,6 +23,8 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.entities.seine.TripSeine; +import fr.ird.observe.test.ApplicationContextResourceConfiguration; +import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.ObserveServiceContextTopiaTaiste; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; @@ -40,7 +42,10 @@ import fr.ird.observe.services.service.ConcurrentModificationException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.test.DatabaseName; import org.junit.Assert; +import org.junit.Before; +import org.junit.Ignore; import org.junit.Test; import org.nuiton.util.DateUtil; @@ -50,25 +55,19 @@ import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ +@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { protected TripSeineService service; protected ReferentialService referentialService; - public TripSeineServiceTopiaTest() { - super("dataForTestSeine", "saveCreateTest", - "saveUpdateTest", - "deleteTest"); - } - - @Override + @Before public void setUp() throws Exception { - super.setUp(); - service = newService(TripSeineService.class); + service = dataSourceResource.newService(TripSeineService.class); - referentialService = newService(ReferentialService.class); + referentialService = dataSourceResource.newService(ReferentialService.class); } @@ -181,6 +180,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveCreateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.preCreate(PROGRAM_ID); @@ -234,6 +234,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveUpdateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); @@ -288,6 +289,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test(expected = ConcurrentModificationException.class) + @DataSourceResourceConfiguration(useSharedDatabase = false) public void saveConcurrentTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); @@ -314,7 +316,10 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } + //FIXME En réutilisant une table de lastUpdateDate + @Ignore @Test + @DataSourceResourceConfiguration(useSharedDatabase = false) public void deleteTest() { Date lastUpdateBefore = getLastUpdate(TripSeine.class); diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java new file mode 100644 index 0000000..9635276 --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java @@ -0,0 +1,28 @@ +package fr.ird.observe.test; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * To define how to load a datasource resource on a test class. + * + * Created on 25/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(ElementType.TYPE) +@Retention(RetentionPolicy.RUNTIME) +public @interface ApplicationContextResourceConfiguration { + + /** + * @return version of database to use. + */ + String dbVersion() default ""; + + /** + * @return Name of database to use. + */ + DatabaseName dbName() default DatabaseName.referentiel; +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java new file mode 100644 index 0000000..4356d07 --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java @@ -0,0 +1,36 @@ +package fr.ird.observe.test; + +import fr.ird.observe.test.DatabaseName; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * To define how to load a datasource resource on a test method. + * + * Created on 25/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface DataSourceResourceConfiguration { + + /** + * @return version of database to use. + */ + String dbVersion() default ""; + + /** + * @return Name of database to use. + */ + DatabaseName dbName() default DatabaseName.referentiel; + + /** + * return {@code true} to use the shared database, otherwise will + * use a copy of the shared database (mainly used when you modify a database). + */ + boolean useSharedDatabase() default true; +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java b/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java new file mode 100644 index 0000000..289e554 --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/DatabaseName.java @@ -0,0 +1,12 @@ +package fr.ird.observe.test; + +/** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public enum DatabaseName { + referentiel, + dataForTestLongline, + dataSourceTest, dataForTestSeine +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java index 1c25d25..f4fc944 100644 --- a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java +++ b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java @@ -21,6 +21,9 @@ */ package fr.ird.observe.test; +import com.google.common.base.Preconditions; +import com.google.common.io.ByteStreams; +import com.google.common.io.Resources; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -34,6 +37,7 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; import java.lang.reflect.Modifier; +import java.net.URL; import java.util.Date; import java.util.List; import java.util.Properties; @@ -68,6 +72,7 @@ public abstract class TestHelper { public static final char[] TEST_REMOTE_PASSWORD = "a".toCharArray(); protected static final String TEST_PROPERTIES_FILE_NAME = "observetest.properties"; + protected static final String MODEL_VERSION_PROPERTY_NAME = "observetest.model.version"; static private Long testsTimeStamp; @@ -206,22 +211,7 @@ public abstract class TestHelper { } public static File getTestDir(Class<?> testClass) { - if (testsBasedir == null) { - String tmp = System.getProperty("basedir"); - if (tmp == null) { - tmp = new File("").getAbsolutePath(); - } - basedir = new File(tmp); - String name = String.format(TEST_BASEDIR_PATTERN, - File.separator, - new Date(getTestsTimeStamp()) - ); - testsBasedir = new File(new File(tmp), name); - if (log.isInfoEnabled()) { - log.info("tests basedir : " + testsBasedir); - } - } - return new File(testsBasedir, testClass.getSimpleName()); + return new File(getTestsBasedir(), testClass.getSimpleName()); } public static File newFile(String name) { @@ -233,9 +223,28 @@ public abstract class TestHelper { } public static File getBasedir() { + if (basedir == null) { + String tmp = System.getProperty("basedir"); + if (tmp == null) { + tmp = new File("").getAbsolutePath(); + } + basedir = new File(tmp); + } return basedir; } + public static File getTestsBasedir() { + if (testsBasedir == null) { + + String name = String.format(TEST_BASEDIR_PATTERN, + File.separator, + new Date(getTestsTimeStamp()) + ); + testsBasedir = new File(getBasedir(), name); + } + return testsBasedir; + } + public static void initTest(Class<?> testClass) { TEST_BASEDIR = getTestDir(testClass); } @@ -283,5 +292,15 @@ public abstract class TestHelper { return version; } + public static byte[] getResourceContent(String scriptPath) throws IOException { + + URL url = TestHelper.class.getResource(scriptPath); + Preconditions.checkNotNull(url, "Could not find resource at: " + scriptPath); + try (InputStream inputStream = Resources.asByteSource(url).openStream()) { + byte[] dumpContent = ByteStreams.toByteArray(inputStream); + return dumpContent; + } + } + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit 7b927249b2d1d04bbaf4bdf1772b2c2ecc636e11 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:01:41 2015 +0100 Revue bis de la configuration des tests --- .../referentiel/LengthWeightParemetersTest.java | 7 ++--- .../services/ApplicationContextResource.java | 24 ++++++--------- .../ird/observe/services/DataSourceResource.java | 28 +++++++++-------- .../observe/services/binder/BinderEngineTest.java | 4 +-- .../services/service/AbstractServiceTopiaTest.java | 8 +++-- .../DataSourceDumpProducerServiceTopiaTest.java | 4 +-- .../service/DataSourceServiceTopiaTest.java | 16 +++++----- .../services/service/MigrateTestsDatabases.java | 12 ++++---- .../service/ReferentialServiceTopiaTest.java | 12 ++++---- .../ConsolidateDataServiceTopiaTest.java | 8 ++--- .../report/AbstractReportServiceTopiaTest.java | 4 +-- .../actions/validate/ValidateServiceTopiaTest.java | 4 +-- ...tLonglineDetailCompositionServiceTopiaTest.java | 10 +++--- .../service/seine/RouteServiceTopiaTest.java | 4 +-- .../seine/TargetSampleServiceTopiaTest.java | 4 +-- .../seine/TripSeineGearUseServiceTopiaTest.java | 8 ++--- .../service/seine/TripSeineServiceTopiaTest.java | 14 ++++----- .../ApplicationContextResourceConfiguration.java | 28 ----------------- .../test/DataSourceResourceConfiguration.java | 36 ---------------------- .../main/java/fr/ird/observe/test/TestHelper.java | 10 ++++++ .../test/spi/CopyDatabaseConfiguration.java | 17 ++++++++++ .../test/spi/DatabaseNameConfiguration.java | 21 +++++++++++++ .../test/spi/DatabaseVersionConfiguration.java | 19 ++++++++++++ 23 files changed, 152 insertions(+), 150 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java index eb8e803..563339d 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/entities/referentiel/LengthWeightParemetersTest.java @@ -26,10 +26,8 @@ import com.opensymphony.xwork2.interceptor.annotations.After; import fr.ird.observe.ObserveTopiaDaoSupplier; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.constants.ReferenceStatus; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.service.AbstractServiceTopiaTest; -import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -45,7 +43,6 @@ import java.util.Date; * @author Tony Chemit - chemit@codelutin.com * @since 1.8 */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.referentiel, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { /** Logger */ @@ -136,7 +133,7 @@ public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { * See http://forge.codelutin.com/issues/7628 */ @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void testGetCorrectLengthWeightParameter() { SpeciesTopiaDao speciesDAO = persistenceContext.getSpeciesDao(); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java index 40f097a..c53aa19 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/ApplicationContextResource.java @@ -33,8 +33,9 @@ import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationExce import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.DataSourceService; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.test.TestHelper; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -196,11 +197,14 @@ public class ApplicationContextResource implements TestRule { TestHelper.initTest(testClass); - ApplicationContextResourceConfiguration dataSourceTestConfiguration = getApplicationContextTestConfiguration(testClass); + DatabaseNameConfiguration databaseNameConfiguration = TestHelper.getAnnotation(testClass, DatabaseNameConfiguration.class); + if (databaseNameConfiguration != null) { + dbName = databaseNameConfiguration.value().name(); + } - if (dataSourceTestConfiguration != null) { - dbName = dataSourceTestConfiguration.dbName().name(); - dbVersion = dataSourceTestConfiguration.dbVersion(); + DatabaseVersionConfiguration databaseVersionConfiguration = TestHelper.getAnnotation(testClass, DatabaseVersionConfiguration.class); + if (databaseVersionConfiguration != null) { + dbVersion = databaseVersionConfiguration.value(); } } @@ -217,16 +221,6 @@ public class ApplicationContextResource implements TestRule { } - protected ApplicationContextResourceConfiguration getApplicationContextTestConfiguration(Class<?> clazz) { - - ApplicationContextResourceConfiguration dataSourceTestConfiguration = clazz.getAnnotation(ApplicationContextResourceConfiguration.class); - - if (dataSourceTestConfiguration == null && clazz.getSuperclass() != null) { - dataSourceTestConfiguration = getApplicationContextTestConfiguration(clazz.getSuperclass()); - } - return dataSourceTestConfiguration; - } - public void assertSchemaCreated(ObserveTopiaApplicationContext topiaApplicationContext) { try (ObserveTopiaPersistenceContext topiaPersistenceContext = topiaApplicationContext.newPersistenceContext()) { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java index 003422d..c24c43f 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/DataSourceResource.java @@ -37,8 +37,10 @@ import fr.ird.observe.services.service.DataSourceService; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ObserveReferentialCache; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.test.TestHelper; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.rules.TestRule; @@ -52,6 +54,7 @@ import org.nuiton.util.version.Versions; import java.io.File; import java.io.IOException; +import java.lang.reflect.Method; import java.nio.file.Files; import java.nio.file.Path; @@ -242,31 +245,30 @@ public class DataSourceResource implements TestRule { log.debug("Starts " + testClass.getName() + "::" + methodName); } - DataSourceResourceConfiguration dataSourceResourceConfiguration = testClass.getMethod(methodName).getAnnotation(DataSourceResourceConfiguration.class); + Method testClassMethod = testClass.getMethod(methodName); String dbVersionStr; - if (dataSourceResourceConfiguration == null) { - useSharedDatabase = true; - dbName = null; - dbVersionStr = null; + DatabaseNameConfiguration databaseNameConfiguration = testClassMethod.getAnnotation(DatabaseNameConfiguration.class); + if (databaseNameConfiguration != null) { + dbName = databaseNameConfiguration.value().name(); } else { - useSharedDatabase = dataSourceResourceConfiguration.useSharedDatabase(); - dbName = dataSourceResourceConfiguration.dbName().name(); - dbVersionStr = dataSourceResourceConfiguration.dbVersion(); - } - - if (Strings.isNullOrEmpty(dbName)) { dbName = applicationContextResource.getDbName(); } Preconditions.checkState(!Strings.isNullOrEmpty(dbName), "Pas de nom de base spécifié"); - if (Strings.isNullOrEmpty(dbVersionStr)) { + DatabaseVersionConfiguration databaseVersionConfiguration = testClassMethod.getAnnotation(DatabaseVersionConfiguration.class); + if (databaseVersionConfiguration != null) { + dbVersionStr = databaseVersionConfiguration.value(); + } else { dbVersionStr = applicationContextResource.getDbVersion(); } Preconditions.checkState(!Strings.isNullOrEmpty(dbVersionStr), "Pas de version de base spécifié"); dbVersion = Versions.valueOf(dbVersionStr); + CopyDatabaseConfiguration copyDatabaseConfiguration = testClassMethod.getAnnotation(CopyDatabaseConfiguration.class); + useSharedDatabase = copyDatabaseConfiguration == null; + if (log.isDebugEnabled()) { log.debug("Starts " + testClass.getName() + "::" + methodName); } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java index a457863..0d95dff 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/binder/BinderEngineTest.java @@ -2,7 +2,6 @@ package fr.ird.observe.services.binder; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; @@ -125,6 +124,7 @@ import fr.ird.observe.services.service.BabModelVersionException; import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -140,7 +140,7 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class BinderEngineTest extends AbstractServiceTopiaTest { /** Logger. */ diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java index 162e2e9..7e9fe9a 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java @@ -8,6 +8,9 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.junit.Assert; import org.junit.ClassRule; import org.junit.Rule; @@ -19,6 +22,8 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ +@DatabaseNameConfiguration(DatabaseName.referentiel) +@DatabaseVersionConfiguration(AbstractServiceTopiaTest.DEFAULT_VERSION) public class AbstractServiceTopiaTest { public static final String OLD_VERSION = "4.0.1"; @@ -33,7 +38,6 @@ public class AbstractServiceTopiaTest { public static final String PROGRAM_ID = "fr.ird.observe.entities.referentiel.Program#1239832686262#0.31033946454061234"; - @ClassRule public static final ApplicationContextResource applicationContextResource = new ApplicationContextResource(); @@ -42,7 +46,7 @@ public class AbstractServiceTopiaTest { protected Date getLastUpdate(Class entityType) { try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext()) { - return persistenceContext.getLastUpdate(entityType); + return persistenceContext.getLastUpdateDate(entityType); } } diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java index 4d89b4c..78e445f 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceDumpProducerServiceTopiaTest.java @@ -23,8 +23,8 @@ package fr.ird.observe.services.service; */ import com.google.common.collect.ImmutableSet; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; @@ -37,7 +37,7 @@ import org.junit.Test; * FIXME IT tests */ @Ignore -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class DataSourceDumpProducerServiceTopiaTest extends AbstractServiceTopiaTest { protected DataSourceDumpProducerService service; diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java index d62bd99..e95c9ec 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/DataSourceServiceTopiaTest.java @@ -25,8 +25,6 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.entities.migration.H2DataSourceMigration; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.ObserveTopiaApplicationContextFactory; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationTopiaH2; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; @@ -36,6 +34,8 @@ import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationExce import fr.ird.observe.services.dto.referential.GearDto; import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.TestHelper; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -54,7 +54,7 @@ import java.util.Date; * FIXME IT tests */ @Ignore -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataSourceTest, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataSourceTest) public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -71,7 +71,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test(expected = DatabaseNotFoundException.class) public void testOpenNotExistingDatabase() throws IOException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException, BabModelVersionException { @@ -157,7 +157,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test public void testCreateEmptyDataSource() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -170,7 +170,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test public void testCreateDataSourceFromImportDatabase() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -187,7 +187,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test public void testCreateDataSourceFromImportReferential() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { @@ -211,7 +211,7 @@ public class DataSourceServiceTopiaTest extends AbstractServiceTopiaTest { } - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration @Test public void testCreateDataSourceFromImportReferentialAndData() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java index dd2b991..71842b6 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -1,10 +1,10 @@ package fr.ird.observe.services.service; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.DataSourceCreateWithNoReferentialImportException; import fr.ird.observe.services.dto.IncompatibleDataSourceCreateConfigurationException; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.apache.commons.io.FileUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -21,7 +21,7 @@ import java.nio.file.Files; * @author Tony Chemit - chemit@codelutin.com */ @Ignore -@ApplicationContextResourceConfiguration(dbVersion = MigrateTestsDatabases.FROM_VERSION) +@DatabaseVersionConfiguration(MigrateTestsDatabases.FROM_VERSION) public class MigrateTestsDatabases extends AbstractServiceTopiaTest { /** Logger. */ @@ -31,19 +31,19 @@ public class MigrateTestsDatabases extends AbstractServiceTopiaTest { public static final String TO_VERSION = "5.0-2"; - @DataSourceResourceConfiguration(dbName = DatabaseName.referentiel) + @DatabaseNameConfiguration(DatabaseName.referentiel) @Test public void migrateReferentielDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { migrateReferentielDb(TO_VERSION); } - @DataSourceResourceConfiguration(dbName = DatabaseName.dataForTestSeine) + @DatabaseNameConfiguration(DatabaseName.dataForTestSeine) @Test public void migrateDataForTestSeineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { migrateReferentielDb(TO_VERSION); } - @DataSourceResourceConfiguration(dbName = DatabaseName.dataForTestLongline) + @DatabaseNameConfiguration(DatabaseName.dataForTestLongline) @Test public void migrateDataForTestLonglineDb() throws IOException, IncompatibleDataSourceCreateConfigurationException, DataSourceCreateWithNoReferentialImportException { migrateReferentielDb(TO_VERSION); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java index 4960b6b..46133ef 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java @@ -26,8 +26,6 @@ import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.referentiel.LengthWeightParameter; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Program; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.binder.BinderEngine; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDto; @@ -35,6 +33,8 @@ import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -51,7 +51,7 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -82,7 +82,7 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { //FIXME En réutilisant une table de lastUpdateDate @Ignore @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void testDelete() throws Exception { ObserveTopiaPersistenceContext tx = dataSourceResource.newPersistenceContext(); @@ -135,13 +135,13 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(form.getObject()); Assert.assertNotNull(form.getObject().getId()); - Date lastUpdateBefore = persistenceContext.getLastUpdate(entityType); + Date lastUpdateBefore = persistenceContext.getLastUpdateDate(entityType); service.delete(dtoType, entity.getTopiaId()); Assert.assertEquals(expectedCount - 1, dao.count()); - Date lastUpdateAfter = persistenceContext.getLastUpdate(entityType); + Date lastUpdateAfter = persistenceContext.getLastUpdateDate(entityType); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); try { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java index 248859a..dd08e50 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/consolidate/ConsolidateDataServiceTopiaTest.java @@ -24,10 +24,10 @@ package fr.ird.observe.services.service.actions.consolidate; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaPersistenceContext; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -39,7 +39,7 @@ import java.util.List; * * @author Tony Chemit - chemit@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class ConsolidateDataServiceTopiaTest extends AbstractServiceTopiaTest { protected ConsolidateDataService service; @@ -50,7 +50,7 @@ public class ConsolidateDataServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void testConsolidateTripSeines() throws Exception { ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java index 00b4414..73bd3be 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/AbstractReportServiceTopiaTest.java @@ -23,7 +23,6 @@ package fr.ird.observe.services.service.actions.report; import com.google.common.collect.Iterables; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.AbstractReference; import fr.ird.observe.services.dto.actions.report.DataMatrix; import fr.ird.observe.services.dto.actions.report.Report; @@ -31,6 +30,7 @@ import fr.ird.observe.services.dto.actions.report.ReportRequest; import fr.ird.observe.services.dto.actions.report.ReportVariable; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; @@ -52,7 +52,7 @@ import java.util.Map; * @author Tony Chemit - chemit@codelutin.com * @since 1.9 */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public abstract class AbstractReportServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger */ diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java index d6ddff8..95f5e5d 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/validate/ValidateServiceTopiaTest.java @@ -24,12 +24,12 @@ package fr.ird.observe.services.service.actions.validate; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -38,7 +38,7 @@ import org.nuiton.validator.NuitonValidatorScope; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class ValidateServiceTopiaTest extends AbstractServiceTopiaTest { protected ValidateService service; diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java index effc0a5..d0bef59 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopiaTest.java @@ -26,8 +26,6 @@ import fr.ird.observe.entities.longline.Basket; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.Section; import fr.ird.observe.entities.longline.SetLongline; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BasketDto; import fr.ird.observe.services.dto.longline.BranchlineDto; @@ -42,6 +40,9 @@ import fr.ird.observe.services.dto.referential.longline.HookTypeDto; import fr.ird.observe.services.dto.referential.longline.LineTypeDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; +import fr.ird.observe.test.spi.DatabaseVersionConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -50,7 +51,8 @@ import org.nuiton.util.DateUtil; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestLongline, dbVersion = AbstractServiceTopiaTest.OLD_VERSION) +@DatabaseVersionConfiguration(AbstractServiceTopiaTest.OLD_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestLongline) public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServiceTopiaTest { protected SetLonglineDetailCompositionService service; @@ -92,7 +94,7 @@ public class SetLonglineDetailCompositionServiceTopiaTest extends AbstractServic } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveTest() { Form<SetLonglineDetailCompositionDto> form = service.loadForm(SET_LONGLINE_ID); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java index 64267f4..fd383e9 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/RouteServiceTopiaTest.java @@ -22,11 +22,11 @@ package fr.ird.observe.services.service.seine; * #L% */ -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -35,7 +35,7 @@ import org.nuiton.util.DateUtil; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class RouteServiceTopiaTest extends AbstractServiceTopiaTest { protected RouteService service; diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java index 8aaa1d8..f73dfef 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopiaTest.java @@ -22,11 +22,11 @@ package fr.ird.observe.services.service.seine; * #L% */ -import fr.ird.observe.test.ApplicationContextResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.seine.TargetSampleDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -34,7 +34,7 @@ import org.junit.Test; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class TargetSampleServiceTopiaTest extends AbstractServiceTopiaTest { public static String SET_SEINE_ID = "fr.ird.observe.entities.seine.SetSeine#1359573677233#0.016313003525718517"; diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java index 93134a6..6613642 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopiaTest.java @@ -26,8 +26,6 @@ import com.google.common.collect.Iterables; import fr.ird.observe.entities.seine.GearUseFeaturesMeasurementSeine; import fr.ird.observe.entities.seine.GearUseFeaturesSeine; import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.IdDtos; import fr.ird.observe.services.dto.seine.GearUseFeaturesMeasurementSeineDto; @@ -36,6 +34,8 @@ import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; import fr.ird.observe.services.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Test; @@ -44,7 +44,7 @@ import org.nuiton.topia.persistence.TopiaEntities; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { protected TripSeineGearUseService service; @@ -111,7 +111,7 @@ public class TripSeineGearUseServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveUpdateTest() { Form<TripSeineGearUseDto> form = service.loadForm(TRIP_SEINE_ID_1); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java index 5b2400c..0e99d68 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java @@ -23,8 +23,6 @@ package fr.ird.observe.services.service.seine; */ import fr.ird.observe.entities.seine.TripSeine; -import fr.ird.observe.test.ApplicationContextResourceConfiguration; -import fr.ird.observe.test.DataSourceResourceConfiguration; import fr.ird.observe.services.ObserveServiceContextTopiaTaiste; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; @@ -43,6 +41,8 @@ import fr.ird.observe.services.service.DatabaseConnexionNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.test.DatabaseName; +import fr.ird.observe.test.spi.CopyDatabaseConfiguration; +import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; import org.junit.Ignore; @@ -55,7 +55,7 @@ import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ -@ApplicationContextResourceConfiguration(dbName = DatabaseName.dataForTestSeine, dbVersion = AbstractServiceTopiaTest.DEFAULT_VERSION) +@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { protected TripSeineService service; @@ -180,7 +180,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveCreateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.preCreate(PROGRAM_ID); @@ -234,7 +234,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveUpdateTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); @@ -289,7 +289,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } @Test(expected = ConcurrentModificationException.class) - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void saveConcurrentTest() throws BabModelVersionException, DatabaseConnexionNotAuthorizedException, DatabaseNotFoundException { Form<TripSeineDto> form = service.loadForm(TRIP_SEINE_ID_1); @@ -319,7 +319,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { //FIXME En réutilisant une table de lastUpdateDate @Ignore @Test - @DataSourceResourceConfiguration(useSharedDatabase = false) + @CopyDatabaseConfiguration public void deleteTest() { Date lastUpdateBefore = getLastUpdate(TripSeine.class); diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java deleted file mode 100644 index 9635276..0000000 --- a/observe-test-data/src/main/java/fr/ird/observe/test/ApplicationContextResourceConfiguration.java +++ /dev/null @@ -1,28 +0,0 @@ -package fr.ird.observe.test; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * To define how to load a datasource resource on a test class. - * - * Created on 25/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -public @interface ApplicationContextResourceConfiguration { - - /** - * @return version of database to use. - */ - String dbVersion() default ""; - - /** - * @return Name of database to use. - */ - DatabaseName dbName() default DatabaseName.referentiel; -} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java deleted file mode 100644 index 4356d07..0000000 --- a/observe-test-data/src/main/java/fr/ird/observe/test/DataSourceResourceConfiguration.java +++ /dev/null @@ -1,36 +0,0 @@ -package fr.ird.observe.test; - -import fr.ird.observe.test.DatabaseName; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * To define how to load a datasource resource on a test method. - * - * Created on 25/12/15. - * - * @author Tony Chemit - chemit@codelutin.com - */ -@Target(ElementType.METHOD) -@Retention(RetentionPolicy.RUNTIME) -public @interface DataSourceResourceConfiguration { - - /** - * @return version of database to use. - */ - String dbVersion() default ""; - - /** - * @return Name of database to use. - */ - DatabaseName dbName() default DatabaseName.referentiel; - - /** - * return {@code true} to use the shared database, otherwise will - * use a copy of the shared database (mainly used when you modify a database). - */ - boolean useSharedDatabase() default true; -} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java index f4fc944..aa3defc 100644 --- a/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java +++ b/observe-test-data/src/main/java/fr/ird/observe/test/TestHelper.java @@ -36,6 +36,7 @@ import org.nuiton.util.version.Versions; import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.lang.annotation.Annotation; import java.lang.reflect.Modifier; import java.net.URL; import java.util.Date; @@ -303,4 +304,13 @@ public abstract class TestHelper { } + public static <E extends Annotation> E getAnnotation(Class<?> clazz, Class<E> annotationType) { + + E dataSourceTestConfiguration = clazz.getAnnotation(annotationType); + + if (dataSourceTestConfiguration == null && clazz.getSuperclass() != null) { + dataSourceTestConfiguration = getAnnotation(clazz.getSuperclass(), annotationType); + } + return dataSourceTestConfiguration; + } } diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java new file mode 100644 index 0000000..f63e548 --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/spi/CopyDatabaseConfiguration.java @@ -0,0 +1,17 @@ +package fr.ird.observe.test.spi; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +public @interface CopyDatabaseConfiguration { + +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java new file mode 100644 index 0000000..5d37dfe --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseNameConfiguration.java @@ -0,0 +1,21 @@ +package fr.ird.observe.test.spi; + +import fr.ird.observe.test.DatabaseName; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(value = {ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface DatabaseNameConfiguration { + + DatabaseName value() default DatabaseName.referentiel; + +} diff --git a/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java b/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java new file mode 100644 index 0000000..6bd1c9d --- /dev/null +++ b/observe-test-data/src/main/java/fr/ird/observe/test/spi/DatabaseVersionConfiguration.java @@ -0,0 +1,19 @@ +package fr.ird.observe.test.spi; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * Created on 26/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +@Target(value = {ElementType.TYPE, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +public @interface DatabaseVersionConfiguration { + + String value() default ""; + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit e744c95114d9d273575e4215ae0aedf091047608 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:48:32 2015 +0100 Ajout d'une table globale des dates de dernières mises à jour (utilisé pour les suppressions) (See #7470) --- .../migration/AbstractDataSourceMigration.java | 4 +- .../DataSourceMigrationForVersion_5_0_3.java | 72 ++++++++++++++ .../db/5.0-3/add_lastUpdateDate_table-H2.sql | 106 +++++++++++++++++++++ .../db/5.0-3/add_lastUpdateDate_table-PG.sql | 106 +++++++++++++++++++++ observe-entities/src/main/xmi/observe-common.zargo | Bin 37208 -> 37603 bytes .../services/service/MigrateTestsDatabases.java | 2 +- .../resources/db/5.0-3/dataForTestSeine.sql.gz | Bin 0 -> 437565 bytes .../src/main/resources/db/5.0-3/referentiel.sql.gz | Bin 0 -> 142041 bytes pom.xml | 2 +- 9 files changed, 289 insertions(+), 3 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java index 1057701..7aaaa1f 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java @@ -90,13 +90,15 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version V_5_0__2 = Versions.valueOf("5.0-2"); + public static final Version V_5_0__3 = Versions.valueOf("5.0-3"); + /** Les versions de mise à jour disponibles. */ public static final Version[] availableVersions = new Version[]{ V_3_1, V_3_5, V_3_7, V_3_8, V_3_9, V_3_10, V_3_11, V_3_12, V_3_14, V_3_15, V_3_16, V_4_0_RC2, V_4_0_RC3, V_4_0_RC4, V_4_0_RC6, V_4_0_RC7, V_4_0, V_4_0_1, V_4_0_2, // FIXME A utiliser en version final 5.0 //V_5_0 - V_5_0__1, V_5_0__2 + V_5_0__1, V_5_0__2, V_5_0__3 }; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_3.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_3.java new file mode 100644 index 0000000..b857242 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0_3.java @@ -0,0 +1,72 @@ +package fr.ird.observe.entities.migration.versions; + +/* + * #%L + * ObServe :: Entities + * %% + * Copyright (C) 2008 - 2015 IRD, Codelutin, Tony Chemit + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program. If not, see + * <http://www.gnu.org/licenses/gpl-3.0.html>. + * #L% + */ + +import fr.ird.observe.entities.migration.AbstractDataSourceMigration; +import fr.ird.observe.entities.migration.AbstractObserveMigrationCallBack; +import fr.ird.observe.entities.migration.H2DataSourceMigration; +import fr.ird.observe.entities.migration.PGDataSourceMigration; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; + +import java.util.List; + +/** + * Created on 25/08/15. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class DataSourceMigrationForVersion_5_0_3 extends AbstractObserveMigrationCallBack { + + public DataSourceMigrationForVersion_5_0_3(AbstractDataSourceMigration callBack, String scriptSuffix) { + super(AbstractDataSourceMigration.V_5_0__3, callBack, scriptSuffix); + } + + @Override + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, + List<String> queries, + boolean showSql, + boolean showProgression) { + + // Ajout de la table lastUpdateDate + // See https://forge.codelutin.com/issues/7470 + addScript("add_lastUpdateDate_table", queries); + + } + + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_3 { + + public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, H2DataSourceMigration.TYPE); + } + + } + + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0_3 { + + public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { + super(callBack, PGDataSourceMigration.TYPE); + } + + } + +} diff --git a/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-H2.sql b/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-H2.sql new file mode 100644 index 0000000..68ce124 --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-H2.sql @@ -0,0 +1,106 @@ +DROP TABLE IF EXISTS OBSERVE_COMMON.LASTUPDATEDATE; +CREATE TABLE OBSERVE_COMMON.LASTUPDATEDATE (TOPIAID VARCHAR(255) NOT NULL, TOPIAVERSION BIGINT NOT NULL, TOPIACREATEDATE TIMESTAMP NOT NULL, TYPE VARCHAR(255) NOT NULL UNIQUE, LASTUPDATEDATE TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP); +ALTER TABLE OBSERVE_COMMON.LASTUPDATEDATE ADD CONSTRAINT PK_LASTUPDATEDATE PRIMARY KEY (TOPIAID); +DROP INDEX IF EXISTS OBSERVE_COMMON.INDEX_OBSERVE_COMMON_LASTUPDATEDATE_LASTUPDATEDATE; +CREATE INDEX OBSERVE_COMMON.INDEX_OBSERVE_COMMON_LASTUPDATEDATE_LASTUPDATEDATE ON OBSERVE_COMMON.LASTUPDATEDATE (TYPE, LASTUPDATEDATE); + +-- Referentiel commum +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Country', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.FpaZone', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Gear', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristic', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristicType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Harbour', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.LengthWeightParameter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Ocean', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Organism', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Person', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Program', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Sex', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Species', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesGroup', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesList', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Vessel', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselSizeCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselType', CURRENT_TIMESTAMP); +-- Référentiel Senne +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.19', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.DetectionMode', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.20', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.21', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.22', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.23', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObservedSystem', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.24', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForDiscard', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.26', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNullSet', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.27', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.28', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.29', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SurroundingActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.30', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.31', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.32', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.VesselActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.33', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.WeightCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.34', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.Wind', CURRENT_TIMESTAMP); +-- Référentiel Palangre +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.35', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.36', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitSettingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.37', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.38', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.CatchFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.39', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.EncounterType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.40', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.Healthness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.41', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.42', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookSize', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.43', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.44', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.45', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.46', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksColor', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.47', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightstickstTpe', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.48', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LineType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.49', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MaturityStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.50', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MitigationType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.51', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorBrand', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.52', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorDataFormat', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.53', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.54', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SettingShape', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.55', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SizeMeasureType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.56', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.StomacFullness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.57', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.TripType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.58', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.VesselActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.59', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); +-- Data Senne +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.60', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ActivitySeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.61', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.FloatingObject', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.62', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.GearUsefeaturesMeasurement', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.63', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.GearUsefeatures', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.64', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetCatch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.65', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetLength', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.66', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetSample', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.67', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ObjectObservedSpecies', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.68', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ObjectSchoolEstimate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.69', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.Route', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.70', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SchoolEstimate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.71', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SetSeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.72', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetCatch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.73', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetLength', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.74', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetSample', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.75', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TransmittingBuoy', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.76', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TripSeine', CURRENT_TIMESTAMP); +-- Data Palangre +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.77', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.ActivityLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.78', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.BaitsComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.79', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Basket', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.80', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Branchline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.81', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.BranchlinesComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.82', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Catch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.83', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Encounter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.84', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.FloatlinesComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.85', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.GearUsefeatures', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.86', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.GearUsefeaturesMeasurement', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.87', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.HooksComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.88', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Section', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.89', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SensorUsed', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.90', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SetLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.91', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SizeMeasure', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.92', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Tdr', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.93', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TdrRecord', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.94', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TripLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.95', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.WeightMeasure ', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-PG.sql b/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-PG.sql new file mode 100644 index 0000000..a9e8aab --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0-3/add_lastUpdateDate_table-PG.sql @@ -0,0 +1,106 @@ +DROP TABLE IF EXISTS OBSERVE_COMMON.LASTUPDATEDATE; +CREATE TABLE OBSERVE_COMMON.LASTUPDATEDATE (TOPIAID character varying(255) NOT NULL, TOPIAVERSION BIGINT NOT NULL, TOPIACREATEDATE TIMESTAMP NOT NULL, TYPE character varying(255) NOT NULL UNIQUE, LASTUPDATEDATE TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP); +ALTER TABLE OBSERVE_COMMON.LASTUPDATEDATE ADD CONSTRAINT PK_LASTUPDATEDATE PRIMARY KEY (TOPIAID); +DROP INDEX IF EXISTS INDEX_OBSERVE_COMMON_LASTUPDATEDATE_LASTUPDATEDATE; +CREATE INDEX INDEX_OBSERVE_COMMON_LASTUPDATEDATE_LASTUPDATEDATE ON OBSERVE_COMMON.LASTUPDATEDATE (TYPE, LASTUPDATEDATE); + +-- Referentiel commum +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Country', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.FpaZone', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Gear', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristic', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristicType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Harbour', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.LengthWeightParameter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Ocean', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Organism', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Person', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Program', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Sex', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Species', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesGroup', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesList', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Vessel', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselSizeCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselType', CURRENT_TIMESTAMP); +-- Référentiel Senne +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.19', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.DetectionMode', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.20', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.21', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.22', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.23', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObservedSystem', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.24', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForDiscard', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.26', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNullSet', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.27', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.28', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.29', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SurroundingActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.30', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.31', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.32', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.VesselActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.33', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.WeightCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.34', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.Wind', CURRENT_TIMESTAMP); +-- Référentiel Palangre +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.35', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.36', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitSettingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.37', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.38', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.CatchFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.39', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.EncounterType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.40', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.Healthness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.41', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.42', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookSize', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.43', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.44', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.45', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.46', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksColor', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.47', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightstickstTpe', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.48', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LineType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.49', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MaturityStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.50', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MitigationType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.51', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorBrand', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.52', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorDataFormat', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.53', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.54', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SettingShape', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.55', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SizeMeasureType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.56', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.StomacFullness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.57', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.TripType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.58', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.VesselActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.59', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); +-- Data Senne +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.60', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ActivitySeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.61', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.FloatingObject', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.62', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.GearUsefeaturesMeasurement', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.63', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.GearUsefeatures', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.64', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetCatch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.65', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetLength', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.66', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.NonTargetSample', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.67', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ObjectObservedSpecies', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.68', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ObjectSchoolEstimate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.69', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.Route', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.70', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SchoolEstimate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.71', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SetSeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.72', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetCatch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.73', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetLength', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.74', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TargetSample', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.75', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TransmittingBuoy', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.76', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TripSeine', CURRENT_TIMESTAMP); +-- Data Palangre +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.77', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.ActivityLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.78', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.BaitsComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.79', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Basket', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.80', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Branchline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.81', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.BranchlinesComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.82', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Catch', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.83', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Encounter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.84', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.FloatlinesComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.85', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.GearUsefeatures', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.86', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.GearUsefeaturesMeasurement', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.87', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.HooksComposition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.88', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Section', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.89', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SensorUsed', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.90', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SetLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.91', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SizeMeasure', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.92', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.Tdr', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.93', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TdrRecord', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.94', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TripLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATEDATE VALUES ('fr.ird.observe.entities.LastUpdateDate#1236861982132#0.95', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.WeightMeasure ', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/xmi/observe-common.zargo b/observe-entities/src/main/xmi/observe-common.zargo index 1dfc7c4..6816ec0 100644 Binary files a/observe-entities/src/main/xmi/observe-common.zargo and b/observe-entities/src/main/xmi/observe-common.zargo differ diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java index 71842b6..c67b4d5 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/MigrateTestsDatabases.java @@ -29,7 +29,7 @@ public class MigrateTestsDatabases extends AbstractServiceTopiaTest { public static final String FROM_VERSION = "4.0.1"; - public static final String TO_VERSION = "5.0-2"; + public static final String TO_VERSION = "5.0-3"; @DatabaseNameConfiguration(DatabaseName.referentiel) @Test diff --git a/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz new file mode 100644 index 0000000..f9f2226 Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz differ diff --git a/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz new file mode 100644 index 0000000..25eba82 Binary files /dev/null and b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz differ diff --git a/pom.xml b/pom.xml index e756b9f..0eff8c7 100644 --- a/pom.xml +++ b/pom.xml @@ -153,7 +153,7 @@ <devMode>true</devMode> <!--Modèle version--> - <observe.model.version>5.0-2</observe.model.version> + <observe.model.version>5.0-3</observe.model.version> </properties> -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit 2fd2971d1f984d1d85e3bd239c5e4b89090824c7 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 12:48:54 2015 +0100 Changement du niveau de log --- .../java/fr/ird/observe/services/service/DataSourceServiceTopia.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java index 19af79f..9150146 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/DataSourceServiceTopia.java @@ -157,8 +157,8 @@ public class DataSourceServiceTopia extends ObserveServiceTopia implements DataS ObserveTopiaApplicationContext topiaApplicationContext = ObserveTopiaApplicationContextFactory.createTopiaApplicationContext((ObserveDataSourceConfigurationTopiaSupport) dataSourceConfiguration, initSchema); - if (log.isInfoEnabled()) { - log.info("Create topia application context: " + topiaApplicationContext); + if (log.isDebugEnabled()) { + log.debug("Create topia application context: " + topiaApplicationContext); } if (dataSourceCreateConfiguration.isImportDatabase()) { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit d6fcd2b1510741359981deec9793dd24eb23caed Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:46:46 2015 +0100 Ajout de la talbe LastupdateDate dans la synchronisation du référentiel --- .../observe/ObserveTopiaPersistenceContext.java | 28 ++++++++++++++++++++- .../java/fr/ird/observe/entities/Entities.java | 4 ++- .../observe/entities/LastUpdateDateTopiaDao.java | 9 +++++++ .../dto/result/TripChildSaveResultDtos.java | 12 +++++++++ .../resources/db/5.0-3/dataForTestSeine.sql.gz | Bin 437565 -> 439122 bytes .../src/main/resources/db/5.0-3/referentiel.sql.gz | Bin 142041 -> 143337 bytes 6 files changed, 51 insertions(+), 2 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java index f3d777c..1eb669b 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -23,16 +23,43 @@ package fr.ird.observe; */ import com.google.common.base.Preconditions; +import fr.ird.observe.entities.LastUpdateDate; +import fr.ird.observe.entities.LastUpdateDateTopiaDao; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; +import java.util.Date; + public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersistenceContext { public ObserveTopiaPersistenceContext(AbstractTopiaPersistenceContextConstructorParameter parameter) { super(parameter); } + public Date getLastUpdateDate(Class entityType) { + + LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); + LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + return lastUpdateDate.getLastUpdateDate(); + + } + + public <E extends TopiaEntity> void updateLastUpdateDate(Class<E> entityType, Date date) { + + LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); + LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + lastUpdateDate.setLastUpdateDate(date); + + } + + public <E extends TopiaEntity> void updateLastUpdateDate(E entityType, Date date) { + + Class<E> type = getType(entityType); + updateLastUpdateDate(type, date); + + } + public void flush() { getHibernateSupport().getHibernateSession().flush(); } @@ -48,5 +75,4 @@ public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersiste public <E extends TopiaEntity> TopiaDao<E> getDao(E entity) { return getDao(getType(entity)); } - } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java index b2d3f62..2df93dc 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Entities.java @@ -72,7 +72,8 @@ public class Entities { ObserveEntityEnum.Program, ObserveEntityEnum.GearCaracteristicType, ObserveEntityEnum.GearCaracteristic, - ObserveEntityEnum.Gear + ObserveEntityEnum.Gear, + ObserveEntityEnum.LastUpdateDate }; public static final ObserveEntityEnum[] REFERENCE_SEINE_ENTITIES = @@ -153,6 +154,7 @@ public class Entities { ObserveEntityEnum.GearCaracteristicType, ObserveEntityEnum.GearCaracteristic, ObserveEntityEnum.Gear, + ObserveEntityEnum.LastUpdateDate, ObserveEntityEnum.VesselActivitySeine, ObserveEntityEnum.SurroundingActivity, diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/LastUpdateDateTopiaDao.java b/observe-entities/src/main/java/fr/ird/observe/entities/LastUpdateDateTopiaDao.java new file mode 100644 index 0000000..e8c5582 --- /dev/null +++ b/observe-entities/src/main/java/fr/ird/observe/entities/LastUpdateDateTopiaDao.java @@ -0,0 +1,9 @@ +package fr.ird.observe.entities; + +public class LastUpdateDateTopiaDao extends AbstractLastUpdateDateTopiaDao<LastUpdateDate> { + + public LastUpdateDate findUniqueByType(String v) { + return forTypeEquals(v).findUnique(); + } + +} diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java new file mode 100644 index 0000000..56d2d6c --- /dev/null +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/result/TripChildSaveResultDtos.java @@ -0,0 +1,12 @@ +package fr.ird.observe.services.dto.result; + +public class TripChildSaveResultDtos extends AbstractTripChildSaveResultDtos { + + public static TripChildSaveResultDto of(SaveResultDto incoming) { + TripChildSaveResultDto result = new TripChildSaveResultDto(); + result.setId(incoming.getId()); + result.setLastUpdate(incoming.getLastUpdate()); + return result; + } + +} diff --git a/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz index f9f2226..e776b2d 100644 Binary files a/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz and b/observe-test-data/src/main/resources/db/5.0-3/dataForTestSeine.sql.gz differ diff --git a/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz index 25eba82..508bb0a 100644 Binary files a/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz and b/observe-test-data/src/main/resources/db/5.0-3/referentiel.sql.gz differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit 8bd2466f6556559993b76de3f465460b4434c15d Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:48:08 2015 +0100 Mise en place de la mise à jour de la date de dernière mise à jour lors de la sauvegarde ou suppression d'une entité (il faudra bien repasser sur chaque appel, car il me semble que cela n'est pas bien géré partout) (See #7470) --- .../ird/observe/services/ObserveServiceTopia.java | 74 ++++++++++++---------- .../services/service/ReferentialServiceTopia.java | 9 +-- .../ActivityLongLineEncouterServiceTopia.java | 9 +-- .../ActivityLongLineSensorUsedServiceTopia.java | 9 +-- .../longline/ActivityLonglineServiceTopia.java | 13 ++-- .../service/longline/BranchlineServiceTopia.java | 7 +- .../longline/SetLonglineCatchServiceTopia.java | 9 +-- .../SetLonglineDetailCompositionServiceTopia.java | 7 +- .../SetLonglineGlobalCompositionServiceTopia.java | 9 +-- .../service/longline/SetLonglineServiceTopia.java | 7 +- .../services/service/longline/TdrServiceTopia.java | 9 +-- .../longline/TripLonglineGearUseServiceTopia.java | 7 +- .../service/longline/TripLonglineServiceTopia.java | 9 ++- .../ActivitySeineObservedSystemServiceTopia.java | 9 +-- .../service/seine/ActivitySeineServiceTopia.java | 11 ++-- .../service/seine/FloatingObjectServiceTopia.java | 8 +-- .../service/seine/NonTargetCatchServiceTopia.java | 6 +- .../service/seine/NonTargetSampleServiceTopia.java | 6 +- .../seine/ObjectObservedSpeciesServiceTopia.java | 9 +-- .../seine/ObjectSchoolEstimateServiceTopia.java | 9 +-- .../services/service/seine/RouteServiceTopia.java | 13 ++-- .../service/seine/SchoolEstimateServiceTopia.java | 6 +- .../service/seine/SetSeineServiceTopia.java | 5 +- .../service/seine/TargetCatchServiceTopia.java | 6 +- .../service/seine/TargetSampleServiceTopia.java | 6 +- .../TransmittingBuoyOperationServiceTopia.java | 9 +-- .../seine/TripSeineGearUseServiceTopia.java | 13 +--- .../service/seine/TripSeineServiceTopia.java | 9 ++- 28 files changed, 93 insertions(+), 210 deletions(-) diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index fa44f55..822db49 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -31,7 +31,6 @@ import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.Entities; import fr.ird.observe.entities.ObserveDataEntity; import fr.ird.observe.entities.ObserveEntity; -import fr.ird.observe.entities.ObserveEntityTopiaDao; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.services.binder.BinderEngine; @@ -52,6 +51,8 @@ import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefiniti import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.service.ConcurrentModificationException; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.observe.services.service.DataSourceService; @@ -144,55 +145,64 @@ public abstract class ObserveServiceTopia implements ObserveService { return entities; } - protected <E extends ObserveEntity> Date saveFollowedEntity(E entity) { + protected <E extends ObserveEntity> Optional<Date> getLastUpdate(Class<E> entityType) { - Date lastUpdateDate = now(); - entity.setLastUpdateDate(lastUpdateDate); + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + Date lastUpdateDate = persistenceContext.getLastUpdateDate(entityType); + Optional<Date> result = Optional.fromNullable(lastUpdateDate); - // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) - TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entity); - dao.update(entity); + return result; + } - return lastUpdateDate; + protected <D extends IdDto, E extends ObserveEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + TopiaDao<E> dao = persistenceContext.getDao(entityType); + for (String id : ids) { + E entity = dao.forTopiaIdEquals(id).findUniqueOrNull(); + if (entity == null) { + throw new DataNotFoundException(dtoType, id); + } + dao.delete(entity); + } + + persistenceContext.updateLastUpdateDate(entityType, now()); } - //FIXME Remove this ? - @Deprecated - protected <P extends ObserveEntity, E extends ObserveEntity> Date saveFollowedEntity(P parentEntity, E entity) { + protected <E extends ObserveEntity> SaveResultDto saveEntity(E entity) { + + Date lastUpdateDate = now(); + entity.setLastUpdateDate(lastUpdateDate); + + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) - TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entity); + TopiaDao<E> dao = persistenceContext.getDao(entity); dao.update(entity); - Date lastUpdateDate = now(); - parentEntity.setLastUpdateDate(lastUpdateDate); - entity.setLastUpdateDate(lastUpdateDate); + persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); - return lastUpdateDate; + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); } - protected <E extends ObserveEntity> Optional<Date> getLastUpdate(Class<E> entityType) { + protected <P extends ObserveEntity, E extends ObserveEntity> SaveResultDto saveEntity(P parenEntity, E entity) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - ObserveEntityTopiaDao dao = (ObserveEntityTopiaDao) persistenceContext.getDao(entityType); + Date lastUpdateDate = now(); - Optional<Date> result = Optional.fromNullable(dao.getLastUpdateDate()); + parenEntity.setLastUpdateDate(lastUpdateDate); + entity.setLastUpdateDate(lastUpdateDate); - return result; - } + ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); + + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) + TopiaDao<E> dao = persistenceContext.getDao(entity); + dao.update(entity); + + persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); + + return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - protected <D extends IdDto, E extends TopiaEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { - ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); - TopiaDao<E> dao = persistenceContext.getDao(entityType); - for (String id : ids) { - E entity = dao.forTopiaIdEquals(id).findUniqueOrNull(); - if (entity == null) { - throw new DataNotFoundException(dtoType, id); - } - dao.delete(entity); - } } protected <E extends TopiaEntity, D extends DataDto> Form<D> dataEntityToForm(Class<D> dtoType, diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index c2a5831..4b6df57 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -45,7 +45,6 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; @@ -161,16 +160,10 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe } public <D extends ReferentialDto> SaveResultDto save(D dto) { - Class<D> dtoType = (Class<D>) dto.getClass(); - Class<ObserveReferentialEntity> entityType = getReferentialEntityType(dtoType); ObserveReferentialEntity entity = loadOrCreateEntityFromReferentialDto(dto); - copyReferentialDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java index 39cf17f..53fb1c4 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineEncouterServiceTopia.java @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineEncouterDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; - -import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -55,12 +52,8 @@ public class ActivityLongLineEncouterServiceTopia extends ObserveServiceTopia im public SaveResultDto save(ActivityLonglineEncouterDto dto) { ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java index 649a9df..b4ad724 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLongLineSensorUsedServiceTopia.java @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineSensorUsedDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; - -import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -54,12 +51,8 @@ public class ActivityLongLineSensorUsedServiceTopia extends ObserveServiceTopia public SaveResultDto save(ActivityLonglineSensorUsedDto dto) { ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java index 460e63e..9d5524e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/ActivityLonglineServiceTopia.java @@ -35,7 +35,9 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.ActivityLonglineDto; import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; +import fr.ird.observe.services.dto.result.TripChildSaveResultDtos; import fr.ird.observe.services.service.DataNotFoundException; import fr.ird.type.CoordinateHelper; @@ -159,18 +161,15 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements @Override public TripChildSaveResultDto save(String tripLonglineId, ActivityLonglineDto dto) { - TripChildSaveResultDto result = new TripChildSaveResultDto(); - TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto saveResultDto = saveEntity(entity); - result.setId(entity.getTopiaId()); - result.setLastUpdate(lastUpdateDate); + TripChildSaveResultDto result = TripChildSaveResultDtos.of(saveResultDto); if (dto.isNotPersisted()) { @@ -215,7 +214,7 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.addActivityLongline(activityLongline); - saveFollowedEntity(tripLongline); + saveEntity(tripLongline); return getActivityLonglinePositionInTripLongline(tripLongline, activityLongline); @@ -235,7 +234,7 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements result.add(getActivityLonglinePositionInTripLongline(tripLongline, activityLongline)); } - saveFollowedEntity(tripLongline); + saveEntity(tripLongline); return result; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java index 349756a..cb4e638 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/BranchlineServiceTopia.java @@ -8,9 +8,6 @@ import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; - -import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -41,9 +38,7 @@ public class BranchlineServiceTopia extends ObserveServiceTopia implements Branc copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(setLongline, entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(setLongline, entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java index 3085880..76b3e04 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineCatchServiceTopia.java @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineCatchDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; - -import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -101,12 +98,8 @@ public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements public SaveResultDto save(SetLonglineCatchDto dto) { SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java index 949b718..8476de2 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineDetailCompositionServiceTopia.java @@ -34,9 +34,6 @@ import fr.ird.observe.services.dto.longline.SectionDto; import fr.ird.observe.services.dto.longline.SetLonglineDetailCompositionDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; - -import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -103,13 +100,13 @@ public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopi copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); for (Section section : entity.getSection()) { section.setSetLongline(entity); } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java index 6f99b5d..732a8d9 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineGlobalCompositionServiceTopia.java @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineGlobalCompositionDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; - -import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -54,12 +51,8 @@ public class SetLonglineGlobalCompositionServiceTopia extends ObserveServiceTopi public SaveResultDto save(SetLonglineGlobalCompositionDto dto) { SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java index 8e03be4..eb1095f 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/SetLonglineServiceTopia.java @@ -37,7 +37,6 @@ import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.longline.SetLonglineStubDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.service.DataNotFoundException; import org.apache.commons.lang3.time.DateUtils; @@ -136,15 +135,13 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); if (dto.isNotPersisted()) { - activityLongline.setSetLongline(entity); - } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java index 01ccff0..c0ecda1 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TdrServiceTopia.java @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.SetLonglineTdrDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; - -import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -102,12 +99,8 @@ public class TdrServiceTopia extends ObserveServiceTopia implements TdrService { public SaveResultDto save(SetLonglineTdrDto dto) { SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java index 5da1029..cb7770c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineGearUseServiceTopia.java @@ -28,9 +28,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.TripLonglineGearUseDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; - -import java.util.Date; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -58,14 +55,12 @@ public class TripLonglineGearUseServiceTopia extends ObserveServiceTopia impleme copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + return saveEntity(entity); //FIXME Quel est le lien avec les mises en oeuvre d'un engin, ne serait-ce qu'un jolie copier-coller // TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); // dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); - } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java index 7a31e8c..e526d16 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/longline/TripLonglineServiceTopia.java @@ -37,7 +37,6 @@ import fr.ird.observe.services.dto.longline.TripLonglineDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import org.nuiton.util.DateUtil; import java.util.ArrayList; @@ -163,12 +162,12 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); TripLonglineTopiaDao dao = getTopiaPersistenceContext().getTripLonglineDao(); dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } @@ -185,7 +184,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri Program program = loadEntity(ProgramDto.class, programId); tripLongline.setProgram(program); - saveFollowedEntity(tripLongline); + saveEntity(tripLongline); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); @@ -207,7 +206,7 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); tripLongline.setProgram(program); - saveFollowedEntity(tripLongline); + saveEntity(tripLongline); persistenceContext.flush(); result.add(getTripLonglinePositionInProgram(programId, tripLonglineId)); diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java index a1edbab..9a3f757 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineObservedSystemServiceTopia.java @@ -27,11 +27,8 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineObservedSystemDto; -import java.util.Date; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -53,12 +50,8 @@ public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia public SaveResultDto save(ActivitySeineObservedSystemDto dto) { ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java index 5416d8e..ff31660 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ActivitySeineServiceTopia.java @@ -35,7 +35,6 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.service.DataNotFoundException; @@ -181,15 +180,13 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); if (dto.isNotPersisted()) { - route.addActivitySeine(entity); - } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } @@ -215,7 +212,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac Route route = loadEntity(RouteDto.class, routeId); route.addActivitySeine(activitySeine); - saveFollowedEntity(route); + saveEntity(route); return getActivitySeinePositionInRoute(route, activitySeine); @@ -235,7 +232,7 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac result.add(getActivitySeinePositionInRoute(routeId, activityId)); } - saveFollowedEntity(route); + saveEntity(route); return result; diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java index ab7235e..2632952 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/FloatingObjectServiceTopia.java @@ -32,12 +32,10 @@ import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.FloatingObjectDto; import fr.ird.observe.services.service.DataNotFoundException; -import java.util.Date; import java.util.List; /** @@ -108,15 +106,13 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); if (dto.isNotPersisted()) { - activitySeine.addFloatingObject(entity); - } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java index 267503a..57b91b1 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetCatchServiceTopia.java @@ -37,13 +37,11 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.NonTargetCatchDto; import fr.ird.observe.services.dto.seine.SetSeineNonTargetCatchDto; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.nuiton.topia.persistence.TopiaEntities; -import java.util.Date; import java.util.Set; /** @@ -144,9 +142,7 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N } } - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java index 039633c..c93f36e 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/NonTargetSampleServiceTopia.java @@ -32,12 +32,10 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.NonTargetSampleDto; import fr.ird.observe.services.dto.seine.SetSeineDto; import java.util.Collection; -import java.util.Date; import java.util.Set; /** @@ -128,9 +126,7 @@ public class NonTargetSampleServiceTopia extends ObserveServiceTopia implements } - Date lastUpdateDate = saveFollowedEntity(setSeine, entity); - - return SaveResultDtos.of(setSeine.getTopiaId(), lastUpdateDate); + return saveEntity(setSeine, entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java index 024ae98..dbd4b07 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectObservedSpeciesServiceTopia.java @@ -27,11 +27,8 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.FloatingObjectObservedSpeciesDto; -import java.util.Date; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -56,12 +53,8 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple public SaveResultDto save(FloatingObjectObservedSpeciesDto dto) { FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java index 579266c..87dac72 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/ObjectSchoolEstimateServiceTopia.java @@ -27,11 +27,8 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.FloatingObjectSchoolEstimateDto; -import java.util.Date; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -57,12 +54,8 @@ public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implem public SaveResultDto save(FloatingObjectSchoolEstimateDto dto) { FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java index 9b2eafd..4f298be 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/RouteServiceTopia.java @@ -38,6 +38,7 @@ import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.constants.ReferentialLocale; +import fr.ird.observe.services.dto.result.SaveResultDto; import fr.ird.observe.services.dto.result.TripChildSaveResultDto; import fr.ird.observe.services.dto.seine.ActivitySeineStubDto; import fr.ird.observe.services.dto.seine.RouteDto; @@ -198,16 +199,16 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto saveResultDto = saveEntity(entity); - result.setId(entity.getTopiaId()); - result.setLastUpdate(lastUpdateDate); + result.setId(saveResultDto.getId()); + result.setLastUpdate(saveResultDto.getLastUpdate()); if (dto.isNotPersisted()) { tripSeine.addRoute(entity); - saveFollowedEntity(tripSeine); + saveEntity(tripSeine); } else { Date oldDate = DateUtil.getDay(oldRouteDate); @@ -255,7 +256,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi Route route = loadEntity(RouteDto.class, routeId); TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); tripSeine.addRoute(route); - saveFollowedEntity(tripSeine); + saveEntity(tripSeine); ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); persistenceContext.flush(); @@ -276,7 +277,7 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi result.add(getRoutePositionInTripSeine(tripSeine, route)); } - saveFollowedEntity(tripSeine); + saveEntity(tripSeine); return result; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java index c0f5694..65adbeb 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SchoolEstimateServiceTopia.java @@ -30,12 +30,9 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.SetSeineSchoolEstimateDto; import fr.ird.observe.services.dto.seine.TripSeineDto; -import java.util.Date; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -71,8 +68,7 @@ public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements S schoolEstimate.setSetSeine(entity); } - Date lastUpdateDate = saveFollowedEntity(entity); - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java index 6e516dd..c2b0bce 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/SetSeineServiceTopia.java @@ -31,7 +31,6 @@ import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.ActivitySeineDto; import fr.ird.observe.services.dto.seine.RouteDto; import fr.ird.observe.services.dto.seine.SetSeineDto; @@ -127,7 +126,7 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); if (dto.isNotPersisted()) { @@ -135,7 +134,7 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein } - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java index a27ef1f..4e26028 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetCatchServiceTopia.java @@ -17,7 +17,6 @@ import fr.ird.observe.services.binder.data.DataBinderSupport; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.SetSeineTargetCatchDto; import fr.ird.observe.services.dto.seine.TargetCatchDto; import fr.ird.observe.services.dto.seine.TargetCatchDtos; @@ -25,7 +24,6 @@ import fr.ird.observe.services.dto.seine.TripSeineDto; import org.nuiton.topia.persistence.TopiaEntities; import java.util.Collection; -import java.util.Date; import java.util.List; import java.util.Set; @@ -148,9 +146,7 @@ public class TargetCatchServiceTopia extends ObserveServiceTopia implements Targ Optional<TargetCatch> targetCatchDiscardedOptional = Iterables.tryFind(entity.getTargetCatch(), TargetCatchs.newDiscardedPredicate(true)); entity.setTargetDiscarded(targetCatchDiscardedOptional.isPresent()); - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java index 8697d4d..0934319 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TargetSampleServiceTopia.java @@ -32,13 +32,11 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.SetSeineDto; import fr.ird.observe.services.dto.seine.TargetSampleDto; import org.apache.commons.lang3.BooleanUtils; import java.util.Collection; -import java.util.Date; import java.util.Set; /** @@ -132,9 +130,7 @@ public class TargetSampleServiceTopia extends ObserveServiceTopia implements Tar } - Date lastUpdateDate = saveFollowedEntity(setSeine, entity); - - return SaveResultDtos.of(setSeine.getTopiaId(), lastUpdateDate); + return saveEntity(setSeine, entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java index 821e03f..8e29444 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TransmittingBuoyOperationServiceTopia.java @@ -27,11 +27,8 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.FloatingObjectTransmittingBuoyDto; -import java.util.Date; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -57,12 +54,8 @@ public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia i public SaveResultDto save(FloatingObjectTransmittingBuoyDto dto) { FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java index 4fd50ae..0fd9082 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineGearUseServiceTopia.java @@ -27,11 +27,8 @@ import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.TripSeineGearUseDto; -import java.util.Date; - /** * @author Sylvain Bavencoff - bavencoff@codelutin.com */ @@ -55,16 +52,8 @@ public class TripSeineGearUseServiceTopia extends ObserveServiceTopia implements public SaveResultDto save(TripSeineGearUseDto dto) { TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - copyDataDtoToEntity(dto, entity); - - Date lastUpdateDate = saveFollowedEntity(entity); - - //FIXME Quel est le lien avec les mises en oeuvre d'un engin, ne serait-ce qu'un jolie copier-coller -// TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); -// dao.updateEndDate(entity); - - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return saveEntity(entity); } } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java index 8649932..f7a3812 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/seine/TripSeineServiceTopia.java @@ -36,7 +36,6 @@ import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.result.SaveResultDto; -import fr.ird.observe.services.dto.result.SaveResultDtos; import fr.ird.observe.services.dto.seine.TripSeineDto; import org.nuiton.util.DateUtil; @@ -169,12 +168,12 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe copyDataDtoToEntity(dto, entity); - Date lastUpdateDate = saveFollowedEntity(entity); + SaveResultDto result = saveEntity(entity); TripSeineTopiaDao dao = getTopiaPersistenceContext().getTripSeineDao(); dao.updateEndDate(entity); - return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); + return result; } @@ -191,7 +190,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); Program program = loadEntity(ProgramDto.class, programId); tripSeine.setProgram(program); - saveFollowedEntity(tripSeine); + saveEntity(tripSeine); getTopiaPersistenceContext().flush(); @@ -211,7 +210,7 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe TripSeine tripSeine = loadEntity(TripSeineDto.class, tripSeineId); tripSeine.setProgram(program); - saveFollowedEntity(tripSeine); + saveEntity(tripSeine); getTopiaPersistenceContext().flush(); result.add(getTripSeinePositionInProgram(programId, tripSeineId)); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit cde7c09f0c3fb2bbb5b40e67a8f0eb873bc90e07 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 14:48:49 2015 +0100 Utilisation de la dernière version du modèle de persistence --- .../java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java index 7e9fe9a..80a233e 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java @@ -28,7 +28,7 @@ public class AbstractServiceTopiaTest { public static final String OLD_VERSION = "4.0.1"; - public static final String DEFAULT_VERSION = "5.0-2"; + public static final String DEFAULT_VERSION = "5.0-3"; public static final String TRIP_SEINE_ID_1 = "fr.ird.observe.entities.seine.TripSeine#1359167789871#0.6765335978809843"; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit a97c28b20462334daaab8e5efedb97d4d2f9102e Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:16:19 2015 +0100 Suppression d'un test inutile --- .../report/ReportSetByAssociation2Test.java | 50 ---------------------- 1 file changed, 50 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociation2Test.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociation2Test.java deleted file mode 100644 index c20e07b..0000000 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/actions/report/ReportSetByAssociation2Test.java +++ /dev/null @@ -1,50 +0,0 @@ -/* - * #%L - * ObServe :: Business - * %% - * Copyright (C) 2008 - 2010 IRD, Codelutin, Tony Chemit - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * <http://www.gnu.org/licenses/gpl-3.0.html>. - * #L% - */ -package fr.ird.observe.services.service.actions.report; - - -import fr.ird.observe.services.dto.actions.report.DataMatrix; -import org.junit.Ignore; - -/** - * Pour tester le report {@code dailySetAndCapture}. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 1.9 - */ -@Ignore -public class ReportSetByAssociation2Test extends ReportSetByAssociationTest { - - @Override - protected void testReportResult(DataMatrix result) { - assertResultDimension(result, 5, 3, 0, 0); - - // les 8 sets qu test 1 - // 10 calées representant chaque cas (set +, -) sur les 4 types - // d'association (le cas du BL sans 11 est traité 2 fois : une fois - // sans SO et une fois avec un BL spécifié) - assertResultRow(result, 0, "3", "2", "2", "2", "9"); - assertResultRow(result, 1, "3", "2", "2", "2", "9"); - assertResultRow(result, 2, "6", "4", "4", "4", "18"); - - } -} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit e0e0eacaa0c7b4edecbab50ad5540c487682d9bc Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:17:11 2015 +0100 Faire fonctionner les tests de suppression (mais ajout d'un fixme) --- .../service/ReferentialServiceTopiaTest.java | 17 ++++------- .../service/seine/TripSeineServiceTopiaTest.java | 33 ++++------------------ 2 files changed, 12 insertions(+), 38 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java index 46133ef..9e65256 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java @@ -32,17 +32,13 @@ import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; -import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.nuiton.topia.persistence.TopiaDao; -import org.nuiton.topia.persistence.TopiaEntity; import java.util.Date; @@ -51,7 +47,6 @@ import java.util.Date; * * @author Tony Chemit - chemit@codelutin.com */ -@DatabaseNameConfiguration(DatabaseName.dataForTestSeine) public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { /** Logger. */ @@ -79,8 +74,6 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } - //FIXME En réutilisant une table de lastUpdateDate - @Ignore @Test @CopyDatabaseConfiguration public void testDelete() throws Exception { @@ -120,12 +113,12 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } } - protected void delete(ObserveTopiaPersistenceContext persistenceContext, Class dtoType, Class entityType) { + protected <D extends ReferentialDto, E extends ObserveReferentialEntity> void delete(ObserveTopiaPersistenceContext persistenceContext, Class<D> dtoType, Class<E> entityType) { - TopiaDao<?> dao = persistenceContext.getDao(entityType); + TopiaDao<E> dao = persistenceContext.getDao(entityType); long expectedCount = dao.count(); - TopiaEntity entity = dao.iterator().next(); + E entity = dao.iterator().next(); if (log.isInfoEnabled()) { log.info("Test delete: " + entity.getTopiaId()); } @@ -141,7 +134,9 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(expectedCount - 1, dao.count()); - Date lastUpdateAfter = persistenceContext.getLastUpdateDate(entityType); + //FIXME On ne voit pas la date de mise à jour ici? alors que le dao est ok +// Date lastUpdateAfter = persistenceContext.getLastUpdateDate(entityType); + Date lastUpdateAfter = getLastUpdateDate(entityType); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); try { diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java index 0e99d68..c7a06a4 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java @@ -27,7 +27,6 @@ import fr.ird.observe.services.ObserveServiceContextTopiaTaiste; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; -import fr.ird.observe.services.dto.IdDto; import fr.ird.observe.services.dto.referential.HarbourDto; import fr.ird.observe.services.dto.referential.OceanDto; import fr.ird.observe.services.dto.referential.PersonDto; @@ -45,7 +44,6 @@ import fr.ird.observe.test.spi.CopyDatabaseConfiguration; import fr.ird.observe.test.spi.DatabaseNameConfiguration; import org.junit.Assert; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import org.nuiton.util.DateUtil; @@ -208,7 +206,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { tripSeineDto.setComment("Un commentaire"); - Date lastUpdateBefore = getLastUpdate(TripSeine.class); + Date lastUpdateBefore = getLastUpdateDate(TripSeine.class); SaveResultDto saveResult = service.save(form.getObject()); @@ -229,7 +227,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeineDto.getComment(), tripSeine.getComment()); Assert.assertNotNull(tripSeine.getLastUpdateDate()); - Date lastUpdateAfter = getLastUpdate(TripSeine.class); + Date lastUpdateAfter = getLastUpdateDate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); } @@ -261,7 +259,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { tripSeineDto.setComment("Un commentaire"); - Date lastUpdateBefore = getLastUpdate(TripSeine.class); + Date lastUpdateBefore = getLastUpdateDate(TripSeine.class); service.save(form.getObject()); @@ -283,7 +281,7 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(tripSeine.getLastUpdateDate()); Assert.assertNotEquals(tripSeineDto.getLastUpdate(), tripSeine.getLastUpdateDate()); - Date lastUpdateAfter = getLastUpdate(TripSeine.class); + Date lastUpdateAfter = getLastUpdateDate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); } @@ -316,13 +314,11 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { } - //FIXME En réutilisant une table de lastUpdateDate - @Ignore @Test @CopyDatabaseConfiguration public void deleteTest() { - Date lastUpdateBefore = getLastUpdate(TripSeine.class); + Date lastUpdateBefore = getLastUpdateDate(TripSeine.class); service.delete(TRIP_SEINE_ID_1); @@ -332,26 +328,9 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertFalse(dataSourceResource.exists(TripSeine.class, TRIP_SEINE_ID_1)); - Date lastUpdateAfter = getLastUpdate(TripSeine.class); + Date lastUpdateAfter = getLastUpdateDate(TripSeine.class); Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); } - protected <T extends IdDto> void assertTripFormLabels(Form<T> form) { - - //FIXME Topia test -// Assert.assertNotNull(formDto.getLabels()); -// -// Set<Class<?>> types = ReferenceSetDtos.getTypes(formDto.getLabels()); -// Assert.assertTrue(types.contains(PersonDto.class)); -// Assert.assertTrue(types.contains(VesselDto.class)); -// Assert.assertTrue(types.contains(OceanDto.class)); -// Assert.assertTrue(types.contains(HarbourDto.class)); -// Assert.assertTrue(types.contains(ProgramDto.class)); -// Assert.assertEquals(5, types.size()); -// Assert.assertEquals(8, formDto.sizeLabels()); - - } - - } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit 8679f9c2dc89e1e15cd1edde92f3c3f34e155f1a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:18:45 2015 +0100 Amélioration du code de mise à jour --- .../observe/ObserveTopiaPersistenceContext.java | 33 ++++++++++++++++------ .../ird/observe/services/ObserveServiceTopia.java | 17 ++--------- 2 files changed, 27 insertions(+), 23 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java index 1eb669b..70330ca 100644 --- a/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java +++ b/observe-entities/src/main/java/fr/ird/observe/ObserveTopiaPersistenceContext.java @@ -25,6 +25,9 @@ package fr.ird.observe; import com.google.common.base.Preconditions; import fr.ird.observe.entities.LastUpdateDate; import fr.ird.observe.entities.LastUpdateDateTopiaDao; +import fr.ird.observe.entities.ObserveEntity; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.internal.AbstractTopiaPersistenceContextConstructorParameter; @@ -33,30 +36,44 @@ import java.util.Date; public class ObserveTopiaPersistenceContext extends AbstractObserveTopiaPersistenceContext { + /** Logger. */ + private static final Log log = LogFactory.getLog(ObserveTopiaPersistenceContext.class); + public ObserveTopiaPersistenceContext(AbstractTopiaPersistenceContextConstructorParameter parameter) { super(parameter); } - public Date getLastUpdateDate(Class entityType) { + public <E extends ObserveEntity> Date getLastUpdateDate(Class<E> entityType) { LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + if (log.isInfoEnabled()) { + log.info("getLastUpdateDate: " + lastUpdateDate.getLastUpdateDate() + " for entity type: " + entityType.getName()); + } return lastUpdateDate.getLastUpdateDate(); } - public <E extends TopiaEntity> void updateLastUpdateDate(Class<E> entityType, Date date) { + public <E extends ObserveEntity> void updateLastUpdateDate(E entity, Date date) { - LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); - LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); - lastUpdateDate.setLastUpdateDate(date); + entity.setLastUpdateDate(date); + + // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) + getDao(entity).update(entity); + + Class<E> type = getType(entity); + updateLastUpdateDate(type, date); } - public <E extends TopiaEntity> void updateLastUpdateDate(E entityType, Date date) { + public <E extends ObserveEntity> void updateLastUpdateDate(Class<E> entityType, Date date) { - Class<E> type = getType(entityType); - updateLastUpdateDate(type, date); + LastUpdateDateTopiaDao dao = getDao(LastUpdateDate.class, LastUpdateDateTopiaDao.class); + LastUpdateDate lastUpdateDate = dao.findUniqueByType(entityType.getName()); + if (log.isInfoEnabled()) { + log.info("Change LastUpdateDate: " + date + " for entity type: " + entityType.getName()); + } + lastUpdateDate.setLastUpdateDate(date); } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index 822db49..e81b0c6 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -172,15 +172,8 @@ public abstract class ObserveServiceTopia implements ObserveService { protected <E extends ObserveEntity> SaveResultDto saveEntity(E entity) { Date lastUpdateDate = now(); - entity.setLastUpdateDate(lastUpdateDate); - ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); - - // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) - TopiaDao<E> dao = persistenceContext.getDao(entity); - dao.update(entity); - - persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); + getTopiaPersistenceContext().updateLastUpdateDate(entity, lastUpdateDate); return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); @@ -190,15 +183,9 @@ public abstract class ObserveServiceTopia implements ObserveService { Date lastUpdateDate = now(); - parenEntity.setLastUpdateDate(lastUpdateDate); - entity.setLastUpdateDate(lastUpdateDate); - ObserveTopiaPersistenceContext persistenceContext = getTopiaPersistenceContext(); - // on met à jour l'entité (cela permet de récupérer son topiaId si l'objet est créé) - TopiaDao<E> dao = persistenceContext.getDao(entity); - dao.update(entity); - + persistenceContext.updateLastUpdateDate(parenEntity, lastUpdateDate); persistenceContext.updateLastUpdateDate(entity, lastUpdateDate); return SaveResultDtos.of(entity.getTopiaId(), lastUpdateDate); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7470_mise_en_place_de_la_date_de_derniere_mise_a_jour in repository tutti. See http://git.codelutin.com/tutti.git commit 6662c85160020e6cd75049709eec1d20cbc6ee92 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Dec 26 15:20:25 2015 +0100 Renommage méthode de test --- .../fr/ird/observe/services/service/AbstractServiceTopiaTest.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java index 80a233e..9fc9ad2 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java @@ -44,11 +44,10 @@ public class AbstractServiceTopiaTest { @Rule public final DataSourceResource dataSourceResource = new DataSourceResource(applicationContextResource); - protected Date getLastUpdate(Class entityType) { + protected <E extends ObserveEntity> Date getLastUpdateDate(Class<E> entityType) { try (ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext()) { return persistenceContext.getLastUpdateDate(entityType); } - } protected void loadReferenceSets(ReferentialService referentialService, Form<?> form) { @@ -70,7 +69,6 @@ public class AbstractServiceTopiaTest { } else { Assert.assertEquals(entity.getTopiaId(), referenceDto.getId()); } - } protected void assertReferenceDtoEqualsEntity(ReferentialReference referenceDto, ObserveEntity entity) { @@ -79,7 +77,6 @@ public class AbstractServiceTopiaTest { } else { Assert.assertEquals(referenceDto.getId(), entity.getTopiaId()); } - } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm