r427 - in trunk/echobase-services/src: main/java/fr/ifremer/echobase/services/importdata main/java/fr/ifremer/echobase/services/importdata/csv test/java/fr/ifremer/echobase/services/importdata test/resources/import-data/result/region
Author: tchemit Date: 2012-03-28 18:06:49 +0200 (Wed, 28 Mar 2012) New Revision: 427 Url: http://forge.codelutin.com/repositories/revision/echobase/427 Log: region result import is done :) Added: trunk/echobase-services/src/test/resources/import-data/result/region/regionResults.csv.gz 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/ResultsEsduCellImportService.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/csv/RegionCellResultImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.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/ResultsRegionCellImportServiceIT.java trunk/echobase-services/src/test/resources/import-data/result/region/regionAssociations.csv.gz 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-03-28 16:06:23 UTC (rev 426) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-03-28 16:06:49 UTC (rev 427) @@ -25,6 +25,7 @@ import com.google.common.base.Charsets; import com.google.common.base.Function; +import com.google.common.collect.Lists; import com.google.common.collect.Maps; import fr.ifremer.echobase.EchoBaseTechnicalException; import fr.ifremer.echobase.InputFile; @@ -36,6 +37,7 @@ import fr.ifremer.echobase.entities.data.CategoryDAO; import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.entities.references.AgeCategory; +import fr.ifremer.echobase.entities.references.DataMetadata; import fr.ifremer.echobase.entities.references.SexCategory; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; @@ -46,6 +48,7 @@ import org.nuiton.topia.TopiaException; import org.nuiton.topia.persistence.TopiaDAO; import org.nuiton.topia.persistence.TopiaEntity; +import org.nuiton.util.csv.ImportRuntimeException; import java.io.BufferedReader; import java.io.FileInputStream; @@ -54,9 +57,14 @@ import java.io.InputStreamReader; import java.io.Reader; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Set; +import java.util.regex.Matcher; +import java.util.regex.Pattern; +import static org.nuiton.i18n.I18n.l_; + /** * Abstract data import service. * @@ -65,6 +73,9 @@ */ public abstract class AbstractImportDataService<M extends AbstractImportConfiguration> extends EchoBaseServiceSupport { + public static final Pattern REMOVE_DOUBLE_QUOTES_PATTERN = + Pattern.compile("\"(.+)\""); + public final List<CsvFileImportResult> doImport(M configuration, EchoBaseUser user) throws ImportException { @@ -304,4 +315,36 @@ return category; } + + protected List<DataMetadata> getMetas(String[] columnNamesToExclude, + Map<String, DataMetadata> dataMetadataMap, + String... headers) { + + List<String> metadataNames = Lists.newArrayList(headers); + for (String columnToExclude : columnNamesToExclude) { + metadataNames.remove(columnToExclude); + metadataNames.remove("\"" + columnToExclude + "\""); + } + + List<DataMetadata> result = Lists.newArrayList(); + + Locale locale = getLocale(); + + for (String metadataName : metadataNames) { + + Matcher matcher = REMOVE_DOUBLE_QUOTES_PATTERN.matcher(metadataName); + if (matcher.matches()) { + metadataName = matcher.group(1); + } + DataMetadata dataMetadata = dataMetadataMap.get(metadataName); + if (dataMetadata == null) { + throw new ImportRuntimeException( + l_(locale, "echobase.importError.dataMetadata.notFound", + metadataName, + dataMetadataMap.keySet())); + } + result.add(dataMetadata); + } + return result; + } } 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-03-28 16:06:23 UTC (rev 426) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-03-28 16:06:49 UTC (rev 427) @@ -38,6 +38,7 @@ import fr.ifremer.echobase.entities.data.CellDAO; import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.data.ResultDAO; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.AgeCategory; import fr.ifremer.echobase.entities.references.AgeCategoryDAO; @@ -66,10 +67,7 @@ import java.io.Reader; import java.util.List; -import java.util.Locale; import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; import static org.nuiton.i18n.I18n.l_; @@ -85,9 +83,6 @@ private static final Log log = LogFactory.getLog(ResultsEsduCellImportService.class); - public static final Pattern REMOVE_DOUBLE_QUOTES_PATTERN = - Pattern.compile("\"(.+)\""); - @Override protected String getImportLabel() { return l_(getLocale(), ImportDataMode.Results.getI18nKey()); @@ -322,11 +317,15 @@ dataMetadataMap, header); - CellDAO cellDAO = (CellDAO) getDAO(Cell.class); + CellDAO cellDAO = getDAO(Cell.class, CellDAO.class); SpeciesCategoryDAO speciesCategoryDAO = getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class); + CategoryDAO categoryDAO = getDAO(Category.class, CategoryDAO.class); + + ResultDAO dao = getDAO(Result.class, ResultDAO.class); + EsduResultByEchotypeAndSpeciesCategoryImportModel csvModel = new EsduResultByEchotypeAndSpeciesCategoryImportModel( serviceContext.getConfiguration().getCsvSeparator(), echotypeMap, @@ -336,8 +335,8 @@ cellDAO, metas); - CategoryDAO categoryDAO = (CategoryDAO) getDAO(Category.class); + DecoratorService decoratorService = getService(DecoratorService.class); Decorator<Category> categoryDecorator = decoratorService.getDecorator(getLocale(), Category.class, null); @@ -376,8 +375,6 @@ List<Result> results = row.getResult(); - TopiaDAO<Result> dao = getDAO(Result.class); - for (Result result : results) { result.setCategory(category); @@ -646,37 +643,4 @@ closeReader(reader, inputFile); } } - - protected List<DataMetadata> getMetas(String[] columnNamesToExclude, - Map<String, DataMetadata> dataMetadataMap, - String... headers) { - - List<String> metadataNames = Lists.newArrayList(headers); - for (String columnToExclude : columnNamesToExclude) { - metadataNames.remove(columnToExclude); - metadataNames.remove("\"" + columnToExclude + "\""); - } - - List<DataMetadata> result = Lists.newArrayList(); - - Locale locale = getLocale(); - - for (String metadataName : metadataNames) { - - Matcher matcher = REMOVE_DOUBLE_QUOTES_PATTERN.matcher(metadataName); - if (matcher.matches()) { - metadataName = matcher.group(1); - } - DataMetadata dataMetadata = dataMetadataMap.get(metadataName); - if (dataMetadata == null) { - throw new ImportRuntimeException( - l_(locale, "echobase.importError.dataMetadata.notFound", - metadataName, - dataMetadataMap.keySet())); - } - result.add(dataMetadata); - } - return result; - } - } 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-03-28 16:06:23 UTC (rev 426) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-03-28 16:06:49 UTC (rev 427) @@ -32,13 +32,22 @@ import fr.ifremer.echobase.csv.EchoBaseImport; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; import fr.ifremer.echobase.entities.EchoBaseUser; +import fr.ifremer.echobase.entities.data.Category; +import fr.ifremer.echobase.entities.data.CategoryDAO; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.CellDAO; import fr.ifremer.echobase.entities.data.Data; import fr.ifremer.echobase.entities.data.DataDAO; +import fr.ifremer.echobase.entities.data.Echotype; +import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.data.ResultDAO; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.CellType; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.SizeCategory; +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.services.ImportException; import fr.ifremer.echobase.services.importdata.csv.RegionCellAssociationImportModel; import fr.ifremer.echobase.services.importdata.csv.RegionCellAssociationImportRow; @@ -81,15 +90,15 @@ List<CsvFileImportResult> result = Lists.newLinkedList(); // get selected voyage - Voyage voyage = getEntityById(Voyage.class, configuration.getVoyageId()); + Voyage voyage = getEntityById(Voyage.class, + configuration.getVoyageId()); InputFile inputFile = configuration.getRegionsFile(); CsvFileImportResult importResult = importRegionFile( configuration, inputFile, voyage); - addResultAndLog(result, inputFile, - importResult, user); + addResultAndLog(result, inputFile, importResult, user); inputFile = configuration.getRegionAssociationFile(); importResult = importRegionAssociationFile( @@ -99,13 +108,11 @@ addResultAndLog(result, inputFile, importResult, user); inputFile = configuration.getRegionResultFile(); - if (inputFile.hasFile()) { - importResult = importRegionResultFile( - configuration, - inputFile, voyage); + importResult = importRegionResultFile( + configuration, + inputFile, voyage); - addResultAndLog(result, inputFile, importResult, user); - } + addResultAndLog(result, inputFile, importResult, user); return result; } @@ -268,20 +275,65 @@ protected CsvFileImportResult importRegionResultFile(ResultsImportConfiguration configuration, InputFile inputFile, Voyage voyage) throws ImportException { - RegionCellResultImportModel csvModel = new RegionCellResultImportModel( - serviceContext.getConfiguration().getCsvSeparator()); if (log.isInfoEnabled()) { log.info("Starts import of Map cell results from file " + inputFile.getFileName()); } + + // authorize only the selected voyage to be imported + Map<String, Voyage> voyageMap = Maps.uniqueIndex(Arrays.asList( + voyage), EchoBaseFunctions.VOYAGE_NAME); + + // index regions of the voyage + Map<String, Cell> regionsMap = Maps.uniqueIndex( + voyage.getRegionCells(), EchoBaseFunctions.CELL_BY_NAME); + + // index all echotypes of thi voyage + Map<String, Echotype> echotypeMap = Maps.uniqueIndex( + voyage.getEchotype(), EchoBaseFunctions.ECHOTYPE_NAME); + + Map<String, Species> speciesMap = getEntitiesMap( + Species.class, EchoBaseFunctions.SPECIES_BARACOUDA_CODE); + + Map<String, SizeCategory> sizeCategoryMap = Maps.newTreeMap(); + sizeCategoryMap.putAll(getEntitiesMap( + SizeCategory.class, EchoBaseFunctions.SIZE_CATEGORY_NAME)); + + Map<String, DataMetadata> dataMetadataMap = getEntitiesMap( + DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME); + + // first get header of file to detect which results to import + String[] header = EchoBaseImport.getHeader(inputFile.getFile(), + getCsvSeparator()); + + + List<DataMetadata> metas = getMetas( + RegionCellResultImportModel.COLUMN_NAMES_TO_EXCLUDE, + dataMetadataMap, + header); + + RegionCellResultImportModel csvModel = new RegionCellResultImportModel( + serviceContext.getConfiguration().getCsvSeparator(), + voyageMap, + regionsMap, + echotypeMap, + speciesMap, + sizeCategoryMap, + metas); + String resultLabel = configuration.getResultLabel(); CsvFileImportResult importResult = new CsvFileImportResult( inputFile.getFileName()); - CellDAO dao = getDAO(Cell.class, CellDAO.class); + SpeciesCategoryDAO speciesCategoryDAO = + getDAO(SpeciesCategory.class, SpeciesCategoryDAO.class); + CategoryDAO categoryDAO = getDAO(Category.class, CategoryDAO.class); + + ResultDAO dao = getDAO(Result.class, ResultDAO.class); + Reader reader = getInputFileReader(inputFile); try { EchoBaseImport<RegionCellResultImportRow> importer = @@ -292,9 +344,29 @@ configuration.incrementsProgression(); - //TODO Do me + Cell cell = row.getCell(); - importResult.incrementsNumberUpdated(EchoBaseEntityEnum.Cell); + Category category = getResultCategory(categoryDAO, + speciesCategoryDAO, + row.getEchotype(), + row.getSpecies(), + row.getSizeCategory(), + null, + importResult); + + List<Result> results = row.getResult(); + + for (Result result : results) { + + result.setCategory(category); + result.setResultLabel(resultLabel); + + Result resultCreated = create(dao, result); + + cell.addResult(resultCreated); + + importResult.incrementsNumberCreated(EchoBaseEntityEnum.Result); + } } return importResult; Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java 2012-03-28 16:06:23 UTC (rev 426) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java 2012-03-28 16:06:49 UTC (rev 427) @@ -24,7 +24,17 @@ package fr.ifremer.echobase.services.importdata.csv; import fr.ifremer.echobase.csv.AbstractImportModel; +import fr.ifremer.echobase.csv.EchobaseCsvUtil; +import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Echotype; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.SizeCategory; +import fr.ifremer.echobase.entities.references.Species; +import java.util.List; +import java.util.Map; + /** * Model to import results of cell of type 'Region'. * @@ -33,8 +43,37 @@ */ public class RegionCellResultImportModel extends AbstractImportModel<RegionCellResultImportRow> { - public RegionCellResultImportModel(char separator) { + public static final String[] COLUMN_NAMES_TO_EXCLUDE = { + "name", + "baracoudaCode", + RegionCellResultImportRow.PROPERTY_VOYAGE, + RegionCellResultImportRow.PROPERTY_SIZE_CATEGORY, + RegionCellResultImportRow.PROPERTY_ECHOTYPE + }; + + public RegionCellResultImportModel( + char separator, + Map<String, Voyage> voyageMap, + Map<String, Cell> regionCellMap, + Map<String, Echotype> echotypeMap, + Map<String, Species> speciesMap, + Map<String, SizeCategory> sizeCategoryMap, + List<DataMetadata> dataMetadatas) { super(separator); + + newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap); + newForeignKeyColumn("name", RegionCellResultImportRow.PROPERTY_CELL, Cell.class, Cell.PROPERTY_NAME, regionCellMap); + newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, echotypeMap); + newForeignKeyColumn("baracoudaCode", RegionCellResultImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); + newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap); + + for (DataMetadata metadata : dataMetadatas) { + String name = metadata.getName(); + newMandatoryColumn( + name, + EchobaseCsvUtil.newResultValueParser(metadata), + EchobaseCsvUtil.<RegionCellResultImportRow>newResultValueSetter()); + } } @Override Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.java 2012-03-28 16:06:23 UTC (rev 426) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.java 2012-03-28 16:06:49 UTC (rev 427) @@ -23,11 +23,95 @@ */ package fr.ifremer.echobase.services.importdata.csv; +import com.google.common.collect.Lists; +import fr.ifremer.echobase.csv.EchobaseCsvUtil; +import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Echotype; +import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.data.Voyage; +import fr.ifremer.echobase.entities.references.SizeCategory; +import fr.ifremer.echobase.entities.references.Species; + +import java.util.List; + /** * Bean used as a row for import of {@link RegionCellResultImportModel}. * * @author tchemit <chemit@codelutin.com> * @since 0.3 */ -public class RegionCellResultImportRow { +public class RegionCellResultImportRow implements EchobaseCsvUtil.ResultAble { + + public static final String PROPERTY_NAME = "name"; + + public static final String PROPERTY_VOYAGE = "voyage"; + + public static final String PROPERTY_ECHOTYPE = "echotype"; + + public static final String PROPERTY_CELL = "cell"; + + public static final String PROPERTY_SPECIES = "species"; + + public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory"; + + protected Voyage voyage; + + protected Echotype echotype; + + protected Cell cell; + + protected List<Result> result = Lists.newArrayList(); + + protected Species species; + + protected SizeCategory sizeCategory; + + public Echotype getEchotype() { + return echotype; + } + + public void setEchotype(Echotype echotype) { + this.echotype = echotype; + } + + public Cell getCell() { + return cell; + } + + public void setCell(Cell cell) { + this.cell = cell; + } + + public List<Result> getResult() { + return result; + } + + @Override + public void addResult(Result result) { + this.result.add(result); + } + + public Species getSpecies() { + return species; + } + + public void setSpecies(Species species) { + this.species = species; + } + + public SizeCategory getSizeCategory() { + return sizeCategory; + } + + public void setSizeCategory(SizeCategory sizeCategory) { + this.sizeCategory = sizeCategory; + } + + public Voyage getVoyage() { + return voyage; + } + + public void setVoyage(Voyage voyage) { + this.voyage = voyage; + } } 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-03-28 16:06:23 UTC (rev 426) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/AbstractImportDataServiceIT.java 2012-03-28 16:06:49 UTC (rev 427) @@ -319,7 +319,7 @@ if (!esduColumnName.equals(columnHeader) && !("\"" + esduColumnName + "\"").equals(columnHeader)) { - Matcher matcher = ResultsEsduCellImportService.REMOVE_DOUBLE_QUOTES_PATTERN.matcher(columnHeader); + Matcher matcher = AbstractImportDataService.REMOVE_DOUBLE_QUOTES_PATTERN.matcher(columnHeader); if (matcher.matches()) { newIgnoredColumn(matcher.group(1)); } else { 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-03-28 16:06:23 UTC (rev 426) +++ trunk/echobase-services/src/test/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportServiceIT.java 2012-03-28 16:06:49 UTC (rev 427) @@ -25,11 +25,13 @@ import fr.ifremer.echobase.csv.CsvFileImportResult; import fr.ifremer.echobase.entities.EchoBaseEntityEnum; +import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Data; import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.references.CellType; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import org.junit.Test; @@ -71,28 +73,48 @@ prepareInputFile(conf.getRegionsFile(), getImportPath("regions.csv.gz")); - //TODO Use this prepareInputFile(conf.getRegionAssociationFile(), getImportPath("regionAssociations.csv.gz")); -// prepareInputFile(conf.getRegionsFile(), -// getImportPath("regionResults.csv.gz")); + prepareInputFile(conf.getRegionResultFile(), + getImportPath("regionResults.csv.gz")); //TODO Remove this when referentiel is ok create(getDAO(EchoBaseEntityEnum.CellType), CellType.PROPERTY_NAME, "RegionSURF"); create(getDAO(EchoBaseEntityEnum.CellType), CellType.PROPERTY_NAME, "RegionCLAS"); create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "RegionEnvCoordinates"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "VarianceXe"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "VarianceNASC"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "MeanNASC"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedMeanXe"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Nesdu"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Nhauls"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "MeanNASCWeightedBiomassDensity"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedEstimationVariance"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedEstimationCV"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "MeanBiomassDensity"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "EstimationVariance"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "EstimationCV"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "TotalEstimationVariance"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "TotalNASCWeightedEstimationVariance"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "ProportionOfTotalEstimationVariance"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "ProportionOfNASCWeightedTotalEstimationVariance"); + //create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "Biomass"); + create(getDAO(EchoBaseEntityEnum.DataMetadata), DataMetadata.PROPERTY_NAME, "NASCWeightedBiomass"); + addMissingEsduCells("esdu.name", conf.getVoyageId(), conf.getRegionAssociationFile()); List<CsvFileImportResult> result; - result = doImport(conf, ResultsRegionCellImportService.class, 2); + 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, 0); + assertCsvImportResult(result,2, Result.class, 1873); + assertCsvImportResult(result,2, Category.class, 27); + assertCsvImportResult(result,2, SpeciesCategory.class, 1,0,458); } } \ No newline at end of file Property changes on: trunk/echobase-services/src/test/resources/import-data/result/region/regionAssociations.csv.gz ___________________________________________________________________ Added: svn:keywords + Author Date Id Revision HeadURL Added: trunk/echobase-services/src/test/resources/import-data/result/region/regionResults.csv.gz =================================================================== (Binary files differ) Property changes on: trunk/echobase-services/src/test/resources/import-data/result/region/regionResults.csv.gz ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: svn:keywords + Author Date Id Revision HeadURL
participants (1)
-
tchemit@users.forge.codelutin.com