branch feature/8180 updated (bcee297 -> cd9fa27)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from bcee297 Create service for echotype import for mooring new 2b736c0 Create service for esdu results import for mooring new e81e229 Create remove strategy for esdu results import for mooring new cd9fa27 Migrate database to introduce echotype for the mooring The 3 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 cd9fa2708c04a16365c869f2c679e4a3068a70d8 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 17:14:17 2016 +0200 Migrate database to introduce echotype for the mooring commit e81e229cc4769cdd4e3b812bad0dd72140a14b2f Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 17:11:36 2016 +0200 Create remove strategy for esdu results import for mooring commit 2b736c089116319e8f1345c25b9e99b75779c23e Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 16:55:07 2016 +0200 Create service for esdu results import for mooring Summary of changes: .../services/service/UserDbPersistenceService.java | 4 +- .../service/importdata/ImportDataService.java | 66 ++++++++++----- ...ava => ResultsImportAlreadyExistException.java} | 6 +- ...MooringResultsCellImportDataActionSupport.java} | 18 ++-- ...chotypeAndSpeciesCategoryCellImportAction.java} | 33 ++++---- ...ringResultsEsduByEchotypeCellImportAction.java} | 31 +++---- ...oyageResultsEsduByEchotypeCellImportAction.java | 1 - ...chotypeAndSpeciesCategoryImportExportModel.java | 94 +++++++++++++++++++++ ...EsduByEchotypeAndSpeciesCategoryImportRow.java} | 27 +++--- ...ringResultsEsduByEchotypeImportExportModel.java | 83 ++++++++++++++++++ ... => MooringResultsEsduByEchotypeImportRow.java} | 31 +++---- .../service/removedata/RemoveDataService.java | 4 +- ...va => MooringResultEsduRemoveDataStrategy.java} | 17 ++-- .../i18n/echobase-services_en_GB.properties | 1 + .../i18n/echobase-services_fr_FR.properties | 1 + .../echobase/services/ImportDataFixtures.java | 12 +++ .../services/MigrateImportDataDatabasesIT.java | 5 ++ .../importdata/AbstractImportDataServiceIT.java | 30 +++++-- ...EchotypeAndSpeciesCategoryImportServiceIT.java} | 35 ++++---- ...esultsEsduCellOnlyEchotypeImportServiceIT.java} | 33 +++++--- ...AndSpeciesCategoryAndLengthImportServiceIT.java | 2 +- ...ciesCategoryAndLength_SmallImportServiceIT.java | 2 +- ...yEchotypeAndSpeciesCategoryImportServiceIT.java | 2 +- ...ResultsEsduCellOnlyEchotypeImportServiceIT.java | 2 +- ...llOnlySpeciesAndAgeCategoryImportServiceIT.java | 2 +- .../VoyageResultsRegionCellImportServiceIT.java | 2 +- ...VoyageResultsRegionCell_AllImportServiceIT.java | 2 +- .../removedata/AbstractRemoveDataServiceTest.java | 33 +++++++- .../MooringAcousticRemoveDataServiceTest.java | 4 +- .../removedata/MooringRemoveDataServiceTest.java | 4 +- ...=> MooringResultEsduRemoveDataServiceTest.java} | 15 ++-- .../MooringResultsRemoveDataServiceTest.java | 4 +- .../echobase-catches-and-voyage-result.h2.db.gz | Bin 990799 -> 991130 bytes .../import-data/echobase-catches.h2.db.gz | Bin 924599 -> 924955 bytes .../import-data/echobase-commonData.h2.db.gz | Bin 369853 -> 370149 bytes .../import-data/echobase-mooring-results.h2.db.gz | Bin 0 -> 930474 bytes .../import-data/echobase-mooring.h2.db.gz | Bin 925009 -> 925371 bytes .../resources/import-data/echobase-nodata.h2.db.gz | Bin 318391 -> 318631 bytes .../echobase-operation-total-samples.h2.db.gz | Bin 784879 -> 785190 bytes .../import-data/echobase-operation.h2.db.gz | Bin 507688 -> 508067 bytes .../byEchotypeAndSpeciesCategory_small.csv.gz | Bin 0 -> 2038 bytes .../result/mooring-esdu/byEchotype_small.csv.gz | Bin 0 -> 2798 bytes 42 files changed, 439 insertions(+), 167 deletions(-) rename echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/{ResultsVoyageImportAlreadyExistException.java => ResultsImportAlreadyExistException.java} (82%) copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/{VoyageResultsCellImportDataActionSupport.java => MooringResultsCellImportDataActionSupport.java} (64%) copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/{VoyageResultsRegionResultsImportAction.java => MooringResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java} (53%) copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/{VoyageResultsEsduByEchotypeCellImportAction.java => MooringResultsEsduByEchotypeCellImportAction.java} (51%) create mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.java copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/{VoyageResultsEsduByEchotypeAndSpeciesCategoryImportRow.java => MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.java} (80%) create mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeImportExportModel.java copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/{VoyageResultsEsduByEchotypeImportRow.java => MooringResultsEsduByEchotypeImportRow.java} (74%) copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/{ResultEsduRemoveDataStrategy.java => MooringResultEsduRemoveDataStrategy.java} (79%) copy echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java => MooringResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java} (65%) copy echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{VoyageResultsEsduCellOnlyEchotypeImportServiceIT.java => MooringResultsEsduCellOnlyEchotypeImportServiceIT.java} (63%) copy echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/{MooringResultsRemoveDataServiceTest.java => MooringResultEsduRemoveDataServiceTest.java} (76%) create mode 100644 echobase-services/src/test/resources/import-data/echobase-mooring-results.h2.db.gz create mode 100644 echobase-services/src/test/resources/import-data/result/mooring-esdu/byEchotypeAndSpeciesCategory_small.csv.gz create mode 100644 echobase-services/src/test/resources/import-data/result/mooring-esdu/byEchotype_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 feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 2b736c089116319e8f1345c25b9e99b75779c23e Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 16:55:07 2016 +0200 Create service for esdu results import for mooring --- .../services/service/UserDbPersistenceService.java | 4 +- .../service/importdata/ImportDataService.java | 66 +++++---- ...ava => ResultsImportAlreadyExistException.java} | 6 +- .../MooringResultsCellImportDataActionSupport.java | 51 +++++++ ...EchotypeAndSpeciesCategoryCellImportAction.java | 71 ++++++++++ ...ringResultsEsduByEchotypeCellImportAction.java} | 31 ++--- ...oyageResultsEsduByEchotypeCellImportAction.java | 1 - ...chotypeAndSpeciesCategoryImportExportModel.java | 94 +++++++++++++ ...sEsduByEchotypeAndSpeciesCategoryImportRow.java | 150 +++++++++++++++++++++ ...ringResultsEsduByEchotypeImportExportModel.java | 83 ++++++++++++ .../csv/MooringResultsEsduByEchotypeImportRow.java | 120 +++++++++++++++++ .../i18n/echobase-services_en_GB.properties | 1 + .../i18n/echobase-services_fr_FR.properties | 1 + .../echobase/services/ImportDataFixtures.java | 12 ++ .../services/MigrateImportDataDatabasesIT.java | 5 + .../importdata/AbstractImportDataServiceIT.java | 30 ++++- ...EchotypeAndSpeciesCategoryImportServiceIT.java} | 35 ++--- ...esultsEsduCellOnlyEchotypeImportServiceIT.java} | 33 +++-- ...AndSpeciesCategoryAndLengthImportServiceIT.java | 2 +- ...ciesCategoryAndLength_SmallImportServiceIT.java | 2 +- ...yEchotypeAndSpeciesCategoryImportServiceIT.java | 2 +- ...ResultsEsduCellOnlyEchotypeImportServiceIT.java | 2 +- ...llOnlySpeciesAndAgeCategoryImportServiceIT.java | 2 +- .../VoyageResultsRegionCellImportServiceIT.java | 2 +- ...VoyageResultsRegionCell_AllImportServiceIT.java | 2 +- .../import-data/echobase-mooring-results.h2.db.gz | Bin 0 -> 932433 bytes .../byEchotypeAndSpeciesCategory_small.csv.gz | Bin 0 -> 2038 bytes .../result/mooring-esdu/byEchotype_small.csv.gz | Bin 0 -> 2798 bytes 28 files changed, 719 insertions(+), 89 deletions(-) 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 77789d2..578fbfe 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 @@ -687,11 +687,11 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { } - public boolean isImportLogFor(String entityId, String importLogId) { + public boolean isImportLogFor(String entityId, String importLogId, ImportType importType) { ImportLogTopiaDao importLogDao = persistenceContext.getImportLogDao(); return importLogDao.forEntityIdEquals(entityId) .addNotEquals(ImportLog.PROPERTY_TOPIA_ID, importLogId) - .addEquals(ImportLog.PROPERTY_IMPORT_TYPE, ImportType.RESULT_VOYAGE) + .addEquals(ImportLog.PROPERTY_IMPORT_TYPE, importType) .exists(); } 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 cda8fea..2b0038c 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 @@ -34,6 +34,8 @@ import fr.ifremer.echobase.services.service.importdata.actions.MooringAcousticsI import fr.ifremer.echobase.services.service.importdata.actions.MooringCommonsAncillaryInstrumentationImportAction; import fr.ifremer.echobase.services.service.importdata.actions.MooringCommonsMooringImportAction; import fr.ifremer.echobase.services.service.importdata.actions.MooringResultsEchotypeImportAction; +import fr.ifremer.echobase.services.service.importdata.actions.MooringResultsEsduByEchotypeAndSpeciesCategoryCellImportAction; +import fr.ifremer.echobase.services.service.importdata.actions.MooringResultsEsduByEchotypeCellImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageAcousticsImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageCatchesBiometrySampleImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageCatchesSubSampleImportAction; @@ -219,7 +221,42 @@ public class ImportDataService extends EchoBaseServiceSupport { public ImportDataResult<MooringResultsImportConfiguration> doImportMooringResults(MooringResultsImportConfiguration configuration, EchoBaseUser user) throws ImportException { MooringResultsImportDataContext importDataContext = newMooringResultsImportContext(configuration, user); - Set<MooringResultsEchotypeImportAction> importActions = Collections.singleton(new MooringResultsEchotypeImportAction(importDataContext)); + + Collection<ImportDataActionSupport> importActions = new LinkedHashSet<>(); + + ImportType importMode = configuration.getImportType(); + switch (importMode) { + case RESULT_MOORING: + // check if there is a such same import on this voyage (with a different id) + String importLogId = importDataContext.getImportLog().getTopiaId(); + boolean importExists = persistenceService.isImportLogFor(configuration.getMooringId(), importLogId, ImportType.RESULT_MOORING); + if (importExists) { + if (log.isWarnEnabled()) { + log.warn("there is already a mooring result import for this voyage, won't import."); + } + throw new ResultsImportAlreadyExistException(getLocale()); + } + + if (configuration.getEchotypeFile().hasFile()) { + importActions.add(new MooringResultsEchotypeImportAction(importDataContext)); + } + break; + + case RESULT_MOORING_ESDU: + if (configuration.getEsduByEchotypeFile().hasFile()) { + importActions.add(new MooringResultsEsduByEchotypeCellImportAction(importDataContext)); + } + + if (configuration.getEsduByEchotypeAndSpeciesCategoryFile().hasFile()) { + importActions.add(new MooringResultsEsduByEchotypeAndSpeciesCategoryCellImportAction(importDataContext)); + } + + break; + + default: + throw new EchoBaseTechnicalException("Can not treate import result of type " + importMode); + } + return doImport(importDataContext, importActions); } @@ -230,64 +267,47 @@ public class ImportDataService extends EchoBaseServiceSupport { Collection<ImportDataActionSupport> importActions = new LinkedHashSet<>(); ImportType importMode = configuration.getImportType(); - switch (importMode) { - - case RESULT_VOYAGE: { + case RESULT_VOYAGE: // check if there is a such same import on this voyage (with a different id) String importLogId = importDataContext.getImportLog().getTopiaId(); - boolean importExists = persistenceService.isImportLogFor(configuration.getVoyageId(), importLogId); + boolean importExists = persistenceService.isImportLogFor(configuration.getVoyageId(), importLogId, ImportType.RESULT_VOYAGE); if (importExists) { if (log.isWarnEnabled()) { log.warn("there is already a voyage result import for this voyage, won't import."); } - throw new ResultsVoyageImportAlreadyExistException(getLocale()); + throw new ResultsImportAlreadyExistException(getLocale()); } if (configuration.getLengthAgeKeyFile().hasFile()) { - importActions.add(new VoyageResultsVoyageLengthAgeKeyImportAction(importDataContext)); - } if (configuration.getLengthWeightKeyFile().hasFile()) { - importActions.add(new VoyageResultsVoyageLengthWeightKeyImportAction(importDataContext)); - } if (configuration.getEchotypeFile().hasFile()) { - importActions.add(new VoyageResultsVoyageEchotypeImportAction(importDataContext)); - } - - } - break; + + break; case RESULT_ESDU: if (configuration.getEsduByEchotypeFile().hasFile()) { - importActions.add(new VoyageResultsEsduByEchotypeCellImportAction(importDataContext)); - } if (configuration.getEsduByEchotypeAndSpeciesCategoryFile().hasFile()) { - importActions.add(new VoyageResultsEsduByEchotypeAndSpeciesCategoryCellImportAction(importDataContext)); - } if (configuration.getEsduByEchotypeAndSpeciesCategoryAndLengthFile().hasFile()) { - importActions.add(new VoyageResultsEsduByEchotypeAndSpeciesCategoryAndLengthCellImportAction(importDataContext)); - } if (configuration.getEsduBySpeciesAndAgeCategoryFile().hasFile()) { - importActions.add(new VoyageResultsEsduSpeciesAndAgeCategoryCellImportAction(importDataContext)); - } break; diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportAlreadyExistException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsImportAlreadyExistException.java similarity index 82% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportAlreadyExistException.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsImportAlreadyExistException.java index 9ff9d50..aea7fae 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportAlreadyExistException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ResultsImportAlreadyExistException.java @@ -31,11 +31,11 @@ import static org.nuiton.i18n.I18n.l; * @author Tony Chemit - chemit@codelutin.com * @since 2.9 */ -public class ResultsVoyageImportAlreadyExistException extends ImportException { +public class ResultsImportAlreadyExistException extends ImportException { private static final long serialVersionUID = 1L; - public ResultsVoyageImportAlreadyExistException(Locale locale) { - super(l(locale, "echobase.importError.voyageResultImport.alreadyDone")); + public ResultsImportAlreadyExistException(Locale locale) { + super(l(locale, "echobase.importError.resultImport.alreadyDone")); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/MooringResultsCellImportDataActionSupport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/MooringResultsCellImportDataActionSupport.java new file mode 100644 index 0000000..336ad93 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/MooringResultsCellImportDataActionSupport.java @@ -0,0 +1,51 @@ +package fr.ifremer.echobase.services.service.importdata.actions; + +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2016 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% + */ + +import fr.ifremer.echobase.entities.data.DataAcousticProvider; +import fr.ifremer.echobase.io.InputFile; +import fr.ifremer.echobase.services.csv.CellAble; +import fr.ifremer.echobase.services.csv.ResultAble; +import fr.ifremer.echobase.services.service.importdata.configurations.MooringResultsImportConfiguration; +import fr.ifremer.echobase.services.service.importdata.contexts.MooringResultsImportDataContext; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 + */ +public abstract class MooringResultsCellImportDataActionSupport<E extends ResultAble & CellAble> extends ImportResultsCellDataActionSupport<MooringResultsImportConfiguration, MooringResultsImportDataContext, E> { + + /** Logger. */ + private static final Log log = LogFactory.getLog(MooringResultsCellImportDataActionSupport.class); + + protected MooringResultsCellImportDataActionSupport(MooringResultsImportDataContext importDataContext, InputFile inputFile, String... columnNamesToExclude) { + super(importDataContext, inputFile, columnNamesToExclude); + } + + @Override + protected DataAcousticProvider getDataProvider(MooringResultsImportDataContext importDataContext) { + return importDataContext.getMooring(); + } + +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/MooringResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/MooringResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java new file mode 100644 index 0000000..4c01459 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/MooringResultsEsduByEchotypeAndSpeciesCategoryCellImportAction.java @@ -0,0 +1,71 @@ +package fr.ifremer.echobase.services.service.importdata.actions; + +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2016 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% + */ + +import fr.ifremer.echobase.entities.data.DataAcousticProvider; +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.services.service.importdata.ImportDataFileResult; +import fr.ifremer.echobase.services.service.importdata.ResultCategoryCache; +import fr.ifremer.echobase.services.service.importdata.contexts.MooringResultsImportDataContext; +import fr.ifremer.echobase.services.service.importdata.csv.MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel; +import fr.ifremer.echobase.services.service.importdata.csv.MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow; + +import java.util.List; + +/** + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 + */ +public class MooringResultsEsduByEchotypeAndSpeciesCategoryCellImportAction extends MooringResultsCellImportDataActionSupport<MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow> { + + public MooringResultsEsduByEchotypeAndSpeciesCategoryCellImportAction(MooringResultsImportDataContext importDataContext) { + super(importDataContext, importDataContext.getConfiguration().getEsduByEchotypeAndSpeciesCategoryFile(), MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.COLUMN_NAMES_TO_EXCLUDE); + } + + @Override + protected MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel createCsvImportModel(MooringResultsImportDataContext importDataContext) { + return MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.forImport(importDataContext, metas); + } + + @Override + protected MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel createCsvExportModel(MooringResultsImportDataContext importDataContext) { + return MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.forExport(importDataContext, metas); + } + + @Override + protected Category getResultCategory(ImportDataFileResult result, ResultCategoryCache resultCategoryCache, MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow row) { + return resultCategoryCache.getResultCategory(row.getEchotype(), + row.getSpecies(), + null, + row.getSizeCategory(), + null, + result); + } + + @Override + protected MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow newImportedRow(DataAcousticProvider voyage, Cell cell, Category category, List<Result> cellResults) { + return MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.of(voyage, cell, category, cellResults); + } + +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/MooringResultsEsduByEchotypeCellImportAction.java similarity index 51% copy from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java copy to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/MooringResultsEsduByEchotypeCellImportAction.java index 9d3c7b1..c9359c9 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/MooringResultsEsduByEchotypeCellImportAction.java @@ -25,45 +25,42 @@ import fr.ifremer.echobase.entities.data.DataAcousticProvider; 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.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.ResultCategoryCache; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; -import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsEsduByEchotypeImportExportModel; -import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsEsduByEchotypeImportRow; +import fr.ifremer.echobase.services.service.importdata.contexts.MooringResultsImportDataContext; +import fr.ifremer.echobase.services.service.importdata.csv.MooringResultsEsduByEchotypeImportExportModel; +import fr.ifremer.echobase.services.service.importdata.csv.MooringResultsEsduByEchotypeImportRow; import java.util.List; /** - * Created on 25/03/16. - * - * @author Tony Chemit - chemit@codelutin.com + * @author Julien Ruchaud - ruchaud@codelutin.com * @since 4.0 */ -public class VoyageResultsEsduByEchotypeCellImportAction extends VoyageResultsCellImportDataActionSupport<VoyageResultsEsduByEchotypeImportRow> { +public class MooringResultsEsduByEchotypeCellImportAction extends MooringResultsCellImportDataActionSupport<MooringResultsEsduByEchotypeImportRow> { - public VoyageResultsEsduByEchotypeCellImportAction(VoyageResultsImportDataContext importDataContext) { - super(importDataContext, importDataContext.getConfiguration().getEsduByEchotypeFile(), VoyageResultsEsduByEchotypeImportExportModel.COLUMN_NAMES_TO_EXCLUDE); + public MooringResultsEsduByEchotypeCellImportAction(MooringResultsImportDataContext importDataContext) { + super(importDataContext, importDataContext.getConfiguration().getEsduByEchotypeFile(), MooringResultsEsduByEchotypeImportExportModel.COLUMN_NAMES_TO_EXCLUDE); } @Override - protected VoyageResultsEsduByEchotypeImportExportModel createCsvImportModel(VoyageResultsImportDataContext importDataContext) { - return VoyageResultsEsduByEchotypeImportExportModel.forImport(importDataContext, metas); + protected MooringResultsEsduByEchotypeImportExportModel createCsvImportModel(MooringResultsImportDataContext importDataContext) { + return MooringResultsEsduByEchotypeImportExportModel.forImport(importDataContext, metas); } @Override - protected VoyageResultsEsduByEchotypeImportExportModel createCsvExportModel(VoyageResultsImportDataContext importDataContext) { - return VoyageResultsEsduByEchotypeImportExportModel.forExport(importDataContext, metas); + protected MooringResultsEsduByEchotypeImportExportModel createCsvExportModel(MooringResultsImportDataContext importDataContext) { + return MooringResultsEsduByEchotypeImportExportModel.forExport(importDataContext, metas); } @Override - protected Category getResultCategory(ImportDataFileResult result, ResultCategoryCache resultCategoryCache, VoyageResultsEsduByEchotypeImportRow row) { + protected Category getResultCategory(ImportDataFileResult result, ResultCategoryCache resultCategoryCache, MooringResultsEsduByEchotypeImportRow row) { return resultCategoryCache.getResultCategory(row.getEchotype(), null, result); } @Override - protected VoyageResultsEsduByEchotypeImportRow newImportedRow(DataAcousticProvider voyage, Cell cell, Category category, List<Result> cellResults) { - return VoyageResultsEsduByEchotypeImportRow.of(voyage, cell, category, cellResults); + protected MooringResultsEsduByEchotypeImportRow newImportedRow(DataAcousticProvider voyage, Cell cell, Category category, List<Result> cellResults) { + return MooringResultsEsduByEchotypeImportRow.of(voyage, cell, category, cellResults); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java index 9d3c7b1..808624c 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsEsduByEchotypeCellImportAction.java @@ -25,7 +25,6 @@ import fr.ifremer.echobase.entities.data.DataAcousticProvider; 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.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.ResultCategoryCache; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.java new file mode 100644 index 0000000..7e79ab2 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel.java @@ -0,0 +1,94 @@ +/* + * #%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.Mooring; +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.SizeCategory; +import fr.ifremer.echobase.entities.references.Species; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; +import fr.ifremer.echobase.services.service.importdata.contexts.MooringResultsImportDataContext; + +import java.util.List; + +/** + * Model to import {@link Result} for esdu cell and echotypes. + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 + */ +public class MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel extends EchoBaseImportExportModelSupport<MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow> { + + protected static final String HEADER_SPECIES = "baracoudaCode"; + + public static final String[] COLUMN_NAMES_TO_EXCLUDE = { + EchoBaseCsvUtil.CELL_NAME, + HEADER_SPECIES, + MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SIZE_CATEGORY, + MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE, + MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_DATA_QUALITY, + MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_MOORING + }; + + private MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel(char separator) { + super(separator); + } + + public static MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel forImport(MooringResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { + + MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel model = new MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel(importDataContext.getCsvSeparator()); + model.newForeignKeyColumn(MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_MOORING, Mooring.class, Mooring.PROPERTY_CODE, importDataContext.getMooringsByCode()); + model.newForeignKeyColumn(MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, importDataContext.getMooringEchotypesByName()); + model.newForeignKeyColumn(HEADER_SPECIES, MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, importDataContext.getSpeciesByBaracoudaCode()); + model.newForeignKeyColumn(MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, importDataContext.getSizeCategoriesByName()); + model.newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_CELL, importDataContext.getCellValueParser()); + model.newForeignKeyColumn(MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, importDataContext.getDataQualitiesByName()); + + addResultsColumnsForImport(model, dataMetadatas); + return model; + + } + + public static MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel forExport(MooringResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { + + MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel model = new MooringResultsEsduByEchotypeAndSpeciesCategoryImportExportModel(importDataContext.getCsvSeparator()); + model.newColumnForExport(MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_MOORING, EchoBaseCsvUtil.MOORING_FORMATTER); + model.newColumnForExport(MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE, EchoBaseCsvUtil.ECHOTYPE_FORMATTER); + model.newColumnForExport(HEADER_SPECIES, MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); + model.newColumnForExport(MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SIZE_CATEGORY, EchoBaseCsvUtil.SIZE_CATEGORY_FORMATTER); + model.newColumnForExport(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_CELL, importDataContext.getCellValueFormatter()); + model.newColumnForExport(MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.PROPERTY_DATA_QUALITY, EchoBaseCsvUtil.DATA_QUALITY_FORMATTER); + + addResultsColumns(model, dataMetadatas); + return model; + + } + + @Override + public MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow newEmptyInstance() { + return new MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow(); + } + +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.java new file mode 100644 index 0000000..ac2728b --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow.java @@ -0,0 +1,150 @@ +/* + * #%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.DataAcousticProvider; +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.Mooring; +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; + +import java.util.LinkedList; +import java.util.List; + +/** + * Bean used as a row for import of + * {@link VoyageResultsEsduByEchotypeAndSpeciesCategoryImportExportModel}. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow implements ResultAble, CellAble<Mooring> { + + public static final String PROPERTY_MOORING = "mooring"; + + public static final String PROPERTY_ECHOTYPE = "echotype"; + + public static final String PROPERTY_CELL = "cell"; + + public static final String PROPERTY_SPECIES = "species"; + + public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory"; + + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + + protected Mooring mooring; + protected Cell cell; + protected Echotype echotype; + protected final List<Result> result = new LinkedList<>(); + protected Species species; + protected DataQuality dataQuality; + protected SizeCategory sizeCategory; + + public static MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow of(DataAcousticProvider provider, Cell cell, Category category, List<Result> cellResults) { + MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow row = new MooringResultsEsduByEchotypeAndSpeciesCategoryImportRow(); + row.setProvider(provider); + row.setCell(cell); + row.setSpecies(category.getSpeciesCategory().getSpecies()); + row.setEchotype(category.getEchotype()); + row.setSizeCategory(category.getSpeciesCategory().getSizeCategory()); + row.result.addAll(cellResults); + return row; + } + + public Mooring getMooring() { + return mooring; + } + + public void setMooring(Mooring mooring) { + this.mooring = mooring; + } + + @Override + public DataAcousticProvider<Mooring> getProvider() { + return mooring; + } + + @Override + public void setProvider(DataAcousticProvider<Mooring> provider) { + this.mooring = provider.getEntity(); + } + + public Echotype getEchotype() { + return echotype; + } + + public void setEchotype(Echotype echotype) { + this.echotype = echotype; + } + + @Override + public Cell getCell() { + return cell; + } + + @Override + public void setCell(Cell cell) { + this.cell = cell; + } + + @Override + public List<Result> getResult() { + return result; + } + + @Override + public void addResult(Result result) { + this.result.add(result); + } + + @Override + public DataQuality getDataQuality() { + return dataQuality; + } + + @Override + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } + + public Species getSpecies() { + return species; + } + + public void setSpecies(Species species) { + this.species = species; + } + + public SizeCategory getSizeCategory() { + return sizeCategory; + } + + public void setSizeCategory(SizeCategory sizeCategory) { + this.sizeCategory = sizeCategory; + } +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeImportExportModel.java new file mode 100644 index 0000000..795b4a5 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeImportExportModel.java @@ -0,0 +1,83 @@ +/* + * #%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.Mooring; +import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; +import fr.ifremer.echobase.services.service.importdata.contexts.MooringResultsImportDataContext; + +import java.util.List; + +/** + * Model to import {@link Result} for esdu cell and echotypes. + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 + */ +public class MooringResultsEsduByEchotypeImportExportModel extends EchoBaseImportExportModelSupport<MooringResultsEsduByEchotypeImportRow> { + + public static final String[] COLUMN_NAMES_TO_EXCLUDE = { + EchoBaseCsvUtil.CELL_NAME, + MooringResultsEsduByEchotypeImportRow.PROPERTY_ECHOTYPE, + MooringResultsEsduByEchotypeImportRow.PROPERTY_DATA_QUALITY, + MooringResultsEsduByEchotypeImportRow.PROPERTY_MOORING + }; + + private MooringResultsEsduByEchotypeImportExportModel(char separator) { + super(separator); + } + + public static MooringResultsEsduByEchotypeImportExportModel forImport(MooringResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { + + MooringResultsEsduByEchotypeImportExportModel model = new MooringResultsEsduByEchotypeImportExportModel(importDataContext.getCsvSeparator()); + model.newForeignKeyColumn(MooringResultsEsduByEchotypeImportRow.PROPERTY_MOORING, Mooring.class, Mooring.PROPERTY_CODE, importDataContext.getMooringsByCode()); + model.newForeignKeyColumn(MooringResultsEsduByEchotypeImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, importDataContext.getMooringEchotypesByName()); + model.newMandatoryColumn(EchoBaseCsvUtil.CELL_NAME, VoyageResultsEsduByEchotypeImportRow.PROPERTY_CELL, importDataContext.getCellValueParser()); + model.newForeignKeyColumn(MooringResultsEsduByEchotypeImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, importDataContext.getDataQualitiesByName()); + + addResultsColumnsForImport(model, dataMetadatas); + return model; + + } + + public static MooringResultsEsduByEchotypeImportExportModel forExport(MooringResultsImportDataContext importDataContext, List<DataMetadata> dataMetadatas) { + + MooringResultsEsduByEchotypeImportExportModel model = new MooringResultsEsduByEchotypeImportExportModel(importDataContext.getCsvSeparator()); + model.newColumnForExport(MooringResultsEsduByEchotypeImportRow.PROPERTY_MOORING, EchoBaseCsvUtil.MOORING_FORMATTER); + model.newColumnForExport(MooringResultsEsduByEchotypeImportRow.PROPERTY_ECHOTYPE, EchoBaseCsvUtil.ECHOTYPE_FORMATTER); + model.newColumnForExport(EchoBaseCsvUtil.CELL_NAME, MooringResultsEsduByEchotypeImportRow.PROPERTY_CELL, importDataContext.getCellValueFormatter()); + model.newColumnForExport(MooringResultsEsduByEchotypeImportRow.PROPERTY_DATA_QUALITY, EchoBaseCsvUtil.DATA_QUALITY_FORMATTER); + + addResultsColumns(model, dataMetadatas); + return model; + + } + + @Override + public MooringResultsEsduByEchotypeImportRow newEmptyInstance() { + return new MooringResultsEsduByEchotypeImportRow(); + } + +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeImportRow.java new file mode 100644 index 0000000..491deb6 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/MooringResultsEsduByEchotypeImportRow.java @@ -0,0 +1,120 @@ +/* + * #%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.DataAcousticProvider; +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.Mooring; +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.services.csv.CellAble; +import fr.ifremer.echobase.services.csv.ResultAble; + +import java.util.LinkedList; +import java.util.List; + +/** + * Bean used as a row for import of {@link MooringResultsEsduByEchotypeImportExportModel}. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class MooringResultsEsduByEchotypeImportRow implements ResultAble, CellAble<Mooring> { + + public static final String PROPERTY_MOORING = "mooring"; + public static final String PROPERTY_ECHOTYPE = "echotype"; + public static final String PROPERTY_CELL = "cell"; + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + + protected Mooring mooring; + protected Cell cell; + protected Echotype echotype; + protected final List<Result> result = new LinkedList<>(); + protected DataQuality dataQuality; + + public static MooringResultsEsduByEchotypeImportRow of(DataAcousticProvider provider, Cell cell, Category category, List<Result> cellResults) { + MooringResultsEsduByEchotypeImportRow row = new MooringResultsEsduByEchotypeImportRow(); + row.setProvider(provider); + row.setCell(cell); + row.setEchotype(category.getEchotype()); + row.result.addAll(cellResults); + return row; + } + + public Mooring getMooring() { + return mooring; + } + + public void setMooring(Mooring mooring) { + this.mooring = mooring; + } + + @Override + public DataAcousticProvider<Mooring> getProvider() { + return mooring; + } + + @Override + public void setProvider(DataAcousticProvider<Mooring> provider) { + this.mooring = provider.getEntity(); + } + + @Override + public Cell getCell() { + return cell; + } + + @Override + public void setCell(Cell cell) { + this.cell = cell; + } + + @Override + public List<Result> getResult() { + return result; + } + + @Override + public void addResult(Result result) { + this.result.add(result); + } + + @Override + public DataQuality getDataQuality() { + return dataQuality; + } + + @Override + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } + + public Echotype getEchotype() { + return echotype; + } + + public void setEchotype(Echotype echotype) { + this.echotype = echotype; + } +} 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 6777c35..247b8f0 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 @@ -62,6 +62,7 @@ echobase.importError.mismatch.sizeCategoryMeaning=Imported size category meaning echobase.importError.mismatch.voyage=Line %s - Used voyage «%s» does not match with the voyage configured. echobase.importError.no.transit.between.date=No transit associated to voyage %s between dates %s and %s echobase.importError.no.voyage.imported=No voyage imported +echobase.importError.resultImport.alreadyDone= echobase.importError.transect.notfound=No parent transit for date %s and vessel %s in cruise %s (line %s) echobase.importError.transit.notfound=No parent transit for date %s in cruise %s (line %s) echobase.importError.voyageResultImport.alreadyDone=There is already a such import (Voyage result) for the given voyage. 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 58e0019..51e5c6c 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 @@ -62,6 +62,7 @@ echobase.importError.mismatch.sizeCategoryMeaning=Le label de la catégorie de t echobase.importError.mismatch.voyage=Ligne %s - La marée «%s» ne correspond pas à celle configurée. echobase.importError.no.transit.between.date=Pas de transit attribué au voyage %s entre les dates %s et %s echobase.importError.no.voyage.imported=Aucun voyage importé +echobase.importError.resultImport.alreadyDone= echobase.importError.transect.notfound=Pas de transit auquel rattacher la date %s et le navire %s dans la campagne %s (ligne %s) echobase.importError.transit.notfound=Pas de transit auquel rattacher la date %s dans la campagne %s (ligne %s) echobase.importError.voyageResultImport.alreadyDone=Il existe déjà un import de type Résultat voyage pour le voyage sélectionné. diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDataFixtures.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDataFixtures.java index 03bbbf1..40130ad 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDataFixtures.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/ImportDataFixtures.java @@ -151,6 +151,18 @@ public enum ImportDataFixtures { serviceContext.assertNbEntities(Mooring.class, fixtures.NB_MOORING_TOTAL()); serviceContext.assertNbEntities(AncillaryInstrumentation.class, fixtures.NB_ANCILLAY_INSTRUMENTATION()); } + }, + IMPORT_DATA_ECHOBASE_MOORING_RESULTS("/import-data/echobase-mooring-results.h2.db.gz") { + @Override + public void assertBeforeImportNotExisting(FakeEchoBaseServiceContext serviceContext, EchoBaseServiceFixtures fixtures) { + serviceContext.assertNoEntities(DataAcquisition.class, DataProcessing.class, Data.class, Result.class, Cell.class); + } + + @Override + public void assertBeforeImportExisting(FakeEchoBaseServiceContext serviceContext, EchoBaseServiceFixtures fixtures) { + IMPORT_DATA_ECHOBASE_MOORING.assertBeforeImportExisting(serviceContext, fixtures); + serviceContext.assertNbEntities(Echotype.class, fixtures.NB_ECHOTYPE()); + } }; diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/MigrateImportDataDatabasesIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/MigrateImportDataDatabasesIT.java index 33ffcc9..5b8ed61 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/MigrateImportDataDatabasesIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/MigrateImportDataDatabasesIT.java @@ -57,6 +57,7 @@ public class MigrateImportDataDatabasesIT extends EchoBaseServiceSupport { .put("catches", ImportDataFixtures.IMPORT_DATA_ECHOBASE_CATCHES.getDbPath()) .put("catchesWithVoyageResult", ImportDataFixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT.getDbPath()) .put("mooring", ImportDataFixtures.IMPORT_DATA_ECHOBASE_MOORING.getDbPath()) + .put("mooringResults", ImportDataFixtures.IMPORT_DATA_ECHOBASE_MOORING_RESULTS.getDbPath()) .build(); @Rule @@ -131,4 +132,8 @@ public class MigrateImportDataDatabasesIT extends EchoBaseServiceSupport { @Test public void mooring() { } + + @Test + public void mooringResults() { + } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java index f9cecfd..8622a77 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AbstractImportDataServiceIT.java @@ -31,8 +31,10 @@ import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUserPersistenceContext; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Cells; +import fr.ifremer.echobase.entities.data.DataAcousticProvider; import fr.ifremer.echobase.entities.data.DataAcquisition; import fr.ifremer.echobase.entities.data.DataProcessing; +import fr.ifremer.echobase.entities.data.Mooring; import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.TransectImpl; import fr.ifremer.echobase.entities.data.Transit; @@ -142,14 +144,12 @@ public abstract class AbstractImportDataServiceIT<C extends ImportDataConfigurat assertAfertImport(importDataResult); } - protected void addMissingEsduCells(String esduColumnName, String voyageId, InputFile inputFile) throws TopiaException, IOException { + protected void addVoyageMissingEsduCells(String esduColumnName, String voyageId, InputFile inputFile) throws TopiaException, IOException { UserDbPersistenceService persistenceService = serviceContext.newService(UserDbPersistenceService.class); Voyage voyage = persistenceService.getVoyage(voyageId); Transit transit; Transect transect; - DataAcquisition dataAcquisition; - DataProcessing dataProcessing; if (voyage.isTransitEmpty()) { @@ -168,17 +168,33 @@ public abstract class AbstractImportDataServiceIT<C extends ImportDataConfigurat } else { transect = transit.getTransect().iterator().next(); } + + addDataAcquisitionMissingEsduCells(persistenceService, esduColumnName, transect, inputFile); + } + + protected void addMooringMissingEsduCells(String esduColumnName, String mooringId, InputFile inputFile) throws TopiaException, IOException { + UserDbPersistenceService persistenceService = serviceContext.newService(UserDbPersistenceService.class); - if (transect.isDataAcquisitionEmpty()) { + Mooring mooring = persistenceService.getMooring(mooringId); + addDataAcquisitionMissingEsduCells(persistenceService, esduColumnName, mooring, inputFile); + } + + protected void addDataAcquisitionMissingEsduCells(UserDbPersistenceService persistenceService, String esduColumnName, + DataAcousticProvider<?> provider, InputFile inputFile) throws TopiaException, IOException { + + DataAcquisition dataAcquisition; + DataProcessing dataProcessing; + + if (provider.isDataAcquisitionEmpty()) { // create a fake dataAcquisition AcousticInstrument acousticInstrument = persistenceService.getFirstAcousticInstrument(); dataAcquisition = persistenceService.createDataAcquisition(acousticInstrument); - transect.addDataAcquisition(dataAcquisition); + provider.addDataAcquisition(dataAcquisition); } else { - dataAcquisition = transect.getDataAcquisition().iterator().next(); + dataAcquisition = provider.getDataAcquisition().iterator().next(); } - + if (dataAcquisition.isDataProcessingEmpty()) { // creates a fake dataProcessing diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/MooringResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java similarity index 65% copy from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java copy to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/MooringResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java index b9c2f59..b35ac71 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/MooringResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java @@ -28,57 +28,62 @@ import fr.ifremer.echobase.entities.references.SpeciesCategory; 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 fr.ifremer.echobase.services.service.importdata.configurations.MooringResultsImportConfiguration; import java.io.IOException; /** - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 */ -public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT extends VoyageResultsImportServiceITSupport { +public class MooringResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT extends AbstractImportDataServiceIT<MooringResultsImportConfiguration> { - public VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT() { + public MooringResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT() { super(1); } @Override public ImportDataFixtures getImportDataFixture() { - return ImportDataFixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT; + return ImportDataFixtures.IMPORT_DATA_ECHOBASE_MOORING_RESULTS; } protected String[] getImportPath(String filename) { - return new String[]{"/import-data", "result", "esdu", filename}; + return new String[]{"/import-data", "result", "mooring-esdu", filename}; } @Override - protected VoyageResultsImportConfiguration createConfiguration() throws IOException { - VoyageResultsImportConfiguration configuration = super.createConfiguration(); - configuration.setImportType(ImportType.RESULT_ESDU); + protected MooringResultsImportConfiguration createConfiguration() throws IOException { + MooringResultsImportConfiguration configuration = new MooringResultsImportConfiguration(getLocale()); + configuration.setImportType(ImportType.RESULT_MOORING_ESDU); + configuration.setMooringId(getMooringId()); + configuration.setResultLabel("resultLabel"); InputFile inputFile = configuration.getEsduByEchotypeAndSpeciesCategoryFile(); prepareInputFile(inputFile, getImportPath("byEchotypeAndSpeciesCategory_small.csv.gz")); - addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); + addMooringMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getMooringId(), inputFile); configuration.setDataProcessingId(getDataProcessingId()); + return configuration; } @Override - protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + protected ImportDataService.MooringResultsImportDataAction newAction() throws IOException { + return new ImportDataService.MooringResultsImportDataAction(); + } + + @Override + protected void assertAfertImport(ImportDataResult<MooringResultsImportConfiguration> result) throws IOException { int nbCategory = 20; -// int nbCategory = 27; int nbSpeciesCategories = 1; int nbResult = 1584; -// int nbResult = 357291; ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); assertCsvImportResultPerEntity(importDataFileResult, Result.class, nbResult, 0, nbResult); assertCsvImportResultPerEntity(importDataFileResult, Category.class, nbCategory, 0, nbCategory); assertCsvImportResultPerEntity(importDataFileResult, SpeciesCategory.class, nbSpeciesCategories, 0, 457); assertCsvImportResult0(importDataFileResult, nbResult); - } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/MooringResultsEsduCellOnlyEchotypeImportServiceIT.java similarity index 63% copy from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeImportServiceIT.java copy to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/MooringResultsEsduCellOnlyEchotypeImportServiceIT.java index fb55c25..4d08906 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/MooringResultsEsduCellOnlyEchotypeImportServiceIT.java @@ -27,55 +27,60 @@ import fr.ifremer.echobase.entities.data.Result; 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 fr.ifremer.echobase.services.service.importdata.configurations.MooringResultsImportConfiguration; import java.io.IOException; /** - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 */ -public class VoyageResultsEsduCellOnlyEchotypeImportServiceIT extends VoyageResultsImportServiceITSupport { +public class MooringResultsEsduCellOnlyEchotypeImportServiceIT extends AbstractImportDataServiceIT<MooringResultsImportConfiguration> { - public VoyageResultsEsduCellOnlyEchotypeImportServiceIT() { + public MooringResultsEsduCellOnlyEchotypeImportServiceIT() { super(1); } @Override public ImportDataFixtures getImportDataFixture() { - return ImportDataFixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT; + return ImportDataFixtures.IMPORT_DATA_ECHOBASE_MOORING_RESULTS; } protected String[] getImportPath(String filename) { - return new String[]{"/import-data", "result", "esdu", filename}; + return new String[]{"/import-data", "result", "mooring-esdu", filename}; } @Override - protected VoyageResultsImportConfiguration createConfiguration() throws IOException { - VoyageResultsImportConfiguration configuration = super.createConfiguration(); - configuration.setImportType(ImportType.RESULT_ESDU); + protected MooringResultsImportConfiguration createConfiguration() throws IOException { + MooringResultsImportConfiguration configuration = new MooringResultsImportConfiguration(getLocale()); + configuration.setImportType(ImportType.RESULT_MOORING_ESDU); + configuration.setMooringId(getMooringId()); + configuration.setResultLabel("resultLabel"); InputFile inputFile = configuration.getEsduByEchotypeFile(); prepareInputFile(inputFile, getImportPath("byEchotype_small.csv.gz")); - addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); + addMooringMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getMooringId(), inputFile); configuration.setDataProcessingId(getDataProcessingId()); return configuration; } @Override - protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + protected ImportDataService.MooringResultsImportDataAction newAction() throws IOException { + return new ImportDataService.MooringResultsImportDataAction(); + } + + @Override + protected void assertAfertImport(ImportDataResult<MooringResultsImportConfiguration> result) throws IOException { int nbCategory = 7; int nbResult = 1569; -// int nbResult = 43533; ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); assertCsvImportResult0(importDataFileResult, nbResult); assertCsvImportResultPerEntity(importDataFileResult, Result.class, nbResult, 0, nbResult); assertCsvImportResultPerEntity(importDataFileResult, Category.class, nbCategory, 0, nbCategory); - } } 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 2f45a1d..a646444 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 @@ -62,7 +62,7 @@ public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLengthImportS InputFile inputFile = configuration.getEsduByEchotypeAndSpeciesCategoryAndLengthFile(); prepareInputFile(inputFile, getImportPath("byEchotypeAndSpeciesCategoryAndLength.csv.gz")); - addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); + addVoyageMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); configuration.setDataProcessingId(getDataProcessingId()); return configuration; } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT.java index 0ca9c2f..47b99c0 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallImportServiceIT.java @@ -60,7 +60,7 @@ public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryAndLength_SmallI InputFile inputFile = configuration.getEsduByEchotypeAndSpeciesCategoryAndLengthFile(); prepareInputFile(inputFile, getImportPath("byEchotypeAndSpeciesCategoryAndLength_small.csv.gz")); - addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); + addVoyageMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); configuration.setDataProcessingId(getDataProcessingId()); return configuration; } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java index b9c2f59..2d9e648 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT.java @@ -59,7 +59,7 @@ public class VoyageResultsEsduCellOnlyEchotypeAndSpeciesCategoryImportServiceIT InputFile inputFile = configuration.getEsduByEchotypeAndSpeciesCategoryFile(); prepareInputFile(inputFile, getImportPath("byEchotypeAndSpeciesCategory_small.csv.gz")); - addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); + addVoyageMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); configuration.setDataProcessingId(getDataProcessingId()); return configuration; } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeImportServiceIT.java index fb55c25..088b0ba 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlyEchotypeImportServiceIT.java @@ -58,7 +58,7 @@ public class VoyageResultsEsduCellOnlyEchotypeImportServiceIT extends VoyageResu InputFile inputFile = configuration.getEsduByEchotypeFile(); prepareInputFile(inputFile, getImportPath("byEchotype_small.csv.gz")); - addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); + addVoyageMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); configuration.setDataProcessingId(getDataProcessingId()); return configuration; diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlySpeciesAndAgeCategoryImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlySpeciesAndAgeCategoryImportServiceIT.java index 70083e7..55e81bc 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlySpeciesAndAgeCategoryImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellOnlySpeciesAndAgeCategoryImportServiceIT.java @@ -60,7 +60,7 @@ public class VoyageResultsEsduCellOnlySpeciesAndAgeCategoryImportServiceIT exten InputFile inputFile = configuration.getEsduBySpeciesAndAgeCategoryFile(); prepareInputFile(inputFile, getImportPath("bySpeciesAndAgeCategory_small.csv.gz")); - addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); + addVoyageMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); configuration.setDataProcessingId(getDataProcessingId()); return configuration; } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java index 109f463..8497603 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java @@ -59,7 +59,7 @@ public class VoyageResultsRegionCellImportServiceIT extends VoyageResultsImportS prepareInputFile(configuration.getRegionAssociationFile(), getImportPath("regionAssociations_small.csv.gz")); prepareInputFile(configuration.getRegionResultFile(), getImportPath("regionResults.csv.gz")); - addMissingEsduCells("esduName", configuration.getVoyageId(), configuration.getRegionAssociationFile()); + addVoyageMissingEsduCells("esduName", configuration.getVoyageId(), configuration.getRegionAssociationFile()); fakeServiceContext.assertNbEntities(Cell.class, NB_ESDU_CELLS); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCell_AllImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCell_AllImportServiceIT.java index f181c1c..c43ab13 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCell_AllImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCell_AllImportServiceIT.java @@ -59,7 +59,7 @@ public class VoyageResultsRegionCell_AllImportServiceIT extends VoyageResultsImp prepareInputFile(configuration.getRegionAssociationFile(), getImportPath("regionAssociations.csv.gz")); prepareInputFile(configuration.getRegionResultFile(), getImportPath("regionResults.csv.gz")); - addMissingEsduCells("esduName", configuration.getVoyageId(), configuration.getRegionAssociationFile()); + addVoyageMissingEsduCells("esduName", configuration.getVoyageId(), configuration.getRegionAssociationFile()); fakeServiceContext.assertNbEntities(Cell.class, NB_ESDU_CELLS); diff --git a/echobase-services/src/test/resources/import-data/echobase-mooring-results.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-mooring-results.h2.db.gz new file mode 100644 index 0000000..bcb3800 Binary files /dev/null and b/echobase-services/src/test/resources/import-data/echobase-mooring-results.h2.db.gz differ diff --git a/echobase-services/src/test/resources/import-data/result/mooring-esdu/byEchotypeAndSpeciesCategory_small.csv.gz b/echobase-services/src/test/resources/import-data/result/mooring-esdu/byEchotypeAndSpeciesCategory_small.csv.gz new file mode 100644 index 0000000..5e22683 Binary files /dev/null and b/echobase-services/src/test/resources/import-data/result/mooring-esdu/byEchotypeAndSpeciesCategory_small.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/result/mooring-esdu/byEchotype_small.csv.gz b/echobase-services/src/test/resources/import-data/result/mooring-esdu/byEchotype_small.csv.gz new file mode 100644 index 0000000..23660c9 Binary files /dev/null and b/echobase-services/src/test/resources/import-data/result/mooring-esdu/byEchotype_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 feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit e81e229cc4769cdd4e3b812bad0dd72140a14b2f Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 17:11:36 2016 +0200 Create remove strategy for esdu results import for mooring --- .../service/removedata/RemoveDataService.java | 4 +- .../MooringResultEsduRemoveDataStrategy.java | 82 ++++++++++++++++++++++ .../removedata/AbstractRemoveDataServiceTest.java | 33 ++++++++- .../MooringAcousticRemoveDataServiceTest.java | 4 +- .../removedata/MooringRemoveDataServiceTest.java | 4 +- ...=> MooringResultEsduRemoveDataServiceTest.java} | 15 ++-- .../MooringResultsRemoveDataServiceTest.java | 4 +- 7 files changed, 133 insertions(+), 13 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java index 99853a7..85004bb 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/RemoveDataService.java @@ -41,7 +41,6 @@ import fr.ifremer.echobase.services.service.removedata.strategy.CommonAllRemoveD import fr.ifremer.echobase.services.service.removedata.strategy.CommonTransectRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.CommonTransitRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.CommonVoyageRemoveDataStrategy; -import fr.ifremer.echobase.services.service.removedata.strategy.DummyRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.LegacyVoyageRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.MooringAcousticRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.MooringRemoveDataStrategy; @@ -66,6 +65,7 @@ import java.util.Set; import fr.ifremer.echobase.entities.data.DataAcousticProvider; import fr.ifremer.echobase.services.service.removedata.strategy.CommonAncillaryInstrumentationRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.MooringAncillaryInstrumentationRemoveDataStrategy; +import fr.ifremer.echobase.services.service.removedata.strategy.MooringResultEsduRemoveDataStrategy; import fr.ifremer.echobase.services.service.removedata.strategy.MooringResultsRemoveDataStrategy; /** @@ -298,7 +298,7 @@ public class RemoveDataService extends EchoBaseServiceSupport { strategies.put(ImportType.MOORING_ANCILLARY_INSTRUMENTATION, MooringAncillaryInstrumentationRemoveDataStrategy.class); strategies.put(ImportType.MOORING_ACOUSTIC, MooringAcousticRemoveDataStrategy.class); strategies.put(ImportType.RESULT_MOORING, MooringResultsRemoveDataStrategy.class); - strategies.put(ImportType.RESULT_MOORING_ESDU, DummyRemoveDataStrategy.class); + strategies.put(ImportType.RESULT_MOORING_ESDU, MooringResultEsduRemoveDataStrategy.class); Preconditions.checkState( ImportType.values().length == strategies.size(), "It miss some remove data strategies..."); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringResultEsduRemoveDataStrategy.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringResultEsduRemoveDataStrategy.java new file mode 100644 index 0000000..f3730b7 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/removedata/strategy/MooringResultEsduRemoveDataStrategy.java @@ -0,0 +1,82 @@ +package fr.ifremer.echobase.services.service.removedata.strategy; + +/* + * #%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% + */ + +import fr.ifremer.echobase.entities.ImportLog; +import fr.ifremer.echobase.entities.ImportType; +import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Result; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.topia.persistence.TopiaException; + +import java.util.Collections; +import java.util.Set; +import fr.ifremer.echobase.entities.data.DataAcousticProvider; +import fr.ifremer.echobase.entities.data.Mooring; + +/** + * Remove a {@link ImportType#RESULT_MOORING_ESDU} import. + * + * Can remove only {@link Result}. + * + * @author Julien Ruchaud - ruchaud@codelutin.com + * @since 4.0 + */ +public class MooringResultEsduRemoveDataStrategy extends AbstractRemoveDataStrategy<Mooring> { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(MooringResultEsduRemoveDataStrategy.class); + + @Override + public long computeNbSteps(DataAcousticProvider<Mooring> provider, ImportLog importLog) { + return getImportFileIdsCount(importLog); + } + + @Override + protected void removeImportData(DataAcousticProvider<Mooring> provider, String id) throws TopiaException { + + if (id.startsWith(Result.class.getName())) { + + // get result + Result result = persistenceService.getResult(id); + + // remove it from cell + Cell cell = persistenceService.getCellContainsResult(result); + cell.removeResult(result); + + // remove result + persistenceService.deleteResult(result); + if (log.isDebugEnabled()) { + log.debug(result.getTopiaId() + " was removed"); + } + } else { + canNotDealWithId(id); + } + } + + @Override + public Set<ImportType> getPossibleSubImportType() { + return Collections.emptySet(); + } +} diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java index fc94f50..3eb2c6e 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/AbstractRemoveDataServiceTest.java @@ -139,6 +139,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS protected String importResultVoyage1Id; protected String importResultEsdu1Id; + + protected String importMooringResultEsduId; protected String importResultRegion1Id; @@ -187,6 +189,8 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS protected static final String cellEsdu1_2Id = "fr.ifremer.echobase.entities.data.Cell#1#esdu2"; protected static final String resultEsdu1Id = "fr.ifremer.echobase.entities.data.Result#1#esdu1"; + + protected static final String resultEsdu2Id = "fr.ifremer.echobase.entities.data.Result#1#esdu2"; protected static final String resultMapFish1Id = "fr.ifremer.echobase.entities.data.Result#1#mapFish1"; @@ -337,6 +341,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS createMooringAcousticImport(); createMooringAncillaryInstrumentationImport(); createMooringResultsImport(); + createMooringResultEsduImport(); } protected void removeImport(String importId, String... shoudDeleteIds) throws TopiaException { @@ -361,6 +366,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS importVoyageAncillaryInstrumentationId, importMooringAncillaryInstrumentationId, importMooringResultsId, + importMooringResultEsduId, voyage1Id, transit1Id, transect1Id, transect1_2Id, operation1Id, totalSample1Id, subSample1Id, biometrySample1Id, @@ -371,7 +377,7 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS echotype1Id, lengthAgeKey1Id, lengthWeightKey1Id, voyage2Id, transit2Id, transect2Id, transect2_2Id, mooringId, - dataAcquisition2Id, cellEsdu2Id, cellElementary2Id, + dataAcquisition2Id, cellEsdu2Id, cellElementary2Id, resultEsdu2Id, echotype2Id ); List<String> deletedId = Lists.newArrayList(); @@ -998,6 +1004,31 @@ public abstract class AbstractRemoveDataServiceTest extends EchoBaseTestServiceS echotype); } + private void createMooringResultEsduImport() throws TopiaException { + + // create result (on ESDU) + + Category category = categoryDAO.create(); + + Result result = resultDAO.create(TopiaEntity.PROPERTY_TOPIA_ID, resultEsdu2Id, + Result.PROPERTY_CATEGORY, category, + Result.PROPERTY_DATA_METADATA, getFirstEntity(DataMetadata.class), + Result.PROPERTY_RESULT_VALUE, "resultValueEdsu2", + Result.PROPERTY_RESULT_LABEL, "resultLabelEdsu2" + ); + + Cell cell = getEntity(cellEsdu2Id); + cell.addResult(result); + + importMooringResultEsduId = createImport( + new MooringResultsImportConfiguration(getLocale()), + ImportType.RESULT_MOORING_ESDU, + "ResultsEsdu2", + mooringId, + result); + } + + private <C extends ImportDataConfigurationSupport> String createImport(C importConf, ImportType importType, String importNote, diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringAcousticRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringAcousticRemoveDataServiceTest.java index 34fe85c..e8b1957 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringAcousticRemoveDataServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringAcousticRemoveDataServiceTest.java @@ -40,8 +40,10 @@ public class MooringAcousticRemoveDataServiceTest extends AbstractRemoveDataServ importMooringAcousticId, // data that should be removed dataAcquisition2Id, cellEsdu2Id, cellElementary2Id, + resultEsdu2Id, // importLog that should be removed - importMooringAcousticId + importMooringAcousticId, + importMooringResultEsduId ); } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringRemoveDataServiceTest.java index ed54a25..d487bfc 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringRemoveDataServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringRemoveDataServiceTest.java @@ -44,12 +44,14 @@ public class MooringRemoveDataServiceTest extends AbstractRemoveDataServiceTest mooringId, dataAcquisition2Id, cellEsdu2Id, cellElementary2Id, echotype2Id, + resultEsdu2Id, // importLog that should be removed importMooringId, importMooringResultsId, importMooringAcousticId, - importMooringAncillaryInstrumentationId); + importMooringAncillaryInstrumentationId, + importMooringResultEsduId); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultsRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultEsduRemoveDataServiceTest.java similarity index 76% copy from echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultsRemoveDataServiceTest.java copy to echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultEsduRemoveDataServiceTest.java index 64e720d..f234968 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultsRemoveDataServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultEsduRemoveDataServiceTest.java @@ -22,26 +22,27 @@ package fr.ifremer.echobase.ui.actions.removedata; */ import fr.ifremer.echobase.services.service.removedata.RemoveDataService; -import fr.ifremer.echobase.services.service.removedata.strategy.MooringResultsRemoveDataStrategy; +import fr.ifremer.echobase.services.service.removedata.strategy.MooringResultEsduRemoveDataStrategy; import org.junit.Test; import org.nuiton.topia.persistence.TopiaException; /** - * Test{@link RemoveDataService} with {@link MooringResultsRemoveDataStrategy}. + * Test{@link RemoveDataService} with {@link MooringResultEsduRemoveDataStrategy}. * * @author Julien Ruchaud - ruchaud@codelutin.com * @since 4.0 */ -public class MooringResultsRemoveDataServiceTest extends AbstractRemoveDataServiceTest { +public class MooringResultEsduRemoveDataServiceTest extends AbstractRemoveDataServiceTest { @Test - public void removeEchotypeImport() throws TopiaException { + public void removeImport() throws TopiaException { removeImport(// import to remove - importMooringResultsId, + importMooringResultEsduId, // data that should be removed - echotype2Id, + resultEsdu2Id, // importLog that should be removed - importMooringResultsId); + importMooringResultEsduId); } + } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultsRemoveDataServiceTest.java b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultsRemoveDataServiceTest.java index 64e720d..d5b4479 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultsRemoveDataServiceTest.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/ui/actions/removedata/MooringResultsRemoveDataServiceTest.java @@ -41,7 +41,9 @@ public class MooringResultsRemoveDataServiceTest extends AbstractRemoveDataServi importMooringResultsId, // data that should be removed echotype2Id, + resultEsdu2Id, // importLog that should be removed - importMooringResultsId); + importMooringResultsId, + importMooringResultEsduId); } } -- 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 feature/8180 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit cd9fa2708c04a16365c869f2c679e4a3068a70d8 Author: Julien Ruchaud <julien.ruchaud@debux.org> Date: Mon Jul 4 17:14:17 2016 +0200 Migrate database to introduce echotype for the mooring --- .../echobase-catches-and-voyage-result.h2.db.gz | Bin 990799 -> 991130 bytes .../import-data/echobase-catches.h2.db.gz | Bin 924599 -> 924955 bytes .../import-data/echobase-commonData.h2.db.gz | Bin 369853 -> 370149 bytes .../import-data/echobase-mooring-results.h2.db.gz | Bin 932433 -> 930474 bytes .../import-data/echobase-mooring.h2.db.gz | Bin 925009 -> 925371 bytes .../resources/import-data/echobase-nodata.h2.db.gz | Bin 318391 -> 318631 bytes .../echobase-operation-total-samples.h2.db.gz | Bin 784879 -> 785190 bytes .../import-data/echobase-operation.h2.db.gz | Bin 507688 -> 508067 bytes 8 files 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 bf4b8cb..cb9a1fd 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 17ba94d..9b43b7a 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 ee177ce..5bf04c8 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-mooring-results.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-mooring-results.h2.db.gz index bcb3800..82504bd 100644 Binary files a/echobase-services/src/test/resources/import-data/echobase-mooring-results.h2.db.gz and b/echobase-services/src/test/resources/import-data/echobase-mooring-results.h2.db.gz differ diff --git a/echobase-services/src/test/resources/import-data/echobase-mooring.h2.db.gz b/echobase-services/src/test/resources/import-data/echobase-mooring.h2.db.gz index 9edbb90..aa8a10d 100644 Binary files a/echobase-services/src/test/resources/import-data/echobase-mooring.h2.db.gz and b/echobase-services/src/test/resources/import-data/echobase-mooring.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 b8ce173..085f054 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 1084501..582eb6b 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 af1c9bb..7a1758e 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>.
participants (1)
-
codelutin.com scm