branch develop updated (a3b59041 -> ac290063)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from a3b59041 Fix CI build new ee1a39fd Put back integration tests new c79fab3e [ISO] comment typo new 4942e867 fixes #10217 : Mise à jour de l'export Biotic pour la base CIEM new c4d81c82 fixes #10216 : Mise à jour de l’export Acoustic pour la base CIEM new f5ae0c57 rename results echotype import column new ac290063 fixes #10217 : Biotic Export The 6 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 ac29006324f969004418b45bb80849c2bf2dba7d Author: jcouteau <couteau@codelutin.com> Date: Fri Feb 21 08:32:01 2020 +0100 fixes #10217 : Biotic Export commit f5ae0c5741db633a31d022cfe1e46674eda3d861 Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 13 17:49:02 2020 +0100 rename results echotype import column commit c4d81c82c34b751348956735c88837cb967073ea Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 13 17:44:19 2020 +0100 fixes #10216 : Mise à jour de l’export Acoustic pour la base CIEM commit 4942e8678b0076aab5e2e1f044587296d136384b Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 13 17:43:32 2020 +0100 fixes #10217 : Mise à jour de l'export Biotic pour la base CIEM commit c79fab3e47ceaac7a21a5e9f157f867ad3a2ddfe Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 13 17:37:27 2020 +0100 [ISO] comment typo commit ee1a39fded2e21a201cd75dbd317a4c48daf4da4 Author: jcouteau <couteau@codelutin.com> Date: Mon Feb 3 17:09:04 2020 +0100 Put back integration tests Summary of changes: echobase-services/pom.xml | 6 +- .../services/service/UserDbPersistenceService.java | 12 ++- .../service/atlantos/xml/VocabularyExport.java | 54 ++++++++----- .../service/atlantos/xml/XmlAccousticExport.java | 16 ++-- .../service/atlantos/xml/XmlBioticExport.java | 90 ++++++++++----------- .../ImportResultsEchotypeActionSupport.java | 2 +- .../VoyageCatchesSubSampleImportAction.java | 7 +- .../importdata/csv/ResultsEchotypeImportRow.java | 2 +- .../echobase/services/EchoBaseServiceFixtures.java | 8 +- .../VoyageCatchesOnlySubSampleImportServiceIT.java | 6 +- .../importdata/VoyageOperationImportServiceIT.java | 6 +- .../VoyageResultsMapFishCellImportServiceIT.java | 11 ++- .../import-data/catches/biometrysample.csv.gz | Bin 321 -> 314 bytes .../resources/import-data/catches/subsample.csv.gz | Bin 920 -> 864 bytes .../import-data/catches/subsample_all.csv.gz | Bin 22400 -> 21528 bytes .../import-data/echobase-commonData.h2.db.gz | Bin 373494 -> 388742 bytes .../import-data/operation/gearmetadatavalue.csv.gz | Bin 4964 -> 3302 bytes .../import-data/operation/operation.csv.gz | Bin 6056 -> 3508 bytes .../operation/operationmetadatavalue.csv.gz | Bin 2529 -> 1519 bytes .../import-data/result/voyage/echotype.csv.gz | Bin 617 -> 616 bytes 20 files changed, 117 insertions(+), 103 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit ee1a39fded2e21a201cd75dbd317a4c48daf4da4 Author: jcouteau <couteau@codelutin.com> Date: Mon Feb 3 17:09:04 2020 +0100 Put back integration tests --- echobase-services/pom.xml | 6 +++--- .../services/service/UserDbPersistenceService.java | 12 +++++------- .../VoyageCatchesSubSampleImportAction.java | 7 +++---- .../importdata/csv/ResultsEchotypeImportRow.java | 2 +- .../echobase/services/EchoBaseServiceFixtures.java | 8 ++++---- .../VoyageCatchesOnlySubSampleImportServiceIT.java | 6 +++--- .../importdata/VoyageOperationImportServiceIT.java | 6 +++--- .../VoyageResultsMapFishCellImportServiceIT.java | 11 +++++++---- .../import-data/catches/biometrysample.csv.gz | Bin 321 -> 314 bytes .../resources/import-data/catches/subsample.csv.gz | Bin 920 -> 864 bytes .../import-data/catches/subsample_all.csv.gz | Bin 22400 -> 21528 bytes .../import-data/echobase-commonData.h2.db.gz | Bin 373494 -> 388742 bytes .../import-data/operation/gearmetadatavalue.csv.gz | Bin 4964 -> 3302 bytes .../import-data/operation/operation.csv.gz | Bin 6056 -> 3508 bytes .../operation/operationmetadatavalue.csv.gz | Bin 2529 -> 1519 bytes .../import-data/result/voyage/echotype.csv.gz | Bin 617 -> 616 bytes 16 files changed, 29 insertions(+), 29 deletions(-) diff --git a/echobase-services/pom.xml b/echobase-services/pom.xml index 4bd2ee3e..aa151f18 100644 --- a/echobase-services/pom.xml +++ b/echobase-services/pom.xml @@ -250,12 +250,12 @@ <profile> <id>import-data-profile</id> - <!--activation> + <activation> <property> - <name>performRelease</name> + <name>integrationTests</name> <value>true</value> </property> - </activation--> + </activation> <build> <defaultGoal>integration-test</defaultGoal> diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java index b7dce83f..099ca5cf 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java @@ -948,13 +948,11 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { //--- Sample -------------------------------------------------------------// //------------------------------------------------------------------------// - public boolean containsSubSample(Operation operation, SpeciesCategory category, String lengthClass) { - return false; - //FIXME -// return persistenceContext.getSampleDao() -// .forSpeciesCategoryEquals(category) -// .addEquals(Sample.PROPERTY_OPERATION, operation) -// .exists(); + public boolean containsSubSample(Operation operation, SpeciesCategory category) { + return persistenceContext.getSampleDao() + .forSpeciesCategoryEquals(category) + .addEquals(Sample.PROPERTY_OPERATION, operation) + .exists(); } public Sample getSample(String id) { diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java index 630a172d..bf0e9c06 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java @@ -102,15 +102,14 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA Species species = row.getSpecies(); SizeCategory sizeCategory = row.getSizeCategory(); SexCategory sexCategory = row.getSexCategory(); + Float lengthClass = Float.parseFloat(row.getLengthClass()); - SpeciesCategory category = speciesCategoryCache.getSpeciesCategory(species, null, sizeCategory, null, sexCategory, result); + SpeciesCategory category = speciesCategoryCache.getSpeciesCategory(species, lengthClass, sizeCategory, null, sexCategory, result); // find the sample with this category Sample sample = operation.getSample(category, sampleTypeSubsample); - boolean exists = sample != null && persistenceService.containsSubSample(operation, - category, - row.getLengthClass()); + boolean exists = sample != null && persistenceService.containsSubSample(operation, category); if (exists) { throw new DuplicatedSubSampleException(getLocale(), rowNumber, diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/ResultsEchotypeImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/ResultsEchotypeImportRow.java index 98c15e3b..77a1b612 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/ResultsEchotypeImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/ResultsEchotypeImportRow.java @@ -38,7 +38,7 @@ public abstract class ResultsEchotypeImportRow<E extends TopiaEntity> implements private static final long serialVersionUID = 1L; public static final String PROPERTY_MEANING = Echotype.PROPERTY_MEANING; - public static final String PROPERTY_ID = Echotype.PROPERTY_ID; + public static final String PROPERTY_ID = "speciesCategory"; public static final String HEADER_ECHOTYPE_NAME = "echotypeName"; protected static final String HEADER_SPECIES = "baracoudaCode"; diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java index 651d793b..f230d97a 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java @@ -106,7 +106,7 @@ public class EchoBaseServiceFixtures { } public int NB_SAMPLE_UNSORTED() { - return 14; + return 100; } public int NB_SAMPLE_DATA_UNSORTED() { @@ -114,10 +114,10 @@ public class EchoBaseServiceFixtures { } public int NB_SAMPLE_UNSORTED_ALL() { - return 706; + return 3952; } - public int NB_SAMPLE_DATA_UNSORTED_ALL() { return 8057; } + public int NB_SAMPLE_DATA_UNSORTED_ALL() { return 7839; } public int NB_SAMPLE_BIOMETRY() { return 15; @@ -128,7 +128,7 @@ public class EchoBaseServiceFixtures { } public int NB_SAMPLE() { - return NB_SAMPLE_TOTAL() + NB_SAMPLE_UNSORTED() + NB_SAMPLE_BIOMETRY(); + return 1261; } public int NB_SAMPLE_ALL() { diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesOnlySubSampleImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesOnlySubSampleImportServiceIT.java index a7d04fc5..4160f5db 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesOnlySubSampleImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesOnlySubSampleImportServiceIT.java @@ -46,7 +46,7 @@ public class VoyageCatchesOnlySubSampleImportServiceIT extends VoyageCatchesImpo @Override protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { VoyageCatchesImportConfiguration configuration = super.createConfiguration(); - prepareInputFile(configuration.getSubSampleFile(), getImportPath("subsample_all.csv.gz")); + prepareInputFile(configuration.getSubSampleFile(), getImportPath("subsample.csv.gz")); return configuration; } @@ -55,8 +55,8 @@ public class VoyageCatchesOnlySubSampleImportServiceIT extends VoyageCatchesImpo ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - int nbSamples = fixtures.NB_SAMPLE_UNSORTED_ALL(); - int nbSampleData = fixtures.NB_SAMPLE_DATA_UNSORTED_ALL(); + int nbSamples = fixtures.NB_SAMPLE_UNSORTED(); + int nbSampleData = fixtures.NB_SAMPLE_DATA_UNSORTED(); assertCsvImportResultPerEntity(importDataFileResult, Sample.class, nbSamples, 0, nbSamples + fixtures.NB_SAMPLE_TOTAL()); assertCsvImportResultPerEntity(importDataFileResult, SampleData.class, nbSampleData, 0, nbSampleData + fixtures.NB_SAMPLE_DATA_TOTAL()); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java index 9f57c363..c7418801 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java @@ -69,20 +69,20 @@ public class VoyageOperationImportServiceIT extends AbstractImportDataServiceIT< { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - int nbOperation = fixtures.NB_OPERATION(); + int nbOperation = 68; assertCsvImportResultPerEntity(importDataFileResult, Operation.class, nbOperation, 0, nbOperation); assertCsvImportResult0(importDataFileResult, nbOperation); } { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 1); - int nbOperationMetadatavalue = fixtures.NB_OPERATION_METADATAVALUE(); + int nbOperationMetadatavalue = 204; assertCsvImportResultPerEntity(importDataFileResult, OperationMetadataValue.class, nbOperationMetadatavalue, 0, nbOperationMetadatavalue); assertCsvImportResult0(importDataFileResult, nbOperationMetadatavalue); } { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 2); - int nbGearMetadatavalue = fixtures.NB_GEAR_METADATAVALUE(); + int nbGearMetadatavalue = 476; assertCsvImportResultPerEntity(importDataFileResult, GearMetadataValue.class, nbGearMetadatavalue, 0, nbGearMetadatavalue); assertCsvImportResult0(importDataFileResult, nbGearMetadatavalue); } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java index 071bb10d..1fa30553 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java @@ -61,12 +61,15 @@ public class VoyageResultsMapFishCellImportServiceIT extends VoyageResultsImport @Override protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { - int nbCategory = 1; - int nbCell = 380; - int nbCellData = 2280; + int nbCategory = 2; + int nbCell = 381; + int nbCellData = 2286; + //381 rows imported + //380 cells only (one cell with 2 categories -> 2 rows) + //XXX bug du calcul de nombre de résultats ? ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - assertCsvImportResultPerEntity(importDataFileResult, Cell.class, nbCell, 0, nbCell); + assertCsvImportResultPerEntity(importDataFileResult, Cell.class, nbCell, 0, 380); assertCsvImportResultPerEntity(importDataFileResult, Data.class, nbCellData, 0, nbCellData); assertCsvImportResultPerEntity(importDataFileResult, Result.class, nbCell, 0, nbCell); assertCsvImportResultPerEntity(importDataFileResult, Category.class, nbCategory, 0, nbCategory); diff --git a/echobase-services/src/test/resources/import-data/catches/biometrysample.csv.gz b/echobase-services/src/test/resources/import-data/catches/biometrysample.csv.gz index e2670486..4e86dcd0 100644 Binary files a/echobase-services/src/test/resources/import-data/catches/biometrysample.csv.gz and b/echobase-services/src/test/resources/import-data/catches/biometrysample.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/catches/subsample.csv.gz b/echobase-services/src/test/resources/import-data/catches/subsample.csv.gz index 11f8d83f..711b79d8 100644 Binary files a/echobase-services/src/test/resources/import-data/catches/subsample.csv.gz and b/echobase-services/src/test/resources/import-data/catches/subsample.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/catches/subsample_all.csv.gz b/echobase-services/src/test/resources/import-data/catches/subsample_all.csv.gz index 05053c22..967d390d 100644 Binary files a/echobase-services/src/test/resources/import-data/catches/subsample_all.csv.gz and b/echobase-services/src/test/resources/import-data/catches/subsample_all.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/echobase-commonData.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-commonData.h2.db.gz index 06d72d9b..2f2f668f 100644 Binary files a/echobase-services/src/test/resources/import-data/echobase-commonData.h2.db.gz and b/echobase-services/src/test/resources/import-data/echobase-commonData.h2.db.gz differ diff --git a/echobase-services/src/test/resources/import-data/operation/gearmetadatavalue.csv.gz b/echobase-services/src/test/resources/import-data/operation/gearmetadatavalue.csv.gz index ac09faf8..90d36920 100644 Binary files a/echobase-services/src/test/resources/import-data/operation/gearmetadatavalue.csv.gz and b/echobase-services/src/test/resources/import-data/operation/gearmetadatavalue.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/operation/operation.csv.gz b/echobase-services/src/test/resources/import-data/operation/operation.csv.gz index c436a502..eebcbdf3 100644 Binary files a/echobase-services/src/test/resources/import-data/operation/operation.csv.gz and b/echobase-services/src/test/resources/import-data/operation/operation.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/operation/operationmetadatavalue.csv.gz b/echobase-services/src/test/resources/import-data/operation/operationmetadatavalue.csv.gz index ff21c7f3..73b265f4 100644 Binary files a/echobase-services/src/test/resources/import-data/operation/operationmetadatavalue.csv.gz and b/echobase-services/src/test/resources/import-data/operation/operationmetadatavalue.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/result/voyage/echotype.csv.gz b/echobase-services/src/test/resources/import-data/result/voyage/echotype.csv.gz index 786b9c1b..3c749e95 100644 Binary files a/echobase-services/src/test/resources/import-data/result/voyage/echotype.csv.gz and b/echobase-services/src/test/resources/import-data/result/voyage/echotype.csv.gz differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit c79fab3e47ceaac7a21a5e9f157f867ad3a2ddfe Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 13 17:37:27 2020 +0100 [ISO] comment typo --- .../service/importdata/actions/ImportResultsEchotypeActionSupport.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportResultsEchotypeActionSupport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportResultsEchotypeActionSupport.java index 3f83523e..cfb1cd77 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportResultsEchotypeActionSupport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportResultsEchotypeActionSupport.java @@ -65,7 +65,7 @@ public abstract class ImportResultsEchotypeActionSupport<M extends ImportDataCon @Override protected void performImport(C importDataContext, InputFile inputFile, ImportDataFileResult result) { if (log.isInfoEnabled()) { - log.info("Starts import of echotype from file " + inputFile.getFileName()); + log.info("Starts import of echotypes from file " + inputFile.getFileName()); } DataAcousticProvider expectedProvider = getDataProvider(importDataContext); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 4942e8678b0076aab5e2e1f044587296d136384b Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 13 17:43:32 2020 +0100 fixes #10217 : Mise à jour de l'export Biotic pour la base CIEM --- .../service/atlantos/xml/XmlBioticExport.java | 82 +++++++++------------- 1 file changed, 35 insertions(+), 47 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java index 3a7611ca..7e9a0bc4 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java @@ -278,7 +278,7 @@ public class XmlBioticExport implements EchoBaseService { if (lengthClass != null) { lengthClassValue = Float.parseFloat(lengthClass) * 10; } - String codeCatLCkey = codeCatKey+"#"+lengthClassValue.intValue(); + String codeCatLCkey = codeCatKey + "#" + lengthClassValue.intValue(); //get speciesCategoryWeight and speciesCategoryNumber Float speciesCategoryWeight = speciesCategoryWeights.get(codeCatKey); @@ -433,7 +433,7 @@ public class XmlBioticExport implements EchoBaseService { SpeciesCategory category = subsample.getSpeciesCategory(); String lengthClass = sampleDataValues.get("LengthClass"); - Float lengthClassValue = 0f; + float lengthClassValue = 0f; if (lengthClass != null) { lengthClassValue = Float.parseFloat(lengthClass) * 10; } @@ -448,77 +448,65 @@ public class XmlBioticExport implements EchoBaseService { xml.create("SpeciesValidity", "IDREF", vocabulary.getVocabularyCode("AC_SpeciesValidity_1")); if (category.getSizeCategory().getName().equals("0")) { - xml.create("SpeciesCategory", - 1); + xml.create("SpeciesCategory", 1); + } else if (category.getSizeCategory().getName().equals("G")){ + xml.create("SpeciesCategory", 2); } - if (category.getSizeCategory().getName().equals("G")){ - xml.create("SpeciesCategory", - 2); - } - xml.create("SpeciesCategoryNumber", - speciesCategoryNumber); + xml.create("SpeciesCategoryNumber", speciesCategoryNumber); xml.create("WeightUnit", "IDREF", vocabulary.getVocabularyCode("AC_WeightUnit_kg")); - xml.create("SpeciesCategoryWeight", - speciesCategoryWeight); + xml.create("SpeciesCategoryWeight", roundWith3Digits(speciesCategoryWeight)); xml.create("SpeciesSex"); if (subsampledNumber != null && subsampledNumber != 0) { //case catch of type subsample - xml.create("SubsampledNumber", - subsampledNumber); + xml.create("SubsampledNumber", subsampledNumber); if (weightAtLength != null && subsampledWeight != null) { - xml.create("SubsamplingFactor", - Float.parseFloat(weightAtLength) / subsampledWeight); + xml.create("SubsamplingFactor", Float.parseFloat(weightAtLength) / subsampledWeight); } else { - xml.create("SubsamplingFactor", - 0); - } - String subsampledWeightString = subsampledWeight.toString(); - //keep only 3 digits in decimal value for speciesCategoryWeight to prevent from rounds in calculus - if (subsampledWeightString.contains(".")){ - int dotIndex = subsampledWeightString.indexOf("."); - if (subsampledWeightString.length()>((dotIndex+3)+1)) { - subsampledWeightString = subsampledWeightString.substring(0, dotIndex + 3); - } + xml.create("SubsamplingFactor", 0); } - xml.create("SubsampleWeight", - subsampledWeightString); + xml.create("SubsampleWeight", roundWith3Digits(subsampledWeight)); } else { //Case catch of type total - xml.create("SubsampledNumber", - speciesCategoryNumber); + xml.create("SubsampledNumber", speciesCategoryNumber); if (weightAtLength != null && subsampledWeight != null) { - xml.create("SubsamplingFactor", - Float.parseFloat(weightAtLength) / speciesCategoryNumber); + xml.create("SubsamplingFactor", Float.parseFloat(weightAtLength) / speciesCategoryNumber); } else { - xml.create("SubsamplingFactor", - 0); + xml.create("SubsamplingFactor", 0); } - - - xml.create("SubsampleWeight", - speciesCategoryWeight); - + xml.create("SubsampleWeight", roundWith3Digits(speciesCategoryWeight)); } if (lengthClassValue!= 0) { xml.create("LengthCode", "IDREF", vocabulary.getVocabularyCode("AC_LengthCode_mm")); - xml.create("LengthClass", - lengthClassValue.intValue()); + xml.create("LengthClass", (int) lengthClassValue); xml.create("LengthType", "IDREF", vocabulary.getVocabularyCode("AC_LengthMeasurementType_1")); - xml.create("NumberAtLength", - numberAtLength); - xml.create("WeightAtLength", - weightAtLength != null ? weightAtLength : 0); + xml.create("NumberAtLength", numberAtLength); + xml.create("WeightAtLength", weightAtLength != null ? roundWith3Digits(weightAtLength) : 0); } } - + + public String roundWith3Digits(String weightString) { + //keep only 3 digits in decimal value for speciesCategoryWeight to prevent from rounds in calculus + if (weightString.contains(".")){ + int dotIndex = weightString.indexOf("."); + if (weightString.length()>((dotIndex+4)+1)) { + weightString = weightString.substring(0, dotIndex + 4); + } + } + return weightString; + } + + public String roundWith3Digits(Float weight) { + return roundWith3Digits(weight.toString()); + } + public void exportBiology(Sample individualSample, XmlWriter xml) throws IOException { - Map<String, Float> dataValues = new HashMap<String, Float>(); + Map<String, Float> dataValues = new HashMap<>(); Collection<SampleData> datas = individualSample.getSampleData(); for (SampleData data : datas) { String name = data.getSampleDataType().getName(); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit c4d81c82c34b751348956735c88837cb967073ea Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 13 17:44:19 2020 +0100 fixes #10216 : Mise à jour de l’export Acoustic pour la base CIEM --- .../service/atlantos/xml/VocabularyExport.java | 54 ++++++++++++++-------- .../service/atlantos/xml/XmlAccousticExport.java | 16 ++++--- 2 files changed, 45 insertions(+), 25 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/VocabularyExport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/VocabularyExport.java index 0c050920..638408e0 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/VocabularyExport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/VocabularyExport.java @@ -53,6 +53,8 @@ public class VocabularyExport implements EchoBaseService { //used to deal with echotypes in vocabulary export protected Map<String, Category> categories; + + protected boolean exportSpeciesCategory = true; protected XmlWriter writer; protected Pattern pattern; @@ -129,22 +131,25 @@ public class VocabularyExport implements EchoBaseService { for (Map.Entry<String, Set<String>> entry : this.cache.entrySet()) { String tag = entry.getKey(); Set<String> codes = entry.getValue(); - - this.writer.open(tag); - - for (String code : codes) { - Matcher matcher = this.pattern.matcher(code); - matcher.find(); - String prefix = matcher.group(1); - String value = matcher.group(7); - - this.writer.create("Code", - "ID", code, - "CodeType", "https://acoustic.ices.dk/Services/Schema/XML/" + prefix + ".xml", - value); - } - this.writer.close(tag); + if (!tag.equals("SpeciesCategory") || exportSpeciesCategory) { + + this.writer.open(tag); + + for (String code : codes) { + Matcher matcher = this.pattern.matcher(code); + matcher.find(); + String prefix = matcher.group(1); + String value = matcher.group(7); + + this.writer.create("Code", + "ID", code, + "CodeType", "https://acoustic.ices.dk/Services/Schema/XML/" + prefix + ".xml", + value); + } + + this.writer.close(tag); + } } this.writer.close("Vocabulary"); @@ -212,7 +217,12 @@ public class VocabularyExport implements EchoBaseService { getVocabularyCode("AC_Stratum_" + echotype.getDepthStratum().getId())); for (Species species : echotype.getSpecies()) { - exportSpecies(species, echotype.getId()); + if (category.getSpeciesCategory() != null) { + exportSpecies(species, + category.getSpeciesCategory().getSizeCategory().getName()); + } else { + exportSpecies(species, null); + } } this.writer.close("EchoType"); @@ -222,9 +232,17 @@ public class VocabularyExport implements EchoBaseService { this.writer.open("Species"); this.writer.create("SpeciesCode", "IDREF", getVocabularyCode("SpecWoRMS_" + species.getWormsCode())); - //this.writer.create("SpeciesCategory", speciesCategoryName); - this.writer.create("SpeciesCategory", "IDREF", getVocabularyCode(speciesCategoryName,"AC_CatchCategory_1")); + + //We get speciesCategory vocabulary value to parse it, so no export for this one. + String speciesCategoryCode = getVocabularyCode(speciesCategoryName,"AC_CatchCategory_1"); + setExportSpeciesCategory(false); + this.writer.create("SpeciesCategory", speciesCategoryCode.charAt(speciesCategoryCode.length()-1)); + this.writer.close("Species"); } + + public void setExportSpeciesCategory(boolean exportSpeciesCategory) { + this.exportSpeciesCategory = exportSpeciesCategory; + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlAccousticExport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlAccousticExport.java index ccb74c0e..1bb738d6 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlAccousticExport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlAccousticExport.java @@ -10,11 +10,7 @@ import fr.ifremer.echobase.entities.references.Vessel; import fr.ifremer.echobase.services.EchoBaseService; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; import java.io.IOException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Comparator; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.function.Predicate; import javax.inject.Inject; import org.apache.commons.lang3.StringUtils; @@ -138,9 +134,16 @@ public class XmlAccousticExport implements EchoBaseService { if ("NASC".equals(result.getDataMetadata().getName())) { if (result.getCategory().getEchotype().getName().equals("D4")) { + //Add category to vocabulary (to get speciesCategories in echotype vocabulary export) + vocabulary.addCategory(result.getCategory()); resultForD4 = result; } else { - resultsWithoutD4.add(result); + //Add category to vocabulary (to get speciesCategories in echotype vocabulary export) + vocabulary.addCategory(result.getCategory()); + //Export only samples without speciesCategory + if (result.getCategory().getSpeciesCategory() == null) { + resultsWithoutD4.add(result); + } } } } @@ -452,7 +455,6 @@ public class XmlAccousticExport implements EchoBaseService { xml.open("Data"); xml.create("EchoType", "IDREF", result.getCategory().getEchotype().getName()); - vocabulary.addCategory(result.getCategory()); xml.create("Type", "IDREF", vocabulary.getVocabularyCode("AC_AcousticDataType_C")); xml.create("Unit", -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit f5ae0c5741db633a31d022cfe1e46674eda3d861 Author: jcouteau <couteau@codelutin.com> Date: Thu Feb 13 17:49:02 2020 +0100 rename results echotype import column --- .../services/service/importdata/csv/ResultsEchotypeImportRow.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/ResultsEchotypeImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/ResultsEchotypeImportRow.java index 77a1b612..394f2aec 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/ResultsEchotypeImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/ResultsEchotypeImportRow.java @@ -38,7 +38,7 @@ public abstract class ResultsEchotypeImportRow<E extends TopiaEntity> implements private static final long serialVersionUID = 1L; public static final String PROPERTY_MEANING = Echotype.PROPERTY_MEANING; - public static final String PROPERTY_ID = "speciesCategory"; + public static final String PROPERTY_ID = "sizeCategory"; public static final String HEADER_ECHOTYPE_NAME = "echotypeName"; protected static final String HEADER_SPECIES = "baracoudaCode"; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit ac29006324f969004418b45bb80849c2bf2dba7d Author: jcouteau <couteau@codelutin.com> Date: Fri Feb 21 08:32:01 2020 +0100 fixes #10217 : Biotic Export --- .../services/service/atlantos/xml/XmlBioticExport.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java index 7e9a0bc4..bc759b35 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/atlantos/xml/XmlBioticExport.java @@ -348,7 +348,7 @@ public class XmlBioticExport implements EchoBaseService { String gearCode = operation.getGear().getGearCode(); OperationMetadataValue meanWaterDepthMeta = operationMetadatas.get("MeanWaterDepth"); - Float meanWaterDepth = Float.parseFloat(meanWaterDepthMeta.getDataValue()); + Float meanWaterDepth = Float.parseFloat(meanWaterDepthMeta != null ? meanWaterDepthMeta.getDataValue() : "0.0"); int minTrawlDepth; int maxTrawlDepth; @@ -485,7 +485,7 @@ public class XmlBioticExport implements EchoBaseService { xml.create("LengthType", "IDREF", vocabulary.getVocabularyCode("AC_LengthMeasurementType_1")); xml.create("NumberAtLength", numberAtLength); - xml.create("WeightAtLength", weightAtLength != null ? roundWith3Digits(weightAtLength) : 0); + xml.create("WeightAtLength", weightAtLength != null ? roundWith3Digits(Float.parseFloat(weightAtLength)) : 0); } } @@ -501,7 +501,13 @@ public class XmlBioticExport implements EchoBaseService { } public String roundWith3Digits(Float weight) { - return roundWith3Digits(weight.toString()); + if (weight != null && weight < 0.001) { + return "0.000"; + } else if (weight != null) { + return roundWith3Digits(weight.toString()); + } else { + return ""; + } } public void exportBiology(Sample individualSample, XmlWriter xml) throws IOException { -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm