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 39dd80c11204d8247c9d8c4208c67ce58aaaa205 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Oct 27 17:30:45 2016 +0200 Rendre la collections de captures indexées + correction nommage script de migration --- .../DataSourceMigrationForVersion_5_1.java | 3 +- .../V5_1_01_evol_8374_delete_sonarUsed-H2.sql | 1 + .../V5_1_01_evol_8374_delete_sonarUsed-PG.sql | 1 + .../V5_1_02_evol_7886_catch_add_set_idx-H2.sql | 1 + .../V5_1_02_evol_7886_catch_add_set_idx-PG.sql | 1 + .../V_5_1_01_evol_8374_delete_sonarUsed-H2.sql | 1 - .../V_5_1_01_evol_8374_delete_sonarUsed-PG.sql | 1 - entities/src/main/xmi/observe.ini | 2 +- services-dto/src/main/xmi/observe-services-dto.ini | 1 + .../topia/binder/data/DataBinderSupport.java | 44 ++++++++++++++++++++-- .../binder/data/SetLonglineCatchDtoBinder.java | 4 +- 11 files changed, 50 insertions(+), 10 deletions(-) diff --git a/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java b/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java index bc7acd5..4c98f86 100644 --- a/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java +++ b/entities-migration/src/main/java/fr/ird/observe/entities/migration/versions/DataSourceMigrationForVersion_5_1.java @@ -17,7 +17,6 @@ import java.util.List; */ public class DataSourceMigrationForVersion_5_1 extends AbstractObserveMigrationCallBack { - public DataSourceMigrationForVersion_5_1(AbstractDataSourceMigration callBack, String scriptSuffix) { super(ObserveMigrationConfigurationProviderImpl.ObserveMigrationVersions.V_5_1.getVersion(), callBack, scriptSuffix); } @@ -29,6 +28,8 @@ public class DataSourceMigrationForVersion_5_1 extends AbstractObserveMigrationC boolean showProgression) { addScript("01", "evol_8374_delete_sonarUsed", queries); + addScript("02", "evol_7886_catch_add_set_idx", queries); + } diff --git a/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-H2.sql b/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-H2.sql new file mode 100644 index 0000000..b1f36ea --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-H2.sql @@ -0,0 +1 @@ +ALTER TABLE observe_seine.set DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-PG.sql b/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-PG.sql new file mode 100644 index 0000000..b1f36ea --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_01_evol_8374_delete_sonarUsed-PG.sql @@ -0,0 +1 @@ +ALTER TABLE observe_seine.set DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-H2.sql b/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-H2.sql new file mode 100644 index 0000000..e0d73af --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-H2.sql @@ -0,0 +1 @@ +ALTER TABLE observe_longline.catch ADD COLUMN set_idx INTEGER; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-PG.sql b/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-PG.sql new file mode 100644 index 0000000..e0d73af --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/V5_1_02_evol_7886_catch_add_set_idx-PG.sql @@ -0,0 +1 @@ +ALTER TABLE observe_longline.catch ADD COLUMN set_idx INTEGER; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-H2.sql b/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-H2.sql deleted file mode 100644 index 883b446..0000000 --- a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-H2.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE observe_seine."SET" DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-PG.sql b/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-PG.sql deleted file mode 100644 index 883b446..0000000 --- a/entities-migration/src/main/resources/db/migration/V_5_1_01_evol_8374_delete_sonarUsed-PG.sql +++ /dev/null @@ -1 +0,0 @@ -ALTER TABLE observe_seine."SET" DROP COLUMN sonarUsed; \ No newline at end of file diff --git a/entities/src/main/xmi/observe.ini b/entities/src/main/xmi/observe.ini index b4d52f9..102dfc3 100644 --- a/entities/src/main/xmi/observe.ini +++ b/entities/src/main/xmi/observe.ini @@ -102,7 +102,7 @@ dbName = Set baitsComposition.reverseDbName = set branchlinesComposition.reverseDbName = set catchLongline.reverseDbName = set -catchLongline.unique = true +catchLongline.ordered = true floatlinesComposition.reverseDbName = set haulingEndLatitude.sqlType = numeric haulingEndLongitude.sqlType = numeric diff --git a/services-dto/src/main/xmi/observe-services-dto.ini b/services-dto/src/main/xmi/observe-services-dto.ini index 88d3728..836c60d 100644 --- a/services-dto/src/main/xmi/observe-services-dto.ini +++ b/services-dto/src/main/xmi/observe-services-dto.ini @@ -89,6 +89,7 @@ settingShape.attributeGeneric = fr.ird.observe.services.dto.referential.longline baskets.attributeGeneric = fr.ird.observe.services.dto.longline.BasketDto branchlines.attributeGeneric = fr.ird.observe.services.dto.longline.BranchlineDto sections.attributeGeneric = fr.ird.observe.services.dto.longline.SectionDto +catchLongline.ordered = true [class fr.ird.observe.services.dto.longline.SetLonglineDetailComposition] section.ordered = true diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java index b38df55..259b07a 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/DataBinderSupport.java @@ -28,14 +28,14 @@ import com.google.common.collect.Maps; import com.google.common.collect.Sets; import fr.ird.observe.entities.CommentableEntity; import fr.ird.observe.entities.ObserveDataEntity; -import fr.ird.observe.services.topia.binder.BinderEngine; -import fr.ird.observe.services.topia.binder.BinderSupport; import fr.ird.observe.services.dto.CommentableDto; import fr.ird.observe.services.dto.DataDto; import fr.ird.observe.services.dto.DataReference; import fr.ird.observe.services.dto.constants.ReferentialLocale; import fr.ird.observe.services.dto.reference.DataReferenceSetDefinitions; import fr.ird.observe.services.dto.reference.ReferenceSetDefinition; +import fr.ird.observe.services.topia.binder.BinderEngine; +import fr.ird.observe.services.topia.binder.BinderSupport; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -45,9 +45,12 @@ import javax.sql.rowset.serial.SerialBlob; import java.io.Serializable; import java.sql.Blob; import java.sql.SQLException; +import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.LinkedHashSet; +import java.util.LinkedList; +import java.util.List; import java.util.Set; /** @@ -159,6 +162,26 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D } + protected <EE extends ObserveDataEntity, DD extends DataDto> List<DD> toListData(ReferentialLocale referentialLocale, Collection<EE> entities, Class<DD> dtoType) { + + List<DD> dtos = null; + if (CollectionUtils.isNotEmpty(entities)) { + + DataBinderSupport<EE, DD> binder = BinderEngine.get().getDataBinder(dtoType); + + dtos = new ArrayList<>(entities.size()); + for (EE entity : entities) { + + DD dto = binder.toData(referentialLocale, entity); + dtos.add(dto); + + } + + } + return dtos; + + } + // -------------------------------------------------------------------------------------------------------------- // // -- DATA → DATA REFERENCE ------------------------------------------------------------------------------------- // // -------------------------------------------------------------------------------------------------------------- // @@ -202,11 +225,24 @@ public abstract class DataBinderSupport<E extends ObserveDataEntity, D extends D } } - protected <DD extends DataDto, EE extends ObserveDataEntity> Set<EE> toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, Set<EE> entityList) { + protected <DD extends DataDto, EE extends ObserveDataEntity, C extends Set<EE>> C toEntitySet(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, C entityList) { if (entityList == null) { - entityList = new LinkedHashSet<>(); + entityList = (C) new LinkedHashSet(); + } + + fillEntityCollection(referentialLocale, dtos, entityList); + + return entityList; + + } + + protected <DD extends DataDto, EE extends ObserveDataEntity> List<EE> toEntityList(ReferentialLocale referentialLocale, Collection<DD> dtos, Class<EE> entityType, List<EE> entityList) { + + if (entityList == null) { + + entityList = new LinkedList<>(); } fillEntityCollection(referentialLocale, dtos, entityList); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetLonglineCatchDtoBinder.java b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetLonglineCatchDtoBinder.java index 96f68c4..1588118 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetLonglineCatchDtoBinder.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/binder/data/SetLonglineCatchDtoBinder.java @@ -44,7 +44,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se copyDtoDataFieldsToEntity(dto, entity); - entity.setCatchLongline(toEntitySet(referentialLocale, dto.getCatchLongline(), CatchLongline.class, entity.getCatchLongline())); + entity.setCatchLongline(toEntityList(referentialLocale, dto.getCatchLongline(), CatchLongline.class, entity.getCatchLongline())); } @@ -53,7 +53,7 @@ public class SetLonglineCatchDtoBinder extends DataBinderSupport<SetLongline, Se copyEntityDataFieldsToDto(entity, dto); - dto.setCatchLongline(toLinkedHashSetData(referentialLocale, entity.getCatchLongline(), CatchLonglineDto.class)); + dto.setCatchLongline(toListData(referentialLocale, entity.getCatchLongline(), CatchLonglineDto.class)); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.