This is an automated email from the git hooks/post-receive script. New commit to branch feature/2246 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 262c51e3583f2b496b87c78615a1f8cd4ba0c252 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon May 9 14:14:33 2016 +0200 Début ajout migration pour les clef naturelles + traitement pour import transit (See #2246) --- .../WorkingDbMigrationCallBackForVersion3_903.java | 33 ++++++++++++++++++++++ .../workingDb/h2/3.903-0-add-naturalIds.sql | 2 ++ .../workingDb/pg/3.903-0-add-naturalIds.sql | 2 ++ echobase-domain/src/main/xmi/echobase.properties | 10 ++++++- .../actions/VoyageCommonsTransitImportAction.java | 2 +- .../removedata/AbstractRemoveDataServiceTest.java | 6 ++++ 6 files changed, 53 insertions(+), 2 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/WorkingDbMigrationCallBackForVersion3_903.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/WorkingDbMigrationCallBackForVersion3_903.java new file mode 100644 index 0000000..7aa3288 --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/WorkingDbMigrationCallBackForVersion3_903.java @@ -0,0 +1,33 @@ +package fr.ifremer.echobase.persistence.migration.workingDb; + +import org.nuiton.topia.persistence.TopiaException; +import org.nuiton.topia.persistence.support.TopiaSqlSupport; +import org.nuiton.version.Version; +import org.nuiton.version.Versions; + +import java.util.List; + +/** + * Created on 09/05/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WorkingDbMigrationCallBackForVersion3_903 extends WorkingDbMigrationCallBackForVersionSupport { + + @Override + public Version getVersion() { + return Versions.valueOf("3.903"); + } + + @Override + protected void prepareMigrationScript(TopiaSqlSupport sqlSupport, + List<String> queries, + boolean showSql, + boolean showProgression) throws TopiaException { + + // See https://forge.codelutin.com/issues/2246 + addSpecificScript("3.903-0-add-naturalIds.sql", queries); + + } + +} diff --git a/echobase-domain/src/main/resources/migration/workingDb/h2/3.903-0-add-naturalIds.sql b/echobase-domain/src/main/resources/migration/workingDb/h2/3.903-0-add-naturalIds.sql new file mode 100644 index 0000000..f1c2d3b --- /dev/null +++ b/echobase-domain/src/main/resources/migration/workingDb/h2/3.903-0-add-naturalIds.sql @@ -0,0 +1,2 @@ +ALTER TABLE TRANSIT ADD CONSTRAINT UK_TRANSIT UNIQUE (Voyage, startTime, endTime ); +CREATE UNIQUE INDEX UK_TRANSIT_IDX ON TRANSIT (Voyage, startTime, endTime ); \ No newline at end of file diff --git a/echobase-domain/src/main/resources/migration/workingDb/pg/3.903-0-add-naturalIds.sql b/echobase-domain/src/main/resources/migration/workingDb/pg/3.903-0-add-naturalIds.sql new file mode 100644 index 0000000..f1c2d3b --- /dev/null +++ b/echobase-domain/src/main/resources/migration/workingDb/pg/3.903-0-add-naturalIds.sql @@ -0,0 +1,2 @@ +ALTER TABLE TRANSIT ADD CONSTRAINT UK_TRANSIT UNIQUE (Voyage, startTime, endTime ); +CREATE UNIQUE INDEX UK_TRANSIT_IDX ON TRANSIT (Voyage, startTime, endTime ); \ No newline at end of file diff --git a/echobase-domain/src/main/xmi/echobase.properties b/echobase-domain/src/main/xmi/echobase.properties index 833b963..18fd0ac 100644 --- a/echobase-domain/src/main/xmi/echobase.properties +++ b/echobase-domain/src/main/xmi/echobase.properties @@ -23,7 +23,7 @@ model.tagValue.notGenerateToString=true model.tagValue.generateOperatorForDAOHelper=true -model.tagValue.version=3.902 +model.tagValue.version=3.903 model.tagValue.generatePropertyChangeSupport=false model.tagValue.generateBooleanGetMethods=false model.tagValue.indexForeignKeys=true @@ -65,6 +65,7 @@ fr.ifremer.echobase.entities.ImportLog.attribute.importType.tagValue.notNull=tru fr.ifremer.echobase.entities.ImportFileId.attribute.entityId.tagValue.notNull=true fr.ifremer.echobase.entities.ImportFileId.attribute.lineNumber.tagValue.notNull=true + fr.ifremer.echobase.entities.ImportFileId.attribute.importOrder.tagValue.notNull=true ############################################################################### @@ -284,6 +285,13 @@ fr.ifremer.echobase.entities.data.Category.attribute.speciesCategory.tagValue.na fr.ifremer.echobase.entities.data.Voyage.class.tagValue.naturalIdMutable=true fr.ifremer.echobase.entities.data.Voyage.attribute.name.tagValue.naturalId=true +fr.ifremer.echobase.entities.data.Transit.class.tagValue.naturalIdMutable=true +fr.ifremer.echobase.entities.data.Transit.attribute.voyage.tagValue.naturalId=true +fr.ifremer.echobase.entities.data.Transit.attribute.startTime.tagValue.naturalId=true +fr.ifremer.echobase.entities.data.Transit.attribute.endTime.tagValue.naturalId=true + +fr.ifremer.echobase.entities.data.Transit.attribute.voyage.tagValue.notNull=false + ############################################################################### ### Not null for data ######################################################### ############################################################################### diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java index 2065371..28539a8 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java @@ -59,7 +59,7 @@ public class VoyageCommonsTransitImportAction extends VoyageCommonsImportDataAct doFlushTransaction(++rowNumber); Transit transit = row.getTransit(); - + transit.setVoyage(voyage); transit.setRelatedActivity(relatedActivity); Transit createdTransit = persistenceService.createTransit(transit); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java index 0dfee1b..f50bd82 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java @@ -428,6 +428,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS // create transit Transit transit = transitDAO.create( TopiaEntity.PROPERTY_TOPIA_ID, transit1Id, + Transit.PROPERTY_VOYAGE, voyage, Transit.PROPERTY_START_TIME, newDate(), Transit.PROPERTY_END_TIME, newDate(), Transit.PROPERTY_START_LOCALITY, "transit1tartLocality", @@ -455,6 +456,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS // create transit Transit transit = transitDAO.create( TopiaEntity.PROPERTY_TOPIA_ID, transit2Id, + Transit.PROPERTY_VOYAGE, voyage, Transit.PROPERTY_START_TIME, newDate(), Transit.PROPERTY_END_TIME, newDate(), Transit.PROPERTY_START_LOCALITY, "transit2StartLocality", @@ -484,6 +486,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS // create transect Transect transect = transectDAO.create( TopiaEntity.PROPERTY_TOPIA_ID, transect1Id, + Transect.PROPERTY_TRANSIT, transit, Transect.PROPERTY_TITLE, "transect1Title", Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class), Transect.PROPERTY_STRATUM, "transect1Stratum" @@ -493,6 +496,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS // create transect2 Transect transect2 = transectDAO.create( TopiaEntity.PROPERTY_TOPIA_ID, transect1_2Id, + Transect.PROPERTY_TRANSIT, transit, Transect.PROPERTY_TITLE, "transect12Title", Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class), Transect.PROPERTY_STRATUM, "transect12Stratum" @@ -518,6 +522,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS // create transect Transect transect = transectDAO.create( TopiaEntity.PROPERTY_TOPIA_ID, transect2Id, + Transect.PROPERTY_TRANSIT, transit, Transect.PROPERTY_TITLE, "transect2Title", Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class), Transect.PROPERTY_STRATUM, "transect22tratum" @@ -527,6 +532,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS // create transect2 Transect transect2 = transectDAO.create( TopiaEntity.PROPERTY_TOPIA_ID, transect2_2Id, + Transect.PROPERTY_TRANSIT, transit, Transect.PROPERTY_TITLE, "transect22Title", Transect.PROPERTY_VESSEL, getFirstEntity(Vessel.class), Transect.PROPERTY_STRATUM, "transect22Stratum" -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.