branch develop updated (e7d038d -> 4219603)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git from e7d038d Corrige l'export des données observateurs en serveur distant new 24e81eb improve configuration in web application (only one page) + improve mapping new 4219603 Fix legacy synchronization always play insert, then update and finally delete request in this order + begin de fix fixes... The 2 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 4219603bae1c33a8c25ddcedfa23fb799792af48 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Sep 7 17:39:09 2016 +0200 Fix legacy synchronization always play insert, then update and finally delete request in this order + begin de fix fixes... commit 24e81eb84efcab33686016e10b8e0f7bde12c2dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Sep 7 15:05:40 2016 +0200 improve configuration in web application (only one page) + improve mapping Summary of changes: .../swing/db/ObserveSwingDataSource.java | 18 +- .../swing/ui/admin/save/SaveLocalUIHandler.java | 2 +- .../referential/legacy/SynchronizeUIHandler.java | 9 +- application-web/pom.xml | 20 +- .../{v1 => }/ConfigurationController.java | 102 +++--- .../v1/LastUpdateDateServiceController.java | 26 ++ ...ferentialSynchronizeLocalServiceController.java | 5 + application-web/src/main/resources/mapping | 354 ++++++++++----------- .../services/topia/ObserveServiceTopia.java | 100 +----- .../topia/service/LastUpdateDateServiceTopia.java | 88 +++++ .../topia/service/ReferentialServiceTopia.java | 15 +- ...nalReferentialSynchronizeLocalServiceTopia.java | 21 +- .../ActivityLongLineEncounterServiceTopia.java | 3 +- .../ActivityLongLineSensorUsedServiceTopia.java | 3 +- .../longline/ActivityLonglineServiceTopia.java | 4 +- .../longline/SetLonglineCatchServiceTopia.java | 3 +- .../SetLonglineDetailCompositionServiceTopia.java | 4 +- .../SetLonglineGlobalCompositionServiceTopia.java | 3 +- .../service/longline/SetLonglineServiceTopia.java | 4 +- .../topia/service/longline/TdrServiceTopia.java | 3 +- .../longline/TripLonglineGearUseServiceTopia.java | 4 +- .../service/longline/TripLonglineServiceTopia.java | 4 +- .../ActivitySeineObservedSystemServiceTopia.java | 3 +- .../service/seine/ActivitySeineServiceTopia.java | 4 +- .../service/seine/FloatingObjectServiceTopia.java | 4 +- .../service/seine/NonTargetCatchServiceTopia.java | 4 +- .../seine/ObjectObservedSpeciesServiceTopia.java | 3 +- .../seine/ObjectSchoolEstimateServiceTopia.java | 3 +- .../topia/service/seine/RouteServiceTopia.java | 4 +- .../service/seine/SchoolEstimateServiceTopia.java | 4 +- .../topia/service/seine/SetSeineServiceTopia.java | 4 +- .../TransmittingBuoyOperationServiceTopia.java | 3 +- .../seine/TripSeineGearUseServiceTopia.java | 3 +- .../topia/service/seine/TripSeineServiceTopia.java | 3 +- .../UnidirectionalSynchronizeReferentialTest.java | 32 +- .../services/ObserveServiceInitializer.java | 1 - .../observe/services/ObserveServicesProvider.java | 3 + .../services/service/LastUpdateDateService.java | 16 + .../services/service/ReferentialService.java | 1 - ...UnidirectionalReferentialSynchronizeEngine.java | 41 ++- ...ectionalReferentialSynchronizeLocalService.java | 5 + .../toolbox/GenerateWebmotionMappingMojo.java | 22 +- 42 files changed, 515 insertions(+), 443 deletions(-) rename application-web/src/main/java/fr/ird/observe/application/web/controller/{v1 => }/ConfigurationController.java (63%) create mode 100644 application-web/src/main/java/fr/ird/observe/application/web/controller/v1/LastUpdateDateServiceController.java create mode 100644 services-topia/src/main/java/fr/ird/observe/services/topia/service/LastUpdateDateServiceTopia.java create mode 100644 services/src/main/java/fr/ird/observe/services/service/LastUpdateDateService.java -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 24e81eb84efcab33686016e10b8e0f7bde12c2dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Sep 7 15:05:40 2016 +0200 improve configuration in web application (only one page) + improve mapping --- application-web/pom.xml | 20 +- .../{v1 => }/ConfigurationController.java | 102 +++--- application-web/src/main/resources/mapping | 351 ++++++++++----------- .../toolbox/GenerateWebmotionMappingMojo.java | 22 +- 4 files changed, 238 insertions(+), 257 deletions(-) diff --git a/application-web/pom.xml b/application-web/pom.xml index 4c5b755..ff2097e 100644 --- a/application-web/pom.xml +++ b/application-web/pom.xml @@ -1,5 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> @@ -19,9 +20,7 @@ <!-- Webapp configuration --> <defaultWebContextPath>observeweb</defaultWebContextPath> - <i18n.bundleOutputName>${projectId}-i18n</i18n.bundleOutputName> - <i18n.bundleCsvFile>${projectId}-i18n.csv</i18n.bundleCsvFile> - <i18n.bundleCsvSeparator>|</i18n.bundleCsvSeparator> + <i18n.bundleOutputName>${projectId}web-i18n</i18n.bundleOutputName> <!-- deploy configuration --> <deployFiles>${project.build.directory}/${project.artifactId}-${project.version}.war</deployFiles> @@ -198,7 +197,6 @@ <id>make-bundle</id> <goals> <goal>bundle</goal> - <goal>generate-csv-bundle</goal> </goals> </execution> </executions> @@ -216,6 +214,10 @@ <groupId>${project.groupId}</groupId> <artifactId>toolbox-maven-plugin</artifactId> <version>${project.version}</version> + <configuration> + <sourceApiPackageName>fr.ird.observe.services.service</sourceApiPackageName> + <targetApiClassSuffix>Controller</targetApiClassSuffix> + </configuration> <executions> <execution> <id>check-service-api</id> @@ -223,11 +225,8 @@ <goal>check-api</goal> </goals> <configuration> - <sourceApiPackageName>fr.ird.observe.services.service</sourceApiPackageName> <sourceApiIncludePattern>(.+)?Service</sourceApiIncludePattern> <targetApiPackageName>fr.ird.observe.application.web.controller.v1</targetApiPackageName> - <targetApiClassSuffix>Controller</targetApiClassSuffix> - <!--<verbose>true</verbose>--> </configuration> </execution> <execution> @@ -236,11 +235,8 @@ <goal>generate-webmotion-mapping</goal> </goals> <configuration> - <sourceApiPackageName>fr.ird.observe.services.service</sourceApiPackageName> - <targetApiPackageName>fr.ird.observe.application.web.controller.v1</targetApiPackageName> - <targetApiClassSuffix>Controller</targetApiClassSuffix> + <targetApiPackageName>fr.ird.observe.application.web.controller</targetApiPackageName> <classTypeName>fr.ird.observe.services.ObserveService</classTypeName> - <!--<verbose>true</verbose>--> </configuration> </execution> </executions> diff --git a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java b/application-web/src/main/java/fr/ird/observe/application/web/controller/ConfigurationController.java similarity index 63% rename from application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java rename to application-web/src/main/java/fr/ird/observe/application/web/controller/ConfigurationController.java index b95aaa2..43135e7 100644 --- a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ConfigurationController.java +++ b/application-web/src/main/java/fr/ird/observe/application/web/controller/ConfigurationController.java @@ -1,4 +1,4 @@ -package fr.ird.observe.application.web.controller.v1; +package fr.ird.observe.application.web.controller; /* * #%L @@ -33,7 +33,6 @@ import fr.ird.observe.application.web.configuration.user.InvalidObserveWebUserPe import fr.ird.observe.application.web.configuration.user.InvalidObserveWebUsersException; import fr.ird.observe.application.web.configuration.user.ObserveWebUsers; import fr.ird.observe.application.web.configuration.user.ObserveWebUsersHelper; -import fr.ird.observe.application.web.controller.ObserveWebMotionController; import fr.ird.observe.application.web.security.ObserveWebSecurityApplicationContext; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationAndConnection; import org.apache.commons.io.IOUtils; @@ -43,6 +42,7 @@ import org.debux.webmotion.server.render.RenderContent; import java.io.IOException; import java.io.InputStream; import java.io.StringWriter; +import java.nio.charset.StandardCharsets; import java.util.Map; /** @@ -58,87 +58,64 @@ public class ConfigurationController extends ObserveWebMotionController { getRequestContext().checkAdminApiKeyIsValid(); } - public RenderContent mapping() throws IOException { - - try (InputStream mappingUrl = getClass().getResourceAsStream("/mapping")) { - - String content = IOUtils.toString(mappingUrl); - return toTextPlain(content); - - } - - } - protected RenderContent toTextPlain(String content) { return (RenderContent) renderContent(content, "text/plain"); } public RenderContent home() throws IOException { - String content = "\n~~~ Mapping ~~~\n" + mapping().getContent() + - "\n~~~ Configuration ~~~\n" + configuration().getContent() + - "\n~~~ Databases ~~~\n" + databases().getContent() + - "\n~~~ Users ~~~\n" + users().getContent() + - "\n~~~ AuthenticationTokens ~~~\n" + authenticationTokens().getContent(); - - return toTextPlain(content); - - } - - public RenderContent configuration() { - - String content = getApplicationConfiguration().getConfigurationDescription(); - return toTextPlain(content); - - } - - public RenderContent databases() throws IOException { - - String content; - try (StringWriter writer = new StringWriter()) { - - ObserveWebDatabasesHelper observeWebDatabasesHelper = new ObserveWebDatabasesHelper(); - ObserveWebDatabases databases = getApplicationContext().getDatabases(); - observeWebDatabasesHelper.store(databases, writer); - - writer.flush(); - content = writer.toString(); + StringBuilder builder = new StringBuilder(); + { + String content = getApplicationConfiguration().getConfigurationDescription(); + builder.append("\n~~~ Configuration ~~~\n").append(content); } - return toTextPlain(content); + { + try (StringWriter writer = new StringWriter()) { - } + ObserveWebDatabasesHelper observeWebDatabasesHelper = new ObserveWebDatabasesHelper(); + ObserveWebDatabases databases = getApplicationContext().getDatabases(); + observeWebDatabasesHelper.store(databases, writer); - public RenderContent users() throws IOException { + writer.flush(); + builder.append("\n~~~ Databases ~~~\n").append(writer.toString()); + } - String content; - try (StringWriter writer = new StringWriter()) { + } + { + try (StringWriter writer = new StringWriter()) { - ObserveWebUsersHelper observeWebUsersHelper = new ObserveWebUsersHelper(); - ObserveWebUsers databases = getApplicationContext().getUsers(); - observeWebUsersHelper.store(databases, writer); + ObserveWebUsersHelper observeWebUsersHelper = new ObserveWebUsersHelper(); + ObserveWebUsers databases = getApplicationContext().getUsers(); + observeWebUsersHelper.store(databases, writer); - writer.flush(); - content = writer.toString(); + writer.flush(); + builder.append("\n~~~ Users ~~~\n").append(writer.toString()); + } } - return toTextPlain(content); - - } + { + ObserveWebSecurityApplicationContext securityApplicationContext = getSecurityApplicationContext(); - public RenderContent authenticationTokens() { + StringBuilder tokens = new StringBuilder(); + ImmutableMap<String, ObserveDataSourceConfigurationAndConnection> cache = securityApplicationContext.getConfigurationByAuthenticationToken(); - ObserveWebSecurityApplicationContext securityApplicationContext = getSecurityApplicationContext(); + tokens.append("Number of authentication tokens: ").append(cache.size()); + for (Map.Entry<String, ObserveDataSourceConfigurationAndConnection> entry : cache.entrySet()) { + tokens.append("\n").append(entry.getKey()).append(" - ").append(entry.getValue().getConfiguration()); + } + builder.append("\n~~~ AuthenticationTokens ~~~\n").append(tokens.toString()); + } + { - StringBuilder builder = new StringBuilder(); - ImmutableMap<String, ObserveDataSourceConfigurationAndConnection> cache = securityApplicationContext.getConfigurationByAuthenticationToken(); + try (InputStream mappingUrl = getClass().getResourceAsStream("/mapping")) { + String content = IOUtils.toString(mappingUrl, StandardCharsets.UTF_8); + builder.append("\n~~~ Mapping ~~~\n").append(content); + } - builder.append("Number of authentication tokens: ").append(cache.size()); - for (Map.Entry<String, ObserveDataSourceConfigurationAndConnection> entry : cache.entrySet()) { - builder.append("\n").append(entry.getKey()).append(" - ").append(entry.getValue().getConfiguration()); } - return toTextPlain(builder.toString()); + return toTextPlain(builder.toString()); } public RenderContent resetAuthenticationTokens() { @@ -178,5 +155,4 @@ public class ConfigurationController extends ObserveWebMotionController { } - } diff --git a/application-web/src/main/resources/mapping b/application-web/src/main/resources/mapping index e067451..b29bbd0 100644 --- a/application-web/src/main/resources/mapping +++ b/application-web/src/main/resources/mapping @@ -28,7 +28,7 @@ [config] package.filters=fr.ird.observe.application.web -package.actions=fr.ird.observe.application.web.controller.v1 +package.actions=fr.ird.observe.application.web.controller package.errors=fr.ird.observe.application.web.controller.v1 server.main.handler.class=fr.ird.observe.application.web.ObserveWebMainHandler @@ -46,186 +46,181 @@ default.render=fr.ird.observe.application.web.ObserveWebMotionRender # →→→ Static mapping -GET /admin/configuration/authenticationTokens ConfigurationController.authenticationTokens -GET /admin/configuration/configuration ConfigurationController.configuration -GET /admin/configuration/databases ConfigurationController.databases -GET /admin/configuration/home ConfigurationController.home -GET /admin/configuration/mapping ConfigurationController.mapping -GET /admin/configuration/reloadConfiguration ConfigurationController.reloadConfiguration -GET /admin/configuration/resetAuthenticationTokens ConfigurationController.resetAuthenticationTokens -GET /admin/configuration/users ConfigurationController.users +GET /admin/configuration ConfigurationController.home +POST /admin/configuration/reloadConfiguration ConfigurationController.reloadConfiguration +POST /admin/configuration/resetAuthenticationTokens ConfigurationController.resetAuthenticationTokens # Do not remove the next line, it is used to generate the following actions. # →→→ Generated dynamic mapping # Do not modify below lines, they are generated at each maven build. -GET,POST,DELETE /api/v1/DataSourceService/applySecurity DataSourceServiceController.applySecurity -GET,POST,DELETE /api/v1/DataSourceService/backup DataSourceServiceController.backup -GET,POST,DELETE /api/v1/DataSourceService/checkCanConnect DataSourceServiceController.checkCanConnect -GET,POST,DELETE /api/v1/DataSourceService/close DataSourceServiceController.close -GET,POST,DELETE /api/v1/DataSourceService/create DataSourceServiceController.create -GET,POST,DELETE /api/v1/DataSourceService/destroy DataSourceServiceController.destroy -GET,POST,DELETE /api/v1/DataSourceService/getReferentialTypesInShell DataSourceServiceController.getReferentialTypesInShell -GET,POST,DELETE /api/v1/DataSourceService/getUsers DataSourceServiceController.getUsers -GET,POST,DELETE /api/v1/DataSourceService/migrateData DataSourceServiceController.migrateData -GET,POST,DELETE /api/v1/DataSourceService/open DataSourceServiceController.open -GET,POST,DELETE /api/v1/PingService/ping PingServiceController.ping -GET,POST,DELETE /api/v1/ReferentialService/delete ReferentialServiceController.delete -GET,POST,DELETE /api/v1/ReferentialService/exists ReferentialServiceController.exists -GET,POST,DELETE /api/v1/ReferentialService/findAllUsages ReferentialServiceController.findAllUsages -GET,POST,DELETE /api/v1/ReferentialService/getReferenceSet ReferentialServiceController.getReferenceSet -GET,POST,DELETE /api/v1/ReferentialService/getReferentialReferenceSets ReferentialServiceController.getReferentialReferenceSets -GET,POST,DELETE /api/v1/ReferentialService/loadForm ReferentialServiceController.loadForm -GET,POST,DELETE /api/v1/ReferentialService/loadReference ReferentialServiceController.loadReference -GET,POST,DELETE /api/v1/ReferentialService/loadSpecies ReferentialServiceController.loadSpecies -GET,POST,DELETE /api/v1/ReferentialService/preCreate ReferentialServiceController.preCreate -GET,POST,DELETE /api/v1/ReferentialService/save ReferentialServiceController.save -GET,POST,DELETE /api/v1/SqlScriptProducerService/produceAddSqlScript SqlScriptProducerServiceController.produceAddSqlScript -GET,POST,DELETE /api/v1/SqlScriptProducerService/produceDeleteSqlScript SqlScriptProducerServiceController.produceDeleteSqlScript -GET,POST,DELETE /api/v1/actions/consolidate/ConsolidateDataService/consolidateTripSeines actions.consolidate.ConsolidateDataServiceController.consolidateTripSeines -GET,POST,DELETE /api/v1/actions/report/ReportService/executeReport actions.report.ReportServiceController.executeReport -GET,POST,DELETE /api/v1/actions/report/ReportService/populateVariables actions.report.ReportServiceController.populateVariables -GET,POST,DELETE /api/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getEnabledReferentialReferenceSet actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getEnabledReferentialReferenceSet -GET,POST,DELETE /api/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getReferentialReferenceSet actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getReferentialReferenceSet -GET,POST,DELETE /api/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getReferentials actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getReferentials -GET,POST,DELETE /api/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getSourceReferentialStates actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getSourceReferentialStates -GET,POST,DELETE /api/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/applySqlRequests actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.applySqlRequests -GET,POST,DELETE /api/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/filterIdsUsedInLocalSource actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.filterIdsUsedInLocalSource -GET,POST,DELETE /api/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/generateSqlRequests actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.generateSqlRequests -GET,POST,DELETE /api/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/getLocalSourceReferentialToDelete actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.getLocalSourceReferentialToDelete -GET,POST,DELETE /api/v1/actions/synchro/referential/ng/ReferentialSynchronizeService/executeSqlsRequests actions.synchro.referential.ng.ReferentialSynchronizeServiceController.executeSqlsRequests -GET,POST,DELETE /api/v1/actions/synchro/referential/ng/ReferentialSynchronizeService/produceSqlsRequest actions.synchro.referential.ng.ReferentialSynchronizeServiceController.produceSqlsRequest -GET,POST,DELETE /api/v1/actions/validate/ValidateService/validateData actions.validate.ValidateServiceController.validateData -GET,POST,DELETE /api/v1/actions/validate/ValidateService/validateReferentials actions.validate.ValidateServiceController.validateReferentials -GET,POST,DELETE /api/v1/longline/ActivityLongLineEncounterService/loadForm longline.ActivityLongLineEncounterServiceController.loadForm -GET,POST,DELETE /api/v1/longline/ActivityLongLineEncounterService/save longline.ActivityLongLineEncounterServiceController.save -GET,POST,DELETE /api/v1/longline/ActivityLongLineSensorUsedService/getDataFile longline.ActivityLongLineSensorUsedServiceController.getDataFile -GET,POST,DELETE /api/v1/longline/ActivityLongLineSensorUsedService/loadForm longline.ActivityLongLineSensorUsedServiceController.loadForm -GET,POST,DELETE /api/v1/longline/ActivityLongLineSensorUsedService/save longline.ActivityLongLineSensorUsedServiceController.save -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/delete longline.ActivityLonglineServiceController.delete -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/exists longline.ActivityLonglineServiceController.exists -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/getActivityLonglineByTripLongline longline.ActivityLonglineServiceController.getActivityLonglineByTripLongline -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/getActivityLonglinePositionInTripLongline longline.ActivityLonglineServiceController.getActivityLonglinePositionInTripLongline -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/loadDto longline.ActivityLonglineServiceController.loadDto -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/loadForm longline.ActivityLonglineServiceController.loadForm -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/loadReferenceToRead longline.ActivityLonglineServiceController.loadReferenceToRead -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/moveActivityLonglineToTripLongline longline.ActivityLonglineServiceController.moveActivityLonglineToTripLongline -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/moveActivityLonglinesToTripLongline longline.ActivityLonglineServiceController.moveActivityLonglinesToTripLongline -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/preCreate longline.ActivityLonglineServiceController.preCreate -GET,POST,DELETE /api/v1/longline/ActivityLonglineService/save longline.ActivityLonglineServiceController.save -GET,POST,DELETE /api/v1/longline/BranchlineService/loadForm longline.BranchlineServiceController.loadForm -GET,POST,DELETE /api/v1/longline/BranchlineService/save longline.BranchlineServiceController.save -GET,POST,DELETE /api/v1/longline/SetLonglineCatchService/loadForm longline.SetLonglineCatchServiceController.loadForm -GET,POST,DELETE /api/v1/longline/SetLonglineCatchService/save longline.SetLonglineCatchServiceController.save -GET,POST,DELETE /api/v1/longline/SetLonglineDetailCompositionService/canDeleteBasket longline.SetLonglineDetailCompositionServiceController.canDeleteBasket -GET,POST,DELETE /api/v1/longline/SetLonglineDetailCompositionService/canDeleteBranchline longline.SetLonglineDetailCompositionServiceController.canDeleteBranchline -GET,POST,DELETE /api/v1/longline/SetLonglineDetailCompositionService/canDeleteSection longline.SetLonglineDetailCompositionServiceController.canDeleteSection -GET,POST,DELETE /api/v1/longline/SetLonglineDetailCompositionService/loadForm longline.SetLonglineDetailCompositionServiceController.loadForm -GET,POST,DELETE /api/v1/longline/SetLonglineDetailCompositionService/save longline.SetLonglineDetailCompositionServiceController.save -GET,POST,DELETE /api/v1/longline/SetLonglineGlobalCompositionService/loadForm longline.SetLonglineGlobalCompositionServiceController.loadForm -GET,POST,DELETE /api/v1/longline/SetLonglineGlobalCompositionService/save longline.SetLonglineGlobalCompositionServiceController.save -GET,POST,DELETE /api/v1/longline/SetLonglineService/delete longline.SetLonglineServiceController.delete -GET,POST,DELETE /api/v1/longline/SetLonglineService/exists longline.SetLonglineServiceController.exists -GET,POST,DELETE /api/v1/longline/SetLonglineService/loadDto longline.SetLonglineServiceController.loadDto -GET,POST,DELETE /api/v1/longline/SetLonglineService/loadForm longline.SetLonglineServiceController.loadForm -GET,POST,DELETE /api/v1/longline/SetLonglineService/loadReferenceToRead longline.SetLonglineServiceController.loadReferenceToRead -GET,POST,DELETE /api/v1/longline/SetLonglineService/preCreate longline.SetLonglineServiceController.preCreate -GET,POST,DELETE /api/v1/longline/SetLonglineService/save longline.SetLonglineServiceController.save -GET,POST,DELETE /api/v1/longline/TdrService/getDataFile longline.TdrServiceController.getDataFile -GET,POST,DELETE /api/v1/longline/TdrService/loadForm longline.TdrServiceController.loadForm -GET,POST,DELETE /api/v1/longline/TdrService/save longline.TdrServiceController.save -GET,POST,DELETE /api/v1/longline/TripLonglineGearUseService/loadForm longline.TripLonglineGearUseServiceController.loadForm -GET,POST,DELETE /api/v1/longline/TripLonglineGearUseService/save longline.TripLonglineGearUseServiceController.save -GET,POST,DELETE /api/v1/longline/TripLonglineService/delete longline.TripLonglineServiceController.delete -GET,POST,DELETE /api/v1/longline/TripLonglineService/exists longline.TripLonglineServiceController.exists -GET,POST,DELETE /api/v1/longline/TripLonglineService/getAllTripLongline longline.TripLonglineServiceController.getAllTripLongline -GET,POST,DELETE /api/v1/longline/TripLonglineService/getSpeciesByListAndTrip longline.TripLonglineServiceController.getSpeciesByListAndTrip -GET,POST,DELETE /api/v1/longline/TripLonglineService/getTripLonglineByProgram longline.TripLonglineServiceController.getTripLonglineByProgram -GET,POST,DELETE /api/v1/longline/TripLonglineService/getTripLonglineMap longline.TripLonglineServiceController.getTripLonglineMap -GET,POST,DELETE /api/v1/longline/TripLonglineService/getTripLonglinePositionInProgram longline.TripLonglineServiceController.getTripLonglinePositionInProgram -GET,POST,DELETE /api/v1/longline/TripLonglineService/loadDto longline.TripLonglineServiceController.loadDto -GET,POST,DELETE /api/v1/longline/TripLonglineService/loadForm longline.TripLonglineServiceController.loadForm -GET,POST,DELETE /api/v1/longline/TripLonglineService/loadReferenceToRead longline.TripLonglineServiceController.loadReferenceToRead -GET,POST,DELETE /api/v1/longline/TripLonglineService/moveTripLonglineToProgram longline.TripLonglineServiceController.moveTripLonglineToProgram -GET,POST,DELETE /api/v1/longline/TripLonglineService/moveTripLonglinesToProgram longline.TripLonglineServiceController.moveTripLonglinesToProgram -GET,POST,DELETE /api/v1/longline/TripLonglineService/preCreate longline.TripLonglineServiceController.preCreate -GET,POST,DELETE /api/v1/longline/TripLonglineService/save longline.TripLonglineServiceController.save -GET,POST,DELETE /api/v1/seine/ActivitySeineObservedSystemService/loadForm seine.ActivitySeineObservedSystemServiceController.loadForm -GET,POST,DELETE /api/v1/seine/ActivitySeineObservedSystemService/save seine.ActivitySeineObservedSystemServiceController.save -GET,POST,DELETE /api/v1/seine/ActivitySeineService/delete seine.ActivitySeineServiceController.delete -GET,POST,DELETE /api/v1/seine/ActivitySeineService/exists seine.ActivitySeineServiceController.exists -GET,POST,DELETE /api/v1/seine/ActivitySeineService/getActivitySeineByRoute seine.ActivitySeineServiceController.getActivitySeineByRoute -GET,POST,DELETE /api/v1/seine/ActivitySeineService/getActivitySeinePositionInRoute seine.ActivitySeineServiceController.getActivitySeinePositionInRoute -GET,POST,DELETE /api/v1/seine/ActivitySeineService/loadDto seine.ActivitySeineServiceController.loadDto -GET,POST,DELETE /api/v1/seine/ActivitySeineService/loadForm seine.ActivitySeineServiceController.loadForm -GET,POST,DELETE /api/v1/seine/ActivitySeineService/loadReferenceToRead seine.ActivitySeineServiceController.loadReferenceToRead -GET,POST,DELETE /api/v1/seine/ActivitySeineService/moveActivitySeineToRoute seine.ActivitySeineServiceController.moveActivitySeineToRoute -GET,POST,DELETE /api/v1/seine/ActivitySeineService/moveActivitySeinesToRoute seine.ActivitySeineServiceController.moveActivitySeinesToRoute -GET,POST,DELETE /api/v1/seine/ActivitySeineService/preCreate seine.ActivitySeineServiceController.preCreate -GET,POST,DELETE /api/v1/seine/ActivitySeineService/save seine.ActivitySeineServiceController.save -GET,POST,DELETE /api/v1/seine/FloatingObjectService/delete seine.FloatingObjectServiceController.delete -GET,POST,DELETE /api/v1/seine/FloatingObjectService/exists seine.FloatingObjectServiceController.exists -GET,POST,DELETE /api/v1/seine/FloatingObjectService/getFloatingObjectByActivitySeine seine.FloatingObjectServiceController.getFloatingObjectByActivitySeine -GET,POST,DELETE /api/v1/seine/FloatingObjectService/loadDto seine.FloatingObjectServiceController.loadDto -GET,POST,DELETE /api/v1/seine/FloatingObjectService/loadForm seine.FloatingObjectServiceController.loadForm -GET,POST,DELETE /api/v1/seine/FloatingObjectService/loadReferenceToRead seine.FloatingObjectServiceController.loadReferenceToRead -GET,POST,DELETE /api/v1/seine/FloatingObjectService/preCreate seine.FloatingObjectServiceController.preCreate -GET,POST,DELETE /api/v1/seine/FloatingObjectService/save seine.FloatingObjectServiceController.save -GET,POST,DELETE /api/v1/seine/NonTargetCatchService/loadForm seine.NonTargetCatchServiceController.loadForm -GET,POST,DELETE /api/v1/seine/NonTargetCatchService/save seine.NonTargetCatchServiceController.save -GET,POST,DELETE /api/v1/seine/NonTargetSampleService/canUseNonTargetSample seine.NonTargetSampleServiceController.canUseNonTargetSample -GET,POST,DELETE /api/v1/seine/NonTargetSampleService/getSampleSpecies seine.NonTargetSampleServiceController.getSampleSpecies -GET,POST,DELETE /api/v1/seine/NonTargetSampleService/loadForm seine.NonTargetSampleServiceController.loadForm -GET,POST,DELETE /api/v1/seine/NonTargetSampleService/save seine.NonTargetSampleServiceController.save -GET,POST,DELETE /api/v1/seine/ObjectObservedSpeciesService/loadForm seine.ObjectObservedSpeciesServiceController.loadForm -GET,POST,DELETE /api/v1/seine/ObjectObservedSpeciesService/save seine.ObjectObservedSpeciesServiceController.save -GET,POST,DELETE /api/v1/seine/ObjectSchoolEstimateService/loadForm seine.ObjectSchoolEstimateServiceController.loadForm -GET,POST,DELETE /api/v1/seine/ObjectSchoolEstimateService/save seine.ObjectSchoolEstimateServiceController.save -GET,POST,DELETE /api/v1/seine/RouteService/delete seine.RouteServiceController.delete -GET,POST,DELETE /api/v1/seine/RouteService/exists seine.RouteServiceController.exists -GET,POST,DELETE /api/v1/seine/RouteService/getRouteByTripSeine seine.RouteServiceController.getRouteByTripSeine -GET,POST,DELETE /api/v1/seine/RouteService/getRoutePositionInTripSeine seine.RouteServiceController.getRoutePositionInTripSeine -GET,POST,DELETE /api/v1/seine/RouteService/loadDto seine.RouteServiceController.loadDto -GET,POST,DELETE /api/v1/seine/RouteService/loadForm seine.RouteServiceController.loadForm -GET,POST,DELETE /api/v1/seine/RouteService/loadReferenceToRead seine.RouteServiceController.loadReferenceToRead -GET,POST,DELETE /api/v1/seine/RouteService/moveRouteToTripSeine seine.RouteServiceController.moveRouteToTripSeine -GET,POST,DELETE /api/v1/seine/RouteService/moveRoutesToTripSeine seine.RouteServiceController.moveRoutesToTripSeine -GET,POST,DELETE /api/v1/seine/RouteService/preCreate seine.RouteServiceController.preCreate -GET,POST,DELETE /api/v1/seine/RouteService/save seine.RouteServiceController.save -GET,POST,DELETE /api/v1/seine/SchoolEstimateService/loadForm seine.SchoolEstimateServiceController.loadForm -GET,POST,DELETE /api/v1/seine/SchoolEstimateService/save seine.SchoolEstimateServiceController.save -GET,POST,DELETE /api/v1/seine/SetSeineService/delete seine.SetSeineServiceController.delete -GET,POST,DELETE /api/v1/seine/SetSeineService/exists seine.SetSeineServiceController.exists -GET,POST,DELETE /api/v1/seine/SetSeineService/loadDto seine.SetSeineServiceController.loadDto -GET,POST,DELETE /api/v1/seine/SetSeineService/loadForm seine.SetSeineServiceController.loadForm -GET,POST,DELETE /api/v1/seine/SetSeineService/loadReferenceToRead seine.SetSeineServiceController.loadReferenceToRead -GET,POST,DELETE /api/v1/seine/SetSeineService/preCreate seine.SetSeineServiceController.preCreate -GET,POST,DELETE /api/v1/seine/SetSeineService/save seine.SetSeineServiceController.save -GET,POST,DELETE /api/v1/seine/TargetCatchService/loadForm seine.TargetCatchServiceController.loadForm -GET,POST,DELETE /api/v1/seine/TargetCatchService/save seine.TargetCatchServiceController.save -GET,POST,DELETE /api/v1/seine/TargetSampleService/canUseTargetSample seine.TargetSampleServiceController.canUseTargetSample -GET,POST,DELETE /api/v1/seine/TargetSampleService/getSampleSpecies seine.TargetSampleServiceController.getSampleSpecies -GET,POST,DELETE /api/v1/seine/TargetSampleService/loadForm seine.TargetSampleServiceController.loadForm -GET,POST,DELETE /api/v1/seine/TargetSampleService/save seine.TargetSampleServiceController.save -GET,POST,DELETE /api/v1/seine/TransmittingBuoyOperationService/loadForm seine.TransmittingBuoyOperationServiceController.loadForm -GET,POST,DELETE /api/v1/seine/TransmittingBuoyOperationService/save seine.TransmittingBuoyOperationServiceController.save -GET,POST,DELETE /api/v1/seine/TripSeineGearUseService/loadForm seine.TripSeineGearUseServiceController.loadForm -GET,POST,DELETE /api/v1/seine/TripSeineGearUseService/save seine.TripSeineGearUseServiceController.save -GET,POST,DELETE /api/v1/seine/TripSeineService/delete seine.TripSeineServiceController.delete -GET,POST,DELETE /api/v1/seine/TripSeineService/exists seine.TripSeineServiceController.exists -GET,POST,DELETE /api/v1/seine/TripSeineService/getAllTripSeine seine.TripSeineServiceController.getAllTripSeine -GET,POST,DELETE /api/v1/seine/TripSeineService/getSpeciesByListAndTrip seine.TripSeineServiceController.getSpeciesByListAndTrip -GET,POST,DELETE /api/v1/seine/TripSeineService/getTripSeineByProgram seine.TripSeineServiceController.getTripSeineByProgram -GET,POST,DELETE /api/v1/seine/TripSeineService/getTripSeineMap seine.TripSeineServiceController.getTripSeineMap -GET,POST,DELETE /api/v1/seine/TripSeineService/getTripSeinePositionInProgram seine.TripSeineServiceController.getTripSeinePositionInProgram -GET,POST,DELETE /api/v1/seine/TripSeineService/loadDto seine.TripSeineServiceController.loadDto -GET,POST,DELETE /api/v1/seine/TripSeineService/loadForm seine.TripSeineServiceController.loadForm -GET,POST,DELETE /api/v1/seine/TripSeineService/loadReferenceToRead seine.TripSeineServiceController.loadReferenceToRead -GET,POST,DELETE /api/v1/seine/TripSeineService/moveTripSeineToProgram seine.TripSeineServiceController.moveTripSeineToProgram -GET,POST,DELETE /api/v1/seine/TripSeineService/moveTripSeinesToProgram seine.TripSeineServiceController.moveTripSeinesToProgram -GET,POST,DELETE /api/v1/seine/TripSeineService/preCreate seine.TripSeineServiceController.preCreate -GET,POST,DELETE /api/v1/seine/TripSeineService/save seine.TripSeineServiceController.save -GET,POST,DELETE /api/v1/trip/TripManagementService/deleteTrip trip.TripManagementServiceController.deleteTrip -GET,POST,DELETE /api/v1/trip/TripManagementService/exportTrip trip.TripManagementServiceController.exportTrip -GET,POST,DELETE /api/v1/trip/TripManagementService/importTrip trip.TripManagementServiceController.importTrip +DELETE /api/v1/v1/ReferentialService/delete v1.ReferentialServiceController.delete +DELETE /api/v1/v1/longline/ActivityLonglineService/delete v1.longline.ActivityLonglineServiceController.delete +DELETE /api/v1/v1/longline/SetLonglineService/delete v1.longline.SetLonglineServiceController.delete +DELETE /api/v1/v1/longline/TripLonglineService/delete v1.longline.TripLonglineServiceController.delete +DELETE /api/v1/v1/seine/ActivitySeineService/delete v1.seine.ActivitySeineServiceController.delete +DELETE /api/v1/v1/seine/FloatingObjectService/delete v1.seine.FloatingObjectServiceController.delete +DELETE /api/v1/v1/seine/RouteService/delete v1.seine.RouteServiceController.delete +DELETE /api/v1/v1/seine/SetSeineService/delete v1.seine.SetSeineServiceController.delete +DELETE /api/v1/v1/seine/TripSeineService/delete v1.seine.TripSeineServiceController.delete +GET /api/v1/v1/DataSourceService/applySecurity v1.DataSourceServiceController.applySecurity +GET /api/v1/v1/DataSourceService/backup v1.DataSourceServiceController.backup +GET /api/v1/v1/DataSourceService/checkCanConnect v1.DataSourceServiceController.checkCanConnect +GET /api/v1/v1/DataSourceService/close v1.DataSourceServiceController.close +GET /api/v1/v1/DataSourceService/create v1.DataSourceServiceController.create +GET /api/v1/v1/DataSourceService/destroy v1.DataSourceServiceController.destroy +GET /api/v1/v1/DataSourceService/getReferentialTypesInShell v1.DataSourceServiceController.getReferentialTypesInShell +GET /api/v1/v1/DataSourceService/getUsers v1.DataSourceServiceController.getUsers +GET /api/v1/v1/DataSourceService/migrateData v1.DataSourceServiceController.migrateData +GET /api/v1/v1/DataSourceService/open v1.DataSourceServiceController.open +GET /api/v1/v1/PingService/ping v1.PingServiceController.ping +GET /api/v1/v1/ReferentialService/exists v1.ReferentialServiceController.exists +GET /api/v1/v1/ReferentialService/findAllUsages v1.ReferentialServiceController.findAllUsages +GET /api/v1/v1/ReferentialService/getReferenceSet v1.ReferentialServiceController.getReferenceSet +GET /api/v1/v1/ReferentialService/getReferentialReferenceSets v1.ReferentialServiceController.getReferentialReferenceSets +GET /api/v1/v1/ReferentialService/loadForm v1.ReferentialServiceController.loadForm +GET /api/v1/v1/ReferentialService/loadReference v1.ReferentialServiceController.loadReference +GET /api/v1/v1/ReferentialService/loadSpecies v1.ReferentialServiceController.loadSpecies +GET /api/v1/v1/ReferentialService/preCreate v1.ReferentialServiceController.preCreate +GET /api/v1/v1/SqlScriptProducerService/produceAddSqlScript v1.SqlScriptProducerServiceController.produceAddSqlScript +GET /api/v1/v1/SqlScriptProducerService/produceDeleteSqlScript v1.SqlScriptProducerServiceController.produceDeleteSqlScript +GET /api/v1/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getEnabledReferentialReferenceSet v1.actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getEnabledReferentialReferenceSet +GET /api/v1/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getSourceReferentialStates v1.actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getSourceReferentialStates +GET /api/v1/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/filterIdsUsedInLocalSource v1.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.filterIdsUsedInLocalSource +GET /api/v1/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/generateSqlRequests v1.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.generateSqlRequests +GET /api/v1/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/getLocalSourceReferentialToDelete v1.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.getLocalSourceReferentialToDelete +GET /api/v1/v1/longline/ActivityLongLineEncounterService/loadForm v1.longline.ActivityLongLineEncounterServiceController.loadForm +GET /api/v1/v1/longline/ActivityLongLineSensorUsedService/getDataFile v1.longline.ActivityLongLineSensorUsedServiceController.getDataFile +GET /api/v1/v1/longline/ActivityLongLineSensorUsedService/loadForm v1.longline.ActivityLongLineSensorUsedServiceController.loadForm +GET /api/v1/v1/longline/ActivityLonglineService/exists v1.longline.ActivityLonglineServiceController.exists +GET /api/v1/v1/longline/ActivityLonglineService/getActivityLonglineByTripLongline v1.longline.ActivityLonglineServiceController.getActivityLonglineByTripLongline +GET /api/v1/v1/longline/ActivityLonglineService/getActivityLonglinePositionInTripLongline v1.longline.ActivityLonglineServiceController.getActivityLonglinePositionInTripLongline +GET /api/v1/v1/longline/ActivityLonglineService/loadDto v1.longline.ActivityLonglineServiceController.loadDto +GET /api/v1/v1/longline/ActivityLonglineService/loadForm v1.longline.ActivityLonglineServiceController.loadForm +GET /api/v1/v1/longline/ActivityLonglineService/loadReferenceToRead v1.longline.ActivityLonglineServiceController.loadReferenceToRead +GET /api/v1/v1/longline/ActivityLonglineService/preCreate v1.longline.ActivityLonglineServiceController.preCreate +GET /api/v1/v1/longline/BranchlineService/loadForm v1.longline.BranchlineServiceController.loadForm +GET /api/v1/v1/longline/SetLonglineCatchService/loadForm v1.longline.SetLonglineCatchServiceController.loadForm +GET /api/v1/v1/longline/SetLonglineDetailCompositionService/canDeleteBasket v1.longline.SetLonglineDetailCompositionServiceController.canDeleteBasket +GET /api/v1/v1/longline/SetLonglineDetailCompositionService/canDeleteBranchline v1.longline.SetLonglineDetailCompositionServiceController.canDeleteBranchline +GET /api/v1/v1/longline/SetLonglineDetailCompositionService/canDeleteSection v1.longline.SetLonglineDetailCompositionServiceController.canDeleteSection +GET /api/v1/v1/longline/SetLonglineDetailCompositionService/loadForm v1.longline.SetLonglineDetailCompositionServiceController.loadForm +GET /api/v1/v1/longline/SetLonglineGlobalCompositionService/loadForm v1.longline.SetLonglineGlobalCompositionServiceController.loadForm +GET /api/v1/v1/longline/SetLonglineService/exists v1.longline.SetLonglineServiceController.exists +GET /api/v1/v1/longline/SetLonglineService/loadDto v1.longline.SetLonglineServiceController.loadDto +GET /api/v1/v1/longline/SetLonglineService/loadForm v1.longline.SetLonglineServiceController.loadForm +GET /api/v1/v1/longline/SetLonglineService/loadReferenceToRead v1.longline.SetLonglineServiceController.loadReferenceToRead +GET /api/v1/v1/longline/SetLonglineService/preCreate v1.longline.SetLonglineServiceController.preCreate +GET /api/v1/v1/longline/TdrService/getDataFile v1.longline.TdrServiceController.getDataFile +GET /api/v1/v1/longline/TdrService/loadForm v1.longline.TdrServiceController.loadForm +GET /api/v1/v1/longline/TripLonglineGearUseService/loadForm v1.longline.TripLonglineGearUseServiceController.loadForm +GET /api/v1/v1/longline/TripLonglineService/exists v1.longline.TripLonglineServiceController.exists +GET /api/v1/v1/longline/TripLonglineService/getAllTripLongline v1.longline.TripLonglineServiceController.getAllTripLongline +GET /api/v1/v1/longline/TripLonglineService/getSpeciesByListAndTrip v1.longline.TripLonglineServiceController.getSpeciesByListAndTrip +GET /api/v1/v1/longline/TripLonglineService/getTripLonglineByProgram v1.longline.TripLonglineServiceController.getTripLonglineByProgram +GET /api/v1/v1/longline/TripLonglineService/getTripLonglineMap v1.longline.TripLonglineServiceController.getTripLonglineMap +GET /api/v1/v1/longline/TripLonglineService/getTripLonglinePositionInProgram v1.longline.TripLonglineServiceController.getTripLonglinePositionInProgram +GET /api/v1/v1/longline/TripLonglineService/loadDto v1.longline.TripLonglineServiceController.loadDto +GET /api/v1/v1/longline/TripLonglineService/loadForm v1.longline.TripLonglineServiceController.loadForm +GET /api/v1/v1/longline/TripLonglineService/loadReferenceToRead v1.longline.TripLonglineServiceController.loadReferenceToRead +GET /api/v1/v1/longline/TripLonglineService/preCreate v1.longline.TripLonglineServiceController.preCreate +GET /api/v1/v1/seine/ActivitySeineObservedSystemService/loadForm v1.seine.ActivitySeineObservedSystemServiceController.loadForm +GET /api/v1/v1/seine/ActivitySeineService/exists v1.seine.ActivitySeineServiceController.exists +GET /api/v1/v1/seine/ActivitySeineService/getActivitySeineByRoute v1.seine.ActivitySeineServiceController.getActivitySeineByRoute +GET /api/v1/v1/seine/ActivitySeineService/getActivitySeinePositionInRoute v1.seine.ActivitySeineServiceController.getActivitySeinePositionInRoute +GET /api/v1/v1/seine/ActivitySeineService/loadDto v1.seine.ActivitySeineServiceController.loadDto +GET /api/v1/v1/seine/ActivitySeineService/loadForm v1.seine.ActivitySeineServiceController.loadForm +GET /api/v1/v1/seine/ActivitySeineService/loadReferenceToRead v1.seine.ActivitySeineServiceController.loadReferenceToRead +GET /api/v1/v1/seine/ActivitySeineService/preCreate v1.seine.ActivitySeineServiceController.preCreate +GET /api/v1/v1/seine/FloatingObjectService/exists v1.seine.FloatingObjectServiceController.exists +GET /api/v1/v1/seine/FloatingObjectService/getFloatingObjectByActivitySeine v1.seine.FloatingObjectServiceController.getFloatingObjectByActivitySeine +GET /api/v1/v1/seine/FloatingObjectService/loadDto v1.seine.FloatingObjectServiceController.loadDto +GET /api/v1/v1/seine/FloatingObjectService/loadForm v1.seine.FloatingObjectServiceController.loadForm +GET /api/v1/v1/seine/FloatingObjectService/loadReferenceToRead v1.seine.FloatingObjectServiceController.loadReferenceToRead +GET /api/v1/v1/seine/FloatingObjectService/preCreate v1.seine.FloatingObjectServiceController.preCreate +GET /api/v1/v1/seine/NonTargetCatchService/loadForm v1.seine.NonTargetCatchServiceController.loadForm +GET /api/v1/v1/seine/NonTargetSampleService/canUseNonTargetSample v1.seine.NonTargetSampleServiceController.canUseNonTargetSample +GET /api/v1/v1/seine/NonTargetSampleService/getSampleSpecies v1.seine.NonTargetSampleServiceController.getSampleSpecies +GET /api/v1/v1/seine/NonTargetSampleService/loadForm v1.seine.NonTargetSampleServiceController.loadForm +GET /api/v1/v1/seine/ObjectObservedSpeciesService/loadForm v1.seine.ObjectObservedSpeciesServiceController.loadForm +GET /api/v1/v1/seine/ObjectSchoolEstimateService/loadForm v1.seine.ObjectSchoolEstimateServiceController.loadForm +GET /api/v1/v1/seine/RouteService/exists v1.seine.RouteServiceController.exists +GET /api/v1/v1/seine/RouteService/getRouteByTripSeine v1.seine.RouteServiceController.getRouteByTripSeine +GET /api/v1/v1/seine/RouteService/getRoutePositionInTripSeine v1.seine.RouteServiceController.getRoutePositionInTripSeine +GET /api/v1/v1/seine/RouteService/loadDto v1.seine.RouteServiceController.loadDto +GET /api/v1/v1/seine/RouteService/loadForm v1.seine.RouteServiceController.loadForm +GET /api/v1/v1/seine/RouteService/loadReferenceToRead v1.seine.RouteServiceController.loadReferenceToRead +GET /api/v1/v1/seine/RouteService/preCreate v1.seine.RouteServiceController.preCreate +GET /api/v1/v1/seine/SchoolEstimateService/loadForm v1.seine.SchoolEstimateServiceController.loadForm +GET /api/v1/v1/seine/SetSeineService/exists v1.seine.SetSeineServiceController.exists +GET /api/v1/v1/seine/SetSeineService/loadDto v1.seine.SetSeineServiceController.loadDto +GET /api/v1/v1/seine/SetSeineService/loadForm v1.seine.SetSeineServiceController.loadForm +GET /api/v1/v1/seine/SetSeineService/loadReferenceToRead v1.seine.SetSeineServiceController.loadReferenceToRead +GET /api/v1/v1/seine/SetSeineService/preCreate v1.seine.SetSeineServiceController.preCreate +GET /api/v1/v1/seine/TargetCatchService/loadForm v1.seine.TargetCatchServiceController.loadForm +GET /api/v1/v1/seine/TargetSampleService/canUseTargetSample v1.seine.TargetSampleServiceController.canUseTargetSample +GET /api/v1/v1/seine/TargetSampleService/getSampleSpecies v1.seine.TargetSampleServiceController.getSampleSpecies +GET /api/v1/v1/seine/TargetSampleService/loadForm v1.seine.TargetSampleServiceController.loadForm +GET /api/v1/v1/seine/TransmittingBuoyOperationService/loadForm v1.seine.TransmittingBuoyOperationServiceController.loadForm +GET /api/v1/v1/seine/TripSeineGearUseService/loadForm v1.seine.TripSeineGearUseServiceController.loadForm +GET /api/v1/v1/seine/TripSeineService/exists v1.seine.TripSeineServiceController.exists +GET /api/v1/v1/seine/TripSeineService/getAllTripSeine v1.seine.TripSeineServiceController.getAllTripSeine +GET /api/v1/v1/seine/TripSeineService/getSpeciesByListAndTrip v1.seine.TripSeineServiceController.getSpeciesByListAndTrip +GET /api/v1/v1/seine/TripSeineService/getTripSeineByProgram v1.seine.TripSeineServiceController.getTripSeineByProgram +GET /api/v1/v1/seine/TripSeineService/getTripSeineMap v1.seine.TripSeineServiceController.getTripSeineMap +GET /api/v1/v1/seine/TripSeineService/getTripSeinePositionInProgram v1.seine.TripSeineServiceController.getTripSeinePositionInProgram +GET /api/v1/v1/seine/TripSeineService/loadDto v1.seine.TripSeineServiceController.loadDto +GET /api/v1/v1/seine/TripSeineService/loadForm v1.seine.TripSeineServiceController.loadForm +GET /api/v1/v1/seine/TripSeineService/loadReferenceToRead v1.seine.TripSeineServiceController.loadReferenceToRead +GET /api/v1/v1/seine/TripSeineService/preCreate v1.seine.TripSeineServiceController.preCreate +POST /api/v1/v1/ReferentialService/save v1.ReferentialServiceController.save +POST /api/v1/v1/actions/consolidate/ConsolidateDataService/consolidateTripSeines v1.actions.consolidate.ConsolidateDataServiceController.consolidateTripSeines +POST /api/v1/v1/actions/report/ReportService/executeReport v1.actions.report.ReportServiceController.executeReport +POST /api/v1/v1/actions/report/ReportService/populateVariables v1.actions.report.ReportServiceController.populateVariables +POST /api/v1/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getReferentialReferenceSet v1.actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getReferentialReferenceSet +POST /api/v1/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getReferentials v1.actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getReferentials +POST /api/v1/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/applySqlRequests v1.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.applySqlRequests +POST /api/v1/v1/actions/synchro/referential/ng/ReferentialSynchronizeService/executeSqlsRequests v1.actions.synchro.referential.ng.ReferentialSynchronizeServiceController.executeSqlsRequests +POST /api/v1/v1/actions/synchro/referential/ng/ReferentialSynchronizeService/produceSqlsRequest v1.actions.synchro.referential.ng.ReferentialSynchronizeServiceController.produceSqlsRequest +POST /api/v1/v1/actions/validate/ValidateService/validateData v1.actions.validate.ValidateServiceController.validateData +POST /api/v1/v1/actions/validate/ValidateService/validateReferentials v1.actions.validate.ValidateServiceController.validateReferentials +POST /api/v1/v1/longline/ActivityLongLineEncounterService/save v1.longline.ActivityLongLineEncounterServiceController.save +POST /api/v1/v1/longline/ActivityLongLineSensorUsedService/save v1.longline.ActivityLongLineSensorUsedServiceController.save +POST /api/v1/v1/longline/ActivityLonglineService/moveActivityLonglineToTripLongline v1.longline.ActivityLonglineServiceController.moveActivityLonglineToTripLongline +POST /api/v1/v1/longline/ActivityLonglineService/moveActivityLonglinesToTripLongline v1.longline.ActivityLonglineServiceController.moveActivityLonglinesToTripLongline +POST /api/v1/v1/longline/ActivityLonglineService/save v1.longline.ActivityLonglineServiceController.save +POST /api/v1/v1/longline/BranchlineService/save v1.longline.BranchlineServiceController.save +POST /api/v1/v1/longline/SetLonglineCatchService/save v1.longline.SetLonglineCatchServiceController.save +POST /api/v1/v1/longline/SetLonglineDetailCompositionService/save v1.longline.SetLonglineDetailCompositionServiceController.save +POST /api/v1/v1/longline/SetLonglineGlobalCompositionService/save v1.longline.SetLonglineGlobalCompositionServiceController.save +POST /api/v1/v1/longline/SetLonglineService/save v1.longline.SetLonglineServiceController.save +POST /api/v1/v1/longline/TdrService/save v1.longline.TdrServiceController.save +POST /api/v1/v1/longline/TripLonglineGearUseService/save v1.longline.TripLonglineGearUseServiceController.save +POST /api/v1/v1/longline/TripLonglineService/moveTripLonglineToProgram v1.longline.TripLonglineServiceController.moveTripLonglineToProgram +POST /api/v1/v1/longline/TripLonglineService/moveTripLonglinesToProgram v1.longline.TripLonglineServiceController.moveTripLonglinesToProgram +POST /api/v1/v1/longline/TripLonglineService/save v1.longline.TripLonglineServiceController.save +POST /api/v1/v1/seine/ActivitySeineObservedSystemService/save v1.seine.ActivitySeineObservedSystemServiceController.save +POST /api/v1/v1/seine/ActivitySeineService/moveActivitySeineToRoute v1.seine.ActivitySeineServiceController.moveActivitySeineToRoute +POST /api/v1/v1/seine/ActivitySeineService/moveActivitySeinesToRoute v1.seine.ActivitySeineServiceController.moveActivitySeinesToRoute +POST /api/v1/v1/seine/ActivitySeineService/save v1.seine.ActivitySeineServiceController.save +POST /api/v1/v1/seine/FloatingObjectService/save v1.seine.FloatingObjectServiceController.save +POST /api/v1/v1/seine/NonTargetCatchService/save v1.seine.NonTargetCatchServiceController.save +POST /api/v1/v1/seine/NonTargetSampleService/save v1.seine.NonTargetSampleServiceController.save +POST /api/v1/v1/seine/ObjectObservedSpeciesService/save v1.seine.ObjectObservedSpeciesServiceController.save +POST /api/v1/v1/seine/ObjectSchoolEstimateService/save v1.seine.ObjectSchoolEstimateServiceController.save +POST /api/v1/v1/seine/RouteService/moveRouteToTripSeine v1.seine.RouteServiceController.moveRouteToTripSeine +POST /api/v1/v1/seine/RouteService/moveRoutesToTripSeine v1.seine.RouteServiceController.moveRoutesToTripSeine +POST /api/v1/v1/seine/RouteService/save v1.seine.RouteServiceController.save +POST /api/v1/v1/seine/SchoolEstimateService/save v1.seine.SchoolEstimateServiceController.save +POST /api/v1/v1/seine/SetSeineService/save v1.seine.SetSeineServiceController.save +POST /api/v1/v1/seine/TargetCatchService/save v1.seine.TargetCatchServiceController.save +POST /api/v1/v1/seine/TargetSampleService/save v1.seine.TargetSampleServiceController.save +POST /api/v1/v1/seine/TransmittingBuoyOperationService/save v1.seine.TransmittingBuoyOperationServiceController.save +POST /api/v1/v1/seine/TripSeineGearUseService/save v1.seine.TripSeineGearUseServiceController.save +POST /api/v1/v1/seine/TripSeineService/moveTripSeineToProgram v1.seine.TripSeineServiceController.moveTripSeineToProgram +POST /api/v1/v1/seine/TripSeineService/moveTripSeinesToProgram v1.seine.TripSeineServiceController.moveTripSeinesToProgram +POST /api/v1/v1/seine/TripSeineService/save v1.seine.TripSeineServiceController.save +POST /api/v1/v1/trip/TripManagementService/deleteTrip v1.trip.TripManagementServiceController.deleteTrip +POST /api/v1/v1/trip/TripManagementService/exportTrip v1.trip.TripManagementServiceController.exportTrip +POST /api/v1/v1/trip/TripManagementService/importTrip v1.trip.TripManagementServiceController.importTrip diff --git a/toolbox-maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/GenerateWebmotionMappingMojo.java b/toolbox-maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/GenerateWebmotionMappingMojo.java index 90af275..f050fa9 100644 --- a/toolbox-maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/GenerateWebmotionMappingMojo.java +++ b/toolbox-maven-plugin/src/main/java/fr/ird/observe/maven/plugins/toolbox/GenerateWebmotionMappingMojo.java @@ -32,6 +32,7 @@ import org.reflections.Reflections; import java.io.BufferedWriter; import java.io.File; import java.io.IOException; +import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.nio.charset.StandardCharsets; import java.nio.file.Files; @@ -90,6 +91,8 @@ public class GenerateWebmotionMappingMojo extends ToolboxMojoSupport { private File mappingFile; private Map<Class<?>, String> translationMap; + protected Class<? extends Annotation> postRequestAnnotationType; + protected Class<? extends Annotation> deleteRequestAnnotationType; @Override protected Path createOutputFile() throws IOException { @@ -120,6 +123,9 @@ public class GenerateWebmotionMappingMojo extends ToolboxMojoSupport { ClassLoader cl = initClassLoader(getProject(), null, false, true, false, true, true); Thread.currentThread().setContextClassLoader(cl); + postRequestAnnotationType = (Class) Class.forName("fr.ird.observe.services.spi.PostRequest"); + deleteRequestAnnotationType = (Class) Class.forName("fr.ird.observe.services.spi.DeleteRequest"); + Class<?> classType = Class.forName(classTypeName); Map<Class<?>, String> translationMap = new LinkedHashMap<>(); @@ -230,7 +236,7 @@ public class GenerateWebmotionMappingMojo extends ToolboxMojoSupport { this.verbose = verbose; } - private void generateForClass(Class<?> sourceClass, String targetClassName, Map<String, String> rules) throws MissingMethodException, MismatchMethodParameterNameException, MissingClassException, IOException { + private void generateForClass(Class<?> sourceClass, String targetClassName, Map<String, String> rules) throws MissingMethodException, MismatchMethodParameterNameException, MissingClassException, IOException, ClassNotFoundException { Objects.requireNonNull(sourceClass); Objects.requireNonNull(targetClassName); @@ -243,8 +249,8 @@ public class GenerateWebmotionMappingMojo extends ToolboxMojoSupport { getLog().info("Check " + sourceClass.getName()); } - String packagePrefix = targetClassName.substring(targetApiPackageName.length() + 1) + "."; - String rulePrefix = "GET,POST,DELETE /api/v1/" + packagePrefix.replace("Controller", "").replaceAll("\\.", "/"); + String packagePrefix = "v1." + targetClassName.substring(targetApiPackageName.length() + 1) + "."; + String rulePrefix = " /api/v1/" + packagePrefix.replace("Controller", "").replaceAll("\\.", "/"); for (Method sourceMethod : sourceDeclaredMethods) { @@ -252,8 +258,16 @@ public class GenerateWebmotionMappingMojo extends ToolboxMojoSupport { getLog().info("Generate for " + sourceClass.getName() + "#" + sourceMethod.getName()); } + String methods; + if (sourceMethod.isAnnotationPresent(postRequestAnnotationType)) { + methods = "POST"; + } else if (sourceMethod.isAnnotationPresent(deleteRequestAnnotationType)) { + methods = "DELETE"; + } else { + methods = "GET"; + } String method = packagePrefix + sourceMethod.getName().replace("/", "."); - String rule = rulePrefix + sourceMethod.getName(); + String rule = methods + rulePrefix + sourceMethod.getName(); // generate entry in mapping rules.put(rule, method); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See https://gitlab.nuiton.org/codelutin/observe.git commit 4219603bae1c33a8c25ddcedfa23fb799792af48 Author: Tony CHEMIT <chemit@codelutin.com> Date: Wed Sep 7 17:39:09 2016 +0200 Fix legacy synchronization always play insert, then update and finally delete request in this order + begin de fix fixes... --- .../swing/db/ObserveSwingDataSource.java | 18 ++-- .../swing/ui/admin/save/SaveLocalUIHandler.java | 2 +- .../referential/legacy/SynchronizeUIHandler.java | 9 +- .../v1/LastUpdateDateServiceController.java | 26 ++++++ ...ferentialSynchronizeLocalServiceController.java | 5 ++ application-web/src/main/resources/mapping | 3 + .../services/topia/ObserveServiceTopia.java | 100 +-------------------- .../topia/service/LastUpdateDateServiceTopia.java | 88 ++++++++++++++++++ .../topia/service/ReferentialServiceTopia.java | 15 ++-- ...nalReferentialSynchronizeLocalServiceTopia.java | 21 ++++- .../ActivityLongLineEncounterServiceTopia.java | 3 +- .../ActivityLongLineSensorUsedServiceTopia.java | 3 +- .../longline/ActivityLonglineServiceTopia.java | 4 +- .../longline/SetLonglineCatchServiceTopia.java | 3 +- .../SetLonglineDetailCompositionServiceTopia.java | 4 +- .../SetLonglineGlobalCompositionServiceTopia.java | 3 +- .../service/longline/SetLonglineServiceTopia.java | 4 +- .../topia/service/longline/TdrServiceTopia.java | 3 +- .../longline/TripLonglineGearUseServiceTopia.java | 4 +- .../service/longline/TripLonglineServiceTopia.java | 4 +- .../ActivitySeineObservedSystemServiceTopia.java | 3 +- .../service/seine/ActivitySeineServiceTopia.java | 4 +- .../service/seine/FloatingObjectServiceTopia.java | 4 +- .../service/seine/NonTargetCatchServiceTopia.java | 4 +- .../seine/ObjectObservedSpeciesServiceTopia.java | 3 +- .../seine/ObjectSchoolEstimateServiceTopia.java | 3 +- .../topia/service/seine/RouteServiceTopia.java | 4 +- .../service/seine/SchoolEstimateServiceTopia.java | 4 +- .../topia/service/seine/SetSeineServiceTopia.java | 4 +- .../TransmittingBuoyOperationServiceTopia.java | 3 +- .../seine/TripSeineGearUseServiceTopia.java | 3 +- .../topia/service/seine/TripSeineServiceTopia.java | 3 +- .../UnidirectionalSynchronizeReferentialTest.java | 32 +++---- .../services/ObserveServiceInitializer.java | 1 - .../observe/services/ObserveServicesProvider.java | 3 + .../services/service/LastUpdateDateService.java | 16 ++++ .../services/service/ReferentialService.java | 1 - ...UnidirectionalReferentialSynchronizeEngine.java | 41 +++++---- ...ectionalReferentialSynchronizeLocalService.java | 5 ++ 39 files changed, 277 insertions(+), 186 deletions(-) diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/db/ObserveSwingDataSource.java b/application-swing/src/main/java/fr/ird/observe/application/swing/db/ObserveSwingDataSource.java index 3d23daa..5fd47a9 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/db/ObserveSwingDataSource.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/db/ObserveSwingDataSource.java @@ -31,36 +31,36 @@ import fr.ird.observe.application.swing.db.event.ObserveSwingDataSourceEvent; import fr.ird.observe.application.swing.db.event.ObserveSwingDataSourceListener; import fr.ird.observe.services.ObserveService; import fr.ird.observe.services.ObserveServiceInitializer; -import fr.ird.observe.services.runner.ObserveServiceMainFactory; import fr.ird.observe.services.ObserveServicesProvider; -import fr.ird.observe.services.dto.ObserveSpeciesListConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfiguration; import fr.ird.observe.services.configuration.ObserveDataSourceConfigurationAndConnection; -import fr.ird.observe.services.configuration.rest.ObserveDataSourceConfigurationRest; -import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaH2; -import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaPG; import fr.ird.observe.services.configuration.ObserveDataSourceConnection; import fr.ird.observe.services.configuration.ObserveDataSourceInformation; import fr.ird.observe.services.configuration.ObserveDataSourceType; +import fr.ird.observe.services.configuration.rest.ObserveDataSourceConfigurationRest; +import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaH2; +import fr.ird.observe.services.configuration.topia.ObserveDataSourceConfigurationTopiaPG; 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.ObserveDbUserDto; +import fr.ird.observe.services.dto.ObserveSpeciesListConfiguration; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; +import fr.ird.observe.services.runner.ObserveServiceMainFactory; 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.DatabaseDestroyNotAuthorizedException; import fr.ird.observe.services.service.DatabaseNotFoundException; +import fr.ird.observe.services.service.LastUpdateDateService; import fr.ird.observe.services.service.ObserveReferentialCache; import fr.ird.observe.services.service.PingService; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.SqlScriptProducerService; import fr.ird.observe.services.service.actions.consolidate.ConsolidateDataService; -import fr.ird.observe.services.service.trip.TripManagementService; import fr.ird.observe.services.service.actions.report.ReportService; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalService; @@ -92,6 +92,7 @@ import fr.ird.observe.services.service.seine.TargetSampleService; import fr.ird.observe.services.service.seine.TransmittingBuoyOperationService; import fr.ird.observe.services.service.seine.TripSeineGearUseService; import fr.ird.observe.services.service.seine.TripSeineService; +import fr.ird.observe.services.service.trip.TripManagementService; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.jdesktop.beans.AbstractSerializableBean; @@ -525,6 +526,11 @@ public class ObserveSwingDataSource extends AbstractSerializableBean implements } @Override + public LastUpdateDateService newLastUpdateDateService() { + return newService(LastUpdateDateService.class); + } + + @Override public SqlScriptProducerService newSqlScriptProducerService() { return newService(SqlScriptProducerService.class); } diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/save/SaveLocalUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/save/SaveLocalUIHandler.java index a33b432..fabb1fa 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/save/SaveLocalUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/save/SaveLocalUIHandler.java @@ -177,7 +177,7 @@ public class SaveLocalUIHandler extends AdminTabUIHandler { UnidirectionalReferentialSynchronizeContext referentialSynchronizeContext = stepModel.getReferentialSynchronizeContext(); - source.newUnidirectionalReferentialSynchronizeLocalService().applySqlRequests(referentialSynchronizeContext.getSqlRequests()); + stepModel.getEngine().finish(source.newUnidirectionalReferentialSynchronizeLocalService(), referentialSynchronizeContext); sendMessage(t("observe.actions.synchro.referential.message.apply.done", new Date())); diff --git a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java index a95ffea..8ab2b1d 100644 --- a/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java +++ b/application-swing/src/main/java/fr/ird/observe/application/swing/ui/admin/synchronize/referential/legacy/SynchronizeUIHandler.java @@ -33,6 +33,7 @@ import fr.ird.observe.services.service.actions.synchro.referential.legacy.Unidir import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeCallbackResults; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeContext; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeEngine; +import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalService; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeResult; import fr.ird.observe.application.swing.ui.admin.AdminStep; import fr.ird.observe.application.swing.ui.admin.AdminTabUIHandler; @@ -132,13 +133,14 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { centralSource.newReferentialSynchronizeDiffService() ); + UnidirectionalReferentialSynchronizeLocalService localService = source.newUnidirectionalReferentialSynchronizeLocalService(); UnidirectionalReferentialSynchronizeEngine engine = new UnidirectionalReferentialSynchronizeEngine( - diffsEngine, source.newUnidirectionalReferentialSynchronizeLocalService() + diffsEngine ); stepModel.setEngine(engine); - UnidirectionalReferentialSynchronizeContext unidirectionalReferentialSynchronizeContext = engine.prepareContext(); + UnidirectionalReferentialSynchronizeContext unidirectionalReferentialSynchronizeContext = engine.prepareContext(localService); stepModel.setReferentialSynchronizeContext(unidirectionalReferentialSynchronizeContext); @@ -293,7 +295,8 @@ public class SynchronizeUIHandler extends AdminTabUIHandler { UnidirectionalReferentialSynchronizeCallbackResults referentialSynchronizeCallbackResults = stepModel.getReferentialSynchronizeCallbackResults(); - UnidirectionalReferentialSynchronizeResult referentialSynchronizeResult = engine.prepareResult(referentialSynchronizeContext, referentialSynchronizeCallbackResults); + UnidirectionalReferentialSynchronizeLocalService localService = stepModel.getSource().newUnidirectionalReferentialSynchronizeLocalService(); + UnidirectionalReferentialSynchronizeResult referentialSynchronizeResult = engine.prepareResult(localService, referentialSynchronizeContext, referentialSynchronizeCallbackResults); stepModel.setReferentialSynchronizeResult(referentialSynchronizeResult); if (referentialSynchronizeResult.isEmpty()) { diff --git a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/LastUpdateDateServiceController.java b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/LastUpdateDateServiceController.java new file mode 100644 index 0000000..7356fb6 --- /dev/null +++ b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/LastUpdateDateServiceController.java @@ -0,0 +1,26 @@ +package fr.ird.observe.application.web.controller.v1; + +import fr.ird.observe.services.service.LastUpdateDateService; + +/** + * Created on 07/09/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public class LastUpdateDateServiceController extends ObserveServiceControllerSupport<LastUpdateDateService> implements LastUpdateDateService { + + public LastUpdateDateServiceController() { + super(LastUpdateDateService.class); + } + + @Override + public void updateReferentialLastUpdateDates() { + getAuthenticatedService().updateReferentialLastUpdateDates(); + } + + @Override + public void updateDataLastUpdateDates() { + getAuthenticatedService().updateDataLastUpdateDates(); + } +} diff --git a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceController.java b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceController.java index f8c07da..d34935c 100644 --- a/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceController.java +++ b/application-web/src/main/java/fr/ird/observe/application/web/controller/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceController.java @@ -61,4 +61,9 @@ public class UnidirectionalReferentialSynchronizeLocalServiceController extends getAuthenticatedService().applySqlRequests(sqlRequests); } + @Override + public void updateLastUpdateDates() { + getAuthenticatedService().updateLastUpdateDates(); + } + } diff --git a/application-web/src/main/resources/mapping b/application-web/src/main/resources/mapping index b29bbd0..5be1eda 100644 --- a/application-web/src/main/resources/mapping +++ b/application-web/src/main/resources/mapping @@ -74,6 +74,8 @@ GET /api/v1/v1/DataSourceService/getReferentialTypesInShell GET /api/v1/v1/DataSourceService/getUsers v1.DataSourceServiceController.getUsers GET /api/v1/v1/DataSourceService/migrateData v1.DataSourceServiceController.migrateData GET /api/v1/v1/DataSourceService/open v1.DataSourceServiceController.open +GET /api/v1/v1/LastUpdateDateService/updateDataLastUpdateDates v1.LastUpdateDateServiceController.updateDataLastUpdateDates +GET /api/v1/v1/LastUpdateDateService/updateReferentialLastUpdateDates v1.LastUpdateDateServiceController.updateReferentialLastUpdateDates GET /api/v1/v1/PingService/ping v1.PingServiceController.ping GET /api/v1/v1/ReferentialService/exists v1.ReferentialServiceController.exists GET /api/v1/v1/ReferentialService/findAllUsages v1.ReferentialServiceController.findAllUsages @@ -181,6 +183,7 @@ POST /api/v1/v1/actions/report/ReportService/populateVariables POST /api/v1/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getReferentialReferenceSet v1.actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getReferentialReferenceSet POST /api/v1/v1/actions/synchro/referential/diff/ReferentialSynchronizeDiffService/getReferentials v1.actions.synchro.referential.diff.ReferentialSynchronizeDiffServiceController.getReferentials POST /api/v1/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/applySqlRequests v1.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.applySqlRequests +POST /api/v1/v1/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService/updateLastUpdateDates v1.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalServiceController.updateLastUpdateDates POST /api/v1/v1/actions/synchro/referential/ng/ReferentialSynchronizeService/executeSqlsRequests v1.actions.synchro.referential.ng.ReferentialSynchronizeServiceController.executeSqlsRequests POST /api/v1/v1/actions/synchro/referential/ng/ReferentialSynchronizeService/produceSqlsRequest v1.actions.synchro.referential.ng.ReferentialSynchronizeServiceController.produceSqlsRequest POST /api/v1/v1/actions/validate/ValidateService/validateData v1.actions.validate.ValidateServiceController.validateData diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceTopia.java index 33ddd8c..b7fa47c 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/ObserveServiceTopia.java @@ -244,12 +244,6 @@ public abstract class ObserveServiceTopia implements ObserveService { return entity; } - protected <E extends ObserveDataEntity, D extends DataDto> E loadOrCreateEntityAndCheckLastUpdate(D dto) { - E entity = loadOrCreateEntityFromDataDto(dto); - checkLastUpdateDate(entity, dto); - return entity; - } - protected <E extends ObserveEntity, D extends IdDto> void checkLastUpdateDate(E entity, D dto) { if (entity.isPersisted()) { @@ -272,96 +266,6 @@ public abstract class ObserveServiceTopia implements ObserveService { return serviceContext.now(); } -// protected ObserveDataSourceConfigurationTopiaH2 createTemporaryDatabaseFromDump(String prefix, byte... importContent) { -// ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); -// temporaryDataSourceConfiguration.setDbName("obstuna"); -// temporaryDataSourceConfiguration.setLabel(prefix); -// temporaryDataSourceConfiguration.setUsername("sa"); -// temporaryDataSourceConfiguration.setPassword('s', 'a'); -// File temporaryDataSourceDirectory = serviceContext.createTemporaryDirectory(prefix); -// temporaryDataSourceConfiguration.setDirectory(temporaryDataSourceDirectory); -// -// DataSourceService dataSourceService = serviceContext.newService(temporaryDataSourceConfiguration, DataSourceService.class); -// -// try { -// DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); -// dataSourceCreateConfiguration.setImportDatabase(importContent); -// dataSourceService.create(temporaryDataSourceConfiguration, dataSourceCreateConfiguration); -// } catch (IncompatibleDataSourceCreateConfigurationException | DataSourceCreateWithNoReferentialImportException e) { -// //FIXME Avoir une exception plus concrete -// throw new RuntimeException("Could not create temporary database: " + prefix, e); -// } -// -// return temporaryDataSourceConfiguration; -// } -// -// protected ObserveDataSourceConfigurationTopiaH2 createTemporaryDatabase(String prefix) { -// -// ObserveDataSourceConfigurationTopiaH2 temporaryDataSourceConfiguration = new ObserveDataSourceConfigurationTopiaH2(); -// temporaryDataSourceConfiguration.setDbName("obstuna"); -// temporaryDataSourceConfiguration.setLabel(prefix); -// temporaryDataSourceConfiguration.setUsername("sa"); -// temporaryDataSourceConfiguration.setPassword('s', 'a'); -// File temporaryDataSourceDirectory = serviceContext.createTemporaryDirectory(prefix); -// temporaryDataSourceConfiguration.setDirectory(temporaryDataSourceDirectory); -// -// DataSourceService dataSourceService = serviceContext.newService(temporaryDataSourceConfiguration, DataSourceService.class); -// -// try { -// DataSourceCreateConfigurationDto dataSourceCreateConfiguration = new DataSourceCreateConfigurationDto(); -// dataSourceCreateConfiguration.setCanCreateEmptyDatabase(true); -// dataSourceService.create(temporaryDataSourceConfiguration, dataSourceCreateConfiguration); -// } catch (IncompatibleDataSourceCreateConfigurationException | DataSourceCreateWithNoReferentialImportException e) { -// //FIXME Avoir une exception plus concrete -// throw new RuntimeException("Could not create temporary database: " + prefix, e); -// } -// -// return temporaryDataSourceConfiguration; -// -// } - -// protected void replicateReferential(ObserveTopiaApplicationContext sourceTopiaApplicationContext, ObserveTopiaApplicationContext temporaryTopiaApplicationContext) { -// -// long t0 = System.nanoTime(); -// -// TopiaReplicationService service = sourceTopiaApplicationContext.getReplicationService(); -// ReplicationModel model = service.prepareForAll(Entities.REFERENCE_ENTITIES); -// -// try { -// service.doReplicate(model, temporaryTopiaApplicationContext); -// } catch (Exception e) { -// //TODO Avoir une exception concrete -// throw new RuntimeException("Could not replicate referantial", e); -// } -// -// -// if (log.isInfoEnabled()) { -// log.info(String.format("Referential replication done in %s", StringUtil.convertTime(t0, System.nanoTime()))); -// } -// -// } - -// protected void replicateData(ObserveTopiaApplicationContext sourceTopiaApplicationContext, -// ObserveTopiaApplicationContext temporaryTopiaApplicationContext, -// Set<String> ids) { -// try { -// -// -// for (String id : ids) { -// long t1 = System.nanoTime(); -// -// replicateOneData(sourceTopiaApplicationContext, temporaryTopiaApplicationContext, id); -// -// if (log.isInfoEnabled()) { -// log.info(String.format("Data replication [%s] done in %s", id, StringUtil.convertTime(t1, System.nanoTime()))); -// } -// } -// -// } catch (Exception e) { -// throw new RuntimeException("Could not replicate data", e); -// } -// } - protected <D extends DataDto, E extends ObserveDataEntity> D loadEntityToDataDto(Class<D> dtoType, String id) { E entity = loadEntity(dtoType, id); @@ -386,13 +290,13 @@ public abstract class ObserveServiceTopia implements ObserveService { protected <D extends ReferentialDto> ReferentialReference<D> toReference(ObserveReferentialEntity entity) { - return BinderEngine.get().transformEntityToReferentialReferenceDto(getReferentialLocale(), entity); + return BINDER_ENGINE.transformEntityToReferentialReferenceDto(getReferentialLocale(), entity); } protected <D extends DataDto> DataReference<D> toReference(ObserveDataEntity entity) { - return BinderEngine.get().transformEntityToDataReferenceDto(getReferentialLocale(), entity); + return BINDER_ENGINE.transformEntityToDataReferenceDto(getReferentialLocale(), entity); } diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/LastUpdateDateServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/LastUpdateDateServiceTopia.java new file mode 100644 index 0000000..d6707eb --- /dev/null +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/LastUpdateDateServiceTopia.java @@ -0,0 +1,88 @@ +package fr.ird.observe.services.topia.service; + +import com.google.common.base.Optional; +import fr.ird.observe.ObserveEntityEnum; +import fr.ird.observe.entities.LastUpdateDate; +import fr.ird.observe.entities.ObserveDataEntity; +import fr.ird.observe.entities.ObserveEntity; +import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; +import fr.ird.observe.services.service.LastUpdateDateService; +import fr.ird.observe.services.topia.ObserveServiceTopia; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.persistence.support.TopiaSqlQuery; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Timestamp; + +/** + * Created on 07/09/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class LastUpdateDateServiceTopia extends ObserveServiceTopia implements LastUpdateDateService { + + /** Logger. */ + private static final Log log = LogFactory.getLog(LastUpdateDateServiceTopia.class); + + @Override + public void updateReferentialLastUpdateDates() { + + for (Class<? extends ObserveReferentialEntity> entityType : BINDER_ENGINE.getReferentialEntityToDtoTypes().keySet()) { + updateLastUpdateDate(entityType); + } + + } + + @Override + public void updateDataLastUpdateDates() { + + for (Class<? extends ObserveDataEntity> entityType : BINDER_ENGINE.getDataEntityToDtoTypes().keySet()) { + updateLastUpdateDate(entityType); + } + } + + private <E extends ObserveEntity> void updateLastUpdateDate(Class<E> entityType) { + + Optional<LastUpdateDate> optionalLastUpdateDate = getTopiaPersistenceContext().getLastUpdateDateDao() + .forTypeEquals(entityType.getName()) + .setOrderByArguments(LastUpdateDate.PROPERTY_LAST_UPDATE_DATE) + .tryFindFirst(); + + if (!optionalLastUpdateDate.isPresent()) { + return; + } + + LastUpdateDate lastUpdateDate = optionalLastUpdateDate.get(); + + ObserveEntityEnum entityEnum = serviceContext.getTopiaApplicationContext().getEntityEnum(entityType); + + String schemaName = entityEnum.dbSchemaName(); + String tableName = entityEnum.dbTableName(); + + + Timestamp maxLastUpdateDate = getTopiaPersistenceContext().getSqlSupport().findSingleResult(new TopiaSqlQuery<Timestamp>() { + @Override + public PreparedStatement prepareQuery(Connection connection) throws SQLException { + + return connection.prepareStatement("SELECT max(lastUpdateDate)::TIMESTAMP FROM " + schemaName + "." + tableName); + } + + @Override + public Timestamp prepareResult(ResultSet set) throws SQLException { + return set.getTimestamp(1); + } + }); + + if (lastUpdateDate.getLastUpdateDate().before(maxLastUpdateDate)) { + + if (log.isInfoEnabled()) { + log.info("Update LastUpdateDate for " + entityType.getName() + " with value: " + maxLastUpdateDate); + } + lastUpdateDate.setLastUpdateDate(maxLastUpdateDate); + } + } +} diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java index e8264f1..f04a9b3 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/ReferentialServiceTopia.java @@ -29,12 +29,6 @@ import fr.ird.observe.entities.EntityMap; import fr.ird.observe.entities.constants.ReferenceStatusPersist; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; import fr.ird.observe.entities.referentiel.Species; -import fr.ird.observe.services.service.DataNotFoundException; -import fr.ird.observe.services.service.ReferenceSetsRequest; -import fr.ird.observe.services.service.ReferentialService; -import fr.ird.observe.services.topia.ObserveServiceTopia; -import fr.ird.observe.services.topia.binder.BinderEngine; -import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReferenceSet; import fr.ird.observe.services.dto.Form; @@ -48,6 +42,11 @@ import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.service.DataNotFoundException; +import fr.ird.observe.services.service.ReferenceSetsRequest; +import fr.ird.observe.services.service.ReferentialService; +import fr.ird.observe.services.topia.ObserveServiceTopia; +import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDao; @@ -75,7 +74,7 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe log.trace("getReferenceSet(" + type.getName() + ", " + lastUpdateDate + ")"); } - Class<ObserveReferentialEntity> entityType = BinderEngine.get().getReferentialEntityType(type); + Class<ObserveReferentialEntity> entityType = BINDER_ENGINE.getReferentialEntityType(type); //FIXME A revoir car on devrait toujours avoir une date de dernière mise à jour Optional<Date> lastUpdateOptional = getLastUpdate(entityType); @@ -177,8 +176,6 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe Class<ObserveReferentialEntity> entityType = getReferentialEntityType(type); ObserveReferentialEntity entity = newEntity(entityType); entity.setStatus(ReferenceStatusPersist.enabled); - //TODO Voir selon le type d'entité si il y a des valeurs par défaut à utiliser - //FIXME Definir une definition pour chaque formulaire de référentiel return referentialEntityToForm(type, entity, null); } diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceTopia.java index 4c877bf..9fce69b 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalServiceTopia.java @@ -24,13 +24,15 @@ package fr.ird.observe.services.topia.service.actions.synchro.referential.legacy import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.referentiel.ObserveReferentialEntity; +import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.ReferentialReference; +import fr.ird.observe.services.service.LastUpdateDateService; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalService; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeRequest; +import fr.ird.observe.services.topia.ObserveServiceContextTopia; import fr.ird.observe.services.topia.ObserveServiceTopia; import fr.ird.observe.services.topia.binder.BinderEngine; import fr.ird.observe.services.topia.binder.referential.ReferentialBinderSupport; -import fr.ird.observe.services.dto.referential.ReferentialDto; -import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.topia.service.actions.synchro.referential.sql.ApplySqlRequestWork; import fr.ird.observe.services.topia.service.actions.synchro.referential.sql.DeleteSqlStatementGenerator; import fr.ird.observe.services.topia.service.actions.synchro.referential.sql.InsertSqlStatementGenerator; @@ -60,6 +62,14 @@ public class UnidirectionalReferentialSynchronizeLocalServiceTopia extends Obser /** Logger. */ private static final Log log = LogFactory.getLog(UnidirectionalReferentialSynchronizeLocalServiceTopia.class); + private LastUpdateDateService lastUpdateDateService; + + @Override + public void setServiceContext(ObserveServiceContextTopia serviceContext) { + super.setServiceContext(serviceContext); + lastUpdateDateService = serviceContext.newService(LastUpdateDateService.class); + } + @Override public <R extends ReferentialDto> Set<String> filterIdsUsedInLocalSource(Class<R> referentialName, Set<String> ids) { @@ -157,6 +167,13 @@ public class UnidirectionalReferentialSynchronizeLocalServiceTopia extends Obser } + @Override + public void updateLastUpdateDates() { + + lastUpdateDateService.updateReferentialLastUpdateDates(); + + } + private <E extends ObserveReferentialEntity> int countUsage0(Class<E> entityType, String id) { TopiaDao<E> dao = getTopiaPersistenceContext().getDao(entityType); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLongLineEncounterServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLongLineEncounterServiceTopia.java index e2bb448..53fff25 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLongLineEncounterServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLongLineEncounterServiceTopia.java @@ -60,7 +60,8 @@ public class ActivityLongLineEncounterServiceTopia extends ObserveServiceTopia i log.trace("save(" + dto.getId() + ")"); } - ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); + ActivityLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLongLineSensorUsedServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLongLineSensorUsedServiceTopia.java index c3d003e..dd38dc0 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLongLineSensorUsedServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLongLineSensorUsedServiceTopia.java @@ -78,7 +78,8 @@ public class ActivityLongLineSensorUsedServiceTopia extends ObserveServiceTopia log.trace("save(" + dto.getId() + ")"); } - ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); + ActivityLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLonglineServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLonglineServiceTopia.java index e2cc905..56e98a1 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLonglineServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/ActivityLonglineServiceTopia.java @@ -176,8 +176,8 @@ public class ActivityLonglineServiceTopia extends ObserveServiceTopia implements TripLongline tripLongline = loadEntity(TripLonglineDto.class, tripLonglineId); - ActivityLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + ActivityLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); SaveResultDto saveResultDto = saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineCatchServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineCatchServiceTopia.java index 6e7cd4e..bbd933a 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineCatchServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineCatchServiceTopia.java @@ -72,7 +72,8 @@ public class SetLonglineCatchServiceTopia extends ObserveServiceTopia implements } - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); + SetLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineDetailCompositionServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineDetailCompositionServiceTopia.java index bc7309d..c97f87e 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineDetailCompositionServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineDetailCompositionServiceTopia.java @@ -114,8 +114,8 @@ public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopi log.trace("save(" + dto.getId() + ")"); } - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + SetLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); SaveResultDto result = saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineGlobalCompositionServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineGlobalCompositionServiceTopia.java index 1f0d770..6764ba2 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineGlobalCompositionServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineGlobalCompositionServiceTopia.java @@ -59,7 +59,8 @@ public class SetLonglineGlobalCompositionServiceTopia extends ObserveServiceTopi log.trace("save(" + dto.getId() + ")"); } - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); + SetLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineServiceTopia.java index 1daba96..0a50834 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/SetLonglineServiceTopia.java @@ -153,8 +153,8 @@ public class SetLonglineServiceTopia extends ObserveServiceTopia implements SetL ActivityLongline activityLongline = loadEntity(ActivityLonglineDto.class, activityLonglineId); - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + SetLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); SaveResultDto result = saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TdrServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TdrServiceTopia.java index 5c64ac3..2295d74 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TdrServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TdrServiceTopia.java @@ -90,7 +90,8 @@ public class TdrServiceTopia extends ObserveServiceTopia implements TdrService { log.trace("save(" + dto.getId() + ")"); } - SetLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); + SetLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineGearUseServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineGearUseServiceTopia.java index 3044767..ab0924f 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineGearUseServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineGearUseServiceTopia.java @@ -65,8 +65,8 @@ public class TripLonglineGearUseServiceTopia extends ObserveServiceTopia impleme log.trace("save(" + dto.getId() + ")"); } - TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + TripLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineServiceTopia.java index eb534fb..522649c 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/longline/TripLonglineServiceTopia.java @@ -197,8 +197,8 @@ public class TripLonglineServiceTopia extends ObserveServiceTopia implements Tri log.trace("save(" + dto.getId() + ")"); } - TripLongline entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + TripLongline entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); SaveResultDto result = saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ActivitySeineObservedSystemServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ActivitySeineObservedSystemServiceTopia.java index bdfed08..907dd4e 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ActivitySeineObservedSystemServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ActivitySeineObservedSystemServiceTopia.java @@ -58,7 +58,8 @@ public class ActivitySeineObservedSystemServiceTopia extends ObserveServiceTopia log.trace("save(" + dto.getId() + ")"); } - ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); + ActivitySeine entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ActivitySeineServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ActivitySeineServiceTopia.java index 92713d9..41b6433 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ActivitySeineServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ActivitySeineServiceTopia.java @@ -190,8 +190,8 @@ public class ActivitySeineServiceTopia extends ObserveServiceTopia implements Ac Route route = loadEntity(RouteDto.class, routeId); - ActivitySeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + ActivitySeine entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); SaveResultDto result = saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/FloatingObjectServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/FloatingObjectServiceTopia.java index 1ef2824..67aec6c 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/FloatingObjectServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/FloatingObjectServiceTopia.java @@ -126,8 +126,8 @@ public class FloatingObjectServiceTopia extends ObserveServiceTopia implements F ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + FloatingObject entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); SaveResultDto result = saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/NonTargetCatchServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/NonTargetCatchServiceTopia.java index bc551ae..0f1e71f 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/NonTargetCatchServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/NonTargetCatchServiceTopia.java @@ -100,8 +100,8 @@ public class NonTargetCatchServiceTopia extends ObserveServiceTopia implements N .map(ReferentialReference::getId) .collect(Collectors.toSet()); - SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + SetSeine entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); // mise a jour de la propriete nonTargetDiscarded sur la calée diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ObjectObservedSpeciesServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ObjectObservedSpeciesServiceTopia.java index 94853e0..2c0c53d 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ObjectObservedSpeciesServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ObjectObservedSpeciesServiceTopia.java @@ -60,7 +60,8 @@ public class ObjectObservedSpeciesServiceTopia extends ObserveServiceTopia imple log.trace("save(" + dto.getId() + ")"); } - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); + FloatingObject entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ObjectSchoolEstimateServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ObjectSchoolEstimateServiceTopia.java index 1495c33..d73783a 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ObjectSchoolEstimateServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/ObjectSchoolEstimateServiceTopia.java @@ -61,7 +61,8 @@ public class ObjectSchoolEstimateServiceTopia extends ObserveServiceTopia implem log.trace("save(" + dto.getId() + ")"); } - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); + FloatingObject entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/RouteServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/RouteServiceTopia.java index b501bcd..96d9b71 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/RouteServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/RouteServiceTopia.java @@ -220,8 +220,8 @@ public class RouteServiceTopia extends ObserveServiceTopia implements RouteServi oldRouteDate = dto.getDate(); } - Route entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + Route entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); SaveResultDto saveResultDto = saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/SchoolEstimateServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/SchoolEstimateServiceTopia.java index c6c7a60..aaf5baa 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/SchoolEstimateServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/SchoolEstimateServiceTopia.java @@ -61,8 +61,8 @@ public class SchoolEstimateServiceTopia extends ObserveServiceTopia implements S log.trace("save(" + dto.getId() + ")"); } - SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + SetSeine entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); for (SchoolEstimate schoolEstimate : entity.getSchoolEstimate()) { diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/SetSeineServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/SetSeineServiceTopia.java index cafc0a9..f26eac5 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/SetSeineServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/SetSeineServiceTopia.java @@ -146,8 +146,8 @@ public class SetSeineServiceTopia extends ObserveServiceTopia implements SetSein ActivitySeine activitySeine = loadEntity(ActivitySeineDto.class, activitySeineId); - SetSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); - + SetSeine entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); SaveResultDto result = saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TransmittingBuoyOperationServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TransmittingBuoyOperationServiceTopia.java index c887960..03242ee 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TransmittingBuoyOperationServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TransmittingBuoyOperationServiceTopia.java @@ -61,7 +61,8 @@ public class TransmittingBuoyOperationServiceTopia extends ObserveServiceTopia i log.trace("save(" + dto.getId() + ")"); } - FloatingObject entity = loadOrCreateEntityAndCheckLastUpdate(dto); + FloatingObject entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineGearUseServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineGearUseServiceTopia.java index 517715e..6b1b878 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineGearUseServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineGearUseServiceTopia.java @@ -65,7 +65,8 @@ public class TripSeineGearUseServiceTopia extends ObserveServiceTopia implements log.trace("save(" + dto.getId() + ")"); } - TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); + TripSeine entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); return saveEntity(entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopia.java index 60bc6e2..5d78fc5 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/seine/TripSeineServiceTopia.java @@ -202,7 +202,8 @@ public class TripSeineServiceTopia extends ObserveServiceTopia implements TripSe log.trace("save(" + dto.getId() + ")"); } - TripSeine entity = loadOrCreateEntityAndCheckLastUpdate(dto); + TripSeine entity = loadOrCreateEntityFromDataDto(dto); + checkLastUpdateDate(entity, dto); copyDataDtoToEntity(dto, entity); diff --git a/services-topia/src/test/java/fr/ird/observe/services/topia/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java b/services-topia/src/test/java/fr/ird/observe/services/topia/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java index 4a6eae1..065d672 100644 --- a/services-topia/src/test/java/fr/ird/observe/services/topia/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java +++ b/services-topia/src/test/java/fr/ird/observe/services/topia/service/actions/synchro/UnidirectionalSynchronizeReferentialTest.java @@ -24,15 +24,11 @@ package fr.ird.observe.services.topia.service.actions.synchro; import fr.ird.observe.ObserveEntityEnum; import fr.ird.observe.entities.Entities; -import fr.ird.observe.services.topia.TopiaTestClassResource; -import fr.ird.observe.services.topia.TopiaTestMethodResource; -import fr.ird.observe.services.topia.binder.BinderEngine; import fr.ird.observe.services.dto.referential.PersonDto; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.SpeciesDto; import fr.ird.observe.services.dto.referential.VesselDto; import fr.ird.observe.services.dto.referential.seine.VesselActivitySeineDto; -import fr.ird.observe.services.topia.service.AbstractServiceTopiaTest; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffService; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeCallbackResults; @@ -40,6 +36,10 @@ import fr.ird.observe.services.service.actions.synchro.referential.legacy.Unidir import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeEngine; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeLocalService; import fr.ird.observe.services.service.actions.synchro.referential.legacy.UnidirectionalReferentialSynchronizeResult; +import fr.ird.observe.services.topia.TopiaTestClassResource; +import fr.ird.observe.services.topia.TopiaTestMethodResource; +import fr.ird.observe.services.topia.binder.BinderEngine; +import fr.ird.observe.services.topia.service.AbstractServiceTopiaTest; import fr.ird.observe.test.DatabaseName; import fr.ird.observe.test.ObserveTestConfiguration; import fr.ird.observe.test.spi.CopyDatabaseConfiguration; @@ -87,10 +87,10 @@ public class UnidirectionalSynchronizeReferentialTest extends AbstractServiceTop @Test public void testSynchronizeFromEmptyDatabase() { - UnidirectionalReferentialSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalReferentialSynchronizeEngine(diffsEngine, localService); - UnidirectionalReferentialSynchronizeContext unidirectionalReferentialSynchronizeContext = referentialSynchronizeEngine.prepareContext(); - UnidirectionalReferentialSynchronizeResult result = referentialSynchronizeEngine.prepareResult(unidirectionalReferentialSynchronizeContext, null); - referentialSynchronizeEngine.finish(unidirectionalReferentialSynchronizeContext); + UnidirectionalReferentialSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalReferentialSynchronizeEngine(diffsEngine); + UnidirectionalReferentialSynchronizeContext unidirectionalReferentialSynchronizeContext = referentialSynchronizeEngine.prepareContext(localService); + UnidirectionalReferentialSynchronizeResult result = referentialSynchronizeEngine.prepareResult(localService, unidirectionalReferentialSynchronizeContext, null); + referentialSynchronizeEngine.finish(localService, unidirectionalReferentialSynchronizeContext); Assert.assertNotNull(result); Set<Class<? extends ReferentialDto>> referentialNames = result.getReferentialNames(); @@ -119,10 +119,10 @@ public class UnidirectionalSynchronizeReferentialTest extends AbstractServiceTop @Test public void testSynchronizeWithNochange() { - UnidirectionalReferentialSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalReferentialSynchronizeEngine(diffsEngine, localService); - UnidirectionalReferentialSynchronizeContext unidirectionalReferentialSynchronizeContext = referentialSynchronizeEngine.prepareContext(); - UnidirectionalReferentialSynchronizeResult result = referentialSynchronizeEngine.prepareResult(unidirectionalReferentialSynchronizeContext, null); - referentialSynchronizeEngine.finish(unidirectionalReferentialSynchronizeContext); + UnidirectionalReferentialSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalReferentialSynchronizeEngine(diffsEngine); + UnidirectionalReferentialSynchronizeContext unidirectionalReferentialSynchronizeContext = referentialSynchronizeEngine.prepareContext(localService); + UnidirectionalReferentialSynchronizeResult result = referentialSynchronizeEngine.prepareResult(localService, unidirectionalReferentialSynchronizeContext, null); + referentialSynchronizeEngine.finish(localService, unidirectionalReferentialSynchronizeContext); Assert.assertNotNull(result); Set<Class<? extends ReferentialDto>> referentialNames = result.getReferentialNames(); @@ -150,14 +150,14 @@ public class UnidirectionalSynchronizeReferentialTest extends AbstractServiceTop public void testSynchronizeWithAllChanges() { - UnidirectionalReferentialSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalReferentialSynchronizeEngine(diffsEngine, localService); - UnidirectionalReferentialSynchronizeContext unidirectionalReferentialSynchronizeContext = referentialSynchronizeEngine.prepareContext(); + UnidirectionalReferentialSynchronizeEngine referentialSynchronizeEngine = new UnidirectionalReferentialSynchronizeEngine(diffsEngine); + UnidirectionalReferentialSynchronizeContext unidirectionalReferentialSynchronizeContext = referentialSynchronizeEngine.prepareContext(localService); UnidirectionalReferentialSynchronizeCallbackResults results = new UnidirectionalReferentialSynchronizeCallbackResults(); results.addCallbackResult(PersonDto.class, "fr.ird.observe.entities.referentiel.Person#1355399844272#0.32586441962131485", "fr.ird.observe.entities.referentiel.Person#1429515754659#0.322074382333085"); - UnidirectionalReferentialSynchronizeResult result = referentialSynchronizeEngine.prepareResult(unidirectionalReferentialSynchronizeContext, results); - referentialSynchronizeEngine.finish(unidirectionalReferentialSynchronizeContext); + UnidirectionalReferentialSynchronizeResult result = referentialSynchronizeEngine.prepareResult(localService, unidirectionalReferentialSynchronizeContext, results); + referentialSynchronizeEngine.finish(localService, unidirectionalReferentialSynchronizeContext); Assert.assertNotNull(result); Set<Class<? extends ReferentialDto>> referentialNames = result.getReferentialNames(); diff --git a/services/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java b/services/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java index 9ef43c2..1712ad2 100644 --- a/services/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java +++ b/services/src/main/java/fr/ird/observe/services/ObserveServiceInitializer.java @@ -139,7 +139,6 @@ public class ObserveServiceInitializer { /** * Le répertoire où créer les répertoires temporaires. - * FIXME A revoir car dans le cadre d'un appel distant cela n'a pas de sens. */ private File temporaryDirectoryRoot; diff --git a/services/src/main/java/fr/ird/observe/services/ObserveServicesProvider.java b/services/src/main/java/fr/ird/observe/services/ObserveServicesProvider.java index 00b611f..3dd5bfb 100644 --- a/services/src/main/java/fr/ird/observe/services/ObserveServicesProvider.java +++ b/services/src/main/java/fr/ird/observe/services/ObserveServicesProvider.java @@ -23,6 +23,7 @@ package fr.ird.observe.services; */ import fr.ird.observe.services.service.DataSourceService; +import fr.ird.observe.services.service.LastUpdateDateService; import fr.ird.observe.services.service.PingService; import fr.ird.observe.services.service.ReferentialService; import fr.ird.observe.services.service.SqlScriptProducerService; @@ -70,6 +71,8 @@ import fr.ird.observe.services.service.trip.TripManagementService; */ public interface ObserveServicesProvider { + LastUpdateDateService newLastUpdateDateService(); + SqlScriptProducerService newSqlScriptProducerService(); ValidateService newValidateService(); diff --git a/services/src/main/java/fr/ird/observe/services/service/LastUpdateDateService.java b/services/src/main/java/fr/ird/observe/services/service/LastUpdateDateService.java new file mode 100644 index 0000000..82a59dd --- /dev/null +++ b/services/src/main/java/fr/ird/observe/services/service/LastUpdateDateService.java @@ -0,0 +1,16 @@ +package fr.ird.observe.services.service; + +import fr.ird.observe.services.ObserveService; + +/** + * Created on 07/09/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 5.0 + */ +public interface LastUpdateDateService extends ObserveService { + + void updateReferentialLastUpdateDates(); + + void updateDataLastUpdateDates(); +} diff --git a/services/src/main/java/fr/ird/observe/services/service/ReferentialService.java b/services/src/main/java/fr/ird/observe/services/service/ReferentialService.java index c931899..5f94e4e 100644 --- a/services/src/main/java/fr/ird/observe/services/service/ReferentialService.java +++ b/services/src/main/java/fr/ird/observe/services/service/ReferentialService.java @@ -82,7 +82,6 @@ public interface ReferentialService extends ObserveService { @DeleteRequest <R extends ReferentialDto> void delete(Class<R> type, Collection<String> ids) throws DataNotFoundException; - //FIXME Pfff, on ne veut pas récuperer des dto, mais des références @ReadReferentialPermission @ReadDataPermission <R extends ReferentialDto> ReferenceMap findAllUsages(R bean) throws DataNotFoundException; diff --git a/services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeEngine.java b/services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeEngine.java index d66adf6..76ab447 100644 --- a/services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeEngine.java +++ b/services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeEngine.java @@ -26,7 +26,6 @@ import com.google.common.collect.ImmutableSet; import fr.ird.observe.services.dto.referential.ReferentialDto; import fr.ird.observe.services.dto.referential.ReferentialReference; import fr.ird.observe.services.dto.referential.ReferentialReferenceSet; -import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiff; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffState; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffs; import fr.ird.observe.services.service.actions.synchro.referential.diff.ReferentialSynchronizeDiffsEngine; @@ -46,17 +45,13 @@ import java.util.stream.Collectors; */ public class UnidirectionalReferentialSynchronizeEngine { - private final UnidirectionalReferentialSynchronizeLocalService localService; - private final ReferentialSynchronizeDiffsEngine diffsEngine; - public UnidirectionalReferentialSynchronizeEngine(ReferentialSynchronizeDiffsEngine diffsEngine, - UnidirectionalReferentialSynchronizeLocalService localService) { + public UnidirectionalReferentialSynchronizeEngine(ReferentialSynchronizeDiffsEngine diffsEngine) { this.diffsEngine = diffsEngine; - this.localService = localService; } - public UnidirectionalReferentialSynchronizeContext prepareContext() { + public UnidirectionalReferentialSynchronizeContext prepareContext(UnidirectionalReferentialSynchronizeLocalService localService) { ReferentialSynchronizeDiffs synchronizeDiffs = diffsEngine.build(); @@ -67,12 +62,10 @@ public class UnidirectionalReferentialSynchronizeEngine { // Première étape pour construire les builder de requète et calculer au passage les ids à faire remplacer // par l'utilisateur - ReferentialSynchronizeDiff localDiff = synchronizeDiffs.getLeftDiff(); - ReferentialSynchronizeDiff centralDiff = synchronizeDiffs.getRightDiff(); - for (Class<? extends ReferentialDto> referentialName : synchronizeDiffs.getReferentialNames()) { UnidirectionalReferentialSynchronizeRequest.Builder<?> builder = computeReferentialSynchronizeRequestBuilder( + localService, referentialName, synchronizeDiffs, callbackRequests); referentialSynchronizeRequestBuilders.add(builder); @@ -86,10 +79,14 @@ public class UnidirectionalReferentialSynchronizeEngine { } - public UnidirectionalReferentialSynchronizeResult prepareResult(UnidirectionalReferentialSynchronizeContext context, UnidirectionalReferentialSynchronizeCallbackResults callbackResults) { + public UnidirectionalReferentialSynchronizeResult prepareResult(UnidirectionalReferentialSynchronizeLocalService localService,UnidirectionalReferentialSynchronizeContext context, UnidirectionalReferentialSynchronizeCallbackResults callbackResults) { UnidirectionalReferentialSynchronizeResult result = new UnidirectionalReferentialSynchronizeResult(); + Set<String> insertSqlRequests = new LinkedHashSet<>(); + Set<String> updateSqlRequests = new LinkedHashSet<>(); + Set<String> deleteSqlRequests = new LinkedHashSet<>(); + Set<String> sqlRequests = new LinkedHashSet<>(); // Second étape pour terminer la construction des builders de requètes et générer le code sql @@ -119,9 +116,21 @@ public class UnidirectionalReferentialSynchronizeEngine { result.flushRequest(referentialSynchronizeRequest); Set<String> sqlRequestsforReferential = localService.generateSqlRequests(referentialSynchronizeRequest); - sqlRequests.addAll(sqlRequestsforReferential); + for (String sqlStatement : sqlRequestsforReferential) { + + if (sqlStatement.startsWith("INSERT")) { + insertSqlRequests.add(sqlStatement); + }if (sqlStatement.startsWith("UPDATE")) { + updateSqlRequests.add(sqlStatement); + } else { + deleteSqlRequests.add(sqlStatement); + } + } } + sqlRequests.addAll(insertSqlRequests); + sqlRequests.addAll(updateSqlRequests); + sqlRequests.addAll(deleteSqlRequests); context.setSqlRequests(sqlRequests); @@ -129,16 +138,16 @@ public class UnidirectionalReferentialSynchronizeEngine { } - public void finish(UnidirectionalReferentialSynchronizeContext context) { + public void finish(UnidirectionalReferentialSynchronizeLocalService localService, UnidirectionalReferentialSynchronizeContext context) { Set<String> sqlRequests = context.getSqlRequests(); localService.applySqlRequests(sqlRequests); - //FIXME Mettre à jour la table LastUpdateDate pour les référentiels touchés et les données aussi... - + localService.updateLastUpdateDates(); } - private <R extends ReferentialDto> UnidirectionalReferentialSynchronizeRequest.Builder<R> computeReferentialSynchronizeRequestBuilder(Class<R> referentialName, + private <R extends ReferentialDto> UnidirectionalReferentialSynchronizeRequest.Builder<R> computeReferentialSynchronizeRequestBuilder(UnidirectionalReferentialSynchronizeLocalService localService, + Class<R> referentialName, ReferentialSynchronizeDiffs diffs, UnidirectionalReferentialSynchronizeCallbackRequests callbackRequests) { diff --git a/services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService.java b/services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService.java index b974b5f..48054a9 100644 --- a/services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService.java +++ b/services/src/main/java/fr/ird/observe/services/service/actions/synchro/referential/legacy/UnidirectionalReferentialSynchronizeLocalService.java @@ -85,4 +85,9 @@ public interface UnidirectionalReferentialSynchronizeLocalService extends Observ @Write @PostRequest void applySqlRequests(Set<String> sqlRequests); + + @ReadReferentialPermission + @Write + @PostRequest + void updateLastUpdateDates(); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm