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 8c0dfe50a9eaf46b39b36dab99a9175e181c7cbf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Nov 26 13:40:52 2016 +0100 [persistence] correction des optimisations de recherche + fix toutes les bases de test --- .../DataSourceMigrationForVersion_6_0.java | 11 +++--- .../6.0/19_ano_8554_brancheline_add_section-H2.sql | 7 ++-- .../6.0/19_ano_8554_brancheline_add_section-PG.sql | 7 ++-- ...evol_8391_species_drop_lengthmeasuretype-H2.sql | 1 + ...evol_8391_species_drop_lengthmeasuretype-PG.sql | 1 + .../observe/ObserveTopiaApplicationContext.java | 43 ++++++++++++++------- entities/src/main/xmi/observe-longline.zargo | Bin 95950 -> 95951 bytes entities/src/main/xmi/observe.ini | 2 +- .../data/longline/BranchlineServiceTopia.java | 5 +-- .../SetLonglineDetailCompositionServiceTopia.java | 6 +-- .../topia/entity/LengthWeightParemetersTest.java | 16 ++++---- .../java/fr/ird/observe/test/ObserveFixtures.java | 2 +- .../resources/db/5.0/dataForTestLongline.sql.gz | Bin 1579241 -> 1579264 bytes .../main/resources/db/5.0/dataForTestSeine.sql.gz | Bin 448110 -> 448129 bytes test/src/main/resources/db/5.0/referentiel.sql.gz | Bin 142863 -> 179173 bytes .../resources/db/6.0/dataForTestLongline.sql.gz | Bin 1593547 -> 1636168 bytes .../main/resources/db/6.0/dataForTestSeine.sql.gz | Bin 451463 -> 455791 bytes test/src/main/resources/db/6.0/empty_h2.sql.gz | Bin 6302 -> 6310 bytes test/src/main/resources/db/6.0/empty_pg.sql.gz | Bin 6293 -> 6302 bytes test/src/main/resources/db/6.0/referentiel.sql.gz | Bin 182328 -> 183215 bytes 20 files changed, 58 insertions(+), 43 deletions(-) diff --git a/entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_6_0.java b/entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_6_0.java index 3291d6b..5635693 100644 --- a/entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_6_0.java +++ b/entities-migration/src/main/java/fr/ird/observe/entities/migration/DataSourceMigrationForVersion_6_0.java @@ -57,10 +57,7 @@ public class DataSourceMigrationForVersion_6_0 extends AbstractObserveMigrationC } @Override - protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, - List<String> queries, - boolean showSql, - boolean showProgression) { + protected void prepareMigrationScript(TopiaSqlSupport topiaSqlSupport, List<String> queries, boolean showSql, boolean showProgression) { addScript("01", "evol_8374_delete_sonarUsed", queries); addScript("02", "evol_7886_catch_add_set_idx", queries); @@ -87,6 +84,8 @@ public class DataSourceMigrationForVersion_6_0 extends AbstractObserveMigrationC addScript("17", "evol_8376_vesselActivitySeine_add_allowFad", queries); addScript("18", "evol_8404_lengthLengthParameter", queries); addScript("19", "ano_8554_brancheline_add_section", queries); + addScript("20", "evol_8391_species_drop_lengthmeasuretype", queries); + } private void evol8391(TopiaSqlSupport topiaSqlSupport, List<String> queries) { @@ -97,6 +96,7 @@ public class DataSourceMigrationForVersion_6_0 extends AbstractObserveMigrationC .put("L1", "PDL") .put("LC", "DL") .put("LT", "TL") +// .put("", "TL") .build(); List<String> lengthMeasureTypes = topiaSqlSupport.findMultipleResult(new TopiaSqlQuery<String>() { @@ -126,6 +126,7 @@ public class DataSourceMigrationForVersion_6_0 extends AbstractObserveMigrationC Set<String> missingLengthMeasureTypeCodes = new HashSet<>(); for (String lengthMeasureType : lengthMeasureTypes) { + lengthMeasureType = lengthMeasureType.trim(); String realCode = missingCodesMapping.get(lengthMeasureType); if (realCode == null) { realCode = lengthMeasureType; @@ -234,8 +235,6 @@ public class DataSourceMigrationForVersion_6_0 extends AbstractObserveMigrationC throw new IllegalStateException("Impossible de trouver la type de mesure de taille pour les codes suivants :\n\t" + Joiner.on("\n\t").join(invalidCodes)); } - queries.add("ALTER TABLE observe_common.species DROP COLUMN lengthmeasuretype CASCADE;"); - } private void evol8390(TopiaSqlSupport topiaSqlSupport, List<String> queries) { diff --git a/entities-migration/src/main/resources/db/migration/6.0/19_ano_8554_brancheline_add_section-H2.sql b/entities-migration/src/main/resources/db/migration/6.0/19_ano_8554_brancheline_add_section-H2.sql index bbe135a..0ee0010 100644 --- a/entities-migration/src/main/resources/db/migration/6.0/19_ano_8554_brancheline_add_section-H2.sql +++ b/entities-migration/src/main/resources/db/migration/6.0/19_ano_8554_brancheline_add_section-H2.sql @@ -19,6 +19,7 @@ -- <http://www.gnu.org/licenses/gpl-3.0.html>. -- #L% --- -ALTER TABLE observe_longline.branchline ADD COLUMN set VARCHAR(255); -ALTER TABLE observe_longline.branchline ADD CONSTRAINT FK_BRANCHLINE_SET FOREIGN KEY(set) REFERENCES observe_longline.set(topiaid); -UPDATE observe_longline.branchline main SET set = (SELECT s.topiaid FROM observe_longline.set s INNER JOIN observe_longline.section section ON section.set = s.topiaid INNER JOIN observe_longline.basket basket ON basket.section = section.topiaid INNER JOIN observe_longline.branchline branchline ON branchline.basket = basket.topiaid WHERE branchline.topiaid = main.topiaid); +ALTER TABLE observe_longline.basket ADD COLUMN set character varying(255); +UPDATE observe_longline.basket main SET set = (SELECT section.set FROM observe_longline.section section INNER JOIN observe_longline.basket basket ON basket.section = section.topiaid WHERE basket.topiaid = main.topiaid); +ALTER TABLE observe_longline.basket ADD CONSTRAINT FK_BASKET_SET FOREIGN KEY(set) REFERENCES observe_longline.set(topiaid); +CREATE INDEX idx_observe_longline_basket_set ON OBSERVE_LONGLINE.basket(set); diff --git a/entities-migration/src/main/resources/db/migration/6.0/19_ano_8554_brancheline_add_section-PG.sql b/entities-migration/src/main/resources/db/migration/6.0/19_ano_8554_brancheline_add_section-PG.sql index 147d3fc..a588f75 100644 --- a/entities-migration/src/main/resources/db/migration/6.0/19_ano_8554_brancheline_add_section-PG.sql +++ b/entities-migration/src/main/resources/db/migration/6.0/19_ano_8554_brancheline_add_section-PG.sql @@ -19,6 +19,7 @@ -- <http://www.gnu.org/licenses/gpl-3.0.html>. -- #L% --- -ALTER TABLE observe_longline.branchline ADD COLUMN set character varying(255); -ALTER TABLE observe_longline.branchline ADD CONSTRAINT FK_BRANCHLINE_SET FOREIGN KEY(set) REFERENCES observe_longline.set(topiaid); -UPDATE observe_longline.branchline main SET set = (SELECT s.topiaid FROM observe_longline.set s INNER JOIN observe_longline.section section ON section.set = s.topiaid INNER JOIN observe_longline.basket basket ON basket.section = section.topiaid INNER JOIN observe_longline.branchline branchline ON branchline.basket = basket.topiaid WHERE branchline.topiaid = main.topiaid); +ALTER TABLE observe_longline.basket ADD COLUMN set character varying(255); +UPDATE observe_longline.basket main SET set = (SELECT section.set FROM observe_longline.section section INNER JOIN observe_longline.basket basket ON basket.section = section.topiaid WHERE basket.topiaid = main.topiaid); +ALTER TABLE observe_longline.basket ADD CONSTRAINT FK_BASKET_SET FOREIGN KEY(set) REFERENCES observe_longline.set(topiaid); +CREATE INDEX idx_observe_longline_basket_set ON OBSERVE_LONGLINE.basket(set); \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/6.0/20_evol_8391_species_drop_lengthmeasuretype-H2.sql b/entities-migration/src/main/resources/db/migration/6.0/20_evol_8391_species_drop_lengthmeasuretype-H2.sql new file mode 100644 index 0000000..a94568d --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/6.0/20_evol_8391_species_drop_lengthmeasuretype-H2.sql @@ -0,0 +1 @@ +ALTER TABLE observe_common.species DROP COLUMN lengthmeasuretype; \ No newline at end of file diff --git a/entities-migration/src/main/resources/db/migration/6.0/20_evol_8391_species_drop_lengthmeasuretype-PG.sql b/entities-migration/src/main/resources/db/migration/6.0/20_evol_8391_species_drop_lengthmeasuretype-PG.sql new file mode 100644 index 0000000..b2b0485 --- /dev/null +++ b/entities-migration/src/main/resources/db/migration/6.0/20_evol_8391_species_drop_lengthmeasuretype-PG.sql @@ -0,0 +1 @@ +ALTER TABLE observe_common.species DROP COLUMN lengthmeasuretype CASCADE; \ No newline at end of file diff --git a/entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java b/entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java index 4fe9930..2b038e3 100644 --- a/entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java +++ b/entities/src/main/java/fr/ird/observe/ObserveTopiaApplicationContext.java @@ -297,21 +297,38 @@ public class ObserveTopiaApplicationContext extends AbstractObserveTopiaApplicat log.info("Loading tripLonglineTables."); tripLonglineTables = topiaSqlTablesFactory.newReplicateEntityTables(new TripReplicateTablesPredicate(), ObserveEntityEnum.TripLongline); - TopiaSqlTable table = tripLonglineTables.getTable("observe_longline.branchline"); - - table = new TopiaSqlTable( - table.getMetadataEntity(), - table.getAssociationMetadataEntity(), - table.getSchemaName(), - table.getTableName(), - table.getFromClause(), - table.getWhereClauseAlias(), + TopiaSqlTable basketTable = tripLonglineTables.getTable("observe_longline.basket"); + + basketTable = new TopiaSqlTable( + basketTable.getMetadataEntity(), + basketTable.getAssociationMetadataEntity(), + basketTable.getSchemaName(), + basketTable.getTableName(), + basketTable.getFromClause(), + basketTable.getWhereClauseAlias(), ImmutableSet.of(" INNER JOIN observe_longline.set set ON set.topiaId = activity.set", - " INNER JOIN observe_longline.branchline branchline ON branchline.set = set.topiaId"), - null - ); + " INNER JOIN observe_longline.basket basket ON basket.set = set.topiaId" + ), + null); - tripLonglineTables.replaceTable("observe_longline.branchline", table); + tripLonglineTables.replaceTable("observe_longline.basket", basketTable); + + TopiaSqlTable branchlineTable = tripLonglineTables.getTable("observe_longline.branchline"); + + branchlineTable = new TopiaSqlTable( + branchlineTable.getMetadataEntity(), + branchlineTable.getAssociationMetadataEntity(), + branchlineTable.getSchemaName(), + branchlineTable.getTableName(), + branchlineTable.getFromClause(), + branchlineTable.getWhereClauseAlias(), + ImmutableSet.of(" INNER JOIN observe_longline.set set ON set.topiaId = activity.set", + " INNER JOIN observe_longline.basket basket ON basket.set = set.topiaId", + " INNER JOIN observe_longline.branchline branchline ON branchline.basket = basket.topiaId" + ), + null); + + tripLonglineTables.replaceTable("observe_longline.branchline", branchlineTable); } diff --git a/entities/src/main/xmi/observe-longline.zargo b/entities/src/main/xmi/observe-longline.zargo index 6aa2afa..cdd3bd3 100644 Binary files a/entities/src/main/xmi/observe-longline.zargo and b/entities/src/main/xmi/observe-longline.zargo differ diff --git a/entities/src/main/xmi/observe.ini b/entities/src/main/xmi/observe.ini index da8daf1..65ffdcc 100644 --- a/entities/src/main/xmi/observe.ini +++ b/entities/src/main/xmi/observe.ini @@ -48,13 +48,13 @@ vesselActivityLongline.lazy = false branchline.orderBy = settingIdentifier branchline.unique = true settingIdentifier.notNull = true +setLongline.dbName = set [class fr.ird.observe.entities.longline.Branchline] branchlineLength.sqlType = numeric catchLongline.dbName = catch hookSize.sqlType = numeric settingIdentifier.notNull = true -setLongline.dbName = set snapWeight.sqlType = numeric swivelWeight.sqlType = numeric tracelineLength.sqlType = numeric diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/BranchlineServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/BranchlineServiceTopia.java index 6305519..48eeb81 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/BranchlineServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/BranchlineServiceTopia.java @@ -24,13 +24,13 @@ package fr.ird.observe.services.topia.service.data.longline; import fr.ird.observe.entities.longline.Branchline; import fr.ird.observe.entities.longline.SetLongline; -import fr.ird.observe.services.service.data.longline.BranchlineService; -import fr.ird.observe.services.topia.ObserveServiceTopia; import fr.ird.observe.services.dto.Form; import fr.ird.observe.services.dto.longline.BranchlineDto; import fr.ird.observe.services.dto.longline.SetLonglineDto; import fr.ird.observe.services.dto.reference.request.ReferenceSetRequestDefinitions; import fr.ird.observe.services.dto.result.SaveResultDto; +import fr.ird.observe.services.service.data.longline.BranchlineService; +import fr.ird.observe.services.topia.ObserveServiceTopia; /** * @author Sylvain Bavencoff - bavencoff@codelutin.com @@ -58,7 +58,6 @@ public class BranchlineServiceTopia extends ObserveServiceTopia implements Branc checkLastUpdateDate(setLongline, dto); Branchline entity = loadOrCreateEntityFromDataDto(dto); - entity.setSetLongline(setLongline); copyDataDtoToEntity(dto, entity); diff --git a/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/SetLonglineDetailCompositionServiceTopia.java b/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/SetLonglineDetailCompositionServiceTopia.java index 84ba0fd..adc1c6e 100644 --- a/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/SetLonglineDetailCompositionServiceTopia.java +++ b/services-topia/src/main/java/fr/ird/observe/services/topia/service/data/longline/SetLonglineDetailCompositionServiceTopia.java @@ -123,11 +123,7 @@ public class SetLonglineDetailCompositionServiceTopia extends ObserveServiceTopi section.setSetLongline(entity); if (section.isBasketNotEmpty()) { for (Basket basket : section.getBasket()) { - if (basket.isBranchlineNotEmpty()) { - for (Branchline branchline : basket.getBranchline()) { - branchline.setSetLongline(entity); - } - } + basket.setSetLongline(entity); } } } diff --git a/services-topia/src/test/java/fr/ird/observe/services/topia/entity/LengthWeightParemetersTest.java b/services-topia/src/test/java/fr/ird/observe/services/topia/entity/LengthWeightParemetersTest.java index d705846..bcb6b6a 100644 --- a/services-topia/src/test/java/fr/ird/observe/services/topia/entity/LengthWeightParemetersTest.java +++ b/services-topia/src/test/java/fr/ird/observe/services/topia/entity/LengthWeightParemetersTest.java @@ -198,18 +198,18 @@ public class LengthWeightParemetersTest extends AbstractServiceTopiaTest { assertFoundLengthWeightParameter(persistenceContext, species, atlanticOcean, maleSex, maleSex, date2011, date2011); assertFoundLengthWeightParameter(persistenceContext, species, atlanticOcean, femaleSex, undeterminedSex, date2011, date1970); - assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, null, undeterminedSex, date2009, date1970); - assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, null, undeterminedSex, date2009, date1970); - assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, maleSex, undeterminedSex, date2009, date1970); - assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, femaleSex, undeterminedSex, date2009, date1970); + assertNotFoundLengthWeightParameter(persistenceContext, species, indianOcean, undeterminedSex, date2009); + assertNotFoundLengthWeightParameter(persistenceContext, species, indianOcean, undeterminedSex, date2009); + assertNotFoundLengthWeightParameter(persistenceContext, species, indianOcean, maleSex, date2009); + assertNotFoundLengthWeightParameter(persistenceContext, species, indianOcean, femaleSex, date2009); - assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, null, undeterminedSex, date2010, date2010); + assertNotFoundLengthWeightParameter(persistenceContext, species, indianOcean, undeterminedSex, date2010); assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, maleSex, maleSex, date2010, date2010); - assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, femaleSex, undeterminedSex, date2010, date2010); + assertNotFoundLengthWeightParameter(persistenceContext, species, indianOcean, femaleSex, date2010); - assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, null, undeterminedSex, date2011, date2011); + assertNotFoundLengthWeightParameter(persistenceContext, species, indianOcean, undeterminedSex, date2011); assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, maleSex, maleSex, date2011, date2011); - assertFoundLengthWeightParameter(persistenceContext, species, indianOcean, femaleSex, undeterminedSex, date2011, date2011); + assertNotFoundLengthWeightParameter(persistenceContext, species, indianOcean, femaleSex, date2011); assertNotFoundLengthWeightParameter(persistenceContext, species, pacificOcean, undeterminedSex, date2010); assertNotFoundLengthWeightParameter(persistenceContext, species, pacificOcean, maleSex, date2010); diff --git a/test/src/main/java/fr/ird/observe/test/ObserveFixtures.java b/test/src/main/java/fr/ird/observe/test/ObserveFixtures.java index feb894d..a4c31ba 100644 --- a/test/src/main/java/fr/ird/observe/test/ObserveFixtures.java +++ b/test/src/main/java/fr/ird/observe/test/ObserveFixtures.java @@ -72,7 +72,7 @@ public class ObserveFixtures { .put("observe_common.gearcaracteristictype", 6L) .put("observe_common.harbour", 74L) .put("observe_common.lastupdatedate", 97L) - .put("observe_common.lengthlengthparameter", 3L) + .put("observe_common.lengthlengthparameter", 0L) .put("observe_common.lengthweightparameter", 365L) .put("observe_common.ocean", 3L) .put("observe_common.ocean_species", 500L) diff --git a/test/src/main/resources/db/5.0/dataForTestLongline.sql.gz b/test/src/main/resources/db/5.0/dataForTestLongline.sql.gz index 3132d7b..97805e9 100644 Binary files a/test/src/main/resources/db/5.0/dataForTestLongline.sql.gz and b/test/src/main/resources/db/5.0/dataForTestLongline.sql.gz differ diff --git a/test/src/main/resources/db/5.0/dataForTestSeine.sql.gz b/test/src/main/resources/db/5.0/dataForTestSeine.sql.gz index c776ee2..9036725 100644 Binary files a/test/src/main/resources/db/5.0/dataForTestSeine.sql.gz and b/test/src/main/resources/db/5.0/dataForTestSeine.sql.gz differ diff --git a/test/src/main/resources/db/5.0/referentiel.sql.gz b/test/src/main/resources/db/5.0/referentiel.sql.gz index 42202b8..954d611 100644 Binary files a/test/src/main/resources/db/5.0/referentiel.sql.gz and b/test/src/main/resources/db/5.0/referentiel.sql.gz differ diff --git a/test/src/main/resources/db/6.0/dataForTestLongline.sql.gz b/test/src/main/resources/db/6.0/dataForTestLongline.sql.gz index ed54e9a..c2b1508 100644 Binary files a/test/src/main/resources/db/6.0/dataForTestLongline.sql.gz and b/test/src/main/resources/db/6.0/dataForTestLongline.sql.gz differ diff --git a/test/src/main/resources/db/6.0/dataForTestSeine.sql.gz b/test/src/main/resources/db/6.0/dataForTestSeine.sql.gz index 9510a01..e9f365d 100644 Binary files a/test/src/main/resources/db/6.0/dataForTestSeine.sql.gz and b/test/src/main/resources/db/6.0/dataForTestSeine.sql.gz differ diff --git a/test/src/main/resources/db/6.0/empty_h2.sql.gz b/test/src/main/resources/db/6.0/empty_h2.sql.gz index 54ee2ef..47757ff 100644 Binary files a/test/src/main/resources/db/6.0/empty_h2.sql.gz and b/test/src/main/resources/db/6.0/empty_h2.sql.gz differ diff --git a/test/src/main/resources/db/6.0/empty_pg.sql.gz b/test/src/main/resources/db/6.0/empty_pg.sql.gz index d1579c9..ebcee3f 100644 Binary files a/test/src/main/resources/db/6.0/empty_pg.sql.gz and b/test/src/main/resources/db/6.0/empty_pg.sql.gz differ diff --git a/test/src/main/resources/db/6.0/referentiel.sql.gz b/test/src/main/resources/db/6.0/referentiel.sql.gz index c2a7842..7a5875d 100644 Binary files a/test/src/main/resources/db/6.0/referentiel.sql.gz and b/test/src/main/resources/db/6.0/referentiel.sql.gz differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.