This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository observe. See http://git.codelutin.com/observe.git commit 7407fcdbb3c0fe80c6ffcf53dd0edb098ee451d1 Author: Sylvain Bavencoff <bavencoff@codelutin.com> Date: Thu Sep 10 16:08:39 2015 +0200 ajout de la date de mise a jour pour les Trip, Route, Activity, Set (refs #7470) --- .../java/fr/ird/observe/entities/Activity.java | 2 +- .../java/fr/ird/observe/entities/ObserveSet.java | 2 +- .../main/java/fr/ird/observe/entities/Trip.java | 2 +- .../resources/db/5.0/add_lastUpdate_field-H2.sql | 24 +++++++++++++++++++-- .../resources/db/5.0/add_lastUpdate_field-PG.sql | 20 +++++++++++++++++ observe-entities/src/main/xmi/observe-common.zargo | Bin 36629 -> 37033 bytes .../src/main/xmi/observe-longline.zargo | Bin 95691 -> 96937 bytes observe-entities/src/main/xmi/observe-seine.zargo | Bin 83247 -> 84597 bytes .../services/service/AbstractServiceTopiaTest.java | 20 +++++++++++++++-- .../service/ReferentialServiceTopiaTest.java | 14 ------------ .../service/seine/TripSeineServiceTopiaTest.java | 15 +++++++++++++ 11 files changed, 78 insertions(+), 21 deletions(-) diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Activity.java b/observe-entities/src/main/java/fr/ird/observe/entities/Activity.java index 77540f7..806df87 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Activity.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Activity.java @@ -24,7 +24,7 @@ package fr.ird.observe.entities; import org.nuiton.topia.persistence.TopiaEntity; -public interface Activity extends TopiaEntity{ +public interface Activity extends TopiaEntity, FollowedUpdateEntity{ String PROPERTY_QUADRANT = "quadrant"; diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java b/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java index 961497a..e82d13c 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/ObserveSet.java @@ -30,7 +30,7 @@ import org.nuiton.topia.persistence.TopiaEntity; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public interface ObserveSet extends TopiaEntity { +public interface ObserveSet extends TopiaEntity, FollowedUpdateEntity { void initCoordinates(); diff --git a/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java b/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java index 0bcfbe6..bc7cf53 100644 --- a/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java +++ b/observe-entities/src/main/java/fr/ird/observe/entities/Trip.java @@ -39,7 +39,7 @@ import java.util.Date; * @author Tony Chemit - chemit@codelutin.com * @since 3.7 */ -public interface Trip extends CommentableEntity { +public interface Trip extends CommentableEntity, FollowedUpdateEntity { String PROPERTY_START_DATE = "startDate"; 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 index c2c3ca7..e26235f 100644 --- 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 @@ -20,7 +20,7 @@ ALTER TABLE OBSERVE_COMMON.VESSEL ADD COLUMN LASTUPDATE TIMEST 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 +-- 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; @@ -65,6 +65,17 @@ ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE ADD COLUMN LASTUPDATE TIMEST ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +-- Entitées Senne +ALTER TABLE OBSERVE_SEINE.ACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.ROUTE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.SET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.TRIP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + +-- Entitées Palangre +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.TRIP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + -- Création de la table d'historisation CREATE TABLE OBSERVE_COMMON.LASTUPDATETYPE (TOPIAID VARCHAR(255) NOT NULL, TOPIAVERSION BIGINT NOT NULL, TOPIACREATEDATE TIMESTAMP, TYPE VARCHAR(255) NOT NULL, LASTUPDATE TIMESTAMP NOT NULL); @@ -130,4 +141,13 @@ INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastU 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 +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ActivitySeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.Route', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SetSeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TripSeine', CURRENT_TIMESTAMP); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.ActivityLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SetLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TripLongline', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-PG.sql b/observe-entities/src/main/resources/db/5.0/add_lastUpdate_field-PG.sql index 77edb86..cd1a3f6 100644 --- 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 @@ -65,6 +65,17 @@ ALTER TABLE OBSERVE_LONGLINE.TRIPTYPE ADD COLUMN LASTUPDATE TIMEST ALTER TABLE OBSERVE_LONGLINE.VESSELACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; ALTER TABLE OBSERVE_LONGLINE.WEIGHTMEASURETYPE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +-- Entitées Senne +ALTER TABLE OBSERVE_SEINE.ACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.ROUTE ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.SET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_SEINE.TRIP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + +-- Entitées Palangre +ALTER TABLE OBSERVE_LONGLINE.ACTIVITY ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.SET ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; +ALTER TABLE OBSERVE_LONGLINE.TRIP ADD COLUMN LASTUPDATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL; + -- Création de la table d'historisation @@ -132,3 +143,12 @@ INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastU INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.23', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.TripType', CURRENT_TIMESTAMP); INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.24', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.VesselActivityLongline', CURRENT_TIMESTAMP); INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#2.25', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.referentiel.longline.WeightMeasureType', CURRENT_TIMESTAMP); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.ActivitySeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.Route', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.SetSeine', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#3.04', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.seine.TripSeine', CURRENT_TIMESTAMP); + +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.01', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.ActivityLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.02', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.SetLongline', CURRENT_TIMESTAMP); +INSERT INTO OBSERVE_COMMON.LASTUPDATETYPE VALUES ('fr.ird.observe.entities.LastUpdateType#1236861982132#4.03', 0, CURRENT_TIMESTAMP, 'fr.ird.observe.entities.longline.TripLongline', CURRENT_TIMESTAMP); diff --git a/observe-entities/src/main/xmi/observe-common.zargo b/observe-entities/src/main/xmi/observe-common.zargo index db9fa01..aadf6fe 100644 Binary files a/observe-entities/src/main/xmi/observe-common.zargo and b/observe-entities/src/main/xmi/observe-common.zargo differ diff --git a/observe-entities/src/main/xmi/observe-longline.zargo b/observe-entities/src/main/xmi/observe-longline.zargo index fd7841b..9af82f6 100644 Binary files a/observe-entities/src/main/xmi/observe-longline.zargo and b/observe-entities/src/main/xmi/observe-longline.zargo differ diff --git a/observe-entities/src/main/xmi/observe-seine.zargo b/observe-entities/src/main/xmi/observe-seine.zargo index 540369e..de2e7c4 100644 Binary files a/observe-entities/src/main/xmi/observe-seine.zargo and b/observe-entities/src/main/xmi/observe-seine.zargo differ diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java index fdabd80..1157dce 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/AbstractServiceTopiaTest.java @@ -10,18 +10,21 @@ package fr.ird.observe.services.service; * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ +import fr.ird.observe.ObserveTopiaPersistenceContext; +import fr.ird.observe.entities.LastUpdateType; +import fr.ird.observe.entities.LastUpdateTypeTopiaDao; import fr.ird.observe.entities.migration.H2DataSourceMigration; import fr.ird.observe.services.ApplicationContextResource; import fr.ird.observe.services.DataSourceResource; @@ -39,6 +42,7 @@ import org.nuiton.util.FileUtil; import java.io.File; import java.nio.file.Files; +import java.util.Date; import java.util.Set; /** @@ -124,4 +128,16 @@ public abstract class AbstractServiceTopiaTest { } + protected Date getLastUpdate(Class entityType) { + ObserveTopiaPersistenceContext persistenceContext = dataSourceResource.newPersistenceContext(); + + LastUpdateTypeTopiaDao dao = persistenceContext.getLastUpdateTypeDao(); + + LastUpdateType lastUpdateType = dao.forTypeEquals(entityType.getCanonicalName()).findUnique(); + + return lastUpdateType.getLastUpdate(); + + + } + } 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 e75fc35..1c64cd4 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 @@ -24,8 +24,6 @@ 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; @@ -272,16 +270,4 @@ 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 diff --git a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java index 9473922..150e6e6 100644 --- a/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java +++ b/observe-services-topia/src/test/java/fr/ird/observe/services/service/seine/TripSeineServiceTopiaTest.java @@ -43,6 +43,7 @@ import org.junit.Test; import org.nuiton.util.DateUtil; import java.util.Collection; +import java.util.Date; import java.util.List; import java.util.Set; @@ -267,6 +268,8 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { tripSeineDto.setComment("Un commentaire"); + Date lastUpdateBefore = getLastUpdate(TripSeine.class); + String tripSeineId = service.save(formDto); TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, tripSeineId); @@ -285,6 +288,8 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeineDto.getReportsUrl(), tripSeine.getReportsUrl()); Assert.assertEquals(tripSeineDto.getComment(), tripSeine.getComment()); + Date lastUpdateAfter = getLastUpdate(TripSeine.class); + Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); } @@ -318,6 +323,8 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { tripSeineDto.setComment("Un commentaire"); + Date lastUpdateBefore = getLastUpdate(TripSeine.class); + service.save(formDto); TripSeine tripSeine = dataSourceResource.findById(TripSeine.class, TRIP_SEINE_ID_1); @@ -336,11 +343,16 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertEquals(tripSeineDto.getReportsUrl(), tripSeine.getReportsUrl()); Assert.assertEquals(tripSeineDto.getComment(), tripSeine.getComment()); + Date lastUpdateAfter = getLastUpdate(TripSeine.class); + Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); + } @Test public void deleteTest() { + Date lastUpdateBefore = getLastUpdate(TripSeine.class); + service.delete(TRIP_SEINE_ID_1); List<TripSeineStubDto> tripSeineByProgram = service.getTripSeineByProgram(PROGRAM_ID); @@ -349,6 +361,9 @@ public class TripSeineServiceTopiaTest extends AbstractServiceTopiaTest { Assert.assertFalse(dataSourceResource.exists(TripSeine.class, TRIP_SEINE_ID_1)); + Date lastUpdateAfter = getLastUpdate(TripSeine.class); + Assert.assertNotEquals(lastUpdateBefore, lastUpdateAfter); + } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@list.forge.codelutin.com>.