r633 - in trunk/echobase-services/src: main/java/fr/ifremer/echobase/services/importdata test/java/fr/ifremer/echobase/services test/java/fr/ifremer/echobase/services/importdata
Author: tchemit Date: 2012-09-07 12:57:12 +0200 (Fri, 07 Sep 2012) New Revision: 633 Url: http://forge.codelutin.com/repositories/revision/echobase/633 Log: refs #1437: Suppression des imports (marquage des ids de l'import) Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransectImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/EchoBaseCsvFileImportResult.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AcousticImportServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CatchesImportServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonAllImportServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransectImportServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/OperationImportServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportServiceIT.java Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportConfiguration.java 2012-09-07 10:57:12 UTC (rev 633) @@ -29,7 +29,6 @@ import fr.ifremer.echobase.io.EchoBaseIOUtil; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.AbstractEchobaseActionConfiguration; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import java.io.File; import java.util.List; @@ -61,7 +60,7 @@ protected ImportType importType; /** Result stats for each file imported. (mainly kept for testing purpose). */ - protected final List<CsvFileImportResult<EchoBaseEntityEnum>> importResults = + protected final List<EchoBaseCsvFileImportResult> importResults = Lists.newArrayList(); public File getWorkingDirectory() { @@ -84,7 +83,7 @@ return importType; } - public List<CsvFileImportResult<EchoBaseEntityEnum>> getImportResults() { + public List<EchoBaseCsvFileImportResult> getImportResults() { return importResults; } @@ -106,7 +105,7 @@ return result; } - public void addResult(CsvFileImportResult<EchoBaseEntityEnum> fileResult) { + public void addResult(EchoBaseCsvFileImportResult fileResult) { Set<EchoBaseEntityEnum> entityTypes = fileResult.getEntityTypes(); if (!entityTypes.isEmpty()) { importResults.add(fileResult); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -28,11 +28,11 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import fr.ifremer.echobase.EchoBaseTechnicalException; -import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.EntityModificationLog; +import fr.ifremer.echobase.entities.ImportLog; import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.CategoryDAO; import fr.ifremer.echobase.entities.data.Cell; @@ -49,6 +49,7 @@ import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO; +import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.EchoBaseServiceSupport; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -56,7 +57,6 @@ import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.StringUtil; import org.nuiton.util.TimeLog; import org.nuiton.util.csv.ImportRuntimeException; @@ -67,6 +67,7 @@ import java.io.IOException; import java.io.InputStreamReader; import java.io.Reader; +import java.util.Date; import java.util.List; import java.util.Locale; import java.util.Map; @@ -98,7 +99,8 @@ public final String doImport(M configuration, EchoBaseUser user) throws ImportException { - importLabel = computeImportLabel(configuration); + Locale locale = getLocale(); + importLabel = l_(locale, configuration.getImportType().getI18nKey()); long s0 = TimeLog.getTime(); @@ -126,13 +128,25 @@ } } - protected abstract String computeImportLabel(M configuration); + protected EchoBaseCsvFileImportResult newImportResult(InputFile inputFile) { + return new EchoBaseCsvFileImportResult(inputFile.getFileName()); + } - protected String computeResultAndLogBookEntry(M configuration, EchoBaseUser user, long time) { + + Date importDate = newDate(); + String importUser = user.getEmail(); + + ImportLog importLog = create(getDAO(ImportLog.class), + ImportLog.PROPERTY_IMPORT_TYPE, configuration.getImportType(), + ImportLog.PROPERTY_IMPORT_USER, importUser, + ImportLog.PROPERTY_IMPORT_DATE, importDate, + ImportLog.PROPERTY_IMPORT_TEXT, configuration.getImportNotes()); + + String importType = getImportLabel(); StringBuilder buffer = new StringBuilder(); @@ -145,8 +159,10 @@ buffer.append("Import réalisé en "); buffer.append(StringUtil.convertTime(time)); - for (CsvFileImportResult<EchoBaseEntityEnum> importResult : configuration.getImportResults()) { + for (EchoBaseCsvFileImportResult importResult : configuration.getImportResults()) { + importLog.addAllImportId(importResult.getIds()); + StringBuilder description = new StringBuilder(); description.append("Depuis Fichier ").append(importResult.getImportFileName()); @@ -173,8 +189,8 @@ create(getDAO(EntityModificationLog.class), EntityModificationLog.PROPERTY_ENTITY_TYPE, "Import", EntityModificationLog.PROPERTY_ENTITY_ID, importType, - EntityModificationLog.PROPERTY_MODIFICATION_USER, user.getEmail(), - EntityModificationLog.PROPERTY_MODIFICATION_DATE, newDate(), + EntityModificationLog.PROPERTY_MODIFICATION_USER, importUser, + EntityModificationLog.PROPERTY_MODIFICATION_DATE, importDate, EntityModificationLog.PROPERTY_MODIFICATION_TEXT, result ); return result; @@ -182,7 +198,7 @@ protected final String getImportLabel() { return importLabel; - }; + } protected abstract void startImport(M configuration, EchoBaseUser user) throws ImportException; @@ -273,7 +289,10 @@ return message; } - protected final void doFlushTransaction(int rowNumber, InputFile inputFile) { + protected final void doFlushTransaction(int rowNumber, + InputFile inputFile, + M configuration) { + configuration.incrementsProgression(); if (rowNumber % 1000 == 0) { // flush each 1000 imported rows String message = getImportMessage(inputFile); @@ -296,7 +315,7 @@ SizeCategory sizeCategory, AgeCategory ageCategory, SexCategory sexCategory, - CsvFileImportResult<EchoBaseEntityEnum> importResult) { + EchoBaseCsvFileImportResult importResult) { String key = species == null ? "" : species.getBaracoudaCode(); key += "#" + (ageCategory == null ? "" : ageCategory.getName()); @@ -344,7 +363,7 @@ Species species, SizeCategory sizeCategory, AgeCategory ageCategory, - CsvFileImportResult<EchoBaseEntityEnum> importResult) { + EchoBaseCsvFileImportResult importResult) { // get species categorie first @@ -367,7 +386,7 @@ CategoryDAO categoryDAO, Echotype echotype, SpeciesCategory speciesCategory, - CsvFileImportResult<EchoBaseEntityEnum> importResult) { + EchoBaseCsvFileImportResult importResult) { String key = speciesCategory == null ? "" : speciesCategory.getTopiaId(); key += "#" + (echotype == null ? "" : echotype.getName()); @@ -439,7 +458,7 @@ DataMetadata dataMetaData, String dataValue, DataQuality dataQuality, - CsvFileImportResult<EchoBaseEntityEnum> importResult) { + EchoBaseCsvFileImportResult importResult) { Data data = create(dao, Data.PROPERTY_DATA_METADATA, dataMetaData, @@ -455,7 +474,8 @@ Category category, String resultLabel, ResultDAO dao, - CsvFileImportResult<EchoBaseEntityEnum> importResult) { + EchoBaseCsvFileImportResult importResult, + boolean collecIds) { List<Result> results = row.getResult(); for (Result result : results) { @@ -466,7 +486,15 @@ Result resultCreated = create(dao, result); cell.addResult(resultCreated); - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result); + + if (collecIds) { + + // collect ids + importResult.addId(EchoBaseEntityEnum.Result, resultCreated); + } else { + + importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result); + } } } } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -27,8 +27,6 @@ import com.google.common.collect.Lists; import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.EchoBasePredicates; -import fr.ifremer.echobase.entities.ImportType; -import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; @@ -48,12 +46,12 @@ import fr.ifremer.echobase.entities.references.DataMetadata; import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.Vessel; +import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.importdata.csv.AcousticImportModel; import fr.ifremer.echobase.services.importdata.csv.AcousticImportRow; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.csv.Import; import org.nuiton.util.csv.ImportRuntimeException; @@ -80,11 +78,6 @@ LogFactory.getLog(AcousticImportService.class); @Override - protected String computeImportLabel(AcousticImportConfiguration configuration) { - return l_(getLocale(), ImportType.ACOUSTIC.getI18nKey()); - } - - @Override protected void startImport( AcousticImportConfiguration configuration, EchoBaseUser user) throws ImportException { @@ -105,11 +98,11 @@ CellType.class, CellType.PROPERTY_ID, "Elementary"); Preconditions.checkNotNull(elementaryCellType); - CsvFileImportResult importResult = importMoviesFile(configuration, - voyage, - vessel, - esduCellType, - elementaryCellType); + EchoBaseCsvFileImportResult importResult = importMoviesFile(configuration, + voyage, + vessel, + esduCellType, + elementaryCellType); configuration.addResult(importResult); } @@ -139,11 +132,11 @@ return result; } - private CsvFileImportResult importMoviesFile(AcousticImportConfiguration configuration, - Voyage voyage, - Vessel vessel, - CellType esduCellType, - CellType elementaryCellType + private EchoBaseCsvFileImportResult importMoviesFile(AcousticImportConfiguration configuration, + Voyage voyage, + Vessel vessel, + CellType esduCellType, + CellType elementaryCellType ) throws ImportException { InputFile inputFile = configuration.getMoviesFile(); @@ -152,8 +145,7 @@ log.info("Starts " + getImportMessage(inputFile)); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); Map<String, AcousticInstrument> instrumentsById = getEntitiesMap(AcousticInstrument.class, @@ -197,10 +189,8 @@ configuration.incrementsProgression(); for (AcousticImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); + doFlushTransaction(++rowNumber, inputFile, configuration); - configuration.incrementsProgression(); - if (dataProcessingId == null) { // compute once for all the common dataprocessing id used @@ -240,6 +230,8 @@ boolean isME70 = EchoBasePredicates.IS_ACOUSTIC_INSTRUMENT_ME70.apply(instrument); + boolean collectCellIds = true; + if (dataAcquisition == null || !instrument.equals(dataAcquisition.getAcousticInstrument())) { @@ -288,13 +280,17 @@ dataAcquisitionDAO ); + // collect id of the import + importResult.addId(EchoBaseEntityEnum.DataAcquisition, + dataAcquisition); + + // as the dataAcquisition is collected, then no need + // to collect cells ids + collectCellIds = false; + // add dataAcquisition to transect transect.addDataAcquisition(dataAcquisition); - // count creation in result - importResult.incrementsNumberCreated( - EchoBaseEntityEnum.DataAcquisition); - if (log.isDebugEnabled()) { log.debug("[row " + rowNumber + "] New dataAquisition to use (number: " + @@ -364,8 +360,16 @@ // clear elementary cells elementaryCells.clear(); - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell); + if (collectCellIds) { + + // collect ids (dataProcessing already exists) + importResult.addId(EchoBaseEntityEnum.Cell, esduCell); + } else { + + importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell); + } + // add it to data processing dataProcessing.addCell(esduCell); @@ -430,7 +434,7 @@ AcousticImportRow row, DataQuality dataQuality, DataDAO dao, - CsvFileImportResult<EchoBaseEntityEnum> importResult) { + EchoBaseCsvFileImportResult importResult) { String dataValue; @@ -499,7 +503,7 @@ AcousticImportRow row, DataQuality dataQuality, DataDAO dao, - CsvFileImportResult importResult) { + EchoBaseCsvFileImportResult importResult) { String dataValue; String startMeta; @@ -710,7 +714,7 @@ String metadataName, String dataValue, DataQuality dataQuality, - CsvFileImportResult<EchoBaseEntityEnum> importResult) { + EchoBaseCsvFileImportResult importResult) { createCellData( dao, cell, Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CatchesImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -27,8 +27,6 @@ import com.google.common.collect.Maps; import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.EchoBasePredicates; -import fr.ifremer.echobase.entities.ImportType; -import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.data.Operation; @@ -46,6 +44,7 @@ import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO; +import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.importdata.csv.BiometrySampleImportModel; import fr.ifremer.echobase.services.importdata.csv.BiometrySampleImportRow; import fr.ifremer.echobase.services.importdata.csv.SubSampleImportModel; @@ -54,7 +53,6 @@ import fr.ifremer.echobase.services.importdata.csv.TotalSampleImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.csv.Import; import org.nuiton.util.csv.ImportRuntimeException; @@ -78,11 +76,6 @@ LogFactory.getLog(CatchesImportService.class); @Override - protected String computeImportLabel(CatchesImportConfiguration configuration) { - return l_(getLocale(), ImportType.CATCHES.getI18nKey()); - } - - @Override protected void startImport(CatchesImportConfiguration configuration, EchoBaseUser user) throws ImportException { @@ -106,7 +99,7 @@ InputFile inputFile; - CsvFileImportResult<EchoBaseEntityEnum> importResult; + EchoBaseCsvFileImportResult importResult; inputFile = configuration.getTotalSampleFile(); if (inputFile.hasFile()) { @@ -146,7 +139,7 @@ } } - private CsvFileImportResult<EchoBaseEntityEnum> importTotalSampleFile( + private EchoBaseCsvFileImportResult importTotalSampleFile( CatchesImportConfiguration configuration, InputFile inputFile, Map<String, Operation> operationMap, @@ -158,8 +151,7 @@ inputFile.getFileName()); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); TotalSampleImportModel csvModel = new TotalSampleImportModel(getCsvSeparator(), operationMap, @@ -197,8 +189,7 @@ configuration.incrementsProgression(); for (TotalSampleImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Operation operation = row.getOperation(); Species species = row.getSpecies(); @@ -250,8 +241,6 @@ operation, sample, importResult); - } else { - sample = sample; } // create datas @@ -294,12 +283,11 @@ createdSortedSample.setSampleWeight(row.getSortedWeight()); // create sorted sample - addSample(sampleDAO, - operation, - createdSortedSample, - importResult); + createdSortedSample = addSample(sampleDAO, + operation, + createdSortedSample, + importResult); - } return importResult; @@ -310,7 +298,7 @@ } } - private CsvFileImportResult<EchoBaseEntityEnum> importSubSampleFile( + private EchoBaseCsvFileImportResult importSubSampleFile( CatchesImportConfiguration configuration, InputFile inputFile, Map<String, Operation> operationMap, @@ -328,8 +316,7 @@ EchoBaseFunctions.SEX_CATEGORY_NAME); - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); SubSampleImportModel csvModel = new SubSampleImportModel( getCsvSeparator(), @@ -365,8 +352,7 @@ int rowNumber = 0; for (SubSampleImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Operation operation = row.getOperation(); Species species = row.getSpecies(); @@ -439,7 +425,7 @@ } } - private CsvFileImportResult<EchoBaseEntityEnum> importBiometrySampleFile( + private EchoBaseCsvFileImportResult importBiometrySampleFile( CatchesImportConfiguration configuration, InputFile inputFile, Map<String, Operation> operationMap, @@ -455,8 +441,7 @@ SampleDataType.class, EchoBaseFunctions.SAMPLE_DATA_TYPE_NAME); - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); BiometrySampleImportModel csvModel = new BiometrySampleImportModel(getCsvSeparator(), @@ -483,15 +468,15 @@ int rowNumber = 0; for (BiometrySampleImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Operation operation = row.getOperation(); Species species = row.getSpecies(); int numFish = row.getNumFish(); - String sampleKey = operation.getId() + "_" + species.getBaracoudaCode() + "_" + numFish; + String sampleKey = operation.getId() + "_" + + species.getBaracoudaCode() + "_" + numFish; Sample sample = samples.get(sampleKey); @@ -539,12 +524,14 @@ private Sample addSample(SampleDAO dao, Operation operation, Sample sample, - CsvFileImportResult<EchoBaseEntityEnum> importResult) { + EchoBaseCsvFileImportResult importResult) { Preconditions.checkNotNull(operation); Preconditions.checkNotNull(sample); Sample result = create(dao, sample); operation.addSample(result); - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Sample); + + // collect ids + importResult.addId(EchoBaseEntityEnum.Sample, sample); return result; } @@ -553,7 +540,7 @@ String label, float value, Sample sample, - CsvFileImportResult<EchoBaseEntityEnum> importResult) { + EchoBaseCsvFileImportResult importResult) { SampleData sampleData = create( dao, SampleData.PROPERTY_SAMPLE_DATA_TYPE, sampleDataType, Copied: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java (from rev 625, trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java) =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonAllImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -0,0 +1,213 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * 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.importdata; + +import com.google.common.collect.Maps; +import fr.ifremer.echobase.EchoBaseFunctions; +import fr.ifremer.echobase.entities.EchoBaseEntityEnum; +import fr.ifremer.echobase.entities.EchoBaseUser; +import fr.ifremer.echobase.entities.data.Transit; +import fr.ifremer.echobase.entities.data.TransitDAO; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.data.VoyageDAO; +import fr.ifremer.echobase.entities.references.AreaOfOperation; +import fr.ifremer.echobase.entities.references.Mission; +import fr.ifremer.echobase.entities.references.Vessel; +import fr.ifremer.echobase.io.InputFile; +import fr.ifremer.echobase.services.importdata.csv.TransitImportModel; +import fr.ifremer.echobase.services.importdata.csv.TransitImportRow; +import fr.ifremer.echobase.services.importdata.csv.VoyageImportModel; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.nuiton.util.csv.Import; +import org.nuiton.util.csv.ImportModel; +import org.nuiton.util.csv.ImportRuntimeException; + +import java.io.Reader; +import java.util.Arrays; +import java.util.Locale; +import java.util.Map; + +import static org.nuiton.i18n.I18n.l_; + +/** + * Service to launch a "common all data" import. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.3 + */ +public class CommonAllImportService extends AbstractImportDataService<CommonImportConfiguration> { + + /** Logger. */ + private static final Log log = + LogFactory.getLog(CommonAllImportService.class); + + @Override + protected void startImport(CommonImportConfiguration configuration, + EchoBaseUser user) throws ImportException { + + // get usable vessels + Map<String, Vessel> vesselMap = getEntitiesMap( + Vessel.class, EchoBaseFunctions.VESSEL_NAME); + + EchoBaseCsvFileImportResult importResult; + + importResult = importVoyageFile(configuration); + configuration.addResult(importResult); + + importResult = importTransitFile(configuration); + configuration.addResult(importResult); + + CommonImportService service = getService(CommonImportService.class); + + importResult = service.importTransectFile(vesselMap, configuration, false); + configuration.addResult(importResult); + } + + protected EchoBaseCsvFileImportResult importVoyageFile( + CommonImportConfiguration configuration) throws ImportException { + + InputFile inputFile = configuration.getVoyageFile(); + + if (log.isInfoEnabled()) { + log.info("Starts import of voyages from file " + + inputFile.getFileName()); + } + + Mission mission = getEntityById(Mission.class, + configuration.getMissionId()); + AreaOfOperation areaOfOperation = + getEntityById(AreaOfOperation.class, + configuration.getAreaOfOperationId()); + + EchoBaseCsvFileImportResult result = newImportResult(inputFile); + + String voyageDescription = configuration.getVoyageDescription(); + String datum = configuration.getDatum(); + + VoyageDAO dao = getDAO(Voyage.class, VoyageDAO.class); + + ImportModel<Voyage> csvModel = new VoyageImportModel(getCsvSeparator()); + + Voyage newVoyage = null; + Locale locale = getLocale(); + Reader reader = getInputFileReader(inputFile); + try { + Import<Voyage> importer = Import.newImport(csvModel, reader); + + configuration.incrementsProgression(); + for (Voyage voyage : importer) { + + configuration.incrementsProgression(); + + voyage.setMission(mission); + voyage.setAreaOfOperation(areaOfOperation); + voyage.setDescription(voyageDescription); + voyage.setDatum(datum); + + Voyage createdVoyage = create(dao, voyage); + if (newVoyage == null) { + newVoyage = createdVoyage; + } else { + // this means a voyage file with more than one row not possible... + + throw new ImportException( + l_(locale, "echobase.importError.can.only.import.one.voyage.atime")); + } + + // collect id of the import + result.addId(EchoBaseEntityEnum.Voyage, voyage); + } + + if (newVoyage == null) { + throw new ImportException( + l_(locale, "echobase.importError.no.voyage.imported")); + } + + // push back to id of the voyage in configuration for next imports + configuration.setVoyageId(newVoyage.getTopiaId()); + + return result; + } catch (ImportRuntimeException e) { + throw new ImportException(locale, inputFile, e); + } finally { + closeReader(reader, inputFile); + } + } + + protected EchoBaseCsvFileImportResult importTransitFile( + CommonImportConfiguration configuration) throws ImportException { + + InputFile inputFile = configuration.getTransitFile(); + + if (log.isInfoEnabled()) { + log.info("Starts import of transits from file " + + inputFile.getFileName()); + } + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); + + // get voyage + Voyage voyage = getEntityById(Voyage.class, + configuration.getVoyageId()); + + // restrict voyage to use to this voyage + Map<String, Voyage> voyageMap = Maps.uniqueIndex( + Arrays.asList(voyage), EchoBaseFunctions.VOYAGE_NAME); + + String relatedActivity = configuration.getTransitRelatedActivity(); + + TransitImportModel csvModel = + new TransitImportModel(getCsvSeparator(), voyageMap); + + TransitDAO dao = getDAO(Transit.class, TransitDAO.class); + + Reader reader = getInputFileReader(inputFile); + try { + Import<TransitImportRow> importer = + Import.newImport(csvModel, reader); + + configuration.incrementsProgression(); + for (TransitImportRow row : importer) { + + configuration.incrementsProgression(); + Transit transit = row.getTransit(); + + transit.setRelatedActivity(relatedActivity); + + Transit createdTransit = create(dao, transit); + + voyage.addTransit(createdTransit); + + importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transit); + } + return importResult; + } catch (ImportRuntimeException e) { + throw new ImportException(getLocale(), inputFile, e); + } finally { + closeReader(reader, inputFile); + } + } + + +} Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -29,34 +29,26 @@ import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; +import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.TransectDAO; import fr.ifremer.echobase.entities.data.Transit; -import fr.ifremer.echobase.entities.data.TransitDAO; import fr.ifremer.echobase.entities.data.Voyage; -import fr.ifremer.echobase.entities.data.VoyageDAO; -import fr.ifremer.echobase.entities.references.AreaOfOperation; import fr.ifremer.echobase.entities.references.Mission; import fr.ifremer.echobase.entities.references.MissionDAO; import fr.ifremer.echobase.entities.references.Vessel; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.importdata.csv.TransectImportModel; import fr.ifremer.echobase.services.importdata.csv.TransectImportRow; -import fr.ifremer.echobase.services.importdata.csv.TransitImportModel; -import fr.ifremer.echobase.services.importdata.csv.TransitImportRow; -import fr.ifremer.echobase.services.importdata.csv.VoyageImportModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.TopiaException; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.csv.Import; -import org.nuiton.util.csv.ImportModel; import org.nuiton.util.csv.ImportRuntimeException; import java.io.Reader; import java.util.Arrays; import java.util.Date; -import java.util.Locale; import java.util.Map; import static org.nuiton.i18n.I18n.l_; @@ -73,49 +65,31 @@ private static final Log log = LogFactory.getLog(CommonImportService.class); @Override - protected String computeImportLabel(CommonImportConfiguration configuration) { - String result = l_(getLocale(), - configuration.getImportType().getI18nKey()); - return result; - } + public void startImport(CommonImportConfiguration configuration, + EchoBaseUser user) throws ImportException { - @Override - protected void startImport( - CommonImportConfiguration configuration, - EchoBaseUser user) throws ImportException { + ImportType importMode = configuration.getImportType(); - // get usable vessels - Map<String, Vessel> vesselMap = getEntitiesMap( - Vessel.class, EchoBaseFunctions.VESSEL_NAME); + AbstractImportDataService<CommonImportConfiguration> service; - switch (configuration.getImportType()) { + switch (importMode) { - case COMMON_ALL: { + case COMMON_ALL: + service = getService(CommonAllImportService.class); + break; - CsvFileImportResult<EchoBaseEntityEnum> importResult; + case COMMON_TRANSECT: - importResult = importVoyageFile(configuration); - configuration.addResult(importResult); + service = getService(CommonTransectImportService.class); + break; - importResult = importTransitFile(configuration); - configuration.addResult(importResult); - - importResult = importTransectFile(vesselMap, configuration); - configuration.addResult(importResult); - } - break; - case COMMON_TRANSECT: { - - CsvFileImportResult<EchoBaseEntityEnum> importResult; - - importResult = importTransectFile(vesselMap, configuration); - configuration.addResult(importResult); - } - break; + default: + throw new EchoBaseTechnicalException( + "Can not treate import result of type " + importMode); } + service.startImport(configuration, user); } - public Mission createMission(Mission mission) throws MissionNameAlreadyExistException { Preconditions.checkNotNull(mission); @@ -138,134 +112,10 @@ } } - protected CsvFileImportResult<EchoBaseEntityEnum> importVoyageFile( - CommonImportConfiguration configuration) throws ImportException { - - InputFile inputFile = configuration.getVoyageFile(); - - if (log.isInfoEnabled()) { - log.info("Starts import of voyages from file " + - inputFile.getFileName()); - } - - Mission mission = getEntityById(Mission.class, - configuration.getMissionId()); - AreaOfOperation areaOfOperation = - getEntityById(AreaOfOperation.class, - configuration.getAreaOfOperationId()); - - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); - - String voyageDescription = configuration.getVoyageDescription(); - String datum = configuration.getDatum(); - - VoyageDAO dao = getDAO(Voyage.class, VoyageDAO.class); - - ImportModel<Voyage> csvModel = new VoyageImportModel(getCsvSeparator()); - - Voyage newVoyage = null; - Locale locale = getLocale(); - Reader reader = getInputFileReader(inputFile); - try { - Import<Voyage> importer = Import.newImport(csvModel, reader); - - configuration.incrementsProgression(); - for (Voyage voyage : importer) { - - configuration.incrementsProgression(); - - voyage.setMission(mission); - voyage.setAreaOfOperation(areaOfOperation); - voyage.setDescription(voyageDescription); - voyage.setDatum(datum); - - Voyage createdVoyage = create(dao, voyage); - if (newVoyage == null) { - newVoyage = createdVoyage; - } else { - // this means a voyage file with more than one row not possible... - - throw new ImportException( - l_(locale, "echobase.importError.can.only.import.one.voyage.atime")); - } - - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Voyage); - } - - if (newVoyage == null) { - throw new ImportException( - l_(locale, "echobase.importError.no.voyage.imported")); - } - - // push back to id of the voyage in configuration for next imports - configuration.setVoyageId(newVoyage.getTopiaId()); - - return importResult; - } catch (ImportRuntimeException e) { - throw new ImportException(locale, inputFile, e); - } finally { - closeReader(reader, inputFile); - } - } - - protected CsvFileImportResult<EchoBaseEntityEnum> importTransitFile( - CommonImportConfiguration configuration) throws ImportException { - - InputFile inputFile = configuration.getTransitFile(); - - if (log.isInfoEnabled()) { - log.info("Starts import of transits from file " + - inputFile.getFileName()); - } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); - - // get voyage - Voyage voyage = getEntityById(Voyage.class, - configuration.getVoyageId()); - - // restrict voyage to use to this voyage - Map<String, Voyage> voyageMap = Maps.uniqueIndex( - Arrays.asList(voyage), EchoBaseFunctions.VOYAGE_NAME); - - String relatedActivity = configuration.getTransitRelatedActivity(); - - TransitImportModel csvModel = - new TransitImportModel(getCsvSeparator(), voyageMap); - - TransitDAO dao = getDAO(Transit.class, TransitDAO.class); - - Reader reader = getInputFileReader(inputFile); - try { - Import<TransitImportRow> importer = - Import.newImport(csvModel, reader); - - configuration.incrementsProgression(); - for (TransitImportRow row : importer) { - - configuration.incrementsProgression(); - Transit transit = row.getTransit(); - - transit.setRelatedActivity(relatedActivity); - - Transit createdTransit = create(dao, transit); - - voyage.addTransit(createdTransit); - - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transit); - } - return importResult; - } catch (ImportRuntimeException e) { - throw new ImportException(getLocale(), inputFile, e); - } finally { - closeReader(reader, inputFile); - } - } - - private CsvFileImportResult<EchoBaseEntityEnum> importTransectFile( + protected EchoBaseCsvFileImportResult importTransectFile( Map<String, Vessel> vesselMap, - CommonImportConfiguration configuration) throws ImportException { + CommonImportConfiguration configuration, + boolean collectIds) throws ImportException { InputFile inputFile = configuration.getTransectFile(); @@ -274,8 +124,7 @@ inputFile.getFileName()); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); // get voyage Voyage voyage = getEntityById(Voyage.class, @@ -329,7 +178,16 @@ Transect createdTransect = create(dao, transect); transit.addTransect(createdTransect); - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transect); + + if (collectIds) { + + // collect id of the import + importResult.addId(EchoBaseEntityEnum.Transect, + createdTransect); + } else { + + importResult.incrementsNumberCreated(EchoBaseEntityEnum.Transect); + } } return importResult; Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransectImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransectImportService.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransectImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -0,0 +1,57 @@ +/* + * #%L + * EchoBase :: Services + * + * $Id$ + * $HeadURL$ + * %% + * 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.importdata; + +import fr.ifremer.echobase.EchoBaseFunctions; +import fr.ifremer.echobase.entities.EchoBaseUser; +import fr.ifremer.echobase.entities.references.Vessel; + +import java.util.Map; + +/** + * Service to launch a "common transect data" import. + * + * @author tchemit <chemit@codelutin.com> + * @since 0.3 + */ +public class CommonTransectImportService extends AbstractImportDataService<CommonImportConfiguration> { + + + @Override + protected void startImport( + CommonImportConfiguration configuration, + EchoBaseUser user) throws ImportException { + + // get usable vessels + Map<String, Vessel> vesselMap = getEntitiesMap( + Vessel.class, EchoBaseFunctions.VESSEL_NAME); + + EchoBaseCsvFileImportResult importResult; + + CommonImportService service = getService(CommonImportService.class); + + importResult = service.importTransectFile(vesselMap, configuration, true); + configuration.addResult(importResult); + } +} Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/CommonTransectImportService.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Added: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/EchoBaseCsvFileImportResult.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/EchoBaseCsvFileImportResult.java (rev 0) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/EchoBaseCsvFileImportResult.java 2012-09-07 10:57:12 UTC (rev 633) @@ -0,0 +1,62 @@ +package fr.ifremer.echobase.services.importdata; + +/* + * #%L + * EchoBase :: Services + * $Id$ + * $HeadURL$ + * %% + * Copyright (C) 2011 - 2012 Ifremer, Codelutin + * %% + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * #L% + */ + +import com.google.common.collect.Lists; +import fr.ifremer.echobase.entities.EchoBaseEntityEnum; +import fr.ifremer.echobase.entities.ImportLog; +import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; + +import java.util.List; + +/** + * {@link CsvFileImportResult} with support for ids to keep in the + * {@link ImportLog#getImportId()}. + * + * @author tchemit <chemit@codelutin.com> + * @since 1.2 + */ +public class EchoBaseCsvFileImportResult extends CsvFileImportResult<EchoBaseEntityEnum> { + + private static final long serialVersionUID = 1L; + + protected final List<String> ids; + + public EchoBaseCsvFileImportResult(String importFileName) { + super(importFileName, EchoBaseEntityEnum.values()); + ids = Lists.newArrayList(); + } + + public <E extends TopiaEntity> void addId(EchoBaseEntityEnum entityEnum, E... entities) { + for (E entity : entities) { + this.ids.add(entity.getTopiaId()); + incrementsNumberCreated(entityEnum); + } + } + + public List<String> getIds() { + return ids; + } +} Property changes on: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/EchoBaseCsvFileImportResult.java ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: svn:eol-style + native Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/OperationImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -27,7 +27,6 @@ import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; -import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.GearMetadataValue; import fr.ifremer.echobase.entities.data.GearMetadataValueDAO; import fr.ifremer.echobase.entities.data.Operation; @@ -51,7 +50,6 @@ import fr.ifremer.echobase.services.importdata.csv.OperationMetadataValueImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.csv.Import; import org.nuiton.util.csv.ImportRuntimeException; @@ -60,8 +58,6 @@ import java.util.Date; import java.util.Map; -import static org.nuiton.i18n.I18n.l_; - /** * Service to launch a "operations" import. * @@ -75,11 +71,6 @@ LogFactory.getLog(OperationImportService.class); @Override - protected String computeImportLabel(OperationImportConfiguration configuration) { - return l_(getLocale(), ImportType.OPERATION.getI18nKey()); - } - - @Override protected void startImport( OperationImportConfiguration configuration, EchoBaseUser user) throws ImportException { @@ -96,13 +87,12 @@ Map<String, Gear> gearMap = getEntitiesMap( Gear.class, EchoBaseFunctions.GEAR_CASINO_GEAR_NAME); - CsvFileImportResult<EchoBaseEntityEnum> importResult; + EchoBaseCsvFileImportResult importResult; - importResult = importOperationFile( - configuration, - voyage, - vesselMap, - gearMap); + importResult = importOperationFile(configuration, + voyage, + vesselMap, + gearMap); configuration.addResult(importResult); // get all operation for this voyage and this vessel @@ -112,21 +102,19 @@ Map<String, Operation> operationMap = Maps.uniqueIndex( operations, EchoBaseFunctions.OPERATION_ID); - importResult = importOperationMetadataFile( - configuration, - vesselMap, - operationMap); + importResult = importOperationMetadataFile(configuration, + vesselMap, + operationMap); configuration.addResult(importResult); - importResult = importGearMetadataFile( - configuration, - vesselMap, - gearMap, - operationMap); + importResult = importGearMetadataFile(configuration, + vesselMap, + gearMap, + operationMap); configuration.addResult(importResult); } - protected CsvFileImportResult<EchoBaseEntityEnum> importOperationFile( + protected EchoBaseCsvFileImportResult importOperationFile( OperationImportConfiguration configuration, Voyage voyage, Map<String, Vessel> vesselMap, @@ -140,8 +128,7 @@ inputFile.getFileName()); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); Map<String, DepthStratum> depthStratumMap = getEntitiesMap( DepthStratum.class, EchoBaseFunctions.DEPTH_STRATUM_ID); @@ -163,8 +150,7 @@ int rowNumber = 0; for (OperationImportRow row : importer) { - configuration.incrementsProgression(); - doFlushTransaction(++rowNumber, inputFile); + doFlushTransaction(++rowNumber, inputFile, configuration); Vessel vessel = row.getVessel(); Operation operation = row.getOperation(); @@ -178,9 +164,11 @@ Operation createdOperation = create(dao, operation); - transect.addOperation(createdOperation); + // collect ids + importResult.addId(EchoBaseEntityEnum.Operation, + createdOperation); - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Operation); + transect.addOperation(createdOperation); } return importResult; @@ -191,7 +179,7 @@ } } - protected CsvFileImportResult<EchoBaseEntityEnum> importOperationMetadataFile( + protected EchoBaseCsvFileImportResult importOperationMetadataFile( OperationImportConfiguration configuration, Map<String, Vessel> vesselMap, Map<String, Operation> operationMap) throws ImportException { @@ -203,8 +191,7 @@ inputFile.getFileName()); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); Map<String, OperationMetadata> operationMetadatasByName = getEntitiesMap(OperationMetadata.class, @@ -229,8 +216,7 @@ configuration.incrementsProgression(); for (OperationMetadataValueImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Operation operation = row.getOperation(); OperationMetadataValue operationMetadataValueToCreate = @@ -249,7 +235,7 @@ } } - protected CsvFileImportResult<EchoBaseEntityEnum> importGearMetadataFile( + protected EchoBaseCsvFileImportResult importGearMetadataFile( OperationImportConfiguration configuration, Map<String, Vessel> vesselMap, Map<String, Gear> gearMap, @@ -262,8 +248,7 @@ inputFile.getFileName()); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); Map<String, GearMetadata> gearMetadatasByType = getEntitiesMap(GearMetadata.class, @@ -288,8 +273,7 @@ configuration.incrementsProgression(); for (GearMetadataValueImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Operation operation = row.getOperation(); GearMetadataValue gearMetadataValuetoCreate = Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -25,8 +25,6 @@ import com.google.common.collect.Maps; import fr.ifremer.echobase.EchoBaseFunctions; -import fr.ifremer.echobase.entities.ImportType; -import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.data.Category; @@ -46,6 +44,7 @@ import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO; +import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.importdata.csv.EsduResultByEchotypeAndSpeciesCategoryImportModel; import fr.ifremer.echobase.services.importdata.csv.EsduResultByEchotypeAndSpeciesCategoryImportRow; import fr.ifremer.echobase.services.importdata.csv.EsduResultByEchotypeImportModel; @@ -56,7 +55,6 @@ import fr.ifremer.echobase.services.importdata.csv.EsduResultBySpeciesAndSizeCategoryImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.csv.Import; import org.nuiton.util.csv.ImportRuntimeException; import org.nuiton.util.csv.ext.CsvReaders; @@ -66,8 +64,6 @@ import java.util.List; import java.util.Map; -import static org.nuiton.i18n.I18n.l_; - /** * To import results attached to a voyage (but not cells). * @@ -81,11 +77,6 @@ LogFactory.getLog(ResultsEsduCellImportService.class); @Override - protected String computeImportLabel(ResultsImportConfiguration configuration) { - return l_(getLocale(), ImportType.RESULT_ESDU.getI18nKey()); - } - - @Override public void startImport( ResultsImportConfiguration configuration, EchoBaseUser user) throws ImportException { @@ -130,20 +121,19 @@ voyage.getEchotype(), EchoBaseFunctions.ECHOTYPE_NAME); InputFile inputFile; - CsvFileImportResult<EchoBaseEntityEnum> importResult; + EchoBaseCsvFileImportResult importResult; inputFile = configuration.getEsduByEchotypeFile(); if (inputFile.hasFile()) { - importResult = importByEchotypeFile( - configuration, - inputFile, - voyage, - voyageMap, - echotypeMap, - dataMetadataMap, - esduCellMap, - dataQualityMap); + importResult = importByEchotypeFile(configuration, + inputFile, + voyage, + voyageMap, + echotypeMap, + dataMetadataMap, + esduCellMap, + dataQualityMap); configuration.addResult(importResult); } @@ -195,7 +185,7 @@ } } - private CsvFileImportResult<EchoBaseEntityEnum> importByEchotypeFile( + private EchoBaseCsvFileImportResult importByEchotypeFile( ResultsImportConfiguration configuration, InputFile inputFile, Voyage voyage, @@ -214,8 +204,7 @@ String[] header = CsvReaders.getHeader(inputFile.getFile(), getCsvSeparator()); - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); List<DataMetadata> metas = getMetas( EsduResultByEchotypeImportModel.COLUMN_NAMES_TO_EXCLUDE, @@ -246,8 +235,7 @@ for (EsduResultByEchotypeImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Cell cell = row.getCell(); @@ -256,7 +244,7 @@ null, importResult); - addResults(row, cell, category, resultLabel, dao, importResult); + addResults(row, cell, category, resultLabel, dao, importResult, true); } return importResult; } catch (ImportRuntimeException e) { @@ -266,7 +254,7 @@ } } - private CsvFileImportResult<EchoBaseEntityEnum> importByEchotypeAndSpeciesCategoryFile( + private EchoBaseCsvFileImportResult importByEchotypeAndSpeciesCategoryFile( ResultsImportConfiguration configuration, InputFile inputFile, Voyage voyage, @@ -288,8 +276,7 @@ String[] header = CsvReaders.getHeader(inputFile.getFile(), getCsvSeparator()); - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); List<DataMetadata> metas = getMetas( @@ -326,8 +313,7 @@ int rowNumber = 0; for (EsduResultByEchotypeAndSpeciesCategoryImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Cell cell = row.getCell(); @@ -339,7 +325,7 @@ null, importResult); - addResults(row, cell, category, resultLabel, dao, importResult); + addResults(row, cell, category, resultLabel, dao, importResult, true); } return importResult; @@ -350,7 +336,7 @@ } } - private CsvFileImportResult<EchoBaseEntityEnum> importBySpeciesAndSizeCategoryFile( + private EchoBaseCsvFileImportResult importBySpeciesAndSizeCategoryFile( ResultsImportConfiguration configuration, InputFile inputFile, Voyage voyage, Map<String, Voyage> voyageMap, @@ -370,8 +356,7 @@ getCsvSeparator()); - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); List<DataMetadata> metas = getMetas( @@ -409,8 +394,7 @@ int rowNumber = 0; for (EsduResultBySpeciesAndSizeCategoryImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Cell cell = row.getCell(); @@ -443,7 +427,7 @@ null, importResult); - addResults(row, cell, category, resultLabel, dao, importResult); + addResults(row, cell, category, resultLabel, dao, importResult, true); } return importResult; @@ -454,7 +438,7 @@ } } - private CsvFileImportResult<EchoBaseEntityEnum> importBySpeciesAndAgeCategoryFile( + private EchoBaseCsvFileImportResult importBySpeciesAndAgeCategoryFile( ResultsImportConfiguration configuration, InputFile inputFile, Voyage voyage, @@ -475,8 +459,7 @@ getCsvSeparator()); - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); List<DataMetadata> metas = getMetas( @@ -512,8 +495,7 @@ int rowNumber = 0; for (EsduResultBySpeciesAndAgeCategoryImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Cell cell = row.getCell(); @@ -546,7 +528,7 @@ ageCategory, importResult); - addResults(row, cell, category, resultLabel, dao, importResult); + addResults(row, cell, category, resultLabel, dao, importResult, true); } return importResult; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -46,27 +46,11 @@ public class ResultsImportService extends AbstractImportDataService<ResultsImportConfiguration> { @Override - protected String computeImportLabel(ResultsImportConfiguration configuration) { - - AbstractImportDataService<ResultsImportConfiguration> service = - getService(configuration.getImportType()); - - String result = service.computeImportLabel(configuration); - return result; - } - - @Override public void startImport(ResultsImportConfiguration configuration, EchoBaseUser user) throws ImportException { ImportType importMode = configuration.getImportType(); - AbstractImportDataService<ResultsImportConfiguration> service = getService(importMode); - - service.startImport(configuration, user); - } - - private AbstractImportDataService<ResultsImportConfiguration> getService(ImportType importMode) { AbstractImportDataService<ResultsImportConfiguration> service; switch (importMode) { @@ -93,7 +77,7 @@ throw new EchoBaseTechnicalException( "Can not treate import result of type " + importMode); } - return service; + service.startImport(configuration, user); } public Map<String, String> getDataProcessings(Voyage voyage) { Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -26,8 +26,6 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Maps; import fr.ifremer.echobase.EchoBaseFunctions; -import fr.ifremer.echobase.entities.ImportType; -import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.data.Category; @@ -47,11 +45,11 @@ import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO; +import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.importdata.csv.MapCellImportModel; import fr.ifremer.echobase.services.importdata.csv.MapCellImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.csv.Import; import org.nuiton.util.csv.ImportRuntimeException; import org.nuiton.util.csv.ext.CsvReaders; @@ -61,8 +59,6 @@ import java.util.List; import java.util.Map; -import static org.nuiton.i18n.I18n.l_; - /** * To import map results attached to a voyage. * @@ -76,11 +72,6 @@ LogFactory.getLog(ResultsMapCellImportService.class); @Override - protected String computeImportLabel(ResultsImportConfiguration configuration) { - return l_(getLocale(), ImportType.RESULT_MAP.getI18nKey()); - } - - @Override public void startImport( ResultsImportConfiguration configuration, EchoBaseUser user) throws ImportException { @@ -89,12 +80,12 @@ Voyage voyage = getEntityById(Voyage.class, configuration.getVoyageId()); - CsvFileImportResult<EchoBaseEntityEnum> importResult; + EchoBaseCsvFileImportResult importResult; importResult = importMapFile(configuration, voyage); configuration.addResult(importResult); } - protected CsvFileImportResult<EchoBaseEntityEnum> importMapFile( + protected EchoBaseCsvFileImportResult importMapFile( ResultsImportConfiguration configuration, Voyage voyage) throws ImportException { @@ -175,8 +166,7 @@ metas, dataQualityMap); - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); CellDAO dao = getDAO(Cell.class, CellDAO.class); DataDAO dataDao = getDAO(Data.class, DataDAO.class); @@ -195,13 +185,14 @@ int rowNumber = 0; for (MapCellImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Cell cell = create(dao, row.getCell()); voyage.addPostCell(cell); - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell); + // collect ids + importResult.addId(EchoBaseEntityEnum.Cell, cell); + DataQuality dataQuality = row.getDataQuality(); // add gridCellLongitude data @@ -266,7 +257,7 @@ row.getAgeCategory(), importResult); - addResults(row, cell, category, resultLabel, resultDao, importResult); + addResults(row, cell, category, resultLabel, resultDao, importResult, false); } return importResult; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -26,8 +26,6 @@ import com.google.common.base.Preconditions; import com.google.common.collect.Maps; import fr.ifremer.echobase.EchoBaseFunctions; -import fr.ifremer.echobase.entities.ImportType; -import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.data.Category; @@ -47,6 +45,7 @@ import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO; +import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.importdata.csv.RegionCellAssociationImportModel; import fr.ifremer.echobase.services.importdata.csv.RegionCellAssociationImportRow; import fr.ifremer.echobase.services.importdata.csv.RegionCellImportModel; @@ -55,7 +54,6 @@ import fr.ifremer.echobase.services.importdata.csv.RegionCellResultImportRow; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.csv.Import; import org.nuiton.util.csv.ImportRuntimeException; import org.nuiton.util.csv.ext.CsvReaders; @@ -65,8 +63,6 @@ import java.util.List; import java.util.Map; -import static org.nuiton.i18n.I18n.l_; - /** * To import regions results attached to a voyage. * @@ -80,11 +76,6 @@ LogFactory.getLog(ResultsRegionCellImportService.class); @Override - protected String computeImportLabel(ResultsImportConfiguration configuration) { - return l_(getLocale(), ImportType.RESULT_VOYAGE.getI18nKey()); - } - - @Override public void startImport( ResultsImportConfiguration configuration, EchoBaseUser user) throws ImportException { @@ -96,7 +87,7 @@ Map<String, DataQuality> dataQualityMap = getEntitiesMap( DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME); - CsvFileImportResult<EchoBaseEntityEnum> importResult; + EchoBaseCsvFileImportResult importResult; importResult = importRegionFile(configuration, voyage, dataQualityMap); configuration.addResult(importResult); @@ -108,7 +99,7 @@ configuration.addResult(importResult); } - protected CsvFileImportResult<EchoBaseEntityEnum> importRegionFile( + protected EchoBaseCsvFileImportResult importRegionFile( ResultsImportConfiguration configuration, Voyage voyage, Map<String, DataQuality> dataQualityMap) throws ImportException { @@ -153,8 +144,7 @@ inputFile.getFileName()); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); CellDAO dao = getDAO(Cell.class, CellDAO.class); DataDAO dataDao = getDAO(Data.class, DataDAO.class); @@ -169,11 +159,8 @@ configuration.incrementsProgression(); int rowNumber = 0; for (RegionCellImportRow row : importer) { - configuration.incrementsProgression(); - rowNumber++; - doFlushTransaction(rowNumber, inputFile); - + doFlushTransaction(++rowNumber, inputFile, configuration); if (cell == null || !row.getName().equals(cell.getName())) { cell = create(dao, @@ -181,8 +168,10 @@ Cell.PROPERTY_NAME, row.getName() ); voyage.addPostCell(cell); - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell); + // collect ids + importResult.addId(EchoBaseEntityEnum.Cell, cell); + // add surface data createCellData(dataDao, cell, @@ -211,7 +200,7 @@ } } - protected CsvFileImportResult<EchoBaseEntityEnum> importRegionAssociationFile( + protected EchoBaseCsvFileImportResult importRegionAssociationFile( ResultsImportConfiguration configuration, Voyage voyage) throws ImportException { @@ -236,8 +225,7 @@ regionsMap, getDAO(Cell.class, CellDAO.class)); - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); Reader reader = getInputFileReader(inputFile); try { @@ -248,9 +236,7 @@ int rowNumber = 0; for (RegionCellAssociationImportRow row : importer) { - rowNumber++; - doFlushTransaction(rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Cell regionCell = row.getRegionCell(); Cell esduCell = row.getEsduCell(); @@ -266,7 +252,7 @@ } } - protected CsvFileImportResult<EchoBaseEntityEnum> importRegionResultFile( + protected EchoBaseCsvFileImportResult importRegionResultFile( ResultsImportConfiguration configuration, Voyage voyage, Map<String, DataQuality> dataQualityMap) throws ImportException { @@ -304,7 +290,6 @@ String[] header = CsvReaders.getHeader(inputFile.getFile(), getCsvSeparator()); - List<DataMetadata> metas = getMetas( RegionCellResultImportModel.COLUMN_NAMES_TO_EXCLUDE, dataMetadataMap, @@ -322,8 +307,7 @@ String resultLabel = configuration.getResultLabel(); - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); SpeciesCategoryDAO speciesCategoryDAO = getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class); @@ -339,9 +323,7 @@ int rowNumber = 0; for (RegionCellResultImportRow row : importer) { - rowNumber++; - doFlushTransaction(rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Cell cell = row.getCell(); @@ -353,7 +335,7 @@ null, importResult); - addResults(row, cell, category, resultLabel, dao, importResult); + addResults(row, cell, category, resultLabel, dao, importResult, false); } return importResult; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportService.java 2012-09-07 10:57:12 UTC (rev 633) @@ -28,8 +28,6 @@ import com.google.common.collect.Maps; import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.EchoBasePredicates; -import fr.ifremer.echobase.entities.ImportType; -import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.data.Echotype; @@ -43,6 +41,7 @@ import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.entities.references.SpeciesCategoryDAO; import fr.ifremer.echobase.entities.references.Strata; +import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.importdata.csv.EchotypeImportModel; import fr.ifremer.echobase.services.importdata.csv.EchotypeImportRow; import fr.ifremer.echobase.services.importdata.csv.LengthAgeKeyImportModel; @@ -52,7 +51,6 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.topia.persistence.TopiaDAO; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.csv.Import; import org.nuiton.util.csv.ImportRuntimeException; @@ -61,8 +59,6 @@ import java.util.Collection; import java.util.Map; -import static org.nuiton.i18n.I18n.l_; - /** * To import results attached to a voyage (but not cells). * @@ -76,11 +72,6 @@ LogFactory.getLog(ResultsVoyageImportService.class); @Override - protected String computeImportLabel(ResultsImportConfiguration configuration) { - return l_(getLocale(), ImportType.RESULT_VOYAGE.getI18nKey()); - } - - @Override public void startImport(ResultsImportConfiguration configuration, EchoBaseUser user) throws ImportException { @@ -101,7 +92,7 @@ InputFile inputFile; - CsvFileImportResult<EchoBaseEntityEnum> importResult; + EchoBaseCsvFileImportResult importResult; inputFile = configuration.getLengthAgeKeyFile(); if (inputFile.hasFile()) { @@ -142,7 +133,7 @@ } } - protected CsvFileImportResult<EchoBaseEntityEnum> importLenghtWeightKey( + protected EchoBaseCsvFileImportResult importLenghtWeightKey( ResultsImportConfiguration configuration, InputFile inputFile, Map<String, Voyage> voyageMap, @@ -154,8 +145,8 @@ inputFile.getFileName()); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = new EchoBaseCsvFileImportResult( + inputFile.getFileName()); Map<String, SizeCategory> sizeCategoryMap = getEntitiesMap( SizeCategory.class, @@ -184,8 +175,7 @@ int rowNumber = 0; for (LengthWeightKeyImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Voyage voyage = row.getVoyage(); // find speciesCategory @@ -220,7 +210,7 @@ } } - protected CsvFileImportResult<EchoBaseEntityEnum> importLenthAgeKey( + protected EchoBaseCsvFileImportResult importLenthAgeKey( ResultsImportConfiguration configuration, InputFile inputFile, Map<String, Voyage> voyageMap, @@ -232,8 +222,7 @@ inputFile.getFileName()); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); LengthAgeKeyImportModel csvModel = new LengthAgeKeyImportModel( serviceContext.getConfiguration().getCsvSeparator(), @@ -253,8 +242,7 @@ int rowNumber = 0; for (LengthAgeKeyImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Voyage voyage = row.getVoyage(); @@ -264,7 +252,9 @@ // attach it to voyage voyage.addLengthAgeKey(lengthAgeKey); - importResult.incrementsNumberCreated(EchoBaseEntityEnum.LengthAgeKey); + // collect ids + importResult.addId(EchoBaseEntityEnum.LengthAgeKey, + lengthAgeKey); } return importResult; } catch (ImportRuntimeException e) { @@ -274,7 +264,7 @@ } } - private CsvFileImportResult<EchoBaseEntityEnum> importEchotypeFile( + private EchoBaseCsvFileImportResult importEchotypeFile( ResultsImportConfiguration configuration, InputFile inputFile, Map<String, Voyage> voyageMap, @@ -285,8 +275,7 @@ inputFile.getFileName()); } - CsvFileImportResult<EchoBaseEntityEnum> importResult = CsvFileImportResult.newResult( - inputFile.getFileName(), EchoBaseEntityEnum.values()); + EchoBaseCsvFileImportResult importResult = newImportResult(inputFile); Map<String, DepthStratum> depthStratumMap = getEntitiesMap( DepthStratum.class, @@ -310,8 +299,7 @@ int rowNumber = 0; for (EchotypeImportRow row : importer) { - doFlushTransaction(++rowNumber, inputFile); - configuration.incrementsProgression(); + doFlushTransaction(++rowNumber, inputFile, configuration); Voyage voyage = row.getVoyage(); @@ -340,7 +328,8 @@ // attach it to voyage voyage.addEchotype(echotype); - importResult.incrementsNumberCreated(EchoBaseEntityEnum.Echotype); + // collect ids + importResult.addId(EchoBaseEntityEnum.Echotype, echotype); } else { Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/EchoBaseTestServiceSupport.java 2012-09-07 10:57:12 UTC (rev 633) @@ -24,12 +24,13 @@ package fr.ifremer.echobase.services; import com.google.common.base.Preconditions; -import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.EchoBaseUserImpl; import fr.ifremer.echobase.entities.data.DataProcessing; import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.io.InputFile; +import fr.ifremer.echobase.services.importdata.EchoBaseCsvFileImportResult; import org.apache.commons.io.FileUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; @@ -39,7 +40,6 @@ import org.junit.Rule; import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaEntity; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.StringUtil; import java.io.File; @@ -136,35 +136,40 @@ } } - protected <E extends TopiaEntity> void assertCsvImportResult(CsvFileImportResult<EchoBaseEntityEnum> actual, + protected <E extends TopiaEntity> void assertCsvImportResult(EchoBaseCsvFileImportResult actual, Class<E> entityType, - int numberCreated) throws TopiaException { + int numberCreated, + int nbIds) throws TopiaException { assertCsvImportResult(actual, entityType, numberCreated, 0, - numberCreated); + numberCreated, + nbIds); } - protected <E extends TopiaEntity> void assertCsvImportResult(List<CsvFileImportResult<EchoBaseEntityEnum>> actual, + protected <E extends TopiaEntity> void assertCsvImportResult(List<EchoBaseCsvFileImportResult> actual, int pos, Class<E> entityType, - int numberCreated) throws TopiaException { + int numberCreated, + int nbIds) throws TopiaException { Assert.assertTrue(actual.size() >= pos); assertCsvImportResult(actual.get(pos), entityType, numberCreated, 0, - numberCreated); + numberCreated, + nbIds); } - protected <E extends TopiaEntity> void assertCsvImportResult(CsvFileImportResult<EchoBaseEntityEnum> actual, + protected <E extends TopiaEntity> void assertCsvImportResult(EchoBaseCsvFileImportResult actual, Class<E> entityType, int numberCreated, int numberUpdated, - int nbCount) throws TopiaException { + int nbCount, + int nbIds) throws TopiaException { Assert.assertNotNull(actual); Set<EchoBaseEntityEnum> entityTypes = actual.getEntityTypes(); EchoBaseEntityEnum expectedEntityType = EchoBaseEntityEnum.valueOf(entityType); @@ -172,16 +177,18 @@ Assert.assertEquals(numberCreated, actual.getNumberCreated(expectedEntityType)); Assert.assertEquals(numberUpdated, actual.getNumberUpdated(expectedEntityType)); assertNbEntities(entityType, nbCount); + Assert.assertEquals(nbIds, actual.getIds().size()); } - protected <E extends TopiaEntity> void assertCsvImportResult(List<CsvFileImportResult<EchoBaseEntityEnum>> results, + protected <E extends TopiaEntity> void assertCsvImportResult(List<EchoBaseCsvFileImportResult> results, int pos, Class<E> entityType, int numberCreated, int numberUpdated, - int nbCount) throws TopiaException { + int nbCount, + int nbIds) throws TopiaException { Assert.assertTrue(results.size() >= pos); - CsvFileImportResult actual = results.get(pos); + EchoBaseCsvFileImportResult actual = results.get(pos); Assert.assertNotNull(actual); Set<EchoBaseEntityEnum> entityTypes = actual.getEntityTypes(); EchoBaseEntityEnum expectedEntityType = EchoBaseEntityEnum.valueOf(entityType); @@ -189,6 +196,7 @@ Assert.assertEquals(numberCreated, actual.getNumberCreated(expectedEntityType)); Assert.assertEquals(numberUpdated, actual.getNumberUpdated(expectedEntityType)); assertNbEntities(entityType, nbCount); + Assert.assertEquals(nbIds, actual.getIds().size()); } protected <E extends TopiaEntity> void assertNbEntities(Class<E> entityType, Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -29,7 +29,6 @@ import fr.ifremer.echobase.EchoBaseFunctions; import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.CellDAO; @@ -58,7 +57,6 @@ import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.topia.persistence.csv.in.AbstractImportModel; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import org.nuiton.util.TimeLog; import org.nuiton.util.csv.Import; import org.nuiton.util.csv.ext.CsvReaders; @@ -176,9 +174,9 @@ } protected <M extends AbstractImportConfiguration, S extends AbstractImportDataService<M>> - List<CsvFileImportResult<EchoBaseEntityEnum>> doImport(M conf, - Class<S> serviceType, - int nbResults) throws ImportException { + List<EchoBaseCsvFileImportResult> doImport(M conf, + Class<S> serviceType, + int nbResults) throws ImportException { S service = getService(serviceType); @@ -190,7 +188,7 @@ TIME_LOG.log(s0, "doImport"); - List<CsvFileImportResult<EchoBaseEntityEnum>> result = conf.getImportResults(); + List<EchoBaseCsvFileImportResult> result = conf.getImportResults(); Assert.assertNotNull(result); Assert.assertEquals(nbResults, result.size()); Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AcousticImportServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AcousticImportServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AcousticImportServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -23,8 +23,6 @@ */ package fr.ifremer.echobase.services.importdata; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Data; import fr.ifremer.echobase.entities.data.DataAcquisition; @@ -84,13 +82,13 @@ prepareInputFile(conf.getMoviesFile(), getImportPath("movies.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, AcousticImportService.class, 1); - assertCsvImportResult(result, 0, DataAcquisition.class, NB_DATA_ACQUISITION); - assertCsvImportResult(result, 0, DataProcessing.class, NB_DATA_PROCESSING); - assertCsvImportResult(result, 0, Cell.class, NB_CELL); - assertCsvImportResult(result, 0, Data.class, NB_DATA); + assertCsvImportResult(result, 0, DataAcquisition.class, NB_DATA_ACQUISITION,NB_DATA_ACQUISITION); + assertCsvImportResult(result, 0, DataProcessing.class, NB_DATA_PROCESSING,0); + assertCsvImportResult(result, 0, Cell.class, NB_CELL,0); + assertCsvImportResult(result, 0, Data.class, NB_DATA,0); assertImportAcousticDatas(); } Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CatchesImportServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CatchesImportServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CatchesImportServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -23,8 +23,6 @@ */ package fr.ifremer.echobase.services.importdata; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import fr.ifremer.echobase.entities.data.Sample; import fr.ifremer.echobase.entities.data.SampleData; import fr.ifremer.echobase.entities.references.SpeciesCategory; @@ -69,19 +67,19 @@ prepareInputFile(conf.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, CatchesImportService.class, 3); - assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_TOTAL, 0, NB_SAMPLE); - assertCsvImportResult(result, 0, SampleData.class, NB_SAMPLE_DATA_TOTAL, 0, NB_SAMPLE_DATA); - assertCsvImportResult(result, 0, SpeciesCategory.class, 4,0,456); + assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_TOTAL, 0, NB_SAMPLE, NB_SAMPLE_TOTAL); + assertCsvImportResult(result, 0, SampleData.class, NB_SAMPLE_DATA_TOTAL, 0, NB_SAMPLE_DATA, 0); + assertCsvImportResult(result, 0, SpeciesCategory.class, 4, 0, 456, 0); - assertCsvImportResult(result, 1, Sample.class, NB_SAMPLE_UNSORTED, 0, NB_SAMPLE); - assertCsvImportResult(result, 1, SampleData.class, NB_SAMPLE_DATA_UNSORTED, 0, NB_SAMPLE_DATA); - assertCsvImportResult(result, 1, SpeciesCategory.class, 9, 0, 456); + assertCsvImportResult(result, 1, Sample.class, NB_SAMPLE_UNSORTED, 0, NB_SAMPLE, NB_SAMPLE_UNSORTED); + assertCsvImportResult(result, 1, SampleData.class, NB_SAMPLE_DATA_UNSORTED, 0, NB_SAMPLE_DATA, 0); + assertCsvImportResult(result, 1, SpeciesCategory.class, 9, 0, 456, 0); - assertCsvImportResult(result, 2, Sample.class, NB_SAMPLE_BIOMETRY, 0, NB_SAMPLE); - assertCsvImportResult(result, 2, SampleData.class, NB_SAMPLE_DATA_BIOMETRY, 0, NB_SAMPLE_DATA); + assertCsvImportResult(result, 2, Sample.class, NB_SAMPLE_BIOMETRY, 0, NB_SAMPLE, NB_SAMPLE_BIOMETRY); + assertCsvImportResult(result, 2, SampleData.class, NB_SAMPLE_DATA_BIOMETRY, 0, NB_SAMPLE_DATA, 0); assertImportSampleDatas(); } @@ -102,11 +100,11 @@ prepareInputFile(conf.getTotalSampleFile(), getImportPath("totalsample.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, CatchesImportService.class, 1); - assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_TOTAL); - assertCsvImportResult(result, 0, SampleData.class, NB_SAMPLE_DATA_TOTAL); + assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_TOTAL, NB_SAMPLE_TOTAL); + assertCsvImportResult(result, 0, SampleData.class, NB_SAMPLE_DATA_TOTAL, 0); } @Ignore @@ -125,11 +123,11 @@ prepareInputFile(conf.getSubSampleFile(), getImportPath("subsample.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, CatchesImportService.class, 1); - assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_UNSORTED); - assertCsvImportResult(result, 0, SampleData.class, NB_SAMPLE_DATA_UNSORTED); + assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_UNSORTED, NB_SAMPLE_UNSORTED); + assertCsvImportResult(result, 0, SampleData.class, NB_SAMPLE_DATA_UNSORTED, 0); } @Ignore @@ -148,10 +146,10 @@ prepareInputFile(conf.getBiometrySampleFile(), getImportPath("biometrysample.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, CatchesImportService.class, 1); - assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_BIOMETRY); - assertCsvImportResult(result, 0, SampleData.class, NB_SAMPLE_DATA_BIOMETRY); + assertCsvImportResult(result, 0, Sample.class, NB_SAMPLE_BIOMETRY, NB_SAMPLE_BIOMETRY); + assertCsvImportResult(result, 0, SampleData.class, NB_SAMPLE_DATA_BIOMETRY, 0); } } Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonAllImportServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonAllImportServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonAllImportServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -23,14 +23,12 @@ */ package fr.ifremer.echobase.services.importdata; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import org.junit.Test; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import java.util.List; @@ -79,12 +77,12 @@ conf.setImportType(ImportType.COMMON_ALL); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; - result = doImport(conf, CommonImportService.class, 3); + List<EchoBaseCsvFileImportResult> result; + result = doImport(conf, CommonAllImportService.class, 3); - assertCsvImportResult(result, 0, Voyage.class, NB_VOYAGE); - assertCsvImportResult(result, 1, Transit.class, NB_TRANSIT); - assertCsvImportResult(result, 2, Transect.class, NB_TRANSECT); + assertCsvImportResult(result, 0, Voyage.class, NB_VOYAGE,NB_VOYAGE); + assertCsvImportResult(result, 1, Transit.class, NB_TRANSIT,0); + assertCsvImportResult(result, 2, Transect.class, NB_TRANSECT,0); assertImportCommonData(); } Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransectImportServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransectImportServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/CommonTransectImportServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -23,13 +23,11 @@ */ package fr.ifremer.echobase.services.importdata; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Transect; import fr.ifremer.echobase.entities.data.Transit; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import org.junit.Test; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import java.util.List; @@ -75,10 +73,10 @@ transit.clearTransect(); } - List<CsvFileImportResult<EchoBaseEntityEnum>> result; - result = doImport(conf, CommonImportService.class, 1); + List<EchoBaseCsvFileImportResult> result; + result = doImport(conf, CommonTransectImportService.class, 1); - assertCsvImportResult(result, 0, Transect.class, NB_TRANSECT); + assertCsvImportResult(result, 0, Transect.class, NB_TRANSECT,NB_TRANSECT); assertImportCommonData(); } Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/OperationImportServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/OperationImportServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/OperationImportServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -23,8 +23,6 @@ */ package fr.ifremer.echobase.services.importdata; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import fr.ifremer.echobase.entities.data.GearMetadataValue; import fr.ifremer.echobase.entities.data.Operation; import fr.ifremer.echobase.entities.data.OperationMetadataValue; @@ -70,12 +68,12 @@ prepareInputFile(conf.getGearMetadataFile(), getImportPath("gearmetadatavalue.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, OperationImportService.class, 3); - assertCsvImportResult(result, 0, Operation.class, NB_OPERATION); - assertCsvImportResult(result, 1, OperationMetadataValue.class, NB_OPERATION_METADATAVALUE); - assertCsvImportResult(result, 2, GearMetadataValue.class, NB_GEAR_METADATAVALUE); + assertCsvImportResult(result, 0, Operation.class, NB_OPERATION,NB_OPERATION); + assertCsvImportResult(result, 1, OperationMetadataValue.class, NB_OPERATION_METADATAVALUE,0); + assertCsvImportResult(result, 2, GearMetadataValue.class, NB_GEAR_METADATAVALUE,0); assertImportOperations(); } Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -23,16 +23,14 @@ */ package fr.ifremer.echobase.services.importdata; -import fr.ifremer.echobase.entities.ImportType; -import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.csv.EchoBaseCsvUtil; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; +import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.references.AgeCategory; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.SpeciesCategory; +import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import org.junit.Test; @@ -79,11 +77,11 @@ conf.setDataProcessingId(getDataProcessingId()); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsEsduCellImportService.class, 1); - assertCsvImportResult(result, 0, Result.class, 43533); - assertCsvImportResult(result, 0, Category.class, 7); + assertCsvImportResult(result, 0, Result.class, 43533,43533); + assertCsvImportResult(result, 0, Category.class, 7,0); } @Test @@ -111,12 +109,12 @@ conf.setDataProcessingId(getDataProcessingId()); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsEsduCellImportService.class, 1); - assertCsvImportResult(result, 0, Result.class, 357291); - assertCsvImportResult(result, 0, Category.class, 27); - assertCsvImportResult(result, 0, SpeciesCategory.class, 1, 0, 457); + assertCsvImportResult(result, 0, Result.class, 357291,357291); + assertCsvImportResult(result, 0, Category.class, 27,0); + assertCsvImportResult(result, 0, SpeciesCategory.class, 1, 0, 457,0); } @Test @@ -144,13 +142,13 @@ conf.setDataProcessingId(getDataProcessingId()); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsEsduCellImportService.class, 1); - assertCsvImportResult(result, 0, Result.class, 68108); - assertCsvImportResult(result, 0, Category.class, 129); - assertCsvImportResult(result, 0, SpeciesCategory.class, 129, 0, 585); - assertCsvImportResult(result, 0, SizeCategory.class, 62, 0, 69); + assertCsvImportResult(result, 0, Result.class, 68108,68108); + assertCsvImportResult(result, 0, Category.class, 129,0); + assertCsvImportResult(result, 0, SpeciesCategory.class, 129, 0, 585,0); + assertCsvImportResult(result, 0, SizeCategory.class, 62, 0, 69,0); } @Test @@ -178,13 +176,13 @@ conf.setDataProcessingId(getDataProcessingId()); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsEsduCellImportService.class, 1); - assertCsvImportResult(result, 0, Category.class, 14); - assertCsvImportResult(result, 0, Result.class, 10021); - assertCsvImportResult(result, 0, AgeCategory.class, 6, 0, 10); - assertCsvImportResult(result, 0, SpeciesCategory.class, 14, 0, 470); + assertCsvImportResult(result, 0, Category.class, 14,0); + assertCsvImportResult(result, 0, Result.class, 10021,10021); + assertCsvImportResult(result, 0, AgeCategory.class, 6, 0, 10,0); + assertCsvImportResult(result, 0, SpeciesCategory.class, 14, 0, 470,0); } } \ No newline at end of file Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -23,9 +23,7 @@ */ package fr.ifremer.echobase.services.importdata; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.ImportType; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Data; @@ -71,13 +69,13 @@ prepareInputFile(conf.getMapsFile(), getImportPath("maps.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsMapCellImportService.class, 1); - 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(result, 0, Cell.class, 380, 380); + assertCsvImportResult(result, 0, Data.class, 2280, 0); + assertCsvImportResult(result, 0, Result.class, 380, 0); + assertCsvImportResult(result, 0, Category.class, 1, 0); } } \ No newline at end of file Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -23,9 +23,7 @@ */ package fr.ifremer.echobase.services.importdata; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.ImportType; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Data; @@ -81,15 +79,15 @@ conf.getVoyageId(), conf.getRegionAssociationFile()); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsRegionCellImportService.class, 3); - 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); + assertCsvImportResult(result, 0, Cell.class, 10, 0, 2083,10); + assertCsvImportResult(result, 0, Data.class, 238,0); + assertCsvImportResult(result, 1, Cell.class, 0, 4146, 2083,0); + assertCsvImportResult(result, 2, Result.class, 2128,0); + assertCsvImportResult(result, 2, Category.class, 27,0); + assertCsvImportResult(result, 2, SpeciesCategory.class, 1, 0, 457,0); } } \ No newline at end of file Modified: trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportServiceIT.java =================================================================== --- trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportServiceIT.java 2012-09-07 10:19:04 UTC (rev 632) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsVoyageImportServiceIT.java 2012-09-07 10:57:12 UTC (rev 633) @@ -23,9 +23,7 @@ */ package fr.ifremer.echobase.services.importdata; -import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.ImportType; -import org.nuiton.topia.persistence.csv.in.CsvFileImportResult; import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.entities.data.LengthWeightKey; @@ -74,12 +72,12 @@ getImportPath("lengthWeightKey.csv.gz")); prepareInputFile(conf.getEchotypeFile(), getImportPath("echotype.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsVoyageImportService.class, 3); - assertCsvImportResult(result, 0, LengthAgeKey.class, NB_LENGTH_AGE_KEY); - assertCsvImportResult(result, 1, LengthWeightKey.class, NB_LENGTH_WEIGHT_KEY); - assertCsvImportResult(result, 2, Echotype.class, NB_ECHOTYPE); + assertCsvImportResult(result, 0, LengthAgeKey.class, NB_LENGTH_AGE_KEY, NB_LENGTH_AGE_KEY); + assertCsvImportResult(result, 1, LengthWeightKey.class, NB_LENGTH_WEIGHT_KEY, NB_LENGTH_WEIGHT_KEY); + assertCsvImportResult(result, 2, Echotype.class, NB_ECHOTYPE, NB_ECHOTYPE); } @Ignore @@ -101,10 +99,10 @@ prepareInputFile(conf.getLengthAgeKeyFile(), getImportPath("lengthAgeKey.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsVoyageImportService.class, 1); - assertCsvImportResult(result, 0, LengthAgeKey.class, NB_LENGTH_AGE_KEY); + assertCsvImportResult(result, 0, LengthAgeKey.class, NB_LENGTH_AGE_KEY, NB_LENGTH_AGE_KEY); } @Ignore @@ -126,10 +124,10 @@ prepareInputFile(conf.getLengthWeightKeyFile(), getImportPath("lengthWeightKey.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsVoyageImportService.class, 1); - assertCsvImportResult(result, 0, LengthWeightKey.class, NB_LENGTH_WEIGHT_KEY); + assertCsvImportResult(result, 0, LengthWeightKey.class, NB_LENGTH_WEIGHT_KEY, NB_LENGTH_WEIGHT_KEY); } @Ignore @@ -150,10 +148,10 @@ prepareInputFile(conf.getEchotypeFile(), getImportPath("echotype.csv.gz")); - List<CsvFileImportResult<EchoBaseEntityEnum>> result; + List<EchoBaseCsvFileImportResult> result; result = doImport(conf, ResultsVoyageImportService.class, 1); - assertCsvImportResult(result, 0, Echotype.class, NB_ECHOTYPE); + assertCsvImportResult(result, 0, Echotype.class, NB_ECHOTYPE, NB_ECHOTYPE); } } \ No newline at end of file
participants (1)
-
tchemit@users.forge.codelutin.com