branch develop updated (5a9a6fa -> 2106d05)
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 5a9a6fa Livrable #8298 Merge branch 'feature/8298' into develop new 59fdcac Ajout colum SpeciesCategory#lengthClass (See #8297) new 130cd48 Migration 3.902 (See #8297) new 106963e mise à jour de la base de tests après import catches new df5c305 Ajout de SpeciesCategory#lengthClass dans le cache de SpeciesCategory + renommage de l'import concerné (See #8297) new 04fb27a Renommage côté ui de l'import concerné (See #8297) new 1980d1f On remete les données de tests sur sizeCategory + ajout d'un test sur le fichier complet (mais qu'on ignore pour le moment car trop long à lancer... (See #8297) new 2106d05 Livrable #8297 Merge branch 'feature/8297' into develop The 7 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 2106d05d2f3617365ff08435b9d4abcf66f6ece1 Merge: 5a9a6fa 1980d1f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 13:21:54 2016 +0200 Livrable #8297 Merge branch 'feature/8297' into develop commit 1980d1f5b8b61d55f33968d597d65269071b4007 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 13:21:47 2016 +0200 On remete les données de tests sur sizeCategory + ajout d'un test sur le fichier complet (mais qu'on ignore pour le moment car trop long à lancer... (See #8297) commit 04fb27a35f79577277b740379b98d82c4eaa0037 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 12:44:37 2016 +0200 Renommage côté ui de l'import concerné (See #8297) commit df5c305940ab6f45cd9865c5dfacb9aaa8c69d4c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 12:44:12 2016 +0200 Ajout de SpeciesCategory#lengthClass dans le cache de SpeciesCategory + renommage de l'import concerné (See #8297) commit 106963ea86066a4d9b6fde8482cea00a129b78dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 12:43:07 2016 +0200 mise à jour de la base de tests après import catches commit 130cd48840ca9b23bd6f8561c1e6be1374b916ed Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 30 13:50:15 2016 +0200 Migration 3.902 (See #8297) commit 59fdcac71e4dae5b1a567b1d1c03ed3256bb34da Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 30 13:36:44 2016 +0200 Ajout colum SpeciesCategory#lengthClass (See #8297) Summary of changes: ...WorkingDbMigrationCallBackForVersion3_902.java} | 15 ++-- .../3.902-0-add-SpeciesCategory_lengthClass.sql | 1 + echobase-domain/src/main/xmi/echobase.properties | 2 +- echobase-domain/src/main/xmi/echobase.zargo | Bin 90396 -> 90472 bytes .../echobase/services/csv/EchoBaseCsvUtil.java | 2 +- .../services/service/UserDbPersistenceService.java | 4 + .../service/importdata/ImportDataService.java | 6 +- .../service/importdata/ResultCategoryCache.java | 2 + .../service/importdata/SpeciesCategoryCache.java | 6 +- .../VoyageCatchesBiometrySampleImportAction.java | 2 +- .../VoyageCatchesSubSampleImportAction.java | 2 +- .../VoyageCatchesTotalSampleImportAction.java | 2 +- ...ndSpeciesCategoryAndLengthCellImportAction.java | 72 +++++++++++++++ ...EchotypeAndSpeciesCategoryCellImportAction.java | 1 + ...sEsduSpeciesAndAgeCategoryCellImportAction.java | 2 +- ...EsduSpeciesAndSizeCategoryCellImportAction.java | 63 ------------- .../VoyageResultsMapFishCellImportAction.java | 1 + .../VoyageResultsRegionResultsImportAction.java | 1 + ...geResultsVoyageLengthWeightKeyImportAction.java | 2 +- .../VoyageResultsImportConfiguration.java | 12 +-- ...dSpeciesCategoryAndLengthImportExportModel.java | 100 +++++++++++++++++++++ ...otypeAndSpeciesCategoryAndLengthImportRow.java} | 39 ++++++-- ...chotypeAndSpeciesCategoryImportExportModel.java | 4 +- ...yageResultsEsduByEchotypeImportExportModel.java | 4 +- ...duBySpeciesAndAgeCategoryImportExportModel.java | 4 +- ...uBySpeciesAndSizeCategoryImportExportModel.java | 93 ------------------- .../i18n/echobase-services_en_GB.properties | 2 +- .../i18n/echobase-services_fr_FR.properties | 2 +- ...ndSpeciesCategoryAndLengthImportServiceIT.java} | 25 +++--- ...iesCategoryAndLength_SmallImportServiceIT.java} | 20 ++--- .../resources/echobase-importDb-referentiel.zip | Bin 50920 -> 50556 bytes .../echobase-catches-and-voyage-result.h2.db.gz | Bin 632318 -> 826644 bytes .../import-data/echobase-catches.h2.db.gz | Bin 754466 -> 754845 bytes .../import-data/echobase-commonData.h2.db.gz | Bin 183714 -> 184388 bytes .../resources/import-data/echobase-nodata.h2.db.gz | Bin 136848 -> 137434 bytes .../echobase-operation-total-samples.h2.db.gz | Bin 602363 -> 601307 bytes .../import-data/echobase-operation.h2.db.gz | Bin 328618 -> 327903 bytes .../byEchotypeAndSpeciesCategoryAndLength.csv.gz | Bin 0 -> 709794 bytes ...chotypeAndSpeciesCategoryAndLength_small.csv.gz | Bin 0 -> 2585 bytes .../result/esdu/bySpeciesAndSizeCategory.csv.gz | Bin 709007 -> 0 bytes .../esdu/bySpeciesAndSizeCategory_small.csv.gz | Bin 2544 -> 0 bytes .../actions/importData/ConfigureResultsImport.java | 12 +-- .../resources/i18n/echobase-ui_en_GB.properties | 2 +- .../resources/i18n/echobase-ui_fr_FR.properties | 2 +- .../jsp/importData/configureResultsImport.jsp | 4 +- 45 files changed, 279 insertions(+), 232 deletions(-) copy echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/{WorkingDbMigrationCallBackForVersion3_901.java => WorkingDbMigrationCallBackForVersion3_902.java} (64%) create mode 100644 echobase-domain/src/main/resources/migration/workingDb/3.902-0-add-SpeciesCategory_lengthClass.sql create mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction.java delete mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction.java create mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel.java rename echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/{VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.java => VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.java} (70%) delete mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel.java copy echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java => VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java} (82%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{VoyageResultsEsduCellOnlySpeciesAndSizeCategoryImportServiceIT.java => VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT.java} (79%) create mode 100644 echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength.csv.gz create mode 100644 echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength_small.csv.gz delete mode 100644 echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndSizeCategory.csv.gz delete mode 100644 echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndSizeCategory_small.csv.gz -- 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 59fdcac71e4dae5b1a567b1d1c03ed3256bb34da Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 30 13:36:44 2016 +0200 Ajout colum SpeciesCategory#lengthClass (See #8297) --- echobase-domain/src/main/xmi/echobase.zargo | Bin 90396 -> 90472 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/echobase-domain/src/main/xmi/echobase.zargo b/echobase-domain/src/main/xmi/echobase.zargo index e6c61d8..f979600 100644 Binary files a/echobase-domain/src/main/xmi/echobase.zargo and b/echobase-domain/src/main/xmi/echobase.zargo 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 130cd48840ca9b23bd6f8561c1e6be1374b916ed Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 30 13:50:15 2016 +0200 Migration 3.902 (See #8297) --- .../WorkingDbMigrationCallBackForVersion3_902.java | 33 +++++++++++++++++++++ .../3.902-0-add-SpeciesCategory_lengthClass.sql | 1 + echobase-domain/src/main/xmi/echobase.properties | 2 +- .../resources/echobase-importDb-referentiel.zip | Bin 50920 -> 50556 bytes .../echobase-catches-and-voyage-result.h2.db.gz | Bin 632318 -> 630979 bytes .../import-data/echobase-catches.h2.db.gz | Bin 754466 -> 754845 bytes .../import-data/echobase-commonData.h2.db.gz | Bin 183714 -> 184388 bytes .../resources/import-data/echobase-nodata.h2.db.gz | Bin 136848 -> 137434 bytes .../echobase-operation-total-samples.h2.db.gz | Bin 602363 -> 601307 bytes .../import-data/echobase-operation.h2.db.gz | Bin 328618 -> 327903 bytes 10 files changed, 35 insertions(+), 1 deletion(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/WorkingDbMigrationCallBackForVersion3_902.java b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/WorkingDbMigrationCallBackForVersion3_902.java new file mode 100644 index 0000000..88b23ff --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/persistence/migration/workingDb/WorkingDbMigrationCallBackForVersion3_902.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 30/04/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class WorkingDbMigrationCallBackForVersion3_902 extends WorkingDbMigrationCallBackForVersionSupport { + + @Override + public Version getVersion() { + return Versions.valueOf("3.902"); + } + + @Override + protected void prepareMigrationScript(TopiaSqlSupport sqlSupport, + List<String> queries, + boolean showSql, + boolean showProgression) throws TopiaException { + + // See https://forge.codelutin.com/issues/8297 + addScript("3.902-0-add-SpeciesCategory_lengthClass.sql", queries); + + } + +} diff --git a/echobase-domain/src/main/resources/migration/workingDb/3.902-0-add-SpeciesCategory_lengthClass.sql b/echobase-domain/src/main/resources/migration/workingDb/3.902-0-add-SpeciesCategory_lengthClass.sql new file mode 100644 index 0000000..3984bb4 --- /dev/null +++ b/echobase-domain/src/main/resources/migration/workingDb/3.902-0-add-SpeciesCategory_lengthClass.sql @@ -0,0 +1 @@ +ALTER TABLE SPECIESCATEGORY ADD lengthClass REAL; \ 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 d94852f..833b963 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.901 +model.tagValue.version=3.902 model.tagValue.generatePropertyChangeSupport=false model.tagValue.generateBooleanGetMethods=false model.tagValue.indexForeignKeys=true diff --git a/echobase-services/src/test/resources/echobase-importDb-referentiel.zip b/echobase-services/src/test/resources/echobase-importDb-referentiel.zip index cf57612..0f54c8d 100644 Binary files a/echobase-services/src/test/resources/echobase-importDb-referentiel.zip and b/echobase-services/src/test/resources/echobase-importDb-referentiel.zip differ diff --git a/echobase-services/src/test/resources/import-data/echobase-catches-and-voyage-result.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-catches-and-voyage-result.h2.db.gz index 76d06a9..50e63cc 100644 Binary files a/echobase-services/src/test/resources/import-data/echobase-catches-and-voyage-result.h2.db.gz and b/echobase-services/src/test/resources/import-data/echobase-catches-and-voyage-result.h2.db.gz differ diff --git a/echobase-services/src/test/resources/import-data/echobase-catches.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-catches.h2.db.gz index 44c8e46..4801029 100644 Binary files a/echobase-services/src/test/resources/import-data/echobase-catches.h2.db.gz and b/echobase-services/src/test/resources/import-data/echobase-catches.h2.db.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 825fb28..715de0b 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/echobase-nodata.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-nodata.h2.db.gz index 1b0c8b8..9482734 100644 Binary files a/echobase-services/src/test/resources/import-data/echobase-nodata.h2.db.gz and b/echobase-services/src/test/resources/import-data/echobase-nodata.h2.db.gz differ diff --git a/echobase-services/src/test/resources/import-data/echobase-operation-total-samples.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-operation-total-samples.h2.db.gz index e9ab39f..f0bd751 100644 Binary files a/echobase-services/src/test/resources/import-data/echobase-operation-total-samples.h2.db.gz and b/echobase-services/src/test/resources/import-data/echobase-operation-total-samples.h2.db.gz differ diff --git a/echobase-services/src/test/resources/import-data/echobase-operation.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-operation.h2.db.gz index c6f9f14..1b2d150 100644 Binary files a/echobase-services/src/test/resources/import-data/echobase-operation.h2.db.gz and b/echobase-services/src/test/resources/import-data/echobase-operation.h2.db.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 106963ea86066a4d9b6fde8482cea00a129b78dc Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 12:43:07 2016 +0200 mise à jour de la base de tests après import catches --- .../echobase-catches-and-voyage-result.h2.db.gz | Bin 630979 -> 826644 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/echobase-services/src/test/resources/import-data/echobase-catches-and-voyage-result.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-catches-and-voyage-result.h2.db.gz index 50e63cc..657b835 100644 Binary files a/echobase-services/src/test/resources/import-data/echobase-catches-and-voyage-result.h2.db.gz and b/echobase-services/src/test/resources/import-data/echobase-catches-and-voyage-result.h2.db.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 df5c305940ab6f45cd9865c5dfacb9aaa8c69d4c Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 12:44:12 2016 +0200 Ajout de SpeciesCategory#lengthClass dans le cache de SpeciesCategory + renommage de l'import concerné (See #8297) --- .../echobase/services/csv/EchoBaseCsvUtil.java | 2 +- .../services/service/UserDbPersistenceService.java | 4 + .../service/importdata/ImportDataService.java | 6 +- .../service/importdata/ResultCategoryCache.java | 2 + .../service/importdata/SpeciesCategoryCache.java | 6 +- .../VoyageCatchesBiometrySampleImportAction.java | 2 +- .../VoyageCatchesSubSampleImportAction.java | 2 +- .../VoyageCatchesTotalSampleImportAction.java | 2 +- ...ndSpeciesCategoryAndLengthCellImportAction.java | 71 +++++++++++++++ ...EchotypeAndSpeciesCategoryCellImportAction.java | 1 + ...sEsduSpeciesAndAgeCategoryCellImportAction.java | 2 +- ...EsduSpeciesAndSizeCategoryCellImportAction.java | 63 ------------- .../VoyageResultsMapFishCellImportAction.java | 1 + .../VoyageResultsRegionResultsImportAction.java | 1 + ...geResultsVoyageLengthWeightKeyImportAction.java | 2 +- .../VoyageResultsImportConfiguration.java | 12 +-- ...dSpeciesCategoryAndLengthImportExportModel.java | 100 +++++++++++++++++++++ ...otypeAndSpeciesCategoryAndLengthImportRow.java} | 31 ++++++- ...chotypeAndSpeciesCategoryImportExportModel.java | 4 +- ...yageResultsEsduByEchotypeImportExportModel.java | 4 +- ...duBySpeciesAndAgeCategoryImportExportModel.java | 4 +- ...uBySpeciesAndSizeCategoryImportExportModel.java | 93 ------------------- .../i18n/echobase-services_en_GB.properties | 2 +- .../i18n/echobase-services_fr_FR.properties | 2 +- ...ndSpeciesCategoryAndLengthImportServiceIT.java} | 12 +-- ...> byEchotypeAndSpeciesCategoryAndLength.csv.gz} | Bin ...chotypeAndSpeciesCategoryAndLength_small.csv.gz | Bin 0 -> 2584 bytes .../esdu/bySpeciesAndSizeCategory_small.csv.gz | Bin 2544 -> 0 bytes 28 files changed, 240 insertions(+), 191 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchoBaseCsvUtil.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchoBaseCsvUtil.java index 8fbe18a..77d339f 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchoBaseCsvUtil.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchoBaseCsvUtil.java @@ -221,7 +221,7 @@ public class EchoBaseCsvUtil extends TopiaCsvCommons { @Override public String apply(Echotype input) { - return input.getName(); + return input == null ? "" : input.getName(); } } ); 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 0161d7a..63c3cf8 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 @@ -834,11 +834,13 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { //------------------------------------------------------------------------// public SpeciesCategory getSpeciesCategory(Species species, + Float lengthClass, SizeCategory sizeCategory, AgeCategory ageCategory, SexCategory sexCategory) { return persistenceContext.getSpeciesCategoryDao().forProperties( SpeciesCategory.PROPERTY_SPECIES, species, + SpeciesCategory.PROPERTY_LENGTH_CLASS, lengthClass, SpeciesCategory.PROPERTY_SIZE_CATEGORY, sizeCategory, SpeciesCategory.PROPERTY_AGE_CATEGORY, ageCategory, SpeciesCategory.PROPERTY_SEX_CATEGORY, sexCategory @@ -846,11 +848,13 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { } public SpeciesCategory createSpeciesCategory(Species species, + Float lengthClass, SizeCategory sizeCategory, AgeCategory ageCategory, SexCategory sexCategory) { return persistenceContext.getSpeciesCategoryDao().create( SpeciesCategory.PROPERTY_SPECIES, species, + SpeciesCategory.PROPERTY_LENGTH_CLASS, lengthClass, SpeciesCategory.PROPERTY_SIZE_CATEGORY, sizeCategory, SpeciesCategory.PROPERTY_AGE_CATEGORY, ageCategory, SpeciesCategory.PROPERTY_SEX_CATEGORY, sexCategory diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataService.java index 44d89e7..067c44e 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataService.java @@ -22,7 +22,7 @@ import fr.ifremer.echobase.services.service.importdata.actions.VoyageOperationsO import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsEsduByEchotypeCellImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction; -import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction; +import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsMapFishCellImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsMapOtherCellImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsRegionAssociationImportAction; @@ -214,9 +214,9 @@ public class ImportDataService extends EchoBaseServiceSupport { } - if (configuration.getEsduBySpeciesAndSizeCategoryFile().hasFile()) { + if (configuration.getEsduByEchotypeAndSpeciesCategoryAndLengthFile().hasFile()) { - importActions.add(new VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction(importDataContext)); + importActions.add(new VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction(importDataContext)); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultCategoryCache.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultCategoryCache.java index 5d8328d..254a8a5 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultCategoryCache.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultCategoryCache.java @@ -37,11 +37,13 @@ public class ResultCategoryCache { public Category getResultCategory(Echotype echotype, Species species, + Float lengthClass, SizeCategory sizeCategory, AgeCategory ageCategory, ImportDataFileResult importResult) { SpeciesCategory speciesCategory = speciesCategoryCache.getSpeciesCategory(species, + lengthClass, sizeCategory, ageCategory, null, diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/SpeciesCategoryCache.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/SpeciesCategoryCache.java index b83df5b..bca7459 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/SpeciesCategoryCache.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/SpeciesCategoryCache.java @@ -33,6 +33,7 @@ public class SpeciesCategoryCache { } public SpeciesCategory getSpeciesCategory(Species species, + Float lengthClass, SizeCategory sizeCategory, AgeCategory ageCategory, SexCategory sexCategory, @@ -40,6 +41,7 @@ public class SpeciesCategoryCache { String key = species == null ? "" : species.getBaracoudaCode() + + "#" + (lengthClass == null ? "" : lengthClass) + "#" + (ageCategory == null ? "" : ageCategory.getName()) + "#" + (sizeCategory == null ? "" : sizeCategory.getName()) + "#" + (sexCategory == null ? "" : sexCategory.getName()); @@ -53,7 +55,7 @@ public class SpeciesCategoryCache { log.info("Species category (" + key + ") not found in cache."); } - category = persistenceService.getSpeciesCategory(species, sizeCategory, ageCategory, sexCategory); + category = persistenceService.getSpeciesCategory(species, lengthClass, sizeCategory, ageCategory, sexCategory); if (category == null) { @@ -61,7 +63,7 @@ public class SpeciesCategoryCache { if (log.isInfoEnabled()) { log.info("Species category (" + key + ") not found in database, create it."); } - category = persistenceService.createSpeciesCategory(species, sizeCategory, ageCategory, sexCategory); + category = persistenceService.createSpeciesCategory(species, lengthClass, sizeCategory, ageCategory, sexCategory); importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.SpeciesCategory); } else { diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesBiometrySampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesBiometrySampleImportAction.java index ebb2c3d..be86dbd 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesBiometrySampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesBiometrySampleImportAction.java @@ -91,7 +91,7 @@ public class VoyageCatchesBiometrySampleImportAction extends VoyageCatchesImport sample.setSampleType(sampleTypeIndividual); - SpeciesCategory category = speciesCategoryCache.getSpeciesCategory(species, null, null, null, result); + SpeciesCategory category = speciesCategoryCache.getSpeciesCategory(species, null, null, null, null, result); sample.setSpeciesCategory(category); 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 495eafe..2eaacbd 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 @@ -88,7 +88,7 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA SizeCategory sizeCategory = row.getSizeCategory(); SexCategory sexCategory = row.getSexCategory(); - SpeciesCategory category = speciesCategoryCache.getSpeciesCategory(species, sizeCategory, null, sexCategory, result); + SpeciesCategory category = speciesCategoryCache.getSpeciesCategory(species, null, sizeCategory, null, sexCategory, result); // find the sample with this category Sample sample = operation.getSample(category, sampleTypeSubsample); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java index eaab648..7d0cfba 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java @@ -88,7 +88,7 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat Species species = row.getSpecies(); SizeCategory sizeCategory = row.getSizeCategory(); - SpeciesCategory category = speciesCategoryCache.getSpeciesCategory(species, sizeCategory, null, null, result); + SpeciesCategory category = speciesCategoryCache.getSpeciesCategory(species, null, sizeCategory, null, null, result); SampleType sampleType; diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction.java new file mode 100644 index 0000000..99314d0 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction.java @@ -0,0 +1,71 @@ +package fr.ifremer.echobase.services.service.importdata.actions; + +import com.google.common.base.Preconditions; +import fr.ifremer.echobase.entities.data.Category; +import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.SizeCategory; +import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; +import fr.ifremer.echobase.services.service.importdata.MismatchSizeCategoryMeaningException; +import fr.ifremer.echobase.services.service.importdata.ResultCategoryCache; +import fr.ifremer.echobase.services.service.importdata.SizeCategoryCache; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow; + +import java.util.List; + +/** + * Created on 25/03/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public class VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction extends VoyageResultsCellImportDataActionSupport<VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow> { + + protected SizeCategoryCache sizeCategoryCache; + + public VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction(VoyageResultsImportDataContext importDataContext) { + super(importDataContext, importDataContext.getConfiguration().getEsduByEchotypeAndSpeciesCategoryAndLengthFile(), VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel.COLUMN_NAMES_TO_EXCLUDE); + this.sizeCategoryCache = importDataContext.getSizeCategoryCache(); + } + + @Override + protected VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel createCsvImportModel(VoyageResultsImportDataContext importDataContext) { + return VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel.forImport(importDataContext, metas); + } + + @Override + protected VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel createCsvExportModel(VoyageResultsImportDataContext importDataContext) { + return VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel.forExport(importDataContext, metas); + } + + @Override + protected Category getResultCategory(ImportDataFileResult result, ResultCategoryCache resultCategoryCache, VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow row) { + SizeCategory sizeCategory = null; + + if (row.getSizeCategory() != null) { + + sizeCategory = sizeCategoryCache.getSizeCategory(row.getSizeCategory(), row.getSizeCategoryMeaning(), result); + Preconditions.checkNotNull(sizeCategory); + if (!sizeCategory.getMeaning().equals(row.getSizeCategoryMeaning())) { + throw new MismatchSizeCategoryMeaningException(getLocale(), row.getSizeCategoryMeaning(), sizeCategory.getMeaning()); + } + + } + + return resultCategoryCache.getResultCategory(row.getEchotype(), + row.getSpecies(), + row.getLengthClass(), + sizeCategory, + null, + result); + } + + @Override + protected VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow newImportedRow(Voyage voyage, Cell cell, Category category, List<Result> cellResults) { + return VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.of(voyage, cell, category, cellResults); + } + +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java index f87f158..7274bb8 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java @@ -38,6 +38,7 @@ public class VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction exten protected Category getResultCategory(ImportDataFileResult result, ResultCategoryCache resultCategoryCache, VoyageResultsEsduByEchotypeAndSpeciesCategoryImportRow row) { return resultCategoryCache.getResultCategory(row.getEchotype(), row.getSpecies(), + null, row.getSizeCategory(), null, result); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction.java index 610355d..07e0324 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction.java @@ -48,7 +48,7 @@ public class VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction extends Voya if (!ageCategory.getMeaning().equals(row.getAgeCategoryMeaning())) { throw new MismatchAgeCategoryMeaningException(getLocale(), row.getAgeCategoryMeaning(), ageCategory.getMeaning()); } - return resultCategoryCache.getResultCategory(null, row.getSpecies(), null, ageCategory, result); + return resultCategoryCache.getResultCategory(null, row.getSpecies(), null, null, ageCategory, result); } @Override diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction.java deleted file mode 100644 index 5ac15c9..0000000 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction.java +++ /dev/null @@ -1,63 +0,0 @@ -package fr.ifremer.echobase.services.service.importdata.actions; - -import com.google.common.base.Preconditions; -import fr.ifremer.echobase.entities.data.Category; -import fr.ifremer.echobase.entities.data.Cell; -import fr.ifremer.echobase.entities.data.Result; -import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.entities.references.SizeCategory; -import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; -import fr.ifremer.echobase.services.service.importdata.MismatchSizeCategoryMeaningException; -import fr.ifremer.echobase.services.service.importdata.ResultCategoryCache; -import fr.ifremer.echobase.services.service.importdata.SizeCategoryCache; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; -import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel; -import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsEsduBySpeciesAndSizeCategoryImportRow; - -import java.util.List; - -/** - * Created on 25/03/16. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 4.0 - */ -public class VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction extends VoyageResultsCellImportDataActionSupport<VoyageResultsEsduBySpeciesAndSizeCategoryImportRow> { - - protected SizeCategoryCache sizeCategoryCache; - - public VoyageResultsEsduSpeciesAndSizeCategoryCellImportAction(VoyageResultsImportDataContext importDataContext) { - super(importDataContext, importDataContext.getConfiguration().getEsduBySpeciesAndSizeCategoryFile(), VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel.COLUMN_NAMES_TO_EXCLUDE); - this.sizeCategoryCache = importDataContext.getSizeCategoryCache(); - } - - @Override - protected VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel createCsvImportModel(VoyageResultsImportDataContext importDataContext) { - return VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel.forImport(importDataContext, metas); - } - - @Override - protected VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel createCsvExportModel(VoyageResultsImportDataContext importDataContext) { - return VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel.forExport(importDataContext, metas); - } - - @Override - protected Category getResultCategory(ImportDataFileResult result, ResultCategoryCache resultCategoryCache, VoyageResultsEsduBySpeciesAndSizeCategoryImportRow row) { - SizeCategory sizeCategory = sizeCategoryCache.getSizeCategory(row.getSizeCategory(), row.getSizeCategoryMeaning(), result); - Preconditions.checkNotNull(sizeCategory); - if (!sizeCategory.getMeaning().equals(row.getSizeCategoryMeaning())) { - throw new MismatchSizeCategoryMeaningException(getLocale(), row.getSizeCategoryMeaning(), sizeCategory.getMeaning()); - } - return resultCategoryCache.getResultCategory(null, - row.getSpecies(), - sizeCategory, - null, - result); - } - - @Override - protected VoyageResultsEsduBySpeciesAndSizeCategoryImportRow newImportedRow(Voyage voyage, Cell cell, Category category, List<Result> cellResults) { - return VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.of(voyage, cell, category, cellResults); - } - -} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java index 248db06..ad10496 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java @@ -146,6 +146,7 @@ public class VoyageResultsMapFishCellImportAction extends VoyageResultsImportDat Category category = resultCategoryCache.getResultCategory(null, row.getSpecies(), + null, row.getSizeCategory(), row.getAgeCategory(), result); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java index 0802ca9..3367731 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java @@ -44,6 +44,7 @@ public class VoyageResultsRegionResultsImportAction extends VoyageResultsCellImp protected Category getResultCategory(ImportDataFileResult result, ResultCategoryCache resultCategoryCache, VoyageResultsRegionCellResultImportRow row) { return resultCategoryCache.getResultCategory(row.getEchotype(), row.getSpecies(), + null, row.getSizeCategory(), null, result); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java index eaac5d2..0442050 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java @@ -60,7 +60,7 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult Voyage voyage = row.getVoyage(); // find speciesCategory - SpeciesCategory speciesCategory = speciesCategoryCache.getSpeciesCategory(row.getSpecies(), row.getSizeCategory(), null, null, result); + SpeciesCategory speciesCategory = speciesCategoryCache.getSpeciesCategory(row.getSpecies(), null, row.getSizeCategory(), null, null, result); LengthWeightKey toCreate = row.getLengthWeightKey(); toCreate.setSpeciesCategory(speciesCategory); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/VoyageResultsImportConfiguration.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/VoyageResultsImportConfiguration.java index 6dfd8d7..39c0bf1 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/VoyageResultsImportConfiguration.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/configurations/VoyageResultsImportConfiguration.java @@ -40,7 +40,7 @@ public class VoyageResultsImportConfiguration extends VoyageImportDataConfigurat /** Acoustic result by echotype and species category import. */ protected final InputFile esduByEchotypeAndSpeciesCategoryFile; /** Acoustic result by species and size category import. */ - protected final InputFile esduBySpeciesAndSizeCategoryFile; + protected final InputFile esduByEchotypeandSpeciesCategoryAndLengthFile; /** Acoustic result by species and age category import. */ protected final InputFile esduBySpeciesAndAgeCategoryFile; /** Region file to import. */ @@ -74,7 +74,7 @@ public class VoyageResultsImportConfiguration extends VoyageImportDataConfigurat lengthWeightKeyFile = InputFile.newFile(l(locale, "echobase.common.lengthWeightKeyFile")); esduByEchotypeFile = InputFile.newFile(l(locale, "echobase.common.esduByEchotypeFile")); esduByEchotypeAndSpeciesCategoryFile = InputFile.newFile(l(locale, "echobase.common.esduByEchotypeAndSpeciesCategoryFile")); - esduBySpeciesAndSizeCategoryFile = InputFile.newFile(l(locale, "echobase.common.esduBySpeciesAndSizeCategoryFile")); + esduByEchotypeandSpeciesCategoryAndLengthFile = InputFile.newFile(l(locale, "echobase.common.esduByEchotypeAndSpeciesCategoryAndLengthFile")); esduBySpeciesAndAgeCategoryFile = InputFile.newFile(l(locale, "echobase.common.esduBySpeciesAndAgeCategoryFile")); } @@ -138,8 +138,8 @@ public class VoyageResultsImportConfiguration extends VoyageImportDataConfigurat return esduByEchotypeAndSpeciesCategoryFile; } - public InputFile getEsduBySpeciesAndSizeCategoryFile() { - return esduBySpeciesAndSizeCategoryFile; + public InputFile getEsduByEchotypeAndSpeciesCategoryAndLengthFile() { + return esduByEchotypeandSpeciesCategoryAndLengthFile; } public InputFile getEsduBySpeciesAndAgeCategoryFile() { @@ -149,7 +149,7 @@ public class VoyageResultsImportConfiguration extends VoyageImportDataConfigurat public boolean isOneEsduImportFile() { return esduByEchotypeFile.hasFile() || esduByEchotypeAndSpeciesCategoryFile.hasFile() - || esduBySpeciesAndSizeCategoryFile.hasFile() + || esduByEchotypeandSpeciesCategoryAndLengthFile.hasFile() || esduBySpeciesAndAgeCategoryFile.hasFile(); } @@ -169,7 +169,7 @@ public class VoyageResultsImportConfiguration extends VoyageImportDataConfigurat lengthWeightKeyFile, esduByEchotypeFile, esduByEchotypeAndSpeciesCategoryFile, - esduBySpeciesAndSizeCategoryFile, + esduByEchotypeandSpeciesCategoryAndLengthFile, esduBySpeciesAndAgeCategoryFile}; } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel.java new file mode 100644 index 0000000..9e07616 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel.java @@ -0,0 +1,100 @@ +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero 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 Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ +package fr.ifremer.echobase.services.service.importdata.csv; + +import fr.ifremer.echobase.entities.data.Echotype; +import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; +import fr.ifremer.echobase.entities.references.Species; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; + +import java.util.List; + +/** + * Model to import {@link Result} for esdu cell and species and size category. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel extends EchoBaseImportExportModelSupport<VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow> { + + protected static final String HEADER_SPECIES = "baracoudaCode"; + + public static final String[] COLUMN_NAMES_TO_EXCLUDE = { + EchoBaseCsvUtil.CELL_NAME, + HEADER_SPECIES, + VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_LENGTH_CLASS, + VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_ECHOTYPE, + VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_SIZE_CATEGORY, + VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_SIZE_CATEGORY_MEANING, + VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_DATA_QUALITY, + VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_VOYAGE + }; + + private VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel(char separator) { + super(separator); + } + + public static VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel forImport(VoyageResultsImportDataContext importDataContext, + List<DataMetadata> dataMetadatas) { + + VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel model = new VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel(importDataContext.getCsvSeparator()); + model.newForeignKeyColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); + model.newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_CELL, importDataContext.getCellValueParser()); + model.newForeignKeyColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, importDataContext.getVoyageEchotypesByName()); + model.newMandatoryColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_LENGTH_CLASS, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER_FORMATTER); + model.newMandatoryColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_SIZE_CATEGORY); + model.newMandatoryColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_SIZE_CATEGORY_MEANING); + model.newForeignKeyColumn(HEADER_SPECIES, VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, importDataContext.getSpeciesByBaracoudaCode()); + model.newForeignKeyColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, importDataContext.getDataQualitiesByName()); + + addResultsColumnsForImport(model, dataMetadatas); + return model; + + } + + public static VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel forExport(VoyageResultsImportDataContext importDataContext, + List<DataMetadata> dataMetadatas) { + + VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel model = new VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel(importDataContext.getCsvSeparator()); + model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); + model.newColumnForExport(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_CELL, importDataContext.getCellValueFormatter()); + model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_ECHOTYPE, EchoBaseCsvUtil.ECHOTYPE_FORMATTER); + model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_LENGTH_CLASS, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER_FORMATTER); + model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_SIZE_CATEGORY); + model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_SIZE_CATEGORY_MEANING); + model.newColumnForExport(HEADER_SPECIES, VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); + model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_DATA_QUALITY, EchoBaseCsvUtil.DATA_QUALITY_FORMATTER); + + addResultsColumns(model, dataMetadatas); + return model; + + } + + @Override + public VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow newEmptyInstance() { + return new VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow(); + } + +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.java similarity index 76% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.java index d94443e..f6cb055 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.java @@ -22,6 +22,7 @@ package fr.ifremer.echobase.services.service.importdata.csv; import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DataQuality; @@ -34,16 +35,18 @@ import java.util.List; /** * Bean used as a row for import of - * {@link VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel}. + * {@link VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportExportModel}. * * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class VoyageResultsEsduBySpeciesAndSizeCategoryImportRow implements ResultAble, CellAble { +public class VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow implements ResultAble, CellAble { public static final String PROPERTY_VOYAGE = "voyage"; public static final String PROPERTY_CELL = "cell"; public static final String PROPERTY_SPECIES = "species"; + public static final String PROPERTY_ECHOTYPE = "echotype"; + public static final String PROPERTY_LENGTH_CLASS = "lengthClass"; public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory"; public static final String PROPERTY_SIZE_CATEGORY_MEANING = "sizeCategoryMeaning"; public static final String PROPERTY_DATA_QUALITY = "dataQuality"; @@ -53,16 +56,20 @@ public class VoyageResultsEsduBySpeciesAndSizeCategoryImportRow implements Resul protected final List<Result> result = new LinkedList<>(); protected Species species; protected DataQuality dataQuality; + protected Float lengthClass; protected String sizeCategory; protected String sizeCategoryMeaning; + protected Echotype echotype; - public static VoyageResultsEsduBySpeciesAndSizeCategoryImportRow of(Voyage voyage, Cell cell, Category category, List<Result> results) { - VoyageResultsEsduBySpeciesAndSizeCategoryImportRow row = new VoyageResultsEsduBySpeciesAndSizeCategoryImportRow(); + public static VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow of(Voyage voyage, Cell cell, Category category, List<Result> results) { + VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow row = new VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow(); row.setVoyage(voyage); row.setCell(cell); row.setSpecies(category.getSpeciesCategory().getSpecies()); + row.setLengthClass(category.getSpeciesCategory().getLengthClass()); row.setSizeCategory(category.getSpeciesCategory().getSizeCategory().getName()); row.setSizeCategoryMeaning(category.getSpeciesCategory().getSizeCategory().getMeaning()); + row.setEchotype(category.getEchotype()); row.result.addAll(results); return row; } @@ -130,4 +137,20 @@ public class VoyageResultsEsduBySpeciesAndSizeCategoryImportRow implements Resul public void setSizeCategoryMeaning(String sizeCategoryMeaning) { this.sizeCategoryMeaning = sizeCategoryMeaning; } + + public Float getLengthClass() { + return lengthClass; + } + + public void setLengthClass(Float lengthClass) { + this.lengthClass = lengthClass; + } + + public Echotype getEchotype() { + return echotype; + } + + public void setEchotype(Echotype echotype) { + this.echotype = echotype; + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.java index 12c62e6..e5e93af 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.java @@ -58,7 +58,7 @@ public class VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel exte public static VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel forImport(VoyageResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel model = new VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel(importDataContext.getCsvSeparator()); - model.newForeignKeyColumn(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); + model.newForeignKeyColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); model.newForeignKeyColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, importDataContext.getVoyageEchotypesByName()); model.newForeignKeyColumn(HEADER_SPECIES, VoyageResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, importDataContext.getSpeciesByBaracoudaCode()); model.newForeignKeyColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, importDataContext.getSizeCategoriesByName()); @@ -73,7 +73,7 @@ public class VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel exte public static VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel forExport(VoyageResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel model = new VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); + model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE, EchoBaseCsvUtil.ECHOTYPE_FORMATTER); model.newColumnForExport(HEADER_SPECIES, VoyageResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SIZE_CATEGORY, EchoBaseCsvUtil.SIZE_CATEGORY_FORMATTER); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeImportExportModel.java index 0193229..605e901 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeImportExportModel.java @@ -52,7 +52,7 @@ public class VoyageResultsEsduByEchotypeImportExportModel extends EchoBaseImport public static VoyageResultsEsduByEchotypeImportExportModel forImport(VoyageResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { VoyageResultsEsduByEchotypeImportExportModel model = new VoyageResultsEsduByEchotypeImportExportModel(importDataContext.getCsvSeparator()); - model.newForeignKeyColumn(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); + model.newForeignKeyColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); model.newForeignKeyColumn(VoyageResultsEsduByEchotypeImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, importDataContext.getVoyageEchotypesByName()); model.newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduByEchotypeImportRow.PROPERTY_CELL, importDataContext.getCellValueParser()); model.newForeignKeyColumn(VoyageResultsEsduByEchotypeImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, importDataContext.getDataQualitiesByName()); @@ -65,7 +65,7 @@ public class VoyageResultsEsduByEchotypeImportExportModel extends EchoBaseImport public static VoyageResultsEsduByEchotypeImportExportModel forExport(VoyageResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { VoyageResultsEsduByEchotypeImportExportModel model = new VoyageResultsEsduByEchotypeImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); + model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); model.newColumnForExport(VoyageResultsEsduByEchotypeImportRow.PROPERTY_ECHOTYPE, EchoBaseCsvUtil.ECHOTYPE_FORMATTER); model.newColumnForExport(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduByEchotypeImportRow.PROPERTY_CELL, importDataContext.getCellValueFormatter()); model.newColumnForExport(VoyageResultsEsduByEchotypeImportRow.PROPERTY_DATA_QUALITY, EchoBaseCsvUtil.DATA_QUALITY_FORMATTER); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel.java index 92ce9ea..96fd9bd 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel.java @@ -56,7 +56,7 @@ public class VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel extends E public static VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel forImport(VoyageResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel model = new VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel(importDataContext.getCsvSeparator()); - model.newForeignKeyColumn(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); + model.newForeignKeyColumn(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); model.newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduBySpeciesAndAgeCategoryImportRow.PROPERTY_CELL, importDataContext.getCellValueParser()); model.newMandatoryColumn(VoyageResultsEsduBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY); model.newMandatoryColumn(VoyageResultsEsduBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY_MEANING); @@ -71,7 +71,7 @@ public class VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel extends E public static VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel forExport(VoyageResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel model = new VoyageResultsEsduBySpeciesAndAgeCategoryImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); + model.newColumnForExport(VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); model.newColumnForExport(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduBySpeciesAndAgeCategoryImportRow.PROPERTY_CELL, importDataContext.getCellValueFormatter()); model.newColumnForExport(VoyageResultsEsduBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY); model.newColumnForExport(VoyageResultsEsduBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY_MEANING); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel.java deleted file mode 100644 index 2c7168a..0000000 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel.java +++ /dev/null @@ -1,93 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * %% - * Copyright (C) 2011 - 2012 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero 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 Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package fr.ifremer.echobase.services.service.importdata.csv; - -import fr.ifremer.echobase.entities.data.Result; -import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.entities.references.DataMetadata; -import fr.ifremer.echobase.entities.references.DataQuality; -import fr.ifremer.echobase.entities.references.Species; -import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; - -import java.util.List; - -/** - * Model to import {@link Result} for esdu cell and species and size category. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 - */ -public class VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel extends EchoBaseImportExportModelSupport<VoyageResultsEsduBySpeciesAndSizeCategoryImportRow> { - - protected static final String HEADER_SPECIES = "baracoudaCode"; - - public static final String[] COLUMN_NAMES_TO_EXCLUDE = { - EchoBaseCsvUtil.CELL_NAME, - HEADER_SPECIES, - VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY, - VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY_MEANING, - VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_DATA_QUALITY, - VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_VOYAGE - }; - - private VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel(char separator) { - super(separator); - } - - public static VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel forImport(VoyageResultsImportDataContext importDataContext, - List<DataMetadata> dataMetadatas) { - - VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel model = new VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel(importDataContext.getCsvSeparator()); - model.newForeignKeyColumn(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); - model.newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_CELL, importDataContext.getCellValueParser()); - model.newMandatoryColumn(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY); - model.newMandatoryColumn(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY_MEANING); - model.newForeignKeyColumn(HEADER_SPECIES, VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, importDataContext.getSpeciesByBaracoudaCode()); - model.newForeignKeyColumn(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, importDataContext.getDataQualitiesByName()); - - addResultsColumnsForImport(model, dataMetadatas); - return model; - - } - - public static VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel forExport(VoyageResultsImportDataContext importDataContext, - List<DataMetadata> dataMetadatas) { - - VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel model = new VoyageResultsEsduBySpeciesAndSizeCategoryImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); - model.newColumnForExport(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_CELL, importDataContext.getCellValueFormatter()); - model.newColumnForExport(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY); - model.newColumnForExport(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY_MEANING); - model.newColumnForExport(HEADER_SPECIES, VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); - model.newColumnForExport(VoyageResultsEsduBySpeciesAndSizeCategoryImportRow.PROPERTY_DATA_QUALITY, EchoBaseCsvUtil.DATA_QUALITY_FORMATTER); - - addResultsColumns(model, dataMetadatas); - return model; - - } - - @Override - public VoyageResultsEsduBySpeciesAndSizeCategoryImportRow newEmptyInstance() { - return new VoyageResultsEsduBySpeciesAndSizeCategoryImportRow(); - } - -} diff --git a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties index 23bdc74..b0141d5 100644 --- a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties +++ b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties @@ -8,10 +8,10 @@ echobase.common.cellRegionAssociationFile=Region cells association file echobase.common.cellRegionResultFile=Region cells results file echobase.common.cellRegionsFile=Region cells file echobase.common.echotypeFile=Echotypes file +echobase.common.esduByEchotypeAndSpeciesCategoryAndLengthFile=Results per ESDU / echotype / species category / length file echobase.common.esduByEchotypeAndSpeciesCategoryFile=Results per ESDU / echotype / species category file echobase.common.esduByEchotypeFile=Results per ESDU / echotype file echobase.common.esduBySpeciesAndAgeCategoryFile=Results per ESDU / species / age file -echobase.common.esduBySpeciesAndSizeCategoryFile=Results per ESDU / species / size file echobase.common.exportDbMode.all=Export complete database echobase.common.exportDbMode.referential=Export only referential echobase.common.exportDbMode.referentialAndData=Export referential and some data diff --git a/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties b/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties index b7b5908..d958650 100644 --- a/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties +++ b/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties @@ -8,10 +8,10 @@ echobase.common.cellRegionAssociationFile=Fichier d'associations des cellules R echobase.common.cellRegionResultFile=Fichier de résultats de cellules Région echobase.common.cellRegionsFile=Fichier des cellules Région echobase.common.echotypeFile=Fichier des échotypes +echobase.common.esduByEchotypeAndSpeciesCategoryAndLengthFile=Fichier de résultats par ESDU / échotype / catégorie d'espèce / taille echobase.common.esduByEchotypeAndSpeciesCategoryFile=Fichier de résultats par ESDU / échotype / catégorie d'espèce echobase.common.esduByEchotypeFile=Fichier de résultats par ESDU / échotype echobase.common.esduBySpeciesAndAgeCategoryFile=Fichier de résultats par ESDU / espèce / âge -echobase.common.esduBySpeciesAndSizeCategoryFile=Fichier de résultats par ESDU / espèce / taille echobase.common.exportDbMode.all=Exporter toute la base echobase.common.exportDbMode.referential=Exporter uniquement le référentiel echobase.common.exportDbMode.referentialAndData=Exporter le référentiel et des données diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlySpeciesAndSizeCategoryImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java similarity index 87% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlySpeciesAndSizeCategoryImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java index 822aa30..22b1101 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlySpeciesAndSizeCategoryImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java @@ -37,9 +37,9 @@ import java.io.IOException; * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class VoyageResultsEsduCellOnlySpeciesAndSizeCategoryImportServiceIT extends VoyageResultsImportServiceITSupport { +public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT extends VoyageResultsImportServiceITSupport { - public VoyageResultsEsduCellOnlySpeciesAndSizeCategoryImportServiceIT() { + public VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT() { super(1); } @@ -57,8 +57,8 @@ public class VoyageResultsEsduCellOnlySpeciesAndSizeCategoryImportServiceIT exte VoyageResultsImportConfiguration configuration = super.createConfiguration(); configuration.setImportType(ImportType.RESULT_ESDU); - InputFile inputFile = configuration.getEsduBySpeciesAndSizeCategoryFile(); - prepareInputFile(inputFile, getImportPath("bySpeciesAndSizeCategory_small.csv.gz")); + InputFile inputFile = configuration.getEsduByEchotypeAndSpeciesCategoryAndLengthFile(); + prepareInputFile(inputFile, getImportPath("byEchotypeAndSpeciesCategoryAndLength_small.csv.gz")); addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); configuration.setDataProcessingId(getDataProcessingId()); @@ -72,7 +72,7 @@ public class VoyageResultsEsduCellOnlySpeciesAndSizeCategoryImportServiceIT exte // int nbCategory = 129; int nbSpeciesCategories= 11; // int nbSpeciesCategories= 129; - int nbSizeCategories= 11; + int nbSizeCategories= 1; // int nbSizeCategories= 62; int nbResult = 196; // int nbResult = 68108; @@ -82,7 +82,7 @@ public class VoyageResultsEsduCellOnlySpeciesAndSizeCategoryImportServiceIT exte assertCsvImportResultPerEntity(importDataFileResult, Category.class, nbCategory, 0, nbCategory); assertCsvImportResultPerEntity(importDataFileResult, SpeciesCategory.class, nbSpeciesCategories, 0, 467); // assertCsvImportResultPerEntity(importDataFileResult, SpeciesCategory.class, nbSpeciesCategories, 0, 585); - assertCsvImportResultPerEntity(importDataFileResult, SizeCategory.class, nbSizeCategories, 0, 18); + assertCsvImportResultPerEntity(importDataFileResult, SizeCategory.class, nbSizeCategories, 0, 8); // assertCsvImportResultPerEntity(importDataFileResult, SizeCategory.class, nbSizeCategories, 0, 69); assertCsvImportResult0(importDataFileResult, nbResult); diff --git a/echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndSizeCategory.csv.gz b/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength.csv.gz similarity index 100% rename from echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndSizeCategory.csv.gz rename to echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength.csv.gz diff --git a/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength_small.csv.gz b/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength_small.csv.gz new file mode 100644 index 0000000..6a06049 Binary files /dev/null and b/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength_small.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndSizeCategory_small.csv.gz b/echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndSizeCategory_small.csv.gz deleted file mode 100644 index 8e35eb8..0000000 Binary files a/echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndSizeCategory_small.csv.gz and /dev/null 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 04fb27a35f79577277b740379b98d82c4eaa0037 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 12:44:37 2016 +0200 Renommage côté ui de l'import concerné (See #8297) --- .../ui/actions/importData/ConfigureResultsImport.java | 12 ++++++------ .../src/main/resources/i18n/echobase-ui_en_GB.properties | 2 +- .../src/main/resources/i18n/echobase-ui_fr_FR.properties | 2 +- .../webapp/WEB-INF/jsp/importData/configureResultsImport.jsp | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java index 638407b..b02b842 100644 --- a/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java +++ b/echobase-ui/src/main/java/fr/ifremer/echobase/ui/actions/importData/ConfigureResultsImport.java @@ -230,16 +230,16 @@ public class ConfigureResultsImport extends AbstractConfigureImport<VoyageResult getModel().getEsduByEchotypeAndSpeciesCategoryFile().setFileName(fileName); } - public void setEsduBySpeciesAndSizeCategoryFile(File file) { - getModel().getEsduBySpeciesAndSizeCategoryFile().setFile(file); + public void setEsduByEchotypeAndSpeciesCategoryAndLengthFile(File file) { + getModel().getEsduByEchotypeAndSpeciesCategoryAndLengthFile().setFile(file); } - public void setEsduBySpeciesAndSizeCategoryFileContentType(String contentType) { - getModel().getEsduBySpeciesAndSizeCategoryFile().setContentType(contentType); + public void setEsduByEchotypeAndSpeciesCategoryAndLengthFileContentType(String contentType) { + getModel().getEsduByEchotypeAndSpeciesCategoryAndLengthFile().setContentType(contentType); } - public void setEsduBySpeciesAndSizeCategoryFileFileName(String fileName) { - getModel().getEsduBySpeciesAndSizeCategoryFile().setFileName(fileName); + public void setEsduByEchotypeAndSpeciesCategoryAndLengthFileFileName(String fileName) { + getModel().getEsduByEchotypeAndSpeciesCategoryAndLengthFile().setFileName(fileName); } public void setEsduBySpeciesAndAgeCategoryFile(File file) { diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties index b74d569..1baf9b3 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_en_GB.properties @@ -81,10 +81,10 @@ echobase.common.echotypeFile= echobase.common.email=E-mail echobase.common.entityId=ID echobase.common.entityType=Entity type +echobase.common.esduByEchotypeAndSpeciesCategoryAndLengthFile= echobase.common.esduByEchotypeAndSpeciesCategoryFile= echobase.common.esduByEchotypeFile= echobase.common.esduBySpeciesAndAgeCategoryFile= -echobase.common.esduBySpeciesAndSizeCategoryFile= echobase.common.exportDbMode=Mode echobase.common.extractCommunityIndicator=Extract community indicators echobase.common.extractMaps=Extract maps diff --git a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties index a4cf8bf..f8fb5ee 100644 --- a/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties +++ b/echobase-ui/src/main/resources/i18n/echobase-ui_fr_FR.properties @@ -81,10 +81,10 @@ echobase.common.echotypeFile= echobase.common.email=Courriel echobase.common.entityId=Identifiant de l'entité echobase.common.entityType=Type d'entité +echobase.common.esduByEchotypeAndSpeciesCategoryAndLengthFile= echobase.common.esduByEchotypeAndSpeciesCategoryFile= echobase.common.esduByEchotypeFile= echobase.common.esduBySpeciesAndAgeCategoryFile= -echobase.common.esduBySpeciesAndSizeCategoryFile= echobase.common.exportDbMode=Mode echobase.common.extractCommunityIndicator=Extraire les indicateurs de communauté echobase.common.extractMaps=Extraire les cartes diff --git a/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp index 64e8720..8012881 100644 --- a/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp +++ b/echobase-ui/src/main/webapp/WEB-INF/jsp/importData/configureResultsImport.jsp @@ -136,8 +136,8 @@ <s:file key="esduByEchotypeAndSpeciesCategoryFile" label='%{getText("echobase.common.esduByEchotypeAndSpeciesCategoryFile")}'/> - <s:file key="esduBySpeciesAndSizeCategoryFile" - label='%{getText("echobase.common.esduBySpeciesAndSizeCategoryFile")}'/> + <s:file key="esduByEchotypeAndSpeciesCategoryAndLengthFile" + label='%{getText("echobase.common.esduByEchotypeAndSpeciesCategoryAndLengthFile")}'/> <s:file key="esduBySpeciesAndAgeCategoryFile" label='%{getText("echobase.common.esduBySpeciesAndAgeCategoryFile")}'/> -- 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 1980d1f5b8b61d55f33968d597d65269071b4007 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 13:21:47 2016 +0200 On remete les données de tests sur sizeCategory + ajout d'un test sur le fichier complet (mais qu'on ignore pour le moment car trop long à lancer... (See #8297) --- ...ndSpeciesCategoryAndLengthCellImportAction.java | 3 ++- ...hotypeAndSpeciesCategoryAndLengthImportRow.java | 8 +++++-- ...AndSpeciesCategoryAndLengthImportServiceIT.java | 24 +++++++++------------ ...iesCategoryAndLength_SmallImportServiceIT.java} | 18 ++++++---------- .../byEchotypeAndSpeciesCategoryAndLength.csv.gz | Bin 709007 -> 709794 bytes ...chotypeAndSpeciesCategoryAndLength_small.csv.gz | Bin 2584 -> 2585 bytes 6 files changed, 24 insertions(+), 29 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction.java index 99314d0..d23730c 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction.java @@ -1,6 +1,7 @@ package fr.ifremer.echobase.services.service.importdata.actions; import com.google.common.base.Preconditions; +import com.google.common.base.Strings; import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Result; @@ -45,7 +46,7 @@ public class VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAct protected Category getResultCategory(ImportDataFileResult result, ResultCategoryCache resultCategoryCache, VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow row) { SizeCategory sizeCategory = null; - if (row.getSizeCategory() != null) { + if (!Strings.isNullOrEmpty(row.getSizeCategory())) { sizeCategory = sizeCategoryCache.getSizeCategory(row.getSizeCategory(), row.getSizeCategoryMeaning(), result); Preconditions.checkNotNull(sizeCategory); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.java index f6cb055..5c8cce0 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow.java @@ -26,6 +26,7 @@ import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DataQuality; +import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.services.csv.CellAble; import fr.ifremer.echobase.services.csv.ResultAble; @@ -67,8 +68,11 @@ public class VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthImportRow imp row.setCell(cell); row.setSpecies(category.getSpeciesCategory().getSpecies()); row.setLengthClass(category.getSpeciesCategory().getLengthClass()); - row.setSizeCategory(category.getSpeciesCategory().getSizeCategory().getName()); - row.setSizeCategoryMeaning(category.getSpeciesCategory().getSizeCategory().getMeaning()); + SizeCategory sizeCategory = category.getSpeciesCategory().getSizeCategory(); + if (sizeCategory != null) { + row.setSizeCategory(sizeCategory.getName()); + row.setSizeCategoryMeaning(sizeCategory.getMeaning()); + } row.setEchotype(category.getEchotype()); row.result.addAll(results); return row; diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java index 22b1101..2f45a1d 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java @@ -30,6 +30,7 @@ import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.ImportDataFixtures; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; +import org.junit.Ignore; import java.io.IOException; @@ -37,6 +38,7 @@ import java.io.IOException; * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ +@Ignore public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT extends VoyageResultsImportServiceITSupport { public VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT() { @@ -58,7 +60,7 @@ public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportS configuration.setImportType(ImportType.RESULT_ESDU); InputFile inputFile = configuration.getEsduByEchotypeAndSpeciesCategoryAndLengthFile(); - prepareInputFile(inputFile, getImportPath("byEchotypeAndSpeciesCategoryAndLength_small.csv.gz")); + prepareInputFile(inputFile, getImportPath("byEchotypeAndSpeciesCategoryAndLength.csv.gz")); addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); configuration.setDataProcessingId(getDataProcessingId()); @@ -68,23 +70,17 @@ public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportS @Override protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { - int nbCategory = 11; -// int nbCategory = 129; - int nbSpeciesCategories= 11; -// int nbSpeciesCategories= 129; - int nbSizeCategories= 1; -// int nbSizeCategories= 62; - int nbResult = 196; -// int nbResult = 68108; + int nbCategory = 129; + int nbSpeciesCategories= 129; + int nbSizeCategories= 62; + int nbResult = 68108; ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + assertCsvImportResult0(importDataFileResult, nbResult); assertCsvImportResultPerEntity(importDataFileResult, Result.class, nbResult, 0, nbResult); assertCsvImportResultPerEntity(importDataFileResult, Category.class, nbCategory, 0, nbCategory); - assertCsvImportResultPerEntity(importDataFileResult, SpeciesCategory.class, nbSpeciesCategories, 0, 467); -// assertCsvImportResultPerEntity(importDataFileResult, SpeciesCategory.class, nbSpeciesCategories, 0, 585); - assertCsvImportResultPerEntity(importDataFileResult, SizeCategory.class, nbSizeCategories, 0, 8); -// assertCsvImportResultPerEntity(importDataFileResult, SizeCategory.class, nbSizeCategories, 0, 69); - assertCsvImportResult0(importDataFileResult, nbResult); + assertCsvImportResultPerEntity(importDataFileResult, SpeciesCategory.class, nbSpeciesCategories, 0, 585); + assertCsvImportResultPerEntity(importDataFileResult, SizeCategory.class, nbSizeCategories, 0, 69); } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT.java similarity index 85% copy from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java copy to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT.java index 22b1101..0ca9c2f 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT.java @@ -37,9 +37,9 @@ import java.io.IOException; * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT extends VoyageResultsImportServiceITSupport { +public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT extends VoyageResultsImportServiceITSupport { - public VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportServiceIT() { + public VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT() { super(1); } @@ -69,22 +69,16 @@ public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportS protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { int nbCategory = 11; -// int nbCategory = 129; - int nbSpeciesCategories= 11; -// int nbSpeciesCategories= 129; - int nbSizeCategories= 1; -// int nbSizeCategories= 62; + int nbSpeciesCategories = 11; + int nbSizeCategories = 11; int nbResult = 196; -// int nbResult = 68108; ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + assertCsvImportResult0(importDataFileResult, nbResult); assertCsvImportResultPerEntity(importDataFileResult, Result.class, nbResult, 0, nbResult); assertCsvImportResultPerEntity(importDataFileResult, Category.class, nbCategory, 0, nbCategory); assertCsvImportResultPerEntity(importDataFileResult, SpeciesCategory.class, nbSpeciesCategories, 0, 467); -// assertCsvImportResultPerEntity(importDataFileResult, SpeciesCategory.class, nbSpeciesCategories, 0, 585); - assertCsvImportResultPerEntity(importDataFileResult, SizeCategory.class, nbSizeCategories, 0, 8); -// assertCsvImportResultPerEntity(importDataFileResult, SizeCategory.class, nbSizeCategories, 0, 69); - assertCsvImportResult0(importDataFileResult, nbResult); + assertCsvImportResultPerEntity(importDataFileResult, SizeCategory.class, nbSizeCategories, 0, 18); } diff --git a/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength.csv.gz b/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength.csv.gz index 6c6125a..3ab3e97 100644 Binary files a/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength.csv.gz and b/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength_small.csv.gz b/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength_small.csv.gz index 6a06049..062a49e 100644 Binary files a/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength_small.csv.gz and b/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategoryAndLength_small.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 2106d05d2f3617365ff08435b9d4abcf66f6ece1 Merge: 5a9a6fa 1980d1f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun May 1 13:21:54 2016 +0200 Livrable #8297 Merge branch 'feature/8297' into develop .../WorkingDbMigrationCallBackForVersion3_902.java | 33 +++++++ .../3.902-0-add-SpeciesCategory_lengthClass.sql | 1 + echobase-domain/src/main/xmi/echobase.properties | 2 +- echobase-domain/src/main/xmi/echobase.zargo | Bin 90396 -> 90472 bytes .../echobase/services/csv/EchoBaseCsvUtil.java | 2 +- .../services/service/UserDbPersistenceService.java | 4 + .../service/importdata/ImportDataService.java | 6 +- .../service/importdata/ResultCategoryCache.java | 2 + .../service/importdata/SpeciesCategoryCache.java | 6 +- .../VoyageCatchesBiometrySampleImportAction.java | 2 +- .../VoyageCatchesSubSampleImportAction.java | 2 +- .../VoyageCatchesTotalSampleImportAction.java | 2 +- ...ndSpeciesCategoryAndLengthCellImportAction.java | 72 +++++++++++++++ ...EchotypeAndSpeciesCategoryCellImportAction.java | 1 + ...sEsduSpeciesAndAgeCategoryCellImportAction.java | 2 +- ...EsduSpeciesAndSizeCategoryCellImportAction.java | 63 ------------- .../VoyageResultsMapFishCellImportAction.java | 1 + .../VoyageResultsRegionResultsImportAction.java | 1 + ...geResultsVoyageLengthWeightKeyImportAction.java | 2 +- .../VoyageResultsImportConfiguration.java | 12 +-- ...dSpeciesCategoryAndLengthImportExportModel.java | 100 +++++++++++++++++++++ ...otypeAndSpeciesCategoryAndLengthImportRow.java} | 39 ++++++-- ...chotypeAndSpeciesCategoryImportExportModel.java | 4 +- ...yageResultsEsduByEchotypeImportExportModel.java | 4 +- ...duBySpeciesAndAgeCategoryImportExportModel.java | 4 +- ...uBySpeciesAndSizeCategoryImportExportModel.java | 93 ------------------- .../i18n/echobase-services_en_GB.properties | 2 +- .../i18n/echobase-services_fr_FR.properties | 2 +- ...ndSpeciesCategoryAndLengthImportServiceIT.java} | 30 +++---- ...iesCategoryAndLength_SmallImportServiceIT.java} | 20 ++--- .../resources/echobase-importDb-referentiel.zip | Bin 50920 -> 50556 bytes .../echobase-catches-and-voyage-result.h2.db.gz | Bin 632318 -> 826644 bytes .../import-data/echobase-catches.h2.db.gz | Bin 754466 -> 754845 bytes .../import-data/echobase-commonData.h2.db.gz | Bin 183714 -> 184388 bytes .../resources/import-data/echobase-nodata.h2.db.gz | Bin 136848 -> 137434 bytes .../echobase-operation-total-samples.h2.db.gz | Bin 602363 -> 601307 bytes .../import-data/echobase-operation.h2.db.gz | Bin 328618 -> 327903 bytes .../byEchotypeAndSpeciesCategoryAndLength.csv.gz | Bin 0 -> 709794 bytes ...chotypeAndSpeciesCategoryAndLength_small.csv.gz | Bin 0 -> 2585 bytes .../result/esdu/bySpeciesAndSizeCategory.csv.gz | Bin 709007 -> 0 bytes .../esdu/bySpeciesAndSizeCategory_small.csv.gz | Bin 2544 -> 0 bytes .../actions/importData/ConfigureResultsImport.java | 12 +-- .../resources/i18n/echobase-ui_en_GB.properties | 2 +- .../resources/i18n/echobase-ui_fr_FR.properties | 2 +- .../jsp/importData/configureResultsImport.jsp | 4 +- 45 files changed, 306 insertions(+), 228 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm