This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit c57387276a2d7844c808c1f4797f52944fc56382 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 4 18:29:22 2016 +0200 Voyage result import ok \o/ (See #8170) --- .../VoyageResultsVoyageEchotypeImportAction.java | 54 +++++++++++---- ...oyageResultsVoyageLengthAgeKeyImportAction.java | 34 +++++++--- ...geResultsVoyageLengthWeightKeyImportAction.java | 36 ++++++---- .../csv/LengthWeightKeyImportExportModel.java | 73 --------------------- ...ageResultsVoyageEchotypeImportExportModel.java} | 30 +++++---- ...a => VoyageResultsVoyageEchotypeImportRow.java} | 47 ++++++++++--- ...esultsVoyageLengthAgeKeyImportExportModel.java} | 22 +++---- ... VoyageResultsVoyageLengthAgeKeyImportRow.java} | 43 ++++++++++-- ...ultsVoyageLengthWeightKeyImportExportModel.java | 76 ++++++++++++++++++++++ ...yageResultsVoyageLengthWeightKeyImportRow.java} | 40 ++++++++++-- .../VoyageResultsVoyageImportServiceIT.java | 34 ++++++---- ...geResultsVoyageOnlyEchotypeImportServiceIT.java | 12 ++-- ...sultsVoyageOnlyLengthAgeKeyImportServiceIT.java | 11 ++-- ...tsVoyageOnlyLengthWeightKeyImportServiceIT.java | 11 ++-- 14 files changed, 347 insertions(+), 176 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java index 7f73c68..72502db 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java @@ -1,5 +1,6 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; @@ -10,13 +11,15 @@ import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; -import fr.ifremer.echobase.services.service.importdata.csv.EchotypeImportExportModel; -import fr.ifremer.echobase.services.service.importdata.csv.EchotypeImportRow; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageEchotypeImportExportModel; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageEchotypeImportRow; +import org.apache.commons.lang3.tuple.Pair; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; import java.util.Collection; +import java.util.LinkedList; /** * Created on 25/03/16. @@ -24,7 +27,7 @@ import java.util.Collection; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImportDataActionSupport<EchotypeImportRow> { +public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImportDataActionSupport<VoyageResultsVoyageEchotypeImportRow> { /** Logger. */ private static final Log log = LogFactory.getLog(VoyageResultsVoyageEchotypeImportAction.class); @@ -34,15 +37,17 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport } @Override - protected EchotypeImportExportModel createCsvImportModel(VoyageResultsImportDataContext importDataContext) { - return EchotypeImportExportModel.forImport(importDataContext); + protected VoyageResultsVoyageEchotypeImportExportModel createCsvImportModel(VoyageResultsImportDataContext importDataContext) { + return VoyageResultsVoyageEchotypeImportExportModel.forImport(importDataContext); } @Override - protected EchotypeImportExportModel createCsvExportModel(VoyageResultsImportDataContext importDataContext) { - return EchotypeImportExportModel.forExport(importDataContext); + protected VoyageResultsVoyageEchotypeImportExportModel createCsvExportModel(VoyageResultsImportDataContext importDataContext) { + return VoyageResultsVoyageEchotypeImportExportModel.forExport(importDataContext); } + private final LinkedList<Pair<String, String>> speciesIdToEchotypeId = new LinkedList<>(); + @Override protected void performImport(VoyageResultsImportDataContext importDataContext, InputFile inputFile, ImportDataFileResult result) { @@ -50,12 +55,12 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport log.info("Starts import of echotype from file " + inputFile.getFileName()); } - try (Import<EchotypeImportRow> importer = open()) { + try (Import<VoyageResultsVoyageEchotypeImportRow> importer = open()) { incrementsProgress(); int rowNumber = 0; - for (EchotypeImportRow row : importer) { + for (VoyageResultsVoyageEchotypeImportRow row : importer) { doFlushTransaction(++rowNumber); @@ -76,6 +81,8 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport } + Species species = row.getSpecies(); + if (echotype == null) { // creates it @@ -87,20 +94,25 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport // collect ids result.addId(EchoBaseUserEntityEnum.Echotype, echotype); + speciesIdToEchotypeId.add(Pair.of(species.getTopiaId(), echotype.getTopiaId())); + } else { - Species species = rowEchotype.getSpecies().iterator().next(); - Species existingSpecie = echotype.getSpeciesByTopiaId(species.getTopiaId()); + Species existingSpecies = echotype.getSpeciesByTopiaId(species.getTopiaId()); - if (existingSpecie == null) { + if (existingSpecies == null) { // add this species echotype.addSpecies(species); + speciesIdToEchotypeId.add(Pair.of(species.getTopiaId(), echotype.getTopiaId())); + } } + addProcessedRow(result, row); + } } @@ -110,7 +122,23 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport @Override protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage voyage = persistenceService.getVoyage(voyageId); + + for (Pair<String, String> speciesIdToEchotypeIdEntry : speciesIdToEchotypeId) { + + String speciesId = speciesIdToEchotypeIdEntry.getKey(); + Species species = persistenceService.getSpecies(speciesId); + Preconditions.checkNotNull(species); + + String echotypeId = speciesIdToEchotypeIdEntry.getValue(); + Echotype echotype = persistenceService.getEchotype(echotypeId); + Preconditions.checkNotNull(echotype); + + VoyageResultsVoyageEchotypeImportRow row = VoyageResultsVoyageEchotypeImportRow.of(voyage, echotype, species); + addImportedRow(result, row); + + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java index 2275704..28fffa0 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java @@ -1,13 +1,14 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; -import fr.ifremer.echobase.services.service.importdata.csv.LengthAgeKeyImportExportModel; -import fr.ifremer.echobase.services.service.importdata.csv.LengthAgeKeyImportRow; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageLengthAgeKeyImportExportModel; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageLengthAgeKeyImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; @@ -18,7 +19,7 @@ import org.nuiton.csv.Import; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsImportDataActionSupport<LengthAgeKeyImportRow> { +public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsImportDataActionSupport<VoyageResultsVoyageLengthAgeKeyImportRow> { /** Logger. */ private static final Log log = LogFactory.getLog(VoyageResultsVoyageLengthAgeKeyImportAction.class); @@ -28,13 +29,13 @@ public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsIm } @Override - protected LengthAgeKeyImportExportModel createCsvImportModel(VoyageResultsImportDataContext importDataContext) { - return LengthAgeKeyImportExportModel.forImport(importDataContext); + protected VoyageResultsVoyageLengthAgeKeyImportExportModel createCsvImportModel(VoyageResultsImportDataContext importDataContext) { + return VoyageResultsVoyageLengthAgeKeyImportExportModel.forImport(importDataContext); } @Override - protected LengthAgeKeyImportExportModel createCsvExportModel(VoyageResultsImportDataContext importDataContext) { - return LengthAgeKeyImportExportModel.forExport(importDataContext); + protected VoyageResultsVoyageLengthAgeKeyImportExportModel createCsvExportModel(VoyageResultsImportDataContext importDataContext) { + return VoyageResultsVoyageLengthAgeKeyImportExportModel.forExport(importDataContext); } @Override @@ -44,12 +45,12 @@ public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsIm log.info("Starts import of lenthAgeKey from file " + inputFile.getFileName()); } - try (Import<LengthAgeKeyImportRow> importer = open()) { + try (Import<VoyageResultsVoyageLengthAgeKeyImportRow> importer = open()) { incrementsProgress(); int rowNumber = 0; - for (LengthAgeKeyImportRow row : importer) { + for (VoyageResultsVoyageLengthAgeKeyImportRow row : importer) { doFlushTransaction(++rowNumber); @@ -64,6 +65,8 @@ public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsIm // collect ids result.addId(EchoBaseUserEntityEnum.LengthAgeKey, lengthAgeKey); + addProcessedRow(result, row); + } } @@ -73,7 +76,18 @@ public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsIm @Override protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage voyage = persistenceService.getVoyage(voyageId); + + for (String lengthAgeKeyId : result.getIds()) { + + LengthAgeKey lengthAgeKey = persistenceService.getLengthAgeKey(lengthAgeKeyId); + Preconditions.checkNotNull(lengthAgeKey); + + VoyageResultsVoyageLengthAgeKeyImportRow row = VoyageResultsVoyageLengthAgeKeyImportRow.of(voyage, lengthAgeKey); + addImportedRow(result, row); + + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java index 2fea52a..10ab485 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java @@ -1,15 +1,16 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.data.LengthWeightKey; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; import fr.ifremer.echobase.services.service.importdata.SpeciesCategoryCache; -import fr.ifremer.echobase.services.service.importdata.csv.LengthWeightKeyImportExportModel; -import fr.ifremer.echobase.services.service.importdata.csv.LengthWeightKeyImportRow; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageLengthWeightKeyImportExportModel; +import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageLengthWeightKeyImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; @@ -20,7 +21,7 @@ import org.nuiton.csv.Import; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResultsImportDataActionSupport<LengthWeightKeyImportRow> { +public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResultsImportDataActionSupport<VoyageResultsVoyageLengthWeightKeyImportRow> { /** Logger. */ private static final Log log = LogFactory.getLog(VoyageResultsVoyageLengthWeightKeyImportAction.class); @@ -30,13 +31,13 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult } @Override - protected LengthWeightKeyImportExportModel createCsvImportModel(VoyageResultsImportDataContext importDataContext) { - return LengthWeightKeyImportExportModel.forImport(importDataContext); + protected VoyageResultsVoyageLengthWeightKeyImportExportModel createCsvImportModel(VoyageResultsImportDataContext importDataContext) { + return VoyageResultsVoyageLengthWeightKeyImportExportModel.forImport(importDataContext); } @Override - protected LengthWeightKeyImportExportModel createCsvExportModel(VoyageResultsImportDataContext importDataContext) { - return LengthWeightKeyImportExportModel.forExport(importDataContext); + protected VoyageResultsVoyageLengthWeightKeyImportExportModel createCsvExportModel(VoyageResultsImportDataContext importDataContext) { + return VoyageResultsVoyageLengthWeightKeyImportExportModel.forExport(importDataContext); } @Override @@ -48,11 +49,11 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult SpeciesCategoryCache speciesCategoryCache = importDataContext.getSpeciesCategoryCache(); - try (Import<LengthWeightKeyImportRow> importer = open()) { + try (Import<VoyageResultsVoyageLengthWeightKeyImportRow> importer = open()) { incrementsProgress(); int rowNumber = 0; - for (LengthWeightKeyImportRow row : importer) { + for (VoyageResultsVoyageLengthWeightKeyImportRow row : importer) { doFlushTransaction(++rowNumber); Voyage voyage = row.getVoyage(); @@ -74,6 +75,8 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult // collect ids result.addId(EchoBaseUserEntityEnum.LengthWeightKey, lengthWeightKey); + addProcessedRow(result, row); + } } @@ -82,7 +85,18 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult @Override protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage voyage = persistenceService.getVoyage(voyageId); + + for (String lengthWeightKeyId : result.getIds()) { + + LengthWeightKey lengthWeightKey = persistenceService.getLengthWeightKey(lengthWeightKeyId); + Preconditions.checkNotNull(lengthWeightKey); + + VoyageResultsVoyageLengthWeightKeyImportRow row = VoyageResultsVoyageLengthWeightKeyImportRow.of(voyage, lengthWeightKey); + addImportedRow(result, row); + + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportExportModel.java deleted file mode 100644 index 73e4531..0000000 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportExportModel.java +++ /dev/null @@ -1,73 +0,0 @@ -/* - * #%L - * EchoBase :: Services - * %% - * Copyright (C) 2011 - 2012 Ifremer, Codelutin - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - * #L% - */ -package fr.ifremer.echobase.services.service.importdata.csv; - -import fr.ifremer.echobase.entities.data.LengthWeightKey; -import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.entities.references.SizeCategory; -import fr.ifremer.echobase.entities.references.Species; -import fr.ifremer.echobase.entities.references.Strata; -import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; - -/** - * Model to import {@link LengthWeightKey}. - * - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 - */ -public class LengthWeightKeyImportExportModel extends EchoBaseImportExportModelSupport<LengthWeightKeyImportRow> { - - private LengthWeightKeyImportExportModel(char separator) { - super(separator); - } - - public static LengthWeightKeyImportExportModel forImport(VoyageResultsImportDataContext importDataContext) { - - LengthWeightKeyImportExportModel model = new LengthWeightKeyImportExportModel(importDataContext.getCsvSeparator()); - model.newMandatoryColumn("aParameter", LengthWeightKey.PROPERTY_APARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); - model.newMandatoryColumn("bParameter", LengthWeightKey.PROPERTY_BPARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); - model.newForeignKeyColumn(LengthWeightKeyImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); - model.newForeignKeyColumn(LengthWeightKeyImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, importDataContext.getSizeCategoriesByName()); - model.newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, LengthWeightKeyImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, importDataContext.getSpeciesByBaracoudaCode()); - model.newForeignKeyColumn(LengthWeightKey.PROPERTY_STRATA, Strata.class, Strata.PROPERTY_NAME, importDataContext.getStratasByName()); - return model; - - } - - public static LengthWeightKeyImportExportModel forExport(VoyageResultsImportDataContext importDataContext) { - - LengthWeightKeyImportExportModel model = new LengthWeightKeyImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport("aParameter", LengthWeightKey.PROPERTY_APARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); - model.newColumnForExport("bParameter", LengthWeightKey.PROPERTY_BPARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); - model.newColumnForExport(LengthWeightKeyImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); - model.newColumnForExport(LengthWeightKeyImportRow.PROPERTY_SIZE_CATEGORY, EchoBaseCsvUtil.SIZE_CATEGORY_FORMATTER); - model.newColumnForExport(Species.PROPERTY_BARACOUDA_CODE, LengthWeightKeyImportRow.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); - model.newColumnForExport(LengthWeightKey.PROPERTY_STRATA, EchoBaseCsvUtil.STRATA_FORMATTER); - return model; - - } - - @Override - public LengthWeightKeyImportRow newEmptyInstance() { - return new LengthWeightKeyImportRow(); - } -} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageEchotypeImportExportModel.java similarity index 55% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportExportModel.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageEchotypeImportExportModel.java index eeeb6a5..8db503d 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageEchotypeImportExportModel.java @@ -33,30 +33,32 @@ import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImp * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class EchotypeImportExportModel extends EchoBaseImportExportModelSupport<EchotypeImportRow> { +public class VoyageResultsVoyageEchotypeImportExportModel extends EchoBaseImportExportModelSupport<VoyageResultsVoyageEchotypeImportRow> { - private EchotypeImportExportModel(char separator) { + public static final String HEADER_ECHOTYPE_NAME = "echotypeName"; + + private VoyageResultsVoyageEchotypeImportExportModel(char separator) { super(separator); } - public static EchotypeImportExportModel forImport(VoyageResultsImportDataContext importDataContext) { + public static VoyageResultsVoyageEchotypeImportExportModel forImport(VoyageResultsImportDataContext importDataContext) { - EchotypeImportExportModel model = new EchotypeImportExportModel(importDataContext.getCsvSeparator()); - model.newMandatoryColumn("echotypeName", Echotype.PROPERTY_NAME); - model.newMandatoryColumn("meaning", Echotype.PROPERTY_MEANING); - model.newForeignKeyColumn(EchotypeImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); + VoyageResultsVoyageEchotypeImportExportModel model = new VoyageResultsVoyageEchotypeImportExportModel(importDataContext.getCsvSeparator()); + model.newMandatoryColumn(HEADER_ECHOTYPE_NAME, Echotype.PROPERTY_NAME); + model.newMandatoryColumn(VoyageResultsVoyageEchotypeImportRow.PROPERTY_MEANING, Echotype.PROPERTY_MEANING); + model.newForeignKeyColumn(VoyageResultsVoyageEchotypeImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); model.newForeignKeyColumn(EchoBaseCsvUtil.DEPTH_STRATUM_ID, Echotype.PROPERTY_DEPTH_STRATUM, DepthStratum.class, DepthStratum.PROPERTY_ID, importDataContext.getDepthStratumsById()); model.newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, Echotype.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, importDataContext.getSpeciesByBaracoudaCode()); return model; } - public static EchotypeImportExportModel forExport(VoyageResultsImportDataContext importDataContext) { + public static VoyageResultsVoyageEchotypeImportExportModel forExport(VoyageResultsImportDataContext importDataContext) { - EchotypeImportExportModel model = new EchotypeImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport("echotypeName", Echotype.PROPERTY_NAME); - model.newColumnForExport("meaning", Echotype.PROPERTY_MEANING); - model.newColumnForExport(EchotypeImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); + VoyageResultsVoyageEchotypeImportExportModel model = new VoyageResultsVoyageEchotypeImportExportModel(importDataContext.getCsvSeparator()); + model.newColumnForExport(HEADER_ECHOTYPE_NAME, Echotype.PROPERTY_NAME); + model.newColumnForExport(VoyageResultsVoyageEchotypeImportRow.PROPERTY_MEANING, Echotype.PROPERTY_MEANING); + model.newColumnForExport(VoyageResultsVoyageEchotypeImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); model.newColumnForExport(EchoBaseCsvUtil.DEPTH_STRATUM_ID, Echotype.PROPERTY_DEPTH_STRATUM, EchoBaseCsvUtil.DEPTH_STRATUM_FORMATTER); model.newColumnForExport(Species.PROPERTY_BARACOUDA_CODE, Echotype.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); return model; @@ -64,7 +66,7 @@ public class EchotypeImportExportModel extends EchoBaseImportExportModelSupport< } @Override - public EchotypeImportRow newEmptyInstance() { - return new EchotypeImportRow(); + public VoyageResultsVoyageEchotypeImportRow newEmptyInstance() { + return new VoyageResultsVoyageEchotypeImportRow(); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageEchotypeImportRow.java similarity index 63% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportRow.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageEchotypeImportRow.java index 78332a1..ca572d7 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchotypeImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageEchotypeImportRow.java @@ -29,20 +29,35 @@ import fr.ifremer.echobase.entities.references.Species; import java.io.Serializable; /** - * Bean used as a row for import of {@link EchotypeImportExportModel}. + * Bean used as a row for import of {@link VoyageResultsVoyageEchotypeImportExportModel}. * * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class EchotypeImportRow implements Serializable { +public class VoyageResultsVoyageEchotypeImportRow implements Serializable { - public static final String PROPERTY_VOYAGE = "voyage"; private static final long serialVersionUID = 1L; + + public static final String PROPERTY_MEANING = Echotype.PROPERTY_MEANING; + public static final String PROPERTY_VOYAGE = "voyage"; + protected final Echotype echotype; protected Voyage voyage; + protected Species species; + + public static VoyageResultsVoyageEchotypeImportRow of(Voyage voyage, Echotype echotype, Species species) { + VoyageResultsVoyageEchotypeImportRow row = new VoyageResultsVoyageEchotypeImportRow(echotype); + row.setVoyage(voyage); + row.setSpecies(species); + return row; + } + + public VoyageResultsVoyageEchotypeImportRow() { + this(new EchotypeImpl()); + } - public EchotypeImportRow() { - echotype = new EchotypeImpl(); + public VoyageResultsVoyageEchotypeImportRow(Echotype echotype) { + this.echotype = echotype; } public Voyage getVoyage() { @@ -57,19 +72,35 @@ public class EchotypeImportRow implements Serializable { return echotype; } + public String getName() { + return echotype.getName(); + } + public void setName(String name) { echotype.setName(name); } + public String getMeaning() { + return echotype.getMeaning(); + } + public void setMeaning(String meaning) { echotype.setMeaning(meaning); } - public void setDepthStratum(DepthStratum depthStratum) { - echotype.setDepthStratum(depthStratum); + public Species getSpecies() { + return species; } public void setSpecies(Species species) { - echotype.addSpecies(species); + this.species = species; + } + + public DepthStratum getDepthStratum() { + return echotype.getDepthStratum(); + } + + public void setDepthStratum(DepthStratum depthStratum) { + echotype.setDepthStratum(depthStratum); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthAgeKeyImportExportModel.java similarity index 65% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportExportModel.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthAgeKeyImportExportModel.java index cca30e2..4148419 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthAgeKeyImportExportModel.java @@ -33,16 +33,16 @@ import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImp * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class LengthAgeKeyImportExportModel extends EchoBaseImportExportModelSupport<LengthAgeKeyImportRow> { +public class VoyageResultsVoyageLengthAgeKeyImportExportModel extends EchoBaseImportExportModelSupport<VoyageResultsVoyageLengthAgeKeyImportRow> { - private LengthAgeKeyImportExportModel(char separator) { + private VoyageResultsVoyageLengthAgeKeyImportExportModel(char separator) { super(separator); } - public static LengthAgeKeyImportExportModel forImport(VoyageResultsImportDataContext importDataContext) { + public static VoyageResultsVoyageLengthAgeKeyImportExportModel forImport(VoyageResultsImportDataContext importDataContext) { - LengthAgeKeyImportExportModel model = new LengthAgeKeyImportExportModel(importDataContext.getCsvSeparator()); - model.newForeignKeyColumn(LengthAgeKeyImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); + VoyageResultsVoyageLengthAgeKeyImportExportModel model = new VoyageResultsVoyageLengthAgeKeyImportExportModel(importDataContext.getCsvSeparator()); + model.newForeignKeyColumn(VoyageResultsVoyageLengthAgeKeyImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); model.newMandatoryColumn(LengthAgeKey.PROPERTY_AGE, EchoBaseCsvUtil.PRIMITIVE_INTEGER); model.newMandatoryColumn(LengthAgeKey.PROPERTY_PERCENT_AT_AGE, EchoBaseCsvUtil.PRIMITIVE_FLOAT); model.newMandatoryColumn(LengthAgeKey.PROPERTY_LENGTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT); @@ -53,22 +53,22 @@ public class LengthAgeKeyImportExportModel extends EchoBaseImportExportModelSupp } - public static LengthAgeKeyImportExportModel forExport(VoyageResultsImportDataContext importDataContext) { + public static VoyageResultsVoyageLengthAgeKeyImportExportModel forExport(VoyageResultsImportDataContext importDataContext) { - LengthAgeKeyImportExportModel model = new LengthAgeKeyImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport(LengthAgeKeyImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); + VoyageResultsVoyageLengthAgeKeyImportExportModel model = new VoyageResultsVoyageLengthAgeKeyImportExportModel(importDataContext.getCsvSeparator()); + model.newColumnForExport(VoyageResultsVoyageLengthAgeKeyImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); model.newColumnForExport(LengthAgeKey.PROPERTY_AGE, EchoBaseCsvUtil.PRIMITIVE_INTEGER); model.newColumnForExport(LengthAgeKey.PROPERTY_PERCENT_AT_AGE, EchoBaseCsvUtil.PRIMITIVE_FLOAT); model.newColumnForExport(LengthAgeKey.PROPERTY_LENGTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT); model.newColumnForExport(LengthAgeKey.PROPERTY_METADATA); - model.newColumnForExport(LengthAgeKey.PROPERTY_STRATA, EchoBaseCsvUtil.STRATA_FORMATTER); + model.newColumnForExport(LengthAgeKey.PROPERTY_STRATA, LengthAgeKey.PROPERTY_STRATA, EchoBaseCsvUtil.STRATA_FORMATTER); model.newColumnForExport(Species.PROPERTY_BARACOUDA_CODE, LengthAgeKey.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); return model; } @Override - public LengthAgeKeyImportRow newEmptyInstance() { - return new LengthAgeKeyImportRow(); + public VoyageResultsVoyageLengthAgeKeyImportRow newEmptyInstance() { + return new VoyageResultsVoyageLengthAgeKeyImportRow(); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthAgeKeyImportRow.java similarity index 65% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportRow.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthAgeKeyImportRow.java index f231dd9..9fbd2aa 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthAgeKeyImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthAgeKeyImportRow.java @@ -29,20 +29,31 @@ import fr.ifremer.echobase.entities.references.Strata; import java.io.Serializable; /** - * Bean used as a row for import of {@link LengthAgeKeyImportExportModel}. + * Bean used as a row for import of {@link VoyageResultsVoyageLengthAgeKeyImportExportModel}. * * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class LengthAgeKeyImportRow implements Serializable { +public class VoyageResultsVoyageLengthAgeKeyImportRow implements Serializable { public static final String PROPERTY_VOYAGE = "voyage"; private static final long serialVersionUID = 1L; + protected final LengthAgeKey lengthAgeKey; protected Voyage voyage; - public LengthAgeKeyImportRow() { - lengthAgeKey = new LengthAgeKeyImpl(); + public static VoyageResultsVoyageLengthAgeKeyImportRow of(Voyage voyage, LengthAgeKey lengthAgeKey) { + VoyageResultsVoyageLengthAgeKeyImportRow row = new VoyageResultsVoyageLengthAgeKeyImportRow(lengthAgeKey); + row.setVoyage(voyage); + return row; + } + + public VoyageResultsVoyageLengthAgeKeyImportRow() { + this(new LengthAgeKeyImpl()); + } + + public VoyageResultsVoyageLengthAgeKeyImportRow(LengthAgeKey lengthAgeKey) { + this.lengthAgeKey = lengthAgeKey; } public LengthAgeKey getLengthAgeKey() { @@ -57,26 +68,50 @@ public class LengthAgeKeyImportRow implements Serializable { this.voyage = voyage; } + public int getAge() { + return lengthAgeKey.getAge(); + } + public void setAge(int age) { lengthAgeKey.setAge(age); } + public float getLength() { + return lengthAgeKey.getLength(); + } + public void setLength(float length) { lengthAgeKey.setLength(length); } + public float getPercentAtAge() { + return lengthAgeKey.getPercentAtAge(); + } + public void setPercentAtAge(float percentAtAge) { lengthAgeKey.setPercentAtAge(percentAtAge); } + public String getMetadata() { + return lengthAgeKey.getMetadata(); + } + public void setMetadata(String metadata) { lengthAgeKey.setMetadata(metadata); } + public Strata getStrata() { + return lengthAgeKey.getStrata(); + } + public void setStrata(Strata strata) { lengthAgeKey.setStrata(strata); } + public Species getSpecies() { + return lengthAgeKey.getSpecies(); + } + public void setSpecies(Species species) { lengthAgeKey.setSpecies(species); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthWeightKeyImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthWeightKeyImportExportModel.java new file mode 100644 index 0000000..eaa94b5 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthWeightKeyImportExportModel.java @@ -0,0 +1,76 @@ +/* + * #%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.LengthWeightKey; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.SizeCategory; +import fr.ifremer.echobase.entities.references.Species; +import fr.ifremer.echobase.entities.references.Strata; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; + +/** + * Model to import {@link LengthWeightKey}. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class VoyageResultsVoyageLengthWeightKeyImportExportModel extends EchoBaseImportExportModelSupport<VoyageResultsVoyageLengthWeightKeyImportRow> { + + public static final String HEADER_A_PARAMETER = "aParameter"; + public static final String HEADER_B_PARAMETER = "bParameter"; + + private VoyageResultsVoyageLengthWeightKeyImportExportModel(char separator) { + super(separator); + } + + public static VoyageResultsVoyageLengthWeightKeyImportExportModel forImport(VoyageResultsImportDataContext importDataContext) { + + VoyageResultsVoyageLengthWeightKeyImportExportModel model = new VoyageResultsVoyageLengthWeightKeyImportExportModel(importDataContext.getCsvSeparator()); + model.newMandatoryColumn(HEADER_A_PARAMETER, LengthWeightKey.PROPERTY_APARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + model.newMandatoryColumn(HEADER_B_PARAMETER, LengthWeightKey.PROPERTY_BPARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + model.newForeignKeyColumn(VoyageResultsVoyageLengthWeightKeyImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); + model.newForeignKeyColumn(VoyageResultsVoyageLengthWeightKeyImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, importDataContext.getSizeCategoriesByName()); + model.newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, VoyageResultsVoyageLengthWeightKeyImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, importDataContext.getSpeciesByBaracoudaCode()); + model.newForeignKeyColumn(LengthWeightKey.PROPERTY_STRATA, Strata.class, Strata.PROPERTY_NAME, importDataContext.getStratasByName()); + return model; + + } + + public static VoyageResultsVoyageLengthWeightKeyImportExportModel forExport(VoyageResultsImportDataContext importDataContext) { + + VoyageResultsVoyageLengthWeightKeyImportExportModel model = new VoyageResultsVoyageLengthWeightKeyImportExportModel(importDataContext.getCsvSeparator()); + model.newColumnForExport(HEADER_A_PARAMETER, LengthWeightKey.PROPERTY_APARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + model.newColumnForExport(HEADER_B_PARAMETER, LengthWeightKey.PROPERTY_BPARAMETER, EchoBaseCsvUtil.PRIMITIVE_FLOAT); + model.newColumnForExport(VoyageResultsVoyageLengthWeightKeyImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); + model.newColumnForExport(VoyageResultsVoyageLengthWeightKeyImportRow.PROPERTY_SIZE_CATEGORY, EchoBaseCsvUtil.SIZE_CATEGORY_FORMATTER); + model.newColumnForExport(Species.PROPERTY_BARACOUDA_CODE, VoyageResultsVoyageLengthWeightKeyImportRow.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); + model.newColumnForExport(LengthWeightKey.PROPERTY_STRATA, EchoBaseCsvUtil.STRATA_FORMATTER); + return model; + + } + + @Override + public VoyageResultsVoyageLengthWeightKeyImportRow newEmptyInstance() { + return new VoyageResultsVoyageLengthWeightKeyImportRow(); + } +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthWeightKeyImportRow.java similarity index 69% rename from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportRow.java rename to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthWeightKeyImportRow.java index 4427979..ef57446 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/LengthWeightKeyImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/VoyageResultsVoyageLengthWeightKeyImportRow.java @@ -30,24 +30,38 @@ import fr.ifremer.echobase.entities.references.Strata; import java.io.Serializable; /** - * Bean used as a row for import of {@link LengthWeightKeyImportExportModel}. + * Bean used as a row for import of {@link VoyageResultsVoyageLengthWeightKeyImportExportModel}. * * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class LengthWeightKeyImportRow implements Serializable { +public class VoyageResultsVoyageLengthWeightKeyImportRow implements Serializable { + + private static final long serialVersionUID = 1L; public static final String PROPERTY_VOYAGE = "voyage"; public static final String PROPERTY_SPECIES = "species"; public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory"; - private static final long serialVersionUID = 1L; + protected final LengthWeightKey lengthWeightKey; protected Species species; protected SizeCategory sizeCategory; protected Voyage voyage; - public LengthWeightKeyImportRow() { - lengthWeightKey = new LengthWeightKeyImpl(); + public static VoyageResultsVoyageLengthWeightKeyImportRow of(Voyage voyage, LengthWeightKey lengthWeightKey) { + VoyageResultsVoyageLengthWeightKeyImportRow row = new VoyageResultsVoyageLengthWeightKeyImportRow(lengthWeightKey); + row.setVoyage(voyage); + row.setSpecies(lengthWeightKey.getSpeciesCategory().getSpecies()); + row.setSizeCategory(lengthWeightKey.getSpeciesCategory().getSizeCategory()); + return row; + } + + public VoyageResultsVoyageLengthWeightKeyImportRow(LengthWeightKey lengthWeightKey) { + this.lengthWeightKey = lengthWeightKey; + } + + public VoyageResultsVoyageLengthWeightKeyImportRow() { + this(new LengthWeightKeyImpl()); } public LengthWeightKey getLengthWeightKey() { @@ -78,14 +92,26 @@ public class LengthWeightKeyImportRow implements Serializable { this.voyage = voyage; } - public void setBParameter(float BParameter) { - lengthWeightKey.setBParameter(BParameter); + public float getAParameter() { + return lengthWeightKey.getAParameter(); } public void setAParameter(float AParameter) { lengthWeightKey.setAParameter(AParameter); } + public float getBParameter() { + return lengthWeightKey.getBParameter(); + } + + public void setBParameter(float BParameter) { + lengthWeightKey.setBParameter(BParameter); + } + + public Strata getStrata() { + return lengthWeightKey.getStrata(); + } + public void setStrata(Strata strata) { lengthWeightKey.setStrata(strata); } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java index e3e2bb2..ed94270 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java @@ -20,6 +20,7 @@ */ package fr.ifremer.echobase.services.service.importdata; +import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.entities.data.LengthAgeKey; @@ -28,7 +29,6 @@ import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; import java.io.IOException; -import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com @@ -63,23 +63,33 @@ public class VoyageResultsVoyageImportServiceIT extends VoyageResultsImportServi assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); - - assertNoEntities(LengthAgeKey.class); - assertNoEntities(LengthWeightKey.class); - assertNoEntities(Echotype.class); + assertNoEntities(LengthAgeKey.class, LengthWeightKey.class, Echotype.class); } @Override protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); - assertNbIds(importDataFileResults, 0, fixtures.NB_LENGTH_AGE_KEY()); - assertCsvImportResult(importDataFileResults, 0, LengthAgeKey.class, fixtures.NB_LENGTH_AGE_KEY()); - assertNbIds(importDataFileResults, 1, fixtures.NB_LENGTH_WEIGHT_KEY()); - assertCsvImportResult(importDataFileResults, 1, LengthWeightKey.class, fixtures.NB_LENGTH_WEIGHT_KEY()); + { + int nbLengthAgeKey = fixtures.NB_LENGTH_AGE_KEY(); + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + assertCsvImportResultPerEntity(importDataFileResult, LengthAgeKey.class, nbLengthAgeKey, 0, nbLengthAgeKey); + assertCsvImportResult0(importDataFileResult, nbLengthAgeKey); + } + + { + int nbLengthWeightKey = fixtures.NB_LENGTH_WEIGHT_KEY(); + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 1); + assertCsvImportResultPerEntity(importDataFileResult, LengthWeightKey.class, nbLengthWeightKey, 0, nbLengthWeightKey); + assertCsvImportResult0(importDataFileResult, nbLengthWeightKey); + } + + { + int nbEchotype = fixtures.NB_ECHOTYPE(); + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 2); + assertCsvImportResultPerEntity(importDataFileResult, Echotype.class, nbEchotype, 0, nbEchotype); + assertCsvImportResult0(importDataFileResult, nbEchotype); + } - assertNbIds(importDataFileResults, 2, fixtures.NB_ECHOTYPE()); - assertCsvImportResult(importDataFileResults, 2, Echotype.class, fixtures.NB_ECHOTYPE()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyEchotypeImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyEchotypeImportServiceIT.java index 2b07ade..6e43620 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyEchotypeImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyEchotypeImportServiceIT.java @@ -20,13 +20,13 @@ */ package fr.ifremer.echobase.services.service.importdata; +import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; import java.io.IOException; -import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com @@ -59,15 +59,17 @@ public class VoyageResultsVoyageOnlyEchotypeImportServiceIT extends VoyageResult assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); - assertNoEntities(Echotype.class); } @Override protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); - assertNbIds(importDataFileResults, 0, fixtures.NB_ECHOTYPE()); - assertCsvImportResult(importDataFileResults, 0, Echotype.class, fixtures.NB_ECHOTYPE()); + + int nbEchotype = fixtures.NB_ECHOTYPE(); + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + assertCsvImportResultPerEntity(importDataFileResult, Echotype.class, nbEchotype, 0, nbEchotype); + assertCsvImportResult0(importDataFileResult, nbEchotype); + } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyLengthAgeKeyImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyLengthAgeKeyImportServiceIT.java index 445e53f..ce23481 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyLengthAgeKeyImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyLengthAgeKeyImportServiceIT.java @@ -20,13 +20,13 @@ */ package fr.ifremer.echobase.services.service.importdata; +import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; import java.io.IOException; -import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com @@ -64,9 +64,12 @@ public class VoyageResultsVoyageOnlyLengthAgeKeyImportServiceIT extends VoyageRe @Override protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); - assertNbIds(importDataFileResults, 0, fixtures.NB_LENGTH_AGE_KEY()); - assertCsvImportResult(importDataFileResults, 0, LengthAgeKey.class, fixtures.NB_LENGTH_AGE_KEY()); + + int nbLengthAgeKey = fixtures.NB_LENGTH_AGE_KEY(); + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + assertCsvImportResultPerEntity(importDataFileResult, LengthAgeKey.class, nbLengthAgeKey, 0, nbLengthAgeKey); + assertCsvImportResult0(importDataFileResult, nbLengthAgeKey); + } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyLengthWeightKeyImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyLengthWeightKeyImportServiceIT.java index d66a588..ac8d6d8 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyLengthWeightKeyImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageOnlyLengthWeightKeyImportServiceIT.java @@ -20,13 +20,13 @@ */ package fr.ifremer.echobase.services.service.importdata; +import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.LengthWeightKey; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; import java.io.IOException; -import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com @@ -67,9 +67,12 @@ public class VoyageResultsVoyageOnlyLengthWeightKeyImportServiceIT extends Voyag @Override protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); - assertNbIds(importDataFileResults, 0, fixtures.NB_LENGTH_WEIGHT_KEY()); - assertCsvImportResult(importDataFileResults, 0, LengthWeightKey.class, fixtures.NB_LENGTH_WEIGHT_KEY()); + + int nbLengthWeightKey = fixtures.NB_LENGTH_WEIGHT_KEY(); + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + assertCsvImportResultPerEntity(importDataFileResult, LengthWeightKey.class, nbLengthWeightKey, 0, nbLengthWeightKey); + assertCsvImportResult0(importDataFileResult, nbLengthWeightKey); + } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.