branch feature/7520 created (now 1f5c293)
This is an automated email from the git hooks/post-receive script. New change to branch feature/7520 in repository observe. See http://git.codelutin.com/observe.git at 1f5c293 ajout de la date de mise a jour pour les entité dans le référentiel (refs #7520) This branch includes the following new commits: new 1f5c293 ajout de la date de mise a jour pour les entité dans le référentiel (refs #7520) The 1 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 1f5c2930bc9f825281bd89f255fd6a796f570fac Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Sep 10 15:18:33 2015 +0200 ajout de la date de mise a jour pour les entité dans le référentiel (refs #7520) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/7520 in repository observe. See http://git.codelutin.com/observe.git commit 1f5c2930bc9f825281bd89f255fd6a796f570fac Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Sep 10 15:18:33 2015 +0200 ajout de la date de mise a jour pour les entité dans le référentiel (refs #7520) --- .../v1/ReferentialServiceController.java | 6 + .../migration/AbstractDataSourceMigration.java | 3 +- .../DataSourceMigrationForVersion_5_0.java | 6 +- .../resources/db/5.0/add_lastUpdate_field-H2.sql | 133 ++++++++++++++++++++ .../resources/db/5.0/add_lastUpdate_field-PG.sql | 134 +++++++++++++++++++++ observe-entities/src/main/xmi/observe-common.zargo | Bin 35191 -> 36629 bytes .../services/service/ReferentialService.java | 4 + .../ird/observe/services/dto/ReferenceSetDtos.java | 8 +- .../xmi/observe-services-dto-common.properties | 2 +- .../src/main/xmi/observe-services-dto-common.zargo | Bin 33879 -> 33934 bytes .../xmi/observe-services-dto-longline.properties | 2 +- .../main/xmi/observe-services-dto-seine.properties | 2 +- .../ird/observe/services/ObserveServiceTopia.java | 63 +++++++++- .../services/service/ReferentialServiceTopia.java | 17 +++ .../service/ReferentialServiceTopiaTest.java | 50 ++++++++ 15 files changed, 420 insertions(+), 10 deletions(-) diff --git a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java index 1901580..4879ea0 100644 --- a/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java +++ b/observe-application-web/src/main/java/fr/ird/observe/application/web/controller/v1/ReferentialServiceController.java @@ -8,6 +8,7 @@ import fr.ird.observe.services.service.ReferentialService; import org.debux.webmotion.server.WebMotionContextable; import java.util.Collection; +import java.util.Date; /** * Created on 19/08/15. @@ -32,6 +33,11 @@ public class ReferentialServiceController extends ObserveServiceControllerSuppor } @Override + public <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSetIfModify(Class<R> type, Date updateAfter) { + return service.getReferentialReferenceSetIfModify(type, updateAfter); + } + + @Override public <R extends ReferentialDto> FormDto<R> loadToRead(Class<R> type, String id) throws DataNotFoundException { return service.loadToRead(type, id); } diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java index 34d7e84..d89d5fe 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/AbstractDataSourceMigration.java @@ -81,12 +81,13 @@ public abstract class AbstractDataSourceMigration extends TopiaMigrationCallback public static final Version V_4_0_RC7 = Versions.valueOf("4.0-RC7"); public static final Version V_4_0 = Versions.valueOf("4.0"); - public static final Version V_5_0 = Versions.valueOf("5.0"); public static final Version V_4_0_1 = Versions.valueOf("4.0.1"); public static final Version V_4_0_2 = Versions.valueOf("4.0.2"); + public static final Version V_5_0 = Versions.valueOf("5.0"); + /** Les versions de mise à jour disponibles. */ public static final Version[] availableVersions = new Version[]{ V_3_1, V_3_5, V_3_7, V_3_8, V_3_9, V_3_10, V_3_11, V_3_12, V_3_14, V_3_15, V_3_16, V_4_0_RC2, diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java index f0a26ee..89195e9 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_0.java @@ -31,11 +31,11 @@ public class DataSourceMigrationForVersion_5_0 extends AbstractObserveMigrationC // Ajout des champs lastUpdate // See https://forge.codelutin.com/issues/7470 - //TODO addScript("add_last_date_update", queries); + addScript("add_lastUpdate_field", queries); } - public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0 { + public static class H2DataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0 { public H2DataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { super(callBack, H2DataSourceMigration.TYPE); @@ -43,7 +43,7 @@ public class DataSourceMigrationForVersion_5_0 extends AbstractObserveMigrationC } - public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_4_0 { + public static class PGDataSourceMigrationForVersion extends DataSourceMigrationForVersion_5_0 { public PGDataSourceMigrationForVersion(AbstractDataSourceMigration callBack) { super(callBack, PGDataSourceMigration.TYPE); diff --git a/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-H2.sql b/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-H2.sql new file mode 100644 index 0000000..c2c3ca7 --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-H2.sql @@ -0,0 +1,133 @@ + + +-- Referentiel commum +ALTER TABLE OBSERVE_COMMON.COUNTRY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.FPAZONE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.GEAR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.HARBOUR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.OCEAN ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.ORGANISM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.PERSON ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.PROGRAM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.SEX ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.SPECIES ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.SPECIESGROUP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.SPECIESLIST ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.VESSEL ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.VESSELTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + +-- Référentiel senne +ALTER TABLE OBSERVE_SEINE.DETECTIONMODE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.OBJECTFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.OBJECTTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.SPECIESFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.WIND ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + +-- Référentiel Palangre +ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.BAITTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.CATCHFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.LINETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + + +-- Création de la table d'historisation +CREATE TABLE OBSERVE_COMMON.LASTUPDATETYPE (TOPIAID VARCHAR(255) NOT NULL, TOPIAVERSION BIGINT NOT NULL, TOPIACREATEDATE TIMESTAMP, TYPE VARCHAR(255) NOT NULL, LASTUPDATE TIMESTAMP NOT NULL); +ALTER TABLE OBSERVE_COMMON.LASTUPDATETYPE ADD CONSTRAINT PK_LASTUPDATETYPE PRIMARY KEY(TOPIAID); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Country', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.FpaZone', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Gear', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristic', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristicType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Harbour', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.LengthWeightParameter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Ocean', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Organism', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Person', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Program', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Sex', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Species', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesGroup', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesList', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Vessel', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselSizeCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselType', CURRENT_TIMESTAMP); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.DetectionMode', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObservedSystem', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForDiscard', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNullSet', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SurroundingActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.VesselActivitySeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.WeightCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.Wind', CURRENT_TIMESTAMP); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitSettingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.CatchFateLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.EncounterType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.Healthness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookSize', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksColor', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LineType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MaturityStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MitigationType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorBrand', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorDataFormat', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.19', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.20', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SettingShape', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.21', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SizeMeasureType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.22', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.StomacFullness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.23', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.TripType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.24', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.VesselActivityLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); \ No newline at end of file diff --git a/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-PG.sql b/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-PG.sql new file mode 100644 index 0000000..77edb86 --- /dev/null +++ b/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-PG.sql @@ -0,0 +1,134 @@ + + +-- Referentiel commum +ALTER TABLE OBSERVE_COMMON.COUNTRY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.FPAZONE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.GEAR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTIC ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.GEARCARACTERISTICTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.HARBOUR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.LENGTHWEIGHTPARAMETER ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.OCEAN ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.ORGANISM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.PERSON ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.PROGRAM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.SEX ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.SPECIES ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.SPECIESGROUP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.SPECIESLIST ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.VESSEL ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.VESSELSIZECATEGORY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_COMMON.VESSELTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + +-- Référentiel senne +ALTER TABLE OBSERVE_SEINE.DETECTIONMODE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.OBJECTFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.OBJECTOPERATION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.OBJECTTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.OBSERVEDSYSTEM ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.REASONFORDISCARD ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.REASONFORNOFISHING ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.REASONFORNULLSET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.SPECIESFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.SPECIESSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.SURROUNDINGACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYOPERATION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.TRANSMITTINGBUOYTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.WEIGHTCATEGORY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.WIND ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + +-- Référentiel Palangre +ALTER TABLE OBSERVE_LONGLINE.BAITHAULINGSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.BAITSETTINGSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.BAITTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.CATCHFATE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.ENCOUNTERTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.HEALTHNESS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.HOOKPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.HOOKSIZE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.HOOKTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.ITEMHORIZONTALPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.ITEMVERTICALPOSITION ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSCOLOR ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.LIGHTSTICKSTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.LINETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.MATURITYSTATUS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.MITIGATIONTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SENSORBRAND ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SENSORDATAFORMAT ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SENSORTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SETTINGSHAPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SIZEMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.STOMACFULLNESS ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + + +-- Création de la table d'historisation + +CREATE TABLE OBSERVE_COMMON.LASTUPDATETYPE (TOPIAID CHARACTER VARYING(255) NOT NULL, TOPIAVERSION BIGINT NOT NULL, TOPIACREATEDATE TIMESTAMP, TYPE CHARACTER VARYING(255) NOT NULL, LASTUPDATE TIMESTAMP NOT NULL); +ALTER TABLE OBSERVE_COMMON.LASTUPDATETYPE ADD CONSTRAINT PK_LASTUPDATETYPE PRIMARY KEY(TOPIAID); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Country', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.FpaZone', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Gear', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristic', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.GearCaracteristicType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Harbour', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.LengthWeightParameter', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Ocean', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Organism', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Person', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Program', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Sex', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Species', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesGroup', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.SpeciesList', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.Vessel', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselSizeCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#0.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.VesselType', CURRENT_TIMESTAMP); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.DetectionMode', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObjectType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ObservedSystem', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForDiscard', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNoFishing', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.ReasonForNullSet', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesFate', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SpeciesStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.SurroundingActivity', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyOperation', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.TransmittingBuoyType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.VesselActivitySeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.WeightCategory', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#1.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.seine.Wind', CURRENT_TIMESTAMP); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitHaulingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitSettingStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.BaitType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.CatchFateLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.05', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.EncounterType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.06', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.Healthness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.07', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.08', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookSize', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.09', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.HookType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.10', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemHorizontalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.11', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.ItemVerticalPosition', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.12', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksColor', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.13', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LightsticksType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.14', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.LineType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.15', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MaturityStatus', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.16', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.MitigationType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.17', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorBrand', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.18', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorDataFormat', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.19', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SensorType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.20', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SettingShape', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.21', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.SizeMeasureType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.22', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.StomacFullness', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.23', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.TripType', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.24', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.VesselActivityLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/xmi/observe-common.zargo b/observe-entities/src/main/xmi/observe-common.zargo index e30a24c..db9fa01 100644 Binary files a/observe-entities/src/main/xmi/observe-common.zargo and b/observe-entities/src/main/xmi/observe-common.zargo differ diff --git a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java index f33f58c..4043af8 100644 --- a/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java +++ b/observe-services-api/src/main/java/fr/ird/observe/services/service/ReferentialService.java @@ -9,6 +9,7 @@ import fr.ird.observe.services.spi.Write; import fr.ird.observe.services.spi.WriteReferentialPermission; import java.util.Collection; +import java.util.Date; /** * Created on 16/08/15. @@ -21,6 +22,9 @@ public interface ReferentialService extends ObserveService { <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSet(Class<R> type); @ReadReferentialPermission + <R extends ReferentialDto> ReferenceSetDto<R> getReferentialReferenceSetIfModify(Class<R> type, Date updateAfter); + + @ReadReferentialPermission <R extends ReferentialDto> FormDto<R> loadToRead(Class<R> type, String id) throws DataNotFoundException; @WriteReferentialPermission diff --git a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java index b8ddb17..f715bfe 100644 --- a/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java +++ b/observe-services-model/src/main/java/fr/ird/observe/services/dto/ReferenceSetDtos.java @@ -3,6 +3,7 @@ package fr.ird.observe.services.dto; import com.google.common.base.Function; import com.google.common.base.Predicate; +import java.util.Date; import java.util.LinkedHashSet; import java.util.Objects; @@ -16,10 +17,13 @@ public class ReferenceSetDtos extends AbstractReferenceSetDtos { return dto; } - public static <D extends IdDto, R extends ReferenceDto<D>> ReferenceSetDto<D> newReferenceSetDto(Class<D> type, - LinkedHashSet<R> labels) { + public static <D extends IdDto, R extends ReferenceDto<D>> ReferenceSetDto<D> newReferenceSetDto( + Class<D> type, + LinkedHashSet<R> labels, + Date lastUpdate) { ReferenceSetDto<D> dto = new ReferenceSetDto<>(type); dto.setReference((LinkedHashSet) labels); + dto.setLastUpdate(lastUpdate); return dto; } diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.properties b/observe-services-model/src/main/xmi/observe-services-dto-common.properties index e73b825..94bb0d4 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-common.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-common.properties @@ -1,4 +1,4 @@ -model.tagvalue.version=7.0 +model.tagvalue.version=5.0 model.tagvalue.simpleBeanWithNoInterfaceSuperClass=fr.ird.observe.services.dto.AbstractObserveDto model.tagvalue.simpleBeanWithNoInterfaceDefaultsClassNameSuffix=Dtos diff --git a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo index e6653f3..fa18225 100644 Binary files a/observe-services-model/src/main/xmi/observe-services-dto-common.zargo and b/observe-services-model/src/main/xmi/observe-services-dto-common.zargo differ diff --git a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties index 430a8a0..ced8b3f 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-longline.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-longline.properties @@ -1,4 +1,4 @@ -model.tagvalue.version=7.0 +model.tagvalue.version=5.0 model.tagvalue.simpleBeanWithNoInterfaceSuperClass=fr.ird.observe.services.dto.AbstractObserveDto model.tagvalue.simpleBeanWithNoInterfaceDefaultsClassNameSuffix=Dtos diff --git a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties index 16fe69f..11c2b0f 100644 --- a/observe-services-model/src/main/xmi/observe-services-dto-seine.properties +++ b/observe-services-model/src/main/xmi/observe-services-dto-seine.properties @@ -1,4 +1,4 @@ -model.tagvalue.version=7.0 +model.tagvalue.version=5.0 model.tagvalue.simpleBeanWithNoInterfaceSuperClass=fr.ird.observe.services.dto.AbstractObserveDto model.tagvalue.simpleBeanWithNoInterfaceDefaultsClassNameSuffix=Dtos diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java index 54930e8..cf23295 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/ObserveServiceTopia.java @@ -8,6 +8,9 @@ import com.google.common.collect.Multimap; import fr.ird.observe.ObserveTopiaApplicationContext; import fr.ird.observe.ObserveTopiaPersistenceContext; import fr.ird.observe.entities.Entities; +import fr.ird.observe.entities.FollowedUpdateEntity; +import fr.ird.observe.entities.LastUpdateType; +import fr.ird.observe.entities.LastUpdateTypeTopiaDao; import fr.ird.observe.entities.constants.ReferenceLocale; import fr.ird.observe.entities.longline.TripLongline; import fr.ird.observe.entities.referentiel.ReferenceEntity; @@ -174,12 +177,62 @@ public class ObserveServiceTopia implements ObserveService { } protected <E extends TopiaEntity> E saveEntity(Class<E> entityType, E entity) { + if (entity instanceof FollowedUpdateEntity) { + ((FollowedUpdateEntity) entity).setLastUpdate(now()); + } ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); entity = dao.update(entity); + if (entity instanceof FollowedUpdateEntity) { + Class<? extends FollowedUpdateEntity> followedUpdateType = (Class<? extends FollowedUpdateEntity>) entityType; + setLastUpdate(followedUpdateType, ((FollowedUpdateEntity) entity).getLastUpdate()); + } + return entity; } + protected <E extends FollowedUpdateEntity> void setLastUpdate(Class<E> entityType, Date lastUpdate) { + + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + + LastUpdateTypeTopiaDao dao = persistenceContext.getLastUpdateTypeDao(); + + LastUpdateType lastUpdateType = dao.forTypeEquals(entityType.getCanonicalName()).findUniqueOrNull(); + + if (lastUpdateType == null) { + + lastUpdateType = dao.newInstance(); + + lastUpdateType.setType(entityType.getCanonicalName()); + + } + + lastUpdateType.setLastUpdate(lastUpdate); + + dao.update(lastUpdateType); + } + + protected <E extends TopiaEntity> Optional<Date> getLastUpdate(Class<E> entityType) { + + Optional<Date> result = Optional.absent(); + + if (FollowedUpdateEntity.class.isAssignableFrom(entityType)) { + + ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); + + LastUpdateTypeTopiaDao dao = persistenceContext.getLastUpdateTypeDao(); + + Optional<LastUpdateType> lastUpdateTypeOptional = dao.forTypeEquals(entityType.getCanonicalName()).tryFindUnique(); + + if (lastUpdateTypeOptional.isPresent()) { + result = Optional.of(lastUpdateTypeOptional.get().getLastUpdate()); + } + + } + + return result; + } + protected <D extends IdDto, E extends TopiaEntity> void deleteEntity(Class<D> dtoType, Class<E> entityType, Iterable<String> ids) { ObserveTopiaPersistenceContext persistenceContext = serviceContext.getTopiaPersistenceContext(); TopiaDao<E> dao = persistenceContext.getDao(entityType); @@ -189,6 +242,10 @@ public class ObserveServiceTopia implements ObserveService { throw new DataNotFoundException(dtoType, id); } dao.delete(entity); + if (FollowedUpdateEntity.class.isAssignableFrom(entityType)) { + Class<? extends FollowedUpdateEntity> followedUpdateType = (Class<? extends FollowedUpdateEntity>) entityType; + setLastUpdate(followedUpdateType, now()); + } } } @@ -302,7 +359,11 @@ public class ObserveServiceTopia implements ObserveService { labels.add(dto); } - ReferenceSetDto labelSetDto = ReferenceSetDtos.newReferenceSetDto(dtoType, labels); + + Optional<Date> lastUpdateOptional = getLastUpdate(entityType); + + ReferenceSetDto labelSetDto = ReferenceSetDtos.newReferenceSetDto(dtoType, labels, lastUpdateOptional.orNull()); + return labelSetDto; } diff --git a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java index 6d60f2c..1fbb57c 100644 --- a/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java +++ b/observe-services-topia/src/main/java/fr/ird/observe/services/service/ReferentialServiceTopia.java @@ -1,5 +1,6 @@ package fr.ird.observe.services.service; +import com.google.common.base.Optional; import fr.ird.observe.services.ObserveServiceTopia; import fr.ird.observe.services.dto.FormDto; import fr.ird.observe.services.dto.ReferenceSetDto; @@ -8,6 +9,7 @@ import org.nuiton.topia.persistence.TopiaEntity; import java.util.Collection; import java.util.Collections; +import java.util.Date; /** * Created on 16/08/15. @@ -22,6 +24,21 @@ public class ReferentialServiceTopia extends ObserveServiceTopia implements Refe } @Override + public <D extends ReferentialDto> ReferenceSetDto<D> getReferentialReferenceSetIfModify(Class<D> dtoType, Date updateAfter) { + ReferenceSetDto<D> result = null; + + Class<TopiaEntity> entityType = getEntityType(dtoType); + + Optional<Date> lastUpdateOptional = getLastUpdate(entityType); + + if (lastUpdateOptional.isPresent() && lastUpdateOptional.get().after(updateAfter)) { + result = getReferenceSet(dtoType); + } + + return result; + } + + @Override public <D extends ReferentialDto> FormDto<D> loadToRead(Class<D> dtoType, String id) { Class<TopiaEntity> entityType = getEntityType(dtoType); TopiaEntity entity = loadEntity(dtoType, entityType, id); diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java index 9a7f764..c703007 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/ReferentialServiceTopiaTest.java @@ -2,6 +2,8 @@ package fr.ird.observe.services.service; import com.google.common.collect.ImmutableSet; import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.LastUpdateType; +import fr.ird.observe.entities.LastUpdateTypeTopiaDao; import fr.ird.observe.entities.referentiel.LengthWeightParameter; import fr.ird.observe.entities.referentiel.Program; import fr.ird.observe.services.dto.FormDto; @@ -10,13 +12,17 @@ import fr.ird.observe.services.dto.ReferenceSetDto; import fr.ird.observe.services.dto.referential.LengthWeightParameterDto; import fr.ird.observe.services.dto.referential.ProgramDto; import fr.ird.observe.services.dto.referential.ReferentialDto; +import fr.ird.observe.services.dto.referential.VesselDto; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; import org.junit.Test; import org.nuiton.topia.persistence.TopiaDao; import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.util.DateUtil; +import java.util.Calendar; +import java.util.Date; import java.util.Map; import java.util.Set; @@ -72,12 +78,39 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { ReferenceSetDto referentialLabelSet = service.getReferentialReferenceSet(dtoType); Assert.assertNotNull(referentialLabelSet); Assert.assertEquals(expectedCount, referentialLabelSet.sizeReference()); + Assert.assertNotNull(referentialLabelSet.getLastUpdate()); } } @Test + public void testgetReferentialReferenceSetIfModify() { + + Date updateAfter = DateUtil.createDate(1,1, 2015); + + ReferenceSetDto<VesselDto> vesselReferenceSet = service.getReferentialReferenceSetIfModify(VesselDto.class, updateAfter); + + Assert.assertNotNull(vesselReferenceSet); + Assert.assertNotNull(vesselReferenceSet.getLastUpdate()); + Assert.assertTrue(vesselReferenceSet.sizeReference() > 0); + + updateAfter = vesselReferenceSet.getLastUpdate(); + + vesselReferenceSet = service.getReferentialReferenceSetIfModify(VesselDto.class, updateAfter); + Assert.assertNull(vesselReferenceSet); + + Calendar calendar = Calendar.getInstance(); + calendar.setTime(updateAfter); + calendar.add(Calendar.DATE, 1); + updateAfter = calendar.getTime(); + + vesselReferenceSet = service.getReferentialReferenceSetIfModify(VesselDto.class, updateAfter); + Assert.assertNull(vesselReferenceSet); + + } + + @Test public void testLoadToRead() throws Exception { ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); @@ -200,10 +233,15 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertNotNull(formDto.getForm()); Assert.assertNotNull(formDto.getForm().getId()); + Date lastUpdateBefore = getLastUpdate(entityType); + service.delete(dtoType, entity.getTopiaId()); Assert.assertEquals(expectedCount - 1, dao.count()); + Date lastUpdateAfter = getLastUpdate(entityType); + Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); + try { service.loadToRead(dtoType, entity.getTopiaId()); Assert.fail(); @@ -212,4 +250,16 @@ public class ReferentialServiceTopiaTest extends AbstractServiceTopiaTest { } } + + protected Date getLastUpdate(Class entityType) { + ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); + + LastUpdateTypeTopiaDao dao = persistenceContext.getLastUpdateTypeDao(); + + LastUpdateType lastUpdateType = dao.forTypeEquals(entityType.getCanonicalName()).findUnique(); + + return lastUpdateType.getLastUpdate(); + + + } } \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.
participants (1)
-
codelutin.com scm