branch feature/8170 updated (ffccaad -> 5edc41d)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from ffccaad Les imports commons voyage passent \o/ new 4e57363 Amélioration des tests d'import new d4e6f56 Utilisation des bons contrats new 30740d9 Import Catches total sample works new 5455012 Add toString on some entities new d65efd0 Can collect imported sample data new 73511a8 Remove units column from subsample import in import data new 8055fa7 Add test import database with total sample inside it new 5edc41d Sub sample import ok \o/ (See #8170) The 8 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 5edc41de112f0c1fb6401dcc5e71bd2303cceddf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:26:10 2016 +0200 Sub sample import ok \o/ (See #8170) commit 8055fa73eae957c3458f5bf5de92b4c04c63dc6a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:25:40 2016 +0200 Add test import database with total sample inside it commit 73511a8e4ed647a4f207bd8c7ab1c2c4eebf3acd Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:25:16 2016 +0200 Remove units column from subsample import in import data commit d65efd09d12a99a6323020fa3bf66ab2b59c6c57 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:24:46 2016 +0200 Can collect imported sample data commit 5455012ac5bd04afaa49cdcc68efc8023aa175b3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:24:05 2016 +0200 Add toString on some entities commit 30740d94ecf9e2080e433c36d28c767b359aeef6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 1 23:24:36 2016 +0200 Import Catches total sample works commit d4e6f56107931c0f99c8a4b1ea8c8c63c2e28067 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 1 23:23:45 2016 +0200 Utilisation des bons contrats commit 4e57363be66dab4849ba1974970e3e0e94c7181f Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 1 23:22:59 2016 +0200 Amélioration des tests d'import Summary of changes: .../echobase/entities/data/OperationImpl.java | 22 +- .../echobase/entities/data/SampleDataImpl.java | 18 ++ .../echobase/entities/data/SampleDatas.java | 19 ++ .../ifremer/echobase/entities/data/SampleImpl.java | 18 ++ .../echobase/entities/references/GearImpl.java | 17 ++ .../entities/references/SampleDataTypeImpl.java | 17 +- .../entities/references/SampleTypeImpl.java | 10 + .../service/importdata/ImportDataResult.java | 4 +- .../service/importdata/ImportDataService.java | 3 +- .../VoyageCatchesImportDataActionSupport.java | 8 +- .../VoyageCatchesSubSampleImportAction.java | 221 ++++++++++++++++++++- .../VoyageCatchesTotalSampleImportAction.java | 98 ++++++++- .../importdata/csv/SubSampleImportExportModel.java | 13 +- .../service/importdata/csv/SubSampleImportRow.java | 34 +++- .../csv/TotalSampleImportExportModel.java | 4 +- .../importdata/csv/TotalSampleImportRow.java | 25 ++- .../echobase/services/EchoBaseServiceFixtures.java | 10 + .../services/EchoBaseTestServiceSupport.java | 38 ++++ .../importdata/AbstractImportDataServiceIT.java | 39 +++- .../service/importdata/CatchesImportServiceIT.java | 81 -------- ...eIT.java => VoyageAcousticImportServiceIT.java} | 53 +++-- .../VoyageCatchesAllImportServiceIT.java | 84 ++++++++ ...va => VoyageCatchesImportServiceITSupport.java} | 39 ++-- ...eCatchesImportServiceOnlyBiometrySampleIT.java} | 38 ++-- .../VoyageCatchesImportServiceOnlySubSampleIT.java | 76 +++++++ ...yageCatchesImportServiceOnlyTotalSampleIT.java} | 42 ++-- .../VoyageCommonsAllImportServiceIT.java | 24 +-- .../VoyageCommonsImportServiceITSupport.java | 31 +-- .../VoyageCommonsTransectImportServiceIT.java | 12 +- .../VoyageCommonsTransitImportServiceIT.java | 8 +- .../VoyageCommonsVoyageImportServiceIT.java | 8 +- ...IT.java => VoyageOperationImportServiceIT.java} | 60 +++--- ...a => VoyageResultsEsduCellImportServiceIT.java} | 52 ++--- .../VoyageResultsImportServiceITSupport.java} | 34 ++-- ...> VoyageResultsMapFishCellImportServiceIT.java} | 45 +++-- ... VoyageResultsMapOtherCellImportServiceIT.java} | 44 ++-- ...=> VoyageResultsRegionCellImportServiceIT.java} | 61 +++--- ...ava => VoyageResultsVoyageImportServiceIT.java} | 51 ++--- ...eResultsVoyageImportServiceOnlyEchotypeIT.java} | 37 ++-- ...ultsVoyageImportServiceOnlyLengthAgeKeyIT.java} | 39 ++-- ...sVoyageImportServiceOnlyLengthWeightKeyIT.java} | 38 ++-- .../resources/import-data/catches/subsample.csv.gz | Bin 931 -> 920 bytes .../import-data/catches/subsample_all.csv.gz | Bin 23572 -> 22400 bytes .../echobase-operation-total-samples.h2.db.gz | Bin 0 -> 663495 bytes 44 files changed, 1094 insertions(+), 481 deletions(-) create mode 100644 echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleDataImpl.java create mode 100644 echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleDatas.java create mode 100644 echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleImpl.java create mode 100644 echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/GearImpl.java delete mode 100644 echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceIT.java rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{AcousticImportServiceIT.java => VoyageAcousticImportServiceIT.java} (68%) create mode 100644 echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{CatchesImportServiceOnlyTotalSampleIT.java => VoyageCatchesImportServiceITSupport.java} (54%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{CatchesImportServiceOnlySubSampleIT.java => VoyageCatchesImportServiceOnlyBiometrySampleIT.java} (53%) create mode 100644 echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{CatchesImportServiceOnlyBiometrySampleIT.java => VoyageCatchesImportServiceOnlyTotalSampleIT.java} (50%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{OperationImportServiceIT.java => VoyageOperationImportServiceIT.java} (50%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{ResultsEsduCellImportServiceIT.java => VoyageResultsEsduCellImportServiceIT.java} (81%) copy echobase-services/src/{main/java/fr/ifremer/echobase/services/service/importdata/ImportException.java => test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java} (50%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{ResultsMapFishCellImportServiceIT.java => VoyageResultsMapFishCellImportServiceIT.java} (60%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{ResultsMapOtherCellImportServiceIT.java => VoyageResultsMapOtherCellImportServiceIT.java} (58%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{ResultsRegionCellImportServiceIT.java => VoyageResultsRegionCellImportServiceIT.java} (52%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{ResultsVoyageImportServiceIT.java => VoyageResultsVoyageImportServiceIT.java} (53%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{ResultsVoyageImportServiceOnlyEchotypeIT.java => VoyageResultsVoyageImportServiceOnlyEchotypeIT.java} (61%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{ResultsVoyageImportServiceOnlyLengthAgeKeyIT.java => VoyageResultsVoyageImportServiceOnlyLengthAgeKeyIT.java} (60%) rename echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/{ResultsVoyageImportServiceOnlyLengthWeightKeyIT.java => VoyageResultsVoyageImportServiceOnlyLengthWeightKeyIT.java} (60%) create mode 100644 echobase-services/src/test/resources/import-data/echobase-operation-total-samples.h2.db.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/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 4e57363be66dab4849ba1974970e3e0e94c7181f Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 1 23:22:59 2016 +0200 Amélioration des tests d'import --- .../services/EchoBaseTestServiceSupport.java | 38 ++++++++++ .../importdata/AbstractImportDataServiceIT.java | 39 ++++++++-- .../service/importdata/CatchesImportServiceIT.java | 81 --------------------- ...eIT.java => VoyageAcousticImportServiceIT.java} | 53 ++++++++------ .../VoyageCatchesAllImportServiceIT.java | 84 ++++++++++++++++++++++ ...va => VoyageCatchesImportServiceITSupport.java} | 39 ++++------ ...eCatchesImportServiceOnlyBiometrySampleIT.java} | 38 +++++----- ...VoyageCatchesImportServiceOnlySubSampleIT.java} | 38 +++++----- ...oyageCatchesImportServiceOnlyTotalSampleIT.java | 72 +++++++++++++++++++ .../VoyageCommonsAllImportServiceIT.java | 24 ++----- .../VoyageCommonsImportServiceITSupport.java | 31 ++------ .../VoyageCommonsTransectImportServiceIT.java | 12 +--- .../VoyageCommonsTransitImportServiceIT.java | 8 +-- .../VoyageCommonsVoyageImportServiceIT.java | 8 +-- ...IT.java => VoyageOperationImportServiceIT.java} | 60 ++++++++++------ ...a => VoyageResultsEsduCellImportServiceIT.java} | 52 ++++++++------ .../VoyageResultsImportServiceITSupport.java | 46 ++++++++++++ ...> VoyageResultsMapFishCellImportServiceIT.java} | 45 +++++++----- ... VoyageResultsMapOtherCellImportServiceIT.java} | 44 +++++++----- ...=> VoyageResultsRegionCellImportServiceIT.java} | 61 ++++++++-------- ...ava => VoyageResultsVoyageImportServiceIT.java} | 51 +++++++------ ...eResultsVoyageImportServiceOnlyEchotypeIT.java} | 37 ++++++---- ...ultsVoyageImportServiceOnlyLengthAgeKeyIT.java} | 39 +++++----- ...sVoyageImportServiceOnlyLengthWeightKeyIT.java} | 38 ++++++---- 24 files changed, 621 insertions(+), 417 deletions(-) diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java index bfa60f9..e2e806a 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java @@ -220,6 +220,44 @@ public abstract class EchoBaseTestServiceSupport extends EchoBaseServiceSupport } + protected void assertCsvImportResult0(ImportDataFileResult actual, int nbIds) throws TopiaException, IOException { + + Assert.assertNotNull(actual); + + assertNbIds(actual, nbIds); + + InputFile processedImportFile = actual.getProcessedImportFile(); + String processedImportFileContent = new String(Files.readAllBytes(processedImportFile.getFile().toPath())); + + InputFile importedImportFile = actual.getImportedExportFile(); + String importedImportFileContent = new String(Files.readAllBytes(importedImportFile.getFile().toPath())); + + if (log.isInfoEnabled()) { + log.info(String.format("processedImportFile: %s\n:%s\nimportedImportFileContent: %s\n:%s", + processedImportFile.getFileName(), + processedImportFileContent, + importedImportFile.getFileName(), + importedImportFileContent)); + } + + Assert.assertEquals(processedImportFileContent, importedImportFileContent); + + } + + protected <E extends TopiaEntity> void assertCsvImportResultPerEntity(ImportDataFileResult actual, + Class<E> entityType, + int numberCreated, + int numberUpdated, + int nbCount) throws TopiaException { + Assert.assertNotNull(actual); + Set<EchoBaseUserEntityEnum> entityTypes = actual.getEntityTypes(); + EchoBaseUserEntityEnum expectedEntityType = EchoBaseUserEntityEnum.valueOf(entityType); + Assert.assertTrue(entityTypes.contains(expectedEntityType)); + Assert.assertEquals(numberCreated, actual.getNumberCreated(expectedEntityType)); + Assert.assertEquals(numberUpdated, actual.getNumberUpdated(expectedEntityType)); + assertNbEntities(entityType, nbCount); + } + protected <E extends TopiaEntity> void assertCsvImportResult(Set<ImportDataFileResult> results, int pos, Class<E> entityType, 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 e9c4e75..5090bf9 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 @@ -24,7 +24,6 @@ import com.google.common.base.Charsets; import com.google.common.collect.Collections2; import com.google.common.collect.Sets; import fr.ifremer.echobase.EchoBaseTechnicalException; -import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.CellTopiaDao; @@ -47,11 +46,13 @@ import fr.ifremer.echobase.entities.references.CellType; import fr.ifremer.echobase.entities.references.CellTypeTopiaDao; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.EchoBaseTestServiceSupport; +import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.services.service.UserDbPersistenceService; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageImportDataConfigurationSupport; +import fr.ifremer.echobase.services.service.importdata.configurations.ImportDataConfigurationSupport; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Assert; +import org.junit.Test; import org.nuiton.csv.Import; import org.nuiton.csv.ext.CsvReaders; import org.nuiton.topia.persistence.TopiaException; @@ -74,13 +75,39 @@ import java.util.regex.Matcher; * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public abstract class AbstractImportDataServiceIT extends EchoBaseTestServiceSupport { +public abstract class AbstractImportDataServiceIT<C extends ImportDataConfigurationSupport> extends EchoBaseTestServiceSupport { /** Logger. */ private static final Log log = LogFactory.getLog(AbstractImportDataServiceIT.class); public static final TimeLog TIME_LOG = new TimeLog(AbstractImportDataServiceIT.class); + protected abstract C createConfiguration() throws IOException; + + protected abstract ImportDataService.ImportDataAction<C> newAction() throws IOException; + + protected abstract int getNbResult(); + + protected abstract void assertBeforeImport(); + + protected abstract void assertAfertImport(ImportDataResult<C> result) throws IOException; + + @Test + public final void doImport() throws Exception { + + assertBeforeImport(); + + C configuration = createConfiguration(); + configuration.setWorkingDirectory(getConfiguration().getTemporaryDirectory()); + + int nbResult = getNbResult(); + + ImportDataResult<C> result = doImport0(configuration, newAction(), nbResult); + + assertAfertImport(result); + + } + public void assertImportCommonData() throws TopiaException { assertNbEntities(Voyage.class, fixtures.NB_VOYAGE()); assertNbEntities(Transit.class, fixtures.NB_TRANSIT()); @@ -111,13 +138,13 @@ public abstract class AbstractImportDataServiceIT extends EchoBaseTestServiceSup assertNbEntities(Echotype.class, fixtures.NB_ECHOTYPE()); } - protected <M extends VoyageImportDataConfigurationSupport> Set<ImportDataFileResult> doImport(M conf, ImportDataService.ImportDataAction<M> importDataAction, int nbResults) throws ImportException { + protected Set<ImportDataFileResult> doImport(C conf, ImportDataService.ImportDataAction<C> importDataAction, int nbResults) throws ImportException { return doImport0(conf, importDataAction, nbResults).getImportResults(); } - protected <M extends VoyageImportDataConfigurationSupport> ImportDataResult<M> doImport0(M conf, ImportDataService.ImportDataAction<M> importDataAction, int nbResults) throws ImportException { + protected ImportDataResult<C> doImport0(C conf, ImportDataService.ImportDataAction<C> importDataAction, int nbResults) throws ImportException { ImportDataService service = newService(ImportDataService.class); @@ -125,7 +152,7 @@ public abstract class AbstractImportDataServiceIT extends EchoBaseTestServiceSup long s0 = TimeLog.getTime(); - ImportDataResult<M> importDataResult = importDataAction.doImport(service, conf, fakeUser); + ImportDataResult<C> importDataResult = importDataAction.doImport(service, conf, fakeUser); String resume = importDataResult.getImportSummary(); TIME_LOG.log(s0, "doImport"); diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceIT.java deleted file mode 100644 index 900c4f3..0000000 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceIT.java +++ /dev/null @@ -1,81 +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; - -import fr.ifremer.echobase.entities.data.Sample; -import fr.ifremer.echobase.entities.data.SampleData; -import fr.ifremer.echobase.entities.references.SpeciesCategory; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import org.junit.Test; - -import java.util.Set; - -/** - * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 - */ -public class CatchesImportServiceIT extends AbstractImportDataServiceIT { - - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_OPERATION()); - } - - protected String[] getImportPath(String filename) { - return new String[]{"/import-data", "catches", filename}; - } - - @Test - public void doImportAllSamples() throws Exception { - - assertImportCommonData(); - assertImportOperations(); - assertNoEntities(Sample.class, SampleData.class); - - VoyageCatchesImportConfiguration conf = new VoyageCatchesImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - - prepareInputFile(conf.getTotalSampleFile(), getImportPath("totalsample.csv.gz")); - prepareInputFile(conf.getSubSampleFile(), getImportPath("subsample.csv.gz")); - prepareInputFile(conf.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageCatchesImportDataAction(), 3); - - assertNbIds(result, 0, fixtures.NB_SAMPLE_TOTAL()); - - assertCsvImportResult(result, 0, Sample.class, fixtures.NB_SAMPLE_TOTAL(), 0, fixtures.NB_SAMPLE()); - assertCsvImportResult(result, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_TOTAL(), 0, fixtures.NB_SAMPLE_DATA()); - assertCsvImportResult(result, 0, SpeciesCategory.class, 4, 0, 456); - - assertNbIds(result, 1, fixtures.NB_SAMPLE_UNSORTED()); - assertCsvImportResult(result, 1, Sample.class, fixtures.NB_SAMPLE_UNSORTED(), 0, fixtures.NB_SAMPLE()); - assertCsvImportResult(result, 1, SampleData.class, fixtures.NB_SAMPLE_DATA_UNSORTED(), 0, fixtures.NB_SAMPLE_DATA()); - assertCsvImportResult(result, 1, SpeciesCategory.class, 9, 0, 456); - - assertNbIds(result, 2, fixtures.NB_SAMPLE_BIOMETRY()); - assertCsvImportResult(result, 2, Sample.class, fixtures.NB_SAMPLE_BIOMETRY(), 0, fixtures.NB_SAMPLE()); - assertCsvImportResult(result, 2, SampleData.class, fixtures.NB_SAMPLE_DATA_BIOMETRY(), 0, fixtures.NB_SAMPLE_DATA()); - - assertImportSampleDatas(); - } - -} diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AcousticImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java similarity index 68% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AcousticImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java index e5395e0..eaf9377 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/AcousticImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageAcousticImportServiceIT.java @@ -26,15 +26,15 @@ import fr.ifremer.echobase.entities.data.DataAcquisition; import fr.ifremer.echobase.entities.data.DataProcessing; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageAcousticsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class AcousticImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageAcousticImportServiceIT extends AbstractImportDataServiceIT<VoyageAcousticsImportConfiguration> { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -44,18 +44,9 @@ public class AcousticImportServiceIT extends AbstractImportDataServiceIT { return new String[]{"/import-data", "acoustic", filename}; } - @Test - public void doImport() throws Exception { - - assertImportCommonData(); - - assertNoEntities(DataAcquisition.class, - DataProcessing.class, - Cell.class, - Data.class); - + @Override + protected VoyageAcousticsImportConfiguration createConfiguration() throws IOException { VoyageAcousticsImportConfiguration conf = new VoyageAcousticsImportConfiguration(getLocale()); - conf.setVoyageId(getVoyageId()); conf.setVesselId(fixtures.VESSEL_ID()); conf.setAcousticDensityUnit("acousticDensityUnit"); @@ -74,20 +65,40 @@ public class AcousticImportServiceIT extends AbstractImportDataServiceIT { conf.setSoundSpeedCalculationsER60("soundSpeedCalculationsER60"); conf.setSoundSpeedCalculationsME70("soundSpeedCalculationsME70"); conf.setTransceiverAcquisitionAbsorptionDescription("transceiverAcquisitionAbsorptionDescription"); - prepareInputFile(conf.getMoviesFile(), getImportPath("movies.csv.gz")); + return conf; + } - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageAcousticsImportDataAction(), 1); + @Override + protected ImportDataService.VoyageAcousticsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageAcousticsImportDataAction(); + } - assertNbIds(result, 0, fixtures.NB_CELL()); + @Override + protected int getNbResult() { + return 1; + } - assertCsvImportResult(result, 0, DataAcquisition.class, fixtures.NB_DATA_ACQUISITION()); - assertCsvImportResult(result, 0, DataProcessing.class, fixtures.NB_DATA_PROCESSING()); - assertCsvImportResult(result, 0, Cell.class, fixtures.NB_CELL()); - assertCsvImportResult(result, 0, Data.class, fixtures.NB_DATA()); + @Override + protected void assertBeforeImport() { + assertImportCommonData(); + assertNoEntities(DataAcquisition.class, DataProcessing.class, Cell.class, Data.class); + } + + @Override + protected void assertAfertImport(ImportDataResult<VoyageAcousticsImportConfiguration> result) throws IOException { + + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + + assertNbIds(importDataFileResults, 0, fixtures.NB_CELL()); + + assertCsvImportResult(importDataFileResults, 0, DataAcquisition.class, fixtures.NB_DATA_ACQUISITION()); + assertCsvImportResult(importDataFileResults, 0, DataProcessing.class, fixtures.NB_DATA_PROCESSING()); + assertCsvImportResult(importDataFileResults, 0, Cell.class, fixtures.NB_CELL()); + assertCsvImportResult(importDataFileResults, 0, Data.class, fixtures.NB_DATA()); assertImportAcousticDatas(); - } + } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java new file mode 100644 index 0000000..e4be519 --- /dev/null +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesAllImportServiceIT.java @@ -0,0 +1,84 @@ +/* + * #%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; + +import fr.ifremer.echobase.entities.data.Sample; +import fr.ifremer.echobase.entities.data.SampleData; +import fr.ifremer.echobase.entities.references.SpeciesCategory; +import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; + +import java.io.IOException; +import java.util.Set; + +/** + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class VoyageCatchesAllImportServiceIT extends VoyageCatchesImportServiceITSupport { + + @Override + protected int getNbResult() { + return 3; + } + + @Override + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = super.createConfiguration(); + prepareInputFile(configuration.getTotalSampleFile(), getImportPath("totalsample.csv.gz")); + prepareInputFile(configuration.getSubSampleFile(), getImportPath("subsample.csv.gz")); + prepareInputFile(configuration.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); + return configuration; + } + + @Override + protected void assertBeforeImport() { + + assertImportCommonData(); + assertImportOperations(); + assertNoEntities(Sample.class, SampleData.class); + + } + + @Override + protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { + + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + + assertNbIds(importDataFileResults, 0, fixtures.NB_SAMPLE_TOTAL()); + + assertCsvImportResult(importDataFileResults, 0, Sample.class, fixtures.NB_SAMPLE_TOTAL(), 0, fixtures.NB_SAMPLE()); + assertCsvImportResult(importDataFileResults, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_TOTAL(), 0, fixtures.NB_SAMPLE_DATA()); + assertCsvImportResult(importDataFileResults, 0, SpeciesCategory.class, 4, 0, 456); + + assertNbIds(importDataFileResults, 1, fixtures.NB_SAMPLE_UNSORTED()); + assertCsvImportResult(importDataFileResults, 1, Sample.class, fixtures.NB_SAMPLE_UNSORTED(), 0, fixtures.NB_SAMPLE()); + assertCsvImportResult(importDataFileResults, 1, SampleData.class, fixtures.NB_SAMPLE_DATA_UNSORTED(), 0, fixtures.NB_SAMPLE_DATA()); + assertCsvImportResult(importDataFileResults, 1, SpeciesCategory.class, 9, 0, 456); + + assertNbIds(importDataFileResults, 2, fixtures.NB_SAMPLE_BIOMETRY()); + assertCsvImportResult(importDataFileResults, 2, Sample.class, fixtures.NB_SAMPLE_BIOMETRY(), 0, fixtures.NB_SAMPLE()); + assertCsvImportResult(importDataFileResults, 2, SampleData.class, fixtures.NB_SAMPLE_DATA_BIOMETRY(), 0, fixtures.NB_SAMPLE_DATA()); + + assertImportSampleDatas(); + + } + +} diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyTotalSampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java similarity index 54% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyTotalSampleIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java index 7d22db7..8e03ad6 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyTotalSampleIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceITSupport.java @@ -1,8 +1,10 @@ +package fr.ifremer.echobase.services.service.importdata; + /* * #%L * EchoBase :: Services * %% - * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * Copyright (C) 2011 - 2013 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 @@ -18,21 +20,17 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. * #L% */ -package fr.ifremer.echobase.services.service.importdata; -import fr.ifremer.echobase.entities.data.Sample; -import fr.ifremer.echobase.entities.data.SampleData; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import org.junit.Test; -import java.util.Set; +import java.io.IOException; /** * @author Tony Chemit - chemit@codelutin.com - * @since 0.3 + * @since 2.2 */ -public class CatchesImportServiceOnlyTotalSampleIT extends AbstractImportDataServiceIT { +public abstract class VoyageCatchesImportServiceITSupport extends AbstractImportDataServiceIT<VoyageCatchesImportConfiguration> { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_OPERATION()); @@ -42,24 +40,15 @@ public class CatchesImportServiceOnlyTotalSampleIT extends AbstractImportDataSer return new String[]{"/import-data", "catches", filename}; } - @Test - public void doImportTotalSample() throws Exception { - - assertImportCommonData(); - assertImportOperations(); - assertNoEntities(Sample.class, SampleData.class); - - VoyageCatchesImportConfiguration conf = new VoyageCatchesImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - - prepareInputFile(conf.getTotalSampleFile(), getImportPath("totalsample.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageCatchesImportDataAction(), 1); + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = new VoyageCatchesImportConfiguration(getLocale()); + configuration.setVoyageId(getVoyageId()); + return configuration; + } - assertNbIds(result, 0, fixtures.NB_SAMPLE_TOTAL()); - assertCsvImportResult(result, 0, Sample.class, fixtures.NB_SAMPLE_TOTAL()); - assertCsvImportResult(result, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_TOTAL()); + @Override + protected ImportDataService.VoyageCatchesImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageCatchesImportDataAction(); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlySubSampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyBiometrySampleIT.java similarity index 53% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlySubSampleIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyBiometrySampleIT.java index 1fbe8be..3dc783b 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlySubSampleIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyBiometrySampleIT.java @@ -22,44 +22,44 @@ package fr.ifremer.echobase.services.service.importdata; import fr.ifremer.echobase.entities.data.Sample; import fr.ifremer.echobase.entities.data.SampleData; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class CatchesImportServiceOnlySubSampleIT extends AbstractImportDataServiceIT { +public class VoyageCatchesImportServiceOnlyBiometrySampleIT extends VoyageCatchesImportServiceITSupport { - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_OPERATION()); + @Override + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = super.createConfiguration(); + prepareInputFile(configuration.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); + return configuration; } - protected String[] getImportPath(String filename) { - return new String[]{"/import-data", "catches", filename}; + @Override + protected int getNbResult() { + return 1; } - @Test - public void doImportSubSample() throws Exception { - + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertNoEntities(Sample.class, SampleData.class); + } - VoyageCatchesImportConfiguration conf = new VoyageCatchesImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - - prepareInputFile(conf.getSubSampleFile(), getImportPath("subsample.csv.gz")); + @Override + protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageCatchesImportDataAction(), 1); + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, fixtures.NB_SAMPLE_BIOMETRY()); + assertCsvImportResult(importDataFileResults, 0, Sample.class, fixtures.NB_SAMPLE_BIOMETRY()); + assertCsvImportResult(importDataFileResults, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_BIOMETRY()); - assertNbIds(result, 0, fixtures.NB_SAMPLE_UNSORTED()); - assertCsvImportResult(result, 0, Sample.class, fixtures.NB_SAMPLE_UNSORTED()); - assertCsvImportResult(result, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_UNSORTED()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyBiometrySampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java similarity index 53% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyBiometrySampleIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java index 42053ae..8ea75db 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/CatchesImportServiceOnlyBiometrySampleIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java @@ -22,44 +22,44 @@ package fr.ifremer.echobase.services.service.importdata; import fr.ifremer.echobase.entities.data.Sample; import fr.ifremer.echobase.entities.data.SampleData; -import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class CatchesImportServiceOnlyBiometrySampleIT extends AbstractImportDataServiceIT { +public class VoyageCatchesImportServiceOnlySubSampleIT extends VoyageCatchesImportServiceITSupport { - protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_OPERATION()); + @Override + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = super.createConfiguration(); + prepareInputFile(configuration.getSubSampleFile(), getImportPath("subsample.csv.gz")); + return configuration; } - protected String[] getImportPath(String filename) { - return new String[]{"/import-data", "catches", filename}; + @Override + protected int getNbResult() { + return 1; } - @Test - public void doImportBiometrySample() throws Exception { - + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertNoEntities(Sample.class, SampleData.class); + } - VoyageCatchesImportConfiguration conf = new VoyageCatchesImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - - prepareInputFile(conf.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); + @Override + protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageCatchesImportDataAction(), 1); + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, fixtures.NB_SAMPLE_UNSORTED()); + assertCsvImportResult(importDataFileResults, 0, Sample.class, fixtures.NB_SAMPLE_UNSORTED()); + assertCsvImportResult(importDataFileResults, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_UNSORTED()); - assertNbIds(result, 0, fixtures.NB_SAMPLE_BIOMETRY()); - assertCsvImportResult(result, 0, Sample.class, fixtures.NB_SAMPLE_BIOMETRY()); - assertCsvImportResult(result, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_BIOMETRY()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java new file mode 100644 index 0000000..dac2d50 --- /dev/null +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java @@ -0,0 +1,72 @@ +/* + * #%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; + +import com.google.common.collect.Iterables; +import fr.ifremer.echobase.entities.data.Sample; +import fr.ifremer.echobase.entities.data.SampleData; +import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; + +import java.io.IOException; + +/** + * @author Tony Chemit - chemit@codelutin.com + * @since 0.3 + */ +public class VoyageCatchesImportServiceOnlyTotalSampleIT extends VoyageCatchesImportServiceITSupport { + + @Override + protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { + VoyageCatchesImportConfiguration configuration = super.createConfiguration(); + prepareInputFile(configuration.getTotalSampleFile(), getImportPath("totalsample.csv.gz")); + return configuration; + } + + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected void assertBeforeImport() { + assertImportCommonData(); + assertImportOperations(); + assertNoEntities(Sample.class, SampleData.class); + } + + @Override + protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { + + { + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + + int nbSamples = fixtures.NB_SAMPLE_TOTAL(); + int nbSampleData = fixtures.NB_SAMPLE_DATA_TOTAL(); + + assertCsvImportResultPerEntity(importDataFileResult, Sample.class, nbSamples, 0, nbSamples); + assertCsvImportResultPerEntity(importDataFileResult, SampleData.class, nbSampleData, 0, nbSampleData); + assertCsvImportResult0(importDataFileResult, nbSamples); + } + + + } + +} diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java index f02ea12..bf407d4 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsAllImportServiceIT.java @@ -90,32 +90,20 @@ public class VoyageCommonsAllImportServiceIT extends VoyageCommonsImportServiceI { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - assertCsvImportResult(importDataFileResult, - Voyage.class, - nbVoyage, - 0, - nbVoyage, - nbVoyage); + assertCsvImportResultPerEntity(importDataFileResult, Voyage.class, nbVoyage, 0, nbVoyage); + assertCsvImportResult0(importDataFileResult, nbVoyage); } { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 1); - assertCsvImportResult(importDataFileResult, - Transit.class, - nbTransit, - 0, - nbTransit, - nbTransit); + assertCsvImportResultPerEntity(importDataFileResult, Transit.class, nbTransit, 0, nbTransit); + assertCsvImportResult0(importDataFileResult, nbTransit); } { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 2); - assertCsvImportResult(importDataFileResult, - Transect.class, - nbTransect, - 0, - nbTransect, - nbTransect); + assertCsvImportResultPerEntity(importDataFileResult, Transect.class, nbTransect, 0, nbTransect); + assertCsvImportResult0(importDataFileResult, nbTransect); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java index 9649cd4..6f9d205 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsImportServiceITSupport.java @@ -22,7 +22,6 @@ package fr.ifremer.echobase.services.service.importdata; */ import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; -import org.junit.Test; import java.io.IOException; @@ -30,39 +29,19 @@ import java.io.IOException; * @author Tony Chemit - chemit@codelutin.com * @since 2.2 */ -public abstract class VoyageCommonsImportServiceITSupport extends AbstractImportDataServiceIT { +public abstract class VoyageCommonsImportServiceITSupport extends AbstractImportDataServiceIT<VoyageCommonsImportConfiguration> { protected final String[] getImportPath(String filename) { return new String[]{"/import-data", "common", filename}; } protected VoyageCommonsImportConfiguration createConfiguration() throws IOException { - - VoyageCommonsImportConfiguration configuration = new VoyageCommonsImportConfiguration(getLocale()); - configuration.setWorkingDirectory(getConfiguration().getTemporaryDirectory()); - return configuration; - + return new VoyageCommonsImportConfiguration(getLocale()); } - protected abstract int getNbResult(); - - protected abstract void assertBeforeImport(); - - protected abstract void assertAfertImport(ImportDataResult<VoyageCommonsImportConfiguration> result) throws IOException; - - @Test - public final void doImport() throws Exception { - - assertBeforeImport(); - - VoyageCommonsImportConfiguration configuration = createConfiguration(); - - int nbResult = getNbResult(); - - ImportDataResult<VoyageCommonsImportConfiguration> result = doImport0(configuration, new ImportDataService.VoyageCommonsImportDataAction(), nbResult); - - assertAfertImport(result); - + @Override + protected ImportDataService.VoyageCommonsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageCommonsImportDataAction(); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java index a528530..07570dd 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransectImportServiceIT.java @@ -87,20 +87,12 @@ public class VoyageCommonsTransectImportServiceIT extends VoyageCommonsImportSer { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - assertCsvImportResult(importDataFileResult, - Transect.class, - nbTransect, - 0, - nbTransect, - nbTransect); + assertCsvImportResultPerEntity(importDataFileResult, Transect.class, nbTransect, 0, nbTransect); + assertCsvImportResult0(importDataFileResult, nbTransect); } } -// protected String[] getImportPath(String filename) { -// return new String[]{"/import-data", "common", filename}; -// } - @Override protected int getNbResult() { return 1; diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java index 645520e..3d4cde1 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsTransitImportServiceIT.java @@ -85,12 +85,8 @@ public class VoyageCommonsTransitImportServiceIT extends VoyageCommonsImportServ { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - assertCsvImportResult(importDataFileResult, - Transit.class, - nbTransit, - 0, - nbTransit, - nbTransit); + assertCsvImportResultPerEntity(importDataFileResult, Transit.class, nbTransit, 0, nbTransit); + assertCsvImportResult0(importDataFileResult, nbTransit); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java index c20f808..9128832 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCommonsVoyageImportServiceIT.java @@ -88,12 +88,8 @@ public class VoyageCommonsVoyageImportServiceIT extends VoyageCommonsImportServi { ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - assertCsvImportResult(importDataFileResult, - Voyage.class, - nbVoyage, - 0, - nbVoyage, - nbVoyage); + assertCsvImportResultPerEntity(importDataFileResult, Voyage.class, nbVoyage, 0, nbVoyage); + assertCsvImportResult0(importDataFileResult, nbVoyage); } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/OperationImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java similarity index 50% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/OperationImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java index 3cdf269..bd5e71d 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/OperationImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageOperationImportServiceIT.java @@ -25,15 +25,15 @@ import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.OperationMetadataValue; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageOperationsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class OperationImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageOperationImportServiceIT extends AbstractImportDataServiceIT<VoyageOperationsImportConfiguration> { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_COMMON_DATA()); @@ -43,37 +43,51 @@ public class OperationImportServiceIT extends AbstractImportDataServiceIT { return new String[]{"/import-data", "operation", filename}; } - @Test - public void doImport() throws Exception { + @Override + protected VoyageOperationsImportConfiguration createConfiguration() throws IOException { - assertImportCommonData(); + VoyageOperationsImportConfiguration conf = new VoyageOperationsImportConfiguration(getLocale()); + conf.setVoyageId(getVoyageId()); + prepareInputFile(conf.getOperationFile(), getImportPath("operation.csv.gz")); + prepareInputFile(conf.getOperationMetadataFile(), getImportPath("operationmetadatavalue.csv.gz")); + prepareInputFile(conf.getGearMetadataFile(), getImportPath("gearmetadatavalue.csv.gz")); - assertNoEntities(Operation.class, - OperationMetadataValue.class, - GearMetadataValue.class); + return conf; + } - VoyageOperationsImportConfiguration conf = new VoyageOperationsImportConfiguration(getLocale()); + @Override + protected ImportDataService.VoyageOperationsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageOperationsImportDataAction(); + } - conf.setVoyageId(getVoyageId()); + @Override + protected int getNbResult() { + return 3; + } + + @Override + protected void assertBeforeImport() { + assertImportCommonData(); - prepareInputFile(conf.getOperationFile(), - getImportPath("operation.csv.gz")); - prepareInputFile(conf.getOperationMetadataFile(), - getImportPath("operationmetadatavalue.csv.gz")); - prepareInputFile(conf.getGearMetadataFile(), - getImportPath("gearmetadatavalue.csv.gz")); + assertNoEntities(Operation.class, OperationMetadataValue.class, GearMetadataValue.class); + } - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageOperationsImportDataAction(), 3); + @Override + protected void assertAfertImport(ImportDataResult<VoyageOperationsImportConfiguration> result) throws IOException { - assertNbIds(result, 0, fixtures.NB_OPERATION()); - assertCsvImportResult(result, 0, Operation.class, fixtures.NB_OPERATION()); + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); - assertNbIds(result, 1, 0); - assertCsvImportResult(result, 1, OperationMetadataValue.class, fixtures.NB_OPERATION_METADATAVALUE()); + assertNbIds(importDataFileResults, 0, fixtures.NB_OPERATION()); + assertCsvImportResult(importDataFileResults, 0, Operation.class, fixtures.NB_OPERATION()); - assertNbIds(result, 2, 0); - assertCsvImportResult(result, 2, GearMetadataValue.class, fixtures.NB_GEAR_METADATAVALUE()); + assertNbIds(importDataFileResults, 1, 0); + assertCsvImportResult(importDataFileResults, 1, OperationMetadataValue.class, fixtures.NB_OPERATION_METADATAVALUE()); + + assertNbIds(importDataFileResults, 2, 0); + assertCsvImportResult(importDataFileResults, 2, GearMetadataValue.class, fixtures.NB_GEAR_METADATAVALUE()); assertImportOperations(); + } + } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellImportServiceIT.java similarity index 81% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellImportServiceIT.java index 40506d1..008e38b 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsEsduCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsEsduCellImportServiceIT.java @@ -32,52 +32,58 @@ import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsEsduCellImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsEsduCellImportServiceIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { - return new FakeEchoBaseServiceContext( - fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); + return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); } protected String[] getImportPath(String filename) { return new String[]{"/import-data", "result", "esdu", filename}; } - @Test - public void doImportByEchotype() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_ESDU); + configuration.setDataProcessingId(getDataProcessingId()); + InputFile inputFile = configuration.getEsduByEchotypeFile(); + prepareInputFile(inputFile, getImportPath("byEchotype.csv.gz")); + + addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, configuration.getVoyageId(), inputFile); + return configuration; + } + + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); assertImportVoyageResult(); assertNoEntities(Result.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setResultLabel("resultLabel"); - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_ESDU); - - InputFile inputFile = conf.getEsduByEchotypeFile(); - prepareInputFile(inputFile, getImportPath("byEchotype.csv.gz")); - - addMissingEsduCells(EchoBaseCsvUtil.CELL_NAME, conf.getVoyageId(), inputFile); - - conf.setDataProcessingId(getDataProcessingId()); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); - - assertNbIds(result, 0, 43533); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, 43533); - assertCsvImportResult(result, 0, Result.class, 43533); - assertCsvImportResult(result, 0, Category.class, 7); + assertCsvImportResult(importDataFileResults, 0, Result.class, 43533); + assertCsvImportResult(importDataFileResults, 0, Category.class, 7); } @Test diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java new file mode 100644 index 0000000..436de75 --- /dev/null +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsImportServiceITSupport.java @@ -0,0 +1,46 @@ +package fr.ifremer.echobase.services.service.importdata; + +/* + * #%L + * EchoBase :: Services + * %% + * Copyright (C) 2011 - 2013 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.services.service.importdata.configurations.VoyageResultsImportConfiguration; + +import java.io.IOException; + +/** + * @author Tony Chemit - chemit@codelutin.com + * @since 2.2 + */ +public abstract class VoyageResultsImportServiceITSupport extends AbstractImportDataServiceIT<VoyageResultsImportConfiguration> { + + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = new VoyageResultsImportConfiguration(getLocale()); + configuration.setVoyageId(getVoyageId()); + configuration.setResultLabel("resultLabel"); + return configuration; + } + + @Override + protected ImportDataService.VoyageResultsImportDataAction newAction() throws IOException { + return new ImportDataService.VoyageResultsImportDataAction(); + } + +} diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java similarity index 60% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java index fbff362..78dbd71 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapFishCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapFishCellImportServiceIT.java @@ -27,16 +27,17 @@ import fr.ifremer.echobase.entities.data.Data; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsMapFishCellImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsMapFishCellImportServiceIT extends VoyageResultsImportServiceITSupport { + @Override protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); } @@ -45,8 +46,21 @@ public class ResultsMapFishCellImportServiceIT extends AbstractImportDataService return new String[]{"/import-data", "result", "map", filename}; } - @Test - public void doImportMap() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_MAP_FISH); + prepareInputFile(configuration.getMapsFile(), getImportPath("mapsFish.csv.gz")); + return configuration; + } + + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); @@ -55,22 +69,17 @@ public class ResultsMapFishCellImportServiceIT extends AbstractImportDataService assertNoEntities(Result.class, Data.class); - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setResultLabel("resultLabel"); - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_MAP_FISH); - - prepareInputFile(conf.getMapsFile(), getImportPath("mapsFish.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); + } - assertNbIds(result, 0, 380); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, 380); - assertCsvImportResult(result, 0, Cell.class, 380); - assertCsvImportResult(result, 0, Data.class, 2280); - assertCsvImportResult(result, 0, Result.class, 380); - assertCsvImportResult(result, 0, Category.class, 1); + assertCsvImportResult(importDataFileResults, 0, Cell.class, 380); + assertCsvImportResult(importDataFileResults, 0, Data.class, 2280); + assertCsvImportResult(importDataFileResults, 0, Result.class, 380); + assertCsvImportResult(importDataFileResults, 0, Category.class, 1); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapOtherCellImportServiceIT.java similarity index 58% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapOtherCellImportServiceIT.java index 4e5c98c..f34a5f8 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsMapOtherCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsMapOtherCellImportServiceIT.java @@ -22,20 +22,21 @@ package fr.ifremer.echobase.services.service.importdata; */ import fr.ifremer.echobase.entities.ImportType; +import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Data; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 2.2 */ -public class ResultsMapOtherCellImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsMapOtherCellImportServiceIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); @@ -45,8 +46,21 @@ public class ResultsMapOtherCellImportServiceIT extends AbstractImportDataServic return new String[]{"/import-data", "result", "map", filename}; } - @Test - public void doImportMap() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_MAP_OTHER); + prepareInputFile(configuration.getMapsFile(), getImportPath("mapsOther.csv.gz")); + return configuration; + } + + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); @@ -55,21 +69,17 @@ public class ResultsMapOtherCellImportServiceIT extends AbstractImportDataServic assertNoEntities(Result.class, Data.class); - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setResultLabel("resultLabel"); - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_MAP_OTHER); - - prepareInputFile(conf.getMapsFile(), getImportPath("mapsOther.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); + } - assertNbIds(result, 0, 380); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, 380); - assertCsvImportResult(result, 0, Cell.class, 380); - assertCsvImportResult(result, 0, Data.class, 2280); - assertCsvImportResult(result, 0, Result.class, 380); + assertCsvImportResult(importDataFileResults, 0, Cell.class, 380); + assertCsvImportResult(importDataFileResults, 0, Data.class, 2280); + assertCsvImportResult(importDataFileResults, 0, Result.class, 380); + assertCsvImportResult(importDataFileResults, 0, Category.class, 1); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java similarity index 52% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java index 1618159..5fd3fa8 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsRegionCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java @@ -28,15 +28,15 @@ import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsRegionCellImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsRegionCellImportServiceIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES_AND_VOYAGE_RESULT()); @@ -46,43 +46,46 @@ public class ResultsRegionCellImportServiceIT extends AbstractImportDataServiceI return new String[]{"/import-data", "result", "region", filename}; } - @Test - public void doImportRegion() throws Exception { + @Override + protected int getNbResult() { + return 3; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_REGION); + prepareInputFile(configuration.getRegionsFile(), getImportPath("regions.csv.gz")); + prepareInputFile(configuration.getRegionAssociationFile(), getImportPath("regionAssociations.csv.gz")); + prepareInputFile(configuration.getRegionResultFile(), getImportPath("regionResults.csv.gz")); + + addMissingEsduCells("esduName", configuration.getVoyageId(), configuration.getRegionAssociationFile()); + + return configuration; + } + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); assertImportVoyageResult(); assertNoEntities(Result.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setResultLabel("resultLabel"); - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_REGION); - - prepareInputFile(conf.getRegionsFile(), - getImportPath("regions.csv.gz")); - prepareInputFile(conf.getRegionAssociationFile(), - getImportPath("regionAssociations.csv.gz")); - prepareInputFile(conf.getRegionResultFile(), - getImportPath("regionResults.csv.gz")); - - addMissingEsduCells("esduName", - conf.getVoyageId(), - conf.getRegionAssociationFile()); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 3); + @Override + protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { + Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); + assertNbIds(importDataFileResults, 0, 10); - assertNbIds(result, 0, 10); + assertCsvImportResult(importDataFileResults, 0, Cell.class, 10, 0, 2083); + assertCsvImportResult(importDataFileResults, 0, Data.class, 238); + assertCsvImportResult(importDataFileResults, 1, Cell.class, 0, 4146, 2083); + assertCsvImportResult(importDataFileResults, 2, Result.class, 2128); + assertCsvImportResult(importDataFileResults, 2, Category.class, 27); + assertCsvImportResult(importDataFileResults, 2, SpeciesCategory.class, 1, 0, 457); - assertCsvImportResult(result, 0, Cell.class, 10, 0, 2083); - assertCsvImportResult(result, 0, Data.class, 238); - assertCsvImportResult(result, 1, Cell.class, 0, 4146, 2083); - assertCsvImportResult(result, 2, Result.class, 2128); - assertCsvImportResult(result, 2, Category.class, 27); - assertCsvImportResult(result, 2, SpeciesCategory.class, 1, 0, 457); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java similarity index 53% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java index 358b68f..ddc9eb1 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceIT.java @@ -26,15 +26,15 @@ import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.entities.data.LengthWeightKey; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; -import org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsVoyageImportServiceIT extends AbstractImportDataServiceIT { +public class VoyageResultsVoyageImportServiceIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -44,9 +44,23 @@ public class ResultsVoyageImportServiceIT extends AbstractImportDataServiceIT { return new String[]{"/import-data", "result", "voyage", filename}; } - @Test - public void doImportResultByVoyage() throws Exception { + @Override + protected int getNbResult() { + return 3; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_VOYAGE); + prepareInputFile(configuration.getLengthAgeKeyFile(), getImportPath("lengthAgeKey.csv.gz")); + prepareInputFile(configuration.getLengthWeightKeyFile(), getImportPath("lengthWeightKey.csv.gz")); + prepareInputFile(configuration.getEchotypeFile(), getImportPath("echotype.csv.gz")); + return configuration; + } + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); @@ -54,28 +68,19 @@ public class ResultsVoyageImportServiceIT extends AbstractImportDataServiceIT { assertNoEntities(LengthAgeKey.class); assertNoEntities(LengthWeightKey.class); assertNoEntities(Echotype.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_VOYAGE); - - prepareInputFile(conf.getLengthAgeKeyFile(), - getImportPath("lengthAgeKey.csv.gz")); - prepareInputFile(conf.getLengthWeightKeyFile(), - getImportPath("lengthWeightKey.csv.gz")); - prepareInputFile(conf.getEchotypeFile(), getImportPath("echotype.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 3); - - assertNbIds(result, 0, fixtures.NB_LENGTH_AGE_KEY()); - assertCsvImportResult(result, 0, LengthAgeKey.class, fixtures.NB_LENGTH_AGE_KEY()); + @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(result, 1, fixtures.NB_LENGTH_WEIGHT_KEY()); - assertCsvImportResult(result, 1, LengthWeightKey.class, fixtures.NB_LENGTH_WEIGHT_KEY()); + assertNbIds(importDataFileResults, 1, fixtures.NB_LENGTH_WEIGHT_KEY()); + assertCsvImportResult(importDataFileResults, 1, LengthWeightKey.class, fixtures.NB_LENGTH_WEIGHT_KEY()); - assertNbIds(result, 2, fixtures.NB_ECHOTYPE()); - assertCsvImportResult(result, 2, Echotype.class, fixtures.NB_ECHOTYPE()); + 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/ResultsVoyageImportServiceOnlyEchotypeIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyEchotypeIT.java similarity index 61% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyEchotypeIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyEchotypeIT.java index a281b1f..0332251 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyEchotypeIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyEchotypeIT.java @@ -24,15 +24,15 @@ 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 org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsVoyageImportServiceOnlyEchotypeIT extends AbstractImportDataServiceIT { +public class VoyageResultsVoyageImportServiceOnlyEchotypeIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -42,26 +42,33 @@ public class ResultsVoyageImportServiceOnlyEchotypeIT extends AbstractImportData return new String[]{"/import-data", "result", "voyage", filename}; } - @Test - public void doImportEchotype() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_VOYAGE); + prepareInputFile(configuration.getEchotypeFile(), getImportPath("echotype.csv.gz")); + return configuration; + } + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); assertNoEntities(Echotype.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_VOYAGE); - - prepareInputFile(conf.getEchotypeFile(), getImportPath("echotype.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); - - assertNbIds(result, 0, fixtures.NB_ECHOTYPE()); - assertCsvImportResult(result, 0, Echotype.class, fixtures.NB_ECHOTYPE()); + @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()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthAgeKeyIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthAgeKeyIT.java similarity index 60% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthAgeKeyIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthAgeKeyIT.java index 797626e..b41d71d 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthAgeKeyIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthAgeKeyIT.java @@ -24,15 +24,15 @@ 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 org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsVoyageImportServiceOnlyLengthAgeKeyIT extends AbstractImportDataServiceIT { +public class VoyageResultsVoyageImportServiceOnlyLengthAgeKeyIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -42,27 +42,32 @@ public class ResultsVoyageImportServiceOnlyLengthAgeKeyIT extends AbstractImport return new String[]{"/import-data", "result", "voyage", filename}; } - @Test - public void doImportLengthAgeKey() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_VOYAGE); + prepareInputFile(configuration.getLengthAgeKeyFile(), getImportPath("lengthAgeKey.csv.gz")); + return configuration; + } + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); - assertNoEntities(LengthAgeKey.class); + } - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_VOYAGE); - - prepareInputFile(conf.getLengthAgeKeyFile(), - getImportPath("lengthAgeKey.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); - - assertNbIds(result, 0, fixtures.NB_LENGTH_AGE_KEY()); - assertCsvImportResult(result, 0, LengthAgeKey.class, fixtures.NB_LENGTH_AGE_KEY()); + @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()); } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthWeightKeyIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthWeightKeyIT.java similarity index 60% rename from echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthWeightKeyIT.java rename to echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthWeightKeyIT.java index aa3f4ef..a4b04e8 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/ResultsVoyageImportServiceOnlyLengthWeightKeyIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsVoyageImportServiceOnlyLengthWeightKeyIT.java @@ -24,15 +24,15 @@ 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 org.junit.Test; +import java.io.IOException; import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com * @since 0.3 */ -public class ResultsVoyageImportServiceOnlyLengthWeightKeyIT extends AbstractImportDataServiceIT { +public class VoyageResultsVoyageImportServiceOnlyLengthWeightKeyIT extends VoyageResultsImportServiceITSupport { protected FakeEchoBaseServiceContext initContext() { return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_CATCHES()); @@ -42,8 +42,21 @@ public class ResultsVoyageImportServiceOnlyLengthWeightKeyIT extends AbstractImp return new String[]{"/import-data", "result", "voyage", filename}; } - @Test - public void doImportLengthWeightKey() throws Exception { + @Override + protected int getNbResult() { + return 1; + } + + @Override + protected VoyageResultsImportConfiguration createConfiguration() throws IOException { + VoyageResultsImportConfiguration configuration = super.createConfiguration(); + configuration.setImportType(ImportType.RESULT_VOYAGE); + prepareInputFile(configuration.getLengthWeightKeyFile(), getImportPath("lengthWeightKey.csv.gz")); + return configuration; + } + + @Override + protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); @@ -51,18 +64,13 @@ public class ResultsVoyageImportServiceOnlyLengthWeightKeyIT extends AbstractImp assertNoEntities(LengthWeightKey.class); - VoyageResultsImportConfiguration conf = new VoyageResultsImportConfiguration(getLocale()); - - conf.setVoyageId(getVoyageId()); - conf.setImportType(ImportType.RESULT_VOYAGE); - - prepareInputFile(conf.getLengthWeightKeyFile(), - getImportPath("lengthWeightKey.csv.gz")); - - Set<ImportDataFileResult> result = doImport(conf, new ImportDataService.VoyageResultsImportDataAction(), 1); + } - assertNbIds(result, 0, fixtures.NB_LENGTH_WEIGHT_KEY()); - assertCsvImportResult(result, 0, LengthWeightKey.class, fixtures.NB_LENGTH_WEIGHT_KEY()); + @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()); } } -- 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/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit d4e6f56107931c0f99c8a4b1ea8c8c63c2e28067 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 1 23:23:45 2016 +0200 Utilisation des bons contrats --- .../echobase/services/service/importdata/ImportDataResult.java | 4 ++-- .../echobase/services/service/importdata/ImportDataService.java | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataResult.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataResult.java index 2a85863..b115648 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataResult.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/ImportDataResult.java @@ -1,7 +1,7 @@ package fr.ifremer.echobase.services.service.importdata; import fr.ifremer.echobase.entities.EchoBaseUser; -import fr.ifremer.echobase.services.service.importdata.configurations.VoyageImportDataConfigurationSupport; +import fr.ifremer.echobase.services.service.importdata.configurations.ImportDataConfigurationSupport; import java.util.Collections; import java.util.Set; @@ -11,7 +11,7 @@ import java.util.Set; * * @author Tony Chemit - chemit@codelutin.com */ -public class ImportDataResult<C extends VoyageImportDataConfigurationSupport> { +public class ImportDataResult<C extends ImportDataConfigurationSupport> { private final C configuration; 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 3a33117..a0e27a4 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 @@ -33,6 +33,7 @@ import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsRegi import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsVoyageEchotypeImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsVoyageLengthAgeKeyImportAction; import fr.ifremer.echobase.services.service.importdata.actions.VoyageResultsVoyageLengthWeightKeyImportAction; +import fr.ifremer.echobase.services.service.importdata.configurations.ImportDataConfigurationSupport; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageAcousticsImportConfiguration; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCommonsImportConfiguration; @@ -435,7 +436,7 @@ public class ImportDataService extends EchoBaseServiceSupport { return l(getLocale(), configuration.getImportType().getI18nKey()); } - public interface ImportDataAction<M extends VoyageImportDataConfigurationSupport> { + public interface ImportDataAction<M extends ImportDataConfigurationSupport> { ImportDataResult<M> doImport(ImportDataService service, M configuration, EchoBaseUser user) throws ImportException; } -- 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/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 30740d94ecf9e2080e433c36d28c767b359aeef6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri Apr 1 23:24:36 2016 +0200 Import Catches total sample works --- .../echobase/entities/data/SampleDatas.java | 19 +++++ .../VoyageCatchesTotalSampleImportAction.java | 91 +++++++++++++++++++++- .../csv/TotalSampleImportExportModel.java | 4 +- .../importdata/csv/TotalSampleImportRow.java | 25 +++++- ...oyageCatchesImportServiceOnlyTotalSampleIT.java | 17 ++-- 5 files changed, 138 insertions(+), 18 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleDatas.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleDatas.java new file mode 100644 index 0000000..d15d721 --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleDatas.java @@ -0,0 +1,19 @@ +package fr.ifremer.echobase.entities.data; + +import com.google.common.base.Function; +import fr.ifremer.echobase.entities.references.SampleDataType; + +/** + * Created on 01/04/16. + * + * @author Tony Chemit - chemit@codelutin.com + */ +public class SampleDatas { + + public static final Function<SampleData, SampleDataType> TO_SAMPLE_DATA_TYPE = new Function<SampleData, SampleDataType>() { + @Override + public SampleDataType apply(SampleData input) { + return input.getSampleDataType(); + } + }; +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java index 75b7801..ba2ebc2 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java @@ -1,7 +1,12 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.Maps; import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.Sample; +import fr.ifremer.echobase.entities.data.SampleData; +import fr.ifremer.echobase.entities.data.SampleDatas; import fr.ifremer.echobase.entities.references.SampleDataType; import fr.ifremer.echobase.entities.references.SampleType; import fr.ifremer.echobase.entities.references.SizeCategories; @@ -19,6 +24,11 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.Map; +import java.util.TreeMap; + /** * Created on 25/03/16. * @@ -44,6 +54,9 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat return TotalSampleImportExportModel.forExport(importDataContext); } + private final Map<String, String> sampleIdToOperationId = new TreeMap<>(); + private final Map<String, String> sampleIdToSortedSampleId = new TreeMap<>(); + @Override protected void performImport(VoyageCatchesImportDataContext importDataContext, InputFile inputFile, ImportDataFileResult result) { @@ -51,6 +64,8 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat log.info("Starts import of totalSample from file " + inputFile.getFileName()); } + sampleIdToOperationId.clear(); + SpeciesCategoryCache speciesCategoryCache = importDataContext.getSpeciesCategoryCache(); SampleType sampleTypeTotal = importDataContext.getSampleTypeTotal(); @@ -96,13 +111,13 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat } - // must create it sample = row.getSample(); sample.setSpeciesCategory(category); sample.setSampleType(sampleType); sample = addSample(operation, sample, result); + addProcessedRow(result, row); // create datas @@ -129,8 +144,14 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat createdSortedSample.setSampleWeight(row.getSortedWeight()); // create sorted sample - createdSortedSample = addSample(operation, createdSortedSample, result); + Sample sortedSample = addSample(operation, createdSortedSample, result); + + // add to sample ids cache (need to compte imported export later) + sampleIdToOperationId.put(sample.getTopiaId(), operation.getTopiaId()); + sampleIdToSortedSampleId.put(sample.getTopiaId(), sortedSample.getTopiaId()); + } + } } @@ -138,7 +159,71 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat @Override protected void computeImportedExport(VoyageCatchesImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + SampleDataType sampleDataTypeMeanLength = importDataContext.getSampleDataTypeMeanLength(); + SampleDataType sampleDataTypeMeanWeight = importDataContext.getSampleDataTypeMeanWeight(); + SampleDataType sampleDataTypeNoPerKg = importDataContext.getSampleDataTypeNoPerKg(); + + LinkedHashSet<String> sampleIds = filterIds(Sample.class, result.getIds()); + + Collection<String> sortedSampleIds = sampleIdToSortedSampleId.values(); + for (String sampleId : sampleIds) { + + if (sortedSampleIds.contains(sampleId)) { + + // skip sorted sample + continue; + } + + if (log.isInfoEnabled()) { + log.info("Adding sample: " + sampleId + " to imported export."); + } + + String operationId = sampleIdToOperationId.get(sampleId); + Preconditions.checkNotNull(operationId); + + Operation operation = persistenceService.getOperation(operationId); + Preconditions.checkNotNull(operation); + + Sample sample = persistenceService.getSample(sampleId); + Preconditions.checkNotNull(sample); + + String sortedSampleId = sampleIdToSortedSampleId.get(sampleId); + Preconditions.checkNotNull(sortedSampleId); + + Sample sortedSample = persistenceService.getSample(sortedSampleId); + Preconditions.checkNotNull(sortedSample); + + TotalSampleImportRow importedRow = TotalSampleImportRow.of(operation, sample, sortedSample); + + if (sample.isSampleDataNotEmpty()) { + + Collection<SampleData> sampleData = sample.getSampleData(); + ImmutableMap<SampleDataType, SampleData> sampleDataByType = Maps.uniqueIndex(sampleData, SampleDatas.TO_SAMPLE_DATA_TYPE); + + { + SampleData sampleData1 = sampleDataByType.get(sampleDataTypeMeanLength); + if (sampleData1 != null) { + importedRow.setMeanLength(sampleData1.getDataValue()); + } + } + { + SampleData sampleData1 = sampleDataByType.get(sampleDataTypeMeanWeight); + if (sampleData1 != null) { + importedRow.setMeanWeight(sampleData1.getDataValue()); + } + } + { + SampleData sampleData1 = sampleDataByType.get(sampleDataTypeNoPerKg); + if (sampleData1 != null) { + importedRow.setNoPerKg(sampleData1.getDataValue()); + } + } + } + + addImportedRow(result, importedRow); + + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportExportModel.java index 8986f8e..79932fe 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportExportModel.java @@ -58,8 +58,8 @@ public class TotalSampleImportExportModel extends EchoBaseImportExportModelSuppo public static TotalSampleImportExportModel forExport(VoyageCatchesImportDataContext importDataContext) { TotalSampleImportExportModel model = new TotalSampleImportExportModel(importDataContext.getCsvSeparator()); - model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, EchoBaseCsvUtil.OPERATION_FORMATTER); - model.newColumnForExport(Species.PROPERTY_BARACOUDA_CODE, EchoBaseCsvUtil.SPECIES_FORMATTER); + model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, TotalSampleImportRow.PROPERTY_OPERATION, EchoBaseCsvUtil.OPERATION_FORMATTER); + model.newColumnForExport(Species.PROPERTY_BARACOUDA_CODE,TotalSampleImportRow.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); model.newColumnForExport(TotalSampleImportRow.PROPERTY_SIZE_CATEGORY, EchoBaseCsvUtil.SIZE_CATEGORY_FORMATTER); model.newColumnForExport(Sample.PROPERTY_SAMPLE_WEIGHT, EchoBaseCsvUtil.PRIMITIVE_FLOAT); model.newColumnForExport(Sample.PROPERTY_NUMBER_SAMPLED, EchoBaseCsvUtil.NA_TO_INTEGER_PARSER_FORMATTER); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportRow.java index 1ad6dea..5bed089 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/TotalSampleImportRow.java @@ -40,8 +40,6 @@ public class TotalSampleImportRow { public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory"; - public static final String PROPERTY_SAMPLE = "sample"; - public static final String PROPERTY_MEAN_LENGTH = "meanLength"; public static final String PROPERTY_MEAN_WEIGHT = "meanWeight"; @@ -59,7 +57,11 @@ public class TotalSampleImportRow { protected SizeCategory sizeCategory; public TotalSampleImportRow() { - sample = new SampleImpl(); + this(new SampleImpl()); + } + + public TotalSampleImportRow(Sample sample) { + this.sample = sample; } public Sample getSample() { @@ -90,10 +92,18 @@ public class TotalSampleImportRow { this.sizeCategory = sizeCategory; } + public Integer getNumberSampled() { + return sample.getNumberSampled(); + } + public void setNumberSampled(Integer numberSampled) { sample.setNumberSampled(numberSampled); } + public Float getSampleWeight() { + return sample.getSampleWeight(); + } + public void setSampleWeight(Float sampleWeight) { sample.setSampleWeight(sampleWeight); } @@ -129,4 +139,13 @@ public class TotalSampleImportRow { public void setSortedWeight(float sortedWeight) { this.sortedWeight = sortedWeight; } + + public static TotalSampleImportRow of(Operation operation, Sample sample, Sample sortedSample) { + TotalSampleImportRow row = new TotalSampleImportRow(sample); + row.setOperation(operation); + row.setSpecies(sample.getSpeciesCategory().getSpecies()); + row.setSizeCategory(sample.getSpeciesCategory().getSizeCategory()); + row.setSortedWeight(sortedSample.getSampleWeight()); + return row; + } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java index dac2d50..302be2d 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlyTotalSampleIT.java @@ -54,18 +54,15 @@ public class VoyageCatchesImportServiceOnlyTotalSampleIT extends VoyageCatchesIm @Override protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { + + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - { - ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); - - int nbSamples = fixtures.NB_SAMPLE_TOTAL(); - int nbSampleData = fixtures.NB_SAMPLE_DATA_TOTAL(); - - assertCsvImportResultPerEntity(importDataFileResult, Sample.class, nbSamples, 0, nbSamples); - assertCsvImportResultPerEntity(importDataFileResult, SampleData.class, nbSampleData, 0, nbSampleData); - assertCsvImportResult0(importDataFileResult, nbSamples); - } + int nbSamples = fixtures.NB_SAMPLE_TOTAL(); + int nbSampleData = fixtures.NB_SAMPLE_DATA_TOTAL(); + assertCsvImportResultPerEntity(importDataFileResult, Sample.class, nbSamples, 0, nbSamples); + assertCsvImportResultPerEntity(importDataFileResult, SampleData.class, nbSampleData, 0, nbSampleData); + assertCsvImportResult0(importDataFileResult, nbSamples); } -- 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/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 5455012ac5bd04afaa49cdcc68efc8023aa175b3 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:24:05 2016 +0200 Add toString on some entities --- .../echobase/entities/data/OperationImpl.java | 22 ++++++++++++++++------ .../echobase/entities/data/SampleDataImpl.java | 18 ++++++++++++++++++ .../ifremer/echobase/entities/data/SampleImpl.java | 18 ++++++++++++++++++ .../echobase/entities/references/GearImpl.java | 17 +++++++++++++++++ .../entities/references/SampleDataTypeImpl.java | 17 +++++++++++++++-- .../entities/references/SampleTypeImpl.java | 10 ++++++++++ 6 files changed, 94 insertions(+), 8 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/OperationImpl.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/OperationImpl.java index 5d25a92..a725578 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/OperationImpl.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/OperationImpl.java @@ -20,6 +20,7 @@ */ package fr.ifremer.echobase.entities.data; +import com.google.common.base.MoreObjects; import fr.ifremer.echobase.entities.references.SampleType; import fr.ifremer.echobase.entities.references.SpeciesCategory; @@ -28,19 +29,28 @@ public class OperationImpl extends OperationAbstract { private static final long serialVersionUID = 1L; @Override - public Sample getSample(SpeciesCategory speciesCategory, - SampleType sampleType) { + public Sample getSample(SpeciesCategory speciesCategory, SampleType sampleType) { Sample result = null; - if (!isSampleEmpty()) { + if (isSampleNotEmpty()) { for (Sample s : sample) { - if (sampleType.equals(s.getSampleType()) && - speciesCategory.equals(s.getSpeciesCategory())) { + if (sampleType.equals(s.getSampleType()) && speciesCategory.equals(s.getSpeciesCategory())) { result = s; break; } } } return result; + } -} //OperationImpl + + @Override + public String toString() { + return MoreObjects.toStringHelper(Operation.class) + .add(PROPERTY_ID, id) + .add(PROPERTY_GEAR, gear) +// .add(PROPERTY_TOPIA_ID, topiaId) + .toString(); + } + +} diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleDataImpl.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleDataImpl.java new file mode 100644 index 0000000..f6b03cc --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleDataImpl.java @@ -0,0 +1,18 @@ +package fr.ifremer.echobase.entities.data; + +import com.google.common.base.MoreObjects; + +public class SampleDataImpl extends SampleDataAbstract { + + private static final long serialVersionUID = 1L; + + @Override + public String toString() { + return MoreObjects.toStringHelper(SampleData.class) + .add(PROPERTY_DATA_LABEL, dataLabel) + .add(PROPERTY_DATA_VALUE, dataValue) + .add(PROPERTY_SAMPLE_DATA_TYPE, sampleDataType) +// .add(PROPERTY_TOPIA_ID, topiaId) + .toString(); + } +} diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleImpl.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleImpl.java new file mode 100644 index 0000000..58a7eab --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/SampleImpl.java @@ -0,0 +1,18 @@ +package fr.ifremer.echobase.entities.data; + +import com.google.common.base.MoreObjects; + +public class SampleImpl extends SampleAbstract { + + private static final long serialVersionUID = 1L; + + @Override + public String toString() { + return MoreObjects.toStringHelper(Sample.class) + .add(PROPERTY_SAMPLE_TYPE, sampleType) + .add(PROPERTY_SAMPLE_WEIGHT, sampleWeight) + .add(PROPERTY_SPECIES_CATEGORY, speciesCategory) +// .add(PROPERTY_TOPIA_ID, topiaId) + .toString(); + } +} diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/GearImpl.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/GearImpl.java new file mode 100644 index 0000000..25a2a9d --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/GearImpl.java @@ -0,0 +1,17 @@ +package fr.ifremer.echobase.entities.references; + +import com.google.common.base.MoreObjects; + +public class GearImpl extends GearAbstract { + + private static final long serialVersionUID = 1L; + + @Override + public String toString() { + return MoreObjects.toStringHelper(Gear.class) + .add(PROPERTY_GEAR_CODE, gearCode) + .add(PROPERTY_CASINO_GEAR_NAME, casinoGearName) +// .add(PROPERTY_TOPIA_ID, topiaId) + .toString(); + } +} diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/SampleDataTypeImpl.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/SampleDataTypeImpl.java index 7c6d28e..0a5e8ef 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/SampleDataTypeImpl.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/SampleDataTypeImpl.java @@ -21,6 +21,8 @@ package fr.ifremer.echobase.entities.references; * #L% */ +import com.google.common.base.MoreObjects; + public class SampleDataTypeImpl extends SampleDataTypeAbstract { public static final String MEAN_LENGTHCM = "MeanLengthcm"; @@ -37,5 +39,16 @@ public class SampleDataTypeImpl extends SampleDataTypeAbstract { public static final String NUMBER_AT_LENGTH = "NumberAtLength"; - private static final long serialVersionUID = 3486460324380685111L; -} //SampleDataTypeImpl + private static final long serialVersionUID = 1L; + + @Override + public String toString() { + return MoreObjects.toStringHelper(SampleDataType.class) + .add(PROPERTY_NAME, name) + .add(PROPERTY_PRECISION, precision) + .add(PROPERTY_UNITS, units) +// .add(PROPERTY_TOPIA_ID, topiaId) + .toString(); + } + +} diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/SampleTypeImpl.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/SampleTypeImpl.java index ee2b8b8..1ee2ca7 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/SampleTypeImpl.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/SampleTypeImpl.java @@ -21,6 +21,8 @@ package fr.ifremer.echobase.entities.references; * #L% */ +import com.google.common.base.MoreObjects; + public class SampleTypeImpl extends SampleTypeAbstract { private static final long serialVersionUID = 1L; @@ -34,4 +36,12 @@ public class SampleTypeImpl extends SampleTypeAbstract { public static final String SUB_SAMPLE_TYPE = "Subsample"; public static final String INDIVIDUAL_SAMPLE_TYPE = "Individual"; + + @Override + public String toString() { + return MoreObjects.toStringHelper(SampleType.class) + .add(PROPERTY_NAME, name) +// .add(PROPERTY_TOPIA_ID, topiaId) + .toString(); + } } -- 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/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit d65efd09d12a99a6323020fa3bf66ab2b59c6c57 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:24:46 2016 +0200 Can collect imported sample data --- .../importdata/actions/VoyageCatchesImportDataActionSupport.java | 8 ++++++-- .../importdata/actions/VoyageCatchesTotalSampleImportAction.java | 7 ++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesImportDataActionSupport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesImportDataActionSupport.java index cf6c2a0..4358f12 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesImportDataActionSupport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesImportDataActionSupport.java @@ -36,11 +36,15 @@ public abstract class VoyageCatchesImportDataActionSupport<E> extends ImportData } - protected SampleData addSampleData(SampleDataType sampleDataType, String label, float value, Sample sample, ImportDataFileResult importResult) { + protected SampleData addSampleData(SampleDataType sampleDataType, String label, float value, Sample sample, ImportDataFileResult importResult, boolean collectId) { SampleData sampleData = getPersistenceService().createSampleData(sampleDataType, label, value); sample.addSampleData(sampleData); - importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.SampleData); + if (collectId) { + importResult.addId(EchoBaseUserEntityEnum.SampleData, sampleData); + } else { + importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.SampleData); + } return sampleData; } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java index ba2ebc2..1506910 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java @@ -65,6 +65,7 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat } sampleIdToOperationId.clear(); + sampleIdToSortedSampleId.clear(); SpeciesCategoryCache speciesCategoryCache = importDataContext.getSpeciesCategoryCache(); @@ -124,19 +125,19 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat if (row.getMeanLength() != null) { //create meanLength data - addSampleData(sampleDataTypeMeanLength, null, row.getMeanLength(), sample, result); + addSampleData(sampleDataTypeMeanLength, null, row.getMeanLength(), sample, result, false); } if (row.getMeanWeight() != null) { //create meanWeight data - addSampleData(sampleDataTypeMeanWeight, null, row.getMeanWeight(), sample, result); + addSampleData(sampleDataTypeMeanWeight, null, row.getMeanWeight(), sample, result, false); } if (row.getNoPerKg() != null) { //create noPerKg data - addSampleData(sampleDataTypeNoPerKg, null, row.getNoPerKg(), sample, result); + addSampleData(sampleDataTypeNoPerKg, null, row.getNoPerKg(), sample, result, false); } Sample createdSortedSample = persistenceService.newSample(); -- 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/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 73511a8e4ed647a4f207bd8c7ab1c2c4eebf3acd Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:25:16 2016 +0200 Remove units column from subsample import in import data --- .../resources/import-data/catches/subsample.csv.gz | Bin 931 -> 920 bytes .../import-data/catches/subsample_all.csv.gz | Bin 23572 -> 22400 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/echobase-services/src/test/resources/import-data/catches/subsample.csv.gz b/echobase-services/src/test/resources/import-data/catches/subsample.csv.gz index e131169..11f8d83 100644 Binary files a/echobase-services/src/test/resources/import-data/catches/subsample.csv.gz and b/echobase-services/src/test/resources/import-data/catches/subsample.csv.gz differ diff --git a/echobase-services/src/test/resources/import-data/catches/subsample_all.csv.gz b/echobase-services/src/test/resources/import-data/catches/subsample_all.csv.gz index d16e515..05053c2 100644 Binary files a/echobase-services/src/test/resources/import-data/catches/subsample_all.csv.gz and b/echobase-services/src/test/resources/import-data/catches/subsample_all.csv.gz differ -- 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/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 8055fa73eae957c3458f5bf5de92b4c04c63dc6a Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:25:40 2016 +0200 Add test import database with total sample inside it --- .../echobase-operation-total-samples.h2.db.gz | Bin 0 -> 663495 bytes 1 file changed, 0 insertions(+), 0 deletions(-) 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 new file mode 100644 index 0000000..364e38f Binary files /dev/null and b/echobase-services/src/test/resources/import-data/echobase-operation-total-samples.h2.db.gz differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 5edc41de112f0c1fb6401dcc5e71bd2303cceddf Author: Tony CHEMIT <chemit@codelutin.com> Date: Sat Apr 2 12:26:10 2016 +0200 Sub sample import ok \o/ (See #8170) --- .../VoyageCatchesSubSampleImportAction.java | 221 ++++++++++++++++++++- .../importdata/csv/SubSampleImportExportModel.java | 13 +- .../service/importdata/csv/SubSampleImportRow.java | 34 +++- .../echobase/services/EchoBaseServiceFixtures.java | 10 + .../VoyageCatchesImportServiceOnlySubSampleIT.java | 25 ++- 5 files changed, 275 insertions(+), 28 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java index 2850772..8db9d65 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java @@ -1,7 +1,9 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.Sample; +import fr.ifremer.echobase.entities.data.SampleData; import fr.ifremer.echobase.entities.references.SampleDataType; import fr.ifremer.echobase.entities.references.SampleType; import fr.ifremer.echobase.entities.references.SexCategory; @@ -19,6 +21,11 @@ import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; import java.util.Collection; +import java.util.LinkedHashSet; +import java.util.Map; +import java.util.Set; +import java.util.TreeMap; +import java.util.TreeSet; /** * Created on 25/03/16. @@ -45,6 +52,9 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA return SubSampleImportExportModel.forExport(importDataContext); } + private final Map<String, String> sampleIdToOperationId = new TreeMap<>(); + private final Map<String, String> sampleDataIdToSampleId = new TreeMap<>(); + @Override protected void performImport(VoyageCatchesImportDataContext importDataContext, InputFile inputFile, ImportDataFileResult result) { @@ -61,6 +71,8 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA SampleDataType sampleDataTypeNumberAtLength1cm = importDataContext.getSampleDataTypeNumberAtLength1cm(); SampleDataType sampleDataTypeWeightAtLength = importDataContext.getSampleDataTypeWeightAtLength(); + Set<String> createdSampleIds = new TreeSet<>(); + try (Import<SubSampleImportRow> importer = open()) { incrementsProgress(); @@ -81,7 +93,7 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA // find the sample with this category Sample sample = operation.getSample(category, sampleTypeSubsample); - if (sample == null) { + if (sample == null || (sample.getSampleWeight() != null && !sample.getSampleWeight().equals(row.getSampleWeight()))) { // must create it sample = row.getSample(); @@ -90,10 +102,19 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA sample.setSampleType(sampleTypeSubsample); sample = addSample(operation, sample, result); + createdSampleIds.add(sample.getTopiaId()); + } + // add to sample ids cache (need to compute imported export later) + sampleIdToOperationId.put(sample.getTopiaId(), operation.getTopiaId()); + + addProcessedRow(result, row); + + boolean sampleWasCreated = createdSampleIds.contains(sample.getTopiaId()); + Integer round = row.getRound(); - SampleDataType dataType = sampleDataTypeNumberAtLength; + SampleDataType dataType; if (round == null) { dataType = sampleDataTypeNumberAtLength; @@ -101,15 +122,23 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA dataType = sampleDataTypeNumberAtLength05cm; } else if (round == 1) { dataType = sampleDataTypeNumberAtLength1cm; + } else { + throw new IllegalStateException("Can't deal with round value: " + round); } - //create numberAtLength data - addSampleData(dataType, "" + row.getLengthClass(), row.getNumberAtLength(), sample, result); + { + //create numberAtLength data + SampleData sampleData = addSampleData(dataType, "" + row.getLengthClass(), row.getNumberAtLength(), sample, result, true); + sampleDataIdToSampleId.put(sampleData.getTopiaId(), sample.getTopiaId()); + + } if (row.getWeightAtLength() != null) { //create weightAtLength data - addSampleData(sampleDataTypeWeightAtLength, "" + row.getLengthClass(), row.getWeightAtLength(), sample, result); + SampleData sampleData = addSampleData(sampleDataTypeWeightAtLength, "" + row.getLengthClass(), row.getWeightAtLength(), sample, result, true); + sampleDataIdToSampleId.put(sampleData.getTopiaId(), sample.getTopiaId()); + } } @@ -121,7 +150,187 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA @Override protected void computeImportedExport(VoyageCatchesImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + String currentSampleId = null; + + Set<String> sampleDataIds = new LinkedHashSet<>(); + + for (String importedId : result.getIds()) { + + if (log.isInfoEnabled()) { + log.info("Test imported id: " + importedId); + } + + if (importedId.startsWith(Sample.class.getName() + "#")) { + + // new sample to import + + if (currentSampleId == null) { + + // first sample to collect + currentSampleId = importedId; + + } else { + + // flush previous sample + addImportedSample(importDataContext, currentSampleId, result, sampleDataIds); + + // starts to collect new sample + currentSampleId = importedId; + sampleDataIds.clear(); + + } + + } else if (importedId.startsWith(SampleData.class.getName() + "#")) { + + // coming from an existing sample + String sampleId = sampleDataIdToSampleId.get(importedId); + Preconditions.checkNotNull(sampleId); + + if (currentSampleId == null) { + + // first sample to treat + currentSampleId = sampleId; + + } else { + + if (!currentSampleId.equals(sampleId)) { + + // flush previous sample + addImportedSample(importDataContext, currentSampleId, result, sampleDataIds); + + // starts to collect new sample + currentSampleId = sampleId; + sampleDataIds.clear(); + + } + + } + + // add this sample data to current sample to flush + sampleDataIds.add(importedId); + + } else { + throw new IllegalStateException("Cant deal with imported id: " + importedId); + } + + + } + + if (!sampleDataIds.isEmpty()) { + + // flush last sample + addImportedSample(importDataContext, currentSampleId, result, sampleDataIds); + + } + + } + + protected void addImportedSample(VoyageCatchesImportDataContext importDataContext, String sampleId, ImportDataFileResult result, Set<String> sampleDataIds) { + + String operationId = sampleIdToOperationId.get(sampleId); + Preconditions.checkNotNull(operationId); + + Operation operation = persistenceService.getOperation(operationId); + Preconditions.checkNotNull(operation); + + Sample sample = persistenceService.getSample(sampleId); + Preconditions.checkNotNull(sample); + + if (log.isInfoEnabled()) { + log.info("Adding sample: " + sample + " to imported export."); + } + + Set<SampleDataType> lengthSampleDataTypes = new LinkedHashSet<>(); + lengthSampleDataTypes.add(importDataContext.getSampleDataTypeNumberAtLength()); + lengthSampleDataTypes.add(importDataContext.getSampleDataTypeNumberAtLength05cm()); + lengthSampleDataTypes.add(importDataContext.getSampleDataTypeNumberAtLength1cm()); + + Preconditions.checkState(sample.isSampleDataNotEmpty()); + + SubSampleImportRow importedRow = null; + + String lastLengthClass = null; + boolean lengthDataTypeFound = false; + for (String sampleDataId : sampleDataIds) { + + SampleData aSampleData = sample.getSampleDataByTopiaId(sampleDataId); + + String lengthClass = aSampleData.getDataLabel(); + + boolean isLengthDataType = lengthSampleDataTypes.contains(aSampleData.getSampleDataType()); + + if (lastLengthClass == null) { + + // first row + lastLengthClass = lengthClass; + importedRow = SubSampleImportRow.of(operation, sample); + lengthDataTypeFound = false; + + } else { + + if ((isLengthDataType && lengthDataTypeFound) || !lengthClass.equals(lastLengthClass)) { + + // changing length class or length data type alredy found + addImportedRow(result, importedRow); + + lastLengthClass = lengthClass; + importedRow = SubSampleImportRow.of(operation, sample); + lengthDataTypeFound = false; + } + } + + if (log.isInfoEnabled()) { + log.info("Treated sample data: " + aSampleData); + } + + addImportedSampleData(importDataContext, importedRow, aSampleData); + + if (isLengthDataType) { + lengthDataTypeFound = true; + } + + } + + addImportedRow(result, importedRow); + + } + + protected void addImportedSampleData(VoyageCatchesImportDataContext importDataContext, SubSampleImportRow importedRow, SampleData sampleData) { + + SampleDataType sampleDataTypeNumberAtLength = importDataContext.getSampleDataTypeNumberAtLength(); + SampleDataType sampleDataTypeNumberAtLength05cm = importDataContext.getSampleDataTypeNumberAtLength05cm(); + SampleDataType sampleDataTypeNumberAtLength1cm = importDataContext.getSampleDataTypeNumberAtLength1cm(); + SampleDataType sampleDataTypeWeightAtLength = importDataContext.getSampleDataTypeWeightAtLength(); + + SampleDataType sampleDataType = sampleData.getSampleDataType(); + + if (sampleDataTypeNumberAtLength.equals(sampleDataType)) { + + importedRow.setNumberAtLength(sampleData.getDataValue()); +// importedRow.setUnits(sampleDataType.getUnits()); + + } else if (sampleDataTypeNumberAtLength05cm.equals(sampleDataType)) { + + importedRow.setNumberAtLength(sampleData.getDataValue()); + importedRow.setRound(5); +// importedRow.setUnits(sampleDataType.getUnits()); + + } else if (sampleDataTypeNumberAtLength1cm.equals(sampleDataType)) { + + importedRow.setNumberAtLength(sampleData.getDataValue()); + importedRow.setRound(1); +// importedRow.setUnits(sampleDataType.getUnits()); + + } else if (sampleDataTypeWeightAtLength.equals(sampleDataType)) { + + importedRow.setWeightAtLength(sampleData.getDataValue()); + importedRow.setUnits(sampleDataType.getUnits()); + + } else { + throw new IllegalStateException("Can't deal with this sampleData: " + sampleData); + } + + importedRow.setLengthClass(sampleData.getDataLabel()); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportExportModel.java index dda2685..840a107 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportExportModel.java @@ -49,12 +49,13 @@ public class SubSampleImportExportModel extends EchoBaseImportExportModelSupport model.newForeignKeyColumn(Species.PROPERTY_BARACOUDA_CODE, SubSampleImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, importDataContext.getSpeciesByBaracoudaCode()); model.newForeignKeyColumn(SubSampleImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, importDataContext.getSizeCategoriesByName()); model.newForeignKeyColumn(SubSampleImportRow.PROPERTY_SEX_CATEGORY, SexCategory.class, SexCategory.PROPERTY_NAME, importDataContext.getSexCategoriesByName()); + model.newMandatoryColumn(SubSampleImportRow.PROPERTY_LENGTH_CLASS); model.newMandatoryColumn(Sample.PROPERTY_SAMPLE_WEIGHT, EchoBaseCsvUtil.PRIMITIVE_FLOAT); model.newMandatoryColumn(Sample.PROPERTY_NUMBER_SAMPLED, EchoBaseCsvUtil.PRIMITIVE_INTEGER); model.newMandatoryColumn(SubSampleImportRow.PROPERTY_NUMBER_AT_LENGTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT); model.newMandatoryColumn(SubSampleImportRow.PROPERTY_WEIGHT_AT_LENGTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER_FORMATTER); - model.newMandatoryColumn(SubSampleImportRow.PROPERTY_LENGTH_CLASS); - model.newMandatoryColumn(SubSampleImportRow.PROPERTY_UNITS); +// model.newMandatoryColumn(SubSampleImportRow.PROPERTY_UNITS); + model.newIgnoredColumn(SubSampleImportRow.PROPERTY_UNITS); model.newMandatoryColumn(SubSampleImportRow.PROPERTY_ROUND, EchoBaseCsvUtil.NA_TO_INTEGER_PARSER_FORMATTER); return model; @@ -64,16 +65,16 @@ public class SubSampleImportExportModel extends EchoBaseImportExportModelSupport SubSampleImportExportModel model = new SubSampleImportExportModel(importDataContext.getCsvSeparator()); // model.newIgnoredColumn("subHaul"); - model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, EchoBaseCsvUtil.OPERATION_FORMATTER); - model.newColumnForExport(Species.PROPERTY_BARACOUDA_CODE, EchoBaseCsvUtil.SPECIES_FORMATTER); + model.newColumnForExport(EchoBaseCsvUtil.OPERATION_ID, TotalSampleImportRow.PROPERTY_OPERATION, EchoBaseCsvUtil.OPERATION_FORMATTER); + model.newColumnForExport(Species.PROPERTY_BARACOUDA_CODE, TotalSampleImportRow.PROPERTY_SPECIES, EchoBaseCsvUtil.SPECIES_FORMATTER); model.newColumnForExport(SubSampleImportRow.PROPERTY_SIZE_CATEGORY, EchoBaseCsvUtil.SIZE_CATEGORY_FORMATTER); model.newColumnForExport(SubSampleImportRow.PROPERTY_SEX_CATEGORY, EchoBaseCsvUtil.SEX_CATEGORY_FORMATTER); + model.newColumnForExport(SubSampleImportRow.PROPERTY_LENGTH_CLASS); model.newColumnForExport(Sample.PROPERTY_SAMPLE_WEIGHT, EchoBaseCsvUtil.PRIMITIVE_FLOAT); model.newColumnForExport(Sample.PROPERTY_NUMBER_SAMPLED, EchoBaseCsvUtil.PRIMITIVE_INTEGER); model.newColumnForExport(SubSampleImportRow.PROPERTY_NUMBER_AT_LENGTH, EchoBaseCsvUtil.PRIMITIVE_FLOAT); model.newColumnForExport(SubSampleImportRow.PROPERTY_WEIGHT_AT_LENGTH, EchoBaseCsvUtil.NA_TO_FLOAT_PARSER_FORMATTER); - model.newColumnForExport(SubSampleImportRow.PROPERTY_LENGTH_CLASS); - model.newColumnForExport(SubSampleImportRow.PROPERTY_UNITS); +// model.newColumnForExport(SubSampleImportRow.PROPERTY_UNITS); model.newColumnForExport(SubSampleImportRow.PROPERTY_ROUND, EchoBaseCsvUtil.NA_TO_INTEGER_PARSER_FORMATTER); return model; diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportRow.java index 1774c8f..c2f75e0 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/SubSampleImportRow.java @@ -43,8 +43,6 @@ public class SubSampleImportRow { public static final String PROPERTY_SEX_CATEGORY = "sexCategory"; - public static final String PROPERTY_SAMPLE = "sample"; - public static final String PROPERTY_NUMBER_AT_LENGTH = "numberAtLength"; public static final String PROPERTY_WEIGHT_AT_LENGTH = "weightAtLength"; @@ -55,22 +53,32 @@ public class SubSampleImportRow { public static final String PROPERTY_ROUND = "round"; protected final Sample sample; + protected Operation operation; protected Species species; protected SizeCategory sizeCategory; protected SexCategory sexCategory; protected float numberAtLength; - protected Float weightAtLength; - protected String lengthClass; - protected Integer round; - protected String units; + public static SubSampleImportRow of(Operation operation, Sample sample) { + SubSampleImportRow row = new SubSampleImportRow(sample); + row.setOperation(operation); + row.setSpecies(sample.getSpeciesCategory().getSpecies()); + row.setSizeCategory(sample.getSpeciesCategory().getSizeCategory()); + row.setSexCategory(sample.getSpeciesCategory().getSexCategory()); + return row; + } + + public SubSampleImportRow(Sample sample) { + this.sample = sample; + } + public SubSampleImportRow() { - sample = new SampleImpl(); + this(new SampleImpl()); } public Sample getSample() { @@ -117,14 +125,22 @@ public class SubSampleImportRow { this.units = units; } - public void setNumberSampled(Integer numberSampled) { - sample.setNumberSampled(numberSampled); + public Float getSampleWeight() { + return sample.getSampleWeight(); } public void setSampleWeight(Float sampleWeight) { sample.setSampleWeight(sampleWeight); } + public Integer getNumberSampled() { + return sample.getNumberSampled(); + } + + public void setNumberSampled(Integer numberSampled) { + sample.setNumberSampled(numberSampled); + } + public SexCategory getSexCategory() { return sexCategory; } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java index 86daaeb..54cf630 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseServiceFixtures.java @@ -45,6 +45,10 @@ public class EchoBaseServiceFixtures { return "/import-data/echobase-operation.h2.db.gz"; } + public String IMPORT_DATA_ECHOBASE_OPERATION_TOTAL_SAMPLES() { + return "/import-data/echobase-operation-total-samples.h2.db.gz"; + } + public String IMPORT_DATA_ECHOBASE_CATCHES() { return "/import-data/echobase-catches.h2.db.gz"; } @@ -117,6 +121,12 @@ public class EchoBaseServiceFixtures { return 200; } + public int NB_SAMPLE_UNSORTED_ALL() { + return 706; + } + + public int NB_SAMPLE_DATA_UNSORTED_ALL() { return 8057; } + public int NB_SAMPLE_BIOMETRY() { return 15; } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java index 8ea75db..852f915 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageCatchesImportServiceOnlySubSampleIT.java @@ -20,12 +20,13 @@ */ package fr.ifremer.echobase.services.service.importdata; +import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.data.Sample; import fr.ifremer.echobase.entities.data.SampleData; +import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageCatchesImportConfiguration; import java.io.IOException; -import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com @@ -34,9 +35,14 @@ import java.util.Set; public class VoyageCatchesImportServiceOnlySubSampleIT extends VoyageCatchesImportServiceITSupport { @Override + protected FakeEchoBaseServiceContext initContext() { + return new FakeEchoBaseServiceContext(fixtures.IMPORT_DATA_ECHOBASE_OPERATION_TOTAL_SAMPLES()); + } + + @Override protected VoyageCatchesImportConfiguration createConfiguration() throws IOException { VoyageCatchesImportConfiguration configuration = super.createConfiguration(); - prepareInputFile(configuration.getSubSampleFile(), getImportPath("subsample.csv.gz")); + prepareInputFile(configuration.getSubSampleFile(), getImportPath("subsample_all.csv.gz")); return configuration; } @@ -49,16 +55,21 @@ public class VoyageCatchesImportServiceOnlySubSampleIT extends VoyageCatchesImpo protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); - assertNoEntities(Sample.class, SampleData.class); + assertNbEntities(Sample.class, fixtures.NB_SAMPLE_TOTAL()); + assertNbEntities(SampleData.class, fixtures.NB_SAMPLE_DATA_TOTAL()); } @Override protected void assertAfertImport(ImportDataResult<VoyageCatchesImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); - assertNbIds(importDataFileResults, 0, fixtures.NB_SAMPLE_UNSORTED()); - assertCsvImportResult(importDataFileResults, 0, Sample.class, fixtures.NB_SAMPLE_UNSORTED()); - assertCsvImportResult(importDataFileResults, 0, SampleData.class, fixtures.NB_SAMPLE_DATA_UNSORTED()); + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + + int nbSamples = fixtures.NB_SAMPLE_UNSORTED_ALL(); + int nbSampleData = fixtures.NB_SAMPLE_DATA_UNSORTED_ALL(); + + assertCsvImportResultPerEntity(importDataFileResult, Sample.class, nbSamples, 0, nbSamples + fixtures.NB_SAMPLE_TOTAL()); + assertCsvImportResultPerEntity(importDataFileResult, SampleData.class, nbSampleData, 0, nbSampleData + fixtures.NB_SAMPLE_DATA_TOTAL()); + assertCsvImportResult0(importDataFileResult, nbSamples + nbSampleData); } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm