r461 - in trunk: echobase-entities/src/main/java/fr/ifremer/echobase echobase-entities/src/main/java/fr/ifremer/echobase/csv echobase-services/src/main/java/fr/ifremer/echobase/services/importdata echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv echobase-services/src/test/resources/import-data/acoustic echobase-services/src/test/resources/import-data/result/esdu echobase-services/src/test/resources/import-data/result/map echobase-services/src/test/resources/impo
Author: tchemit Date: 2012-03-30 21:36:14 +0200 (Fri, 30 Mar 2012) New Revision: 461 Url: http://forge.codelutin.com/repositories/revision/echobase/461 Log: fixes #1055: Ajouter le champs dataQuality pour les imports de data et resultats Removed: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellResultImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellResultImportRow.java Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseFunctions.java trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.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/ResultsEsduCellImportService.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/csv/AcousticImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportRow.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportRow.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportRow.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportRow.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportRow.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportRow.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/resources/import-data/acoustic/movies.csv.gz trunk/echobase-services/src/test/resources/import-data/result/esdu/byEchotype.csv.gz trunk/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategory.csv.gz trunk/echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndAgeCategory.csv.gz trunk/echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndSizeCategory.csv.gz trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz trunk/echobase-services/src/test/resources/import-data/result/region/regionResults.csv.gz trunk/echobase-services/src/test/resources/import-data/result/region/regions.csv.gz Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseFunctions.java =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseFunctions.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/EchoBaseFunctions.java 2012-03-30 19:36:14 UTC (rev 461) @@ -320,6 +320,13 @@ } }; + public static final Function<DataQuality, String> DATA_QUALITY_NAME = new Function<DataQuality, String>() { + @Override + public String apply(DataQuality input) { + return String.valueOf(input.getQualityDataFlagValues()); + } + }; + public static String getSpeciesCategoryKey(Species species, SizeCategory sizeCategory, SexCategory sexCategory) { String key = species.getBaracoudaCode(); if (sizeCategory != null) { Modified: trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java =================================================================== --- trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-entities/src/main/java/fr/ifremer/echobase/csv/EchobaseCsvUtil.java 2012-03-30 19:36:14 UTC (rev 461) @@ -28,6 +28,7 @@ import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; import org.nuiton.topia.persistence.TopiaEntity; import org.nuiton.util.csv.Common; import org.nuiton.util.csv.ValueFormatter; @@ -138,9 +139,15 @@ } public static interface ResultAble { + void addResult(Result value); List<Result> getResult(); + + DataQuality getDataQuality(); + + void setDataQuality(DataQuality dataQuality); + } public static <B extends ResultAble> ValueSetter<B, Result> newResultValueSetter() { 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-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AbstractImportDataService.java 2012-03-30 19:36:14 UTC (rev 461) @@ -44,6 +44,7 @@ import fr.ifremer.echobase.entities.data.ResultDAO; import fr.ifremer.echobase.entities.references.AgeCategory; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.SexCategory; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; @@ -411,12 +412,14 @@ Cell cell, DataMetadata dataMetaData, String dataValue, + DataQuality dataQuality, CsvFileImportResult importResult) { Data data = create(dao, Data.PROPERTY_DATA_METADATA, dataMetaData, Data.PROPERTY_DATA_VALUE, dataValue); cell.addData(data); + cell.setDataQuality(dataQuality); importResult.incrementsNumberCreated(EchoBaseEntityEnum.Data); } @@ -431,6 +434,7 @@ for (Result result : results) { + result.setDataQuality(row.getDataQuality()); result.setCategory(category); result.setResultLabel(resultLabel); 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-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/AcousticImportService.java 2012-03-30 19:36:14 UTC (rev 461) @@ -47,6 +47,7 @@ import fr.ifremer.echobase.entities.references.AcousticInstrument; import fr.ifremer.echobase.entities.references.CellType; 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.services.ImportException; import fr.ifremer.echobase.services.importdata.csv.AcousticImportModel; @@ -116,12 +117,10 @@ private final DateFormat cellDateFormat = new SimpleDateFormat( EchobaseCsvUtil.CELLULE_DATE_FORMAT); - private DataAcquisition getDataAcquisition(Transect transect, AcousticInstrument instrument, boolean addDataAcquisition) throws ImportException { - DataAcquisition result = null; if (!addDataAcquisition && !transect.isDataAcquisitionEmpty()) { @@ -165,8 +164,11 @@ Map<String, DataMetadata> dataMetadatasByName = getEntitiesMap( DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME); + Map<String, DataQuality> dataQualityMap = getEntitiesMap( + DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME); + AcousticImportModel csvModel = new AcousticImportModel( - getCsvSeparator(), instrumentsById); + getCsvSeparator(), instrumentsById, dataQualityMap); DataAcquisitionDAO dataAcquisitionDAO = getDAO(DataAcquisition.class, DataAcquisitionDAO.class); @@ -198,13 +200,7 @@ for (AcousticImportRow row : importer) { configuration.incrementsProgression(); - rowNumber++; - if (rowNumber % 100 == 0) { - if (log.isInfoEnabled()) { - log.info("Doing line " + rowNumber); - } - } if (dataProcessingId == null) { // compute once for all the common dataprocessing id used @@ -249,7 +245,9 @@ // need to use another data acquisition if (log.isDebugEnabled()) { - log.debug("[row " + rowNumber + "] New instrument to use (" + instrument.getId() + ")"); + log.debug("[row " + rowNumber + + "] New instrument to use (" + + instrument.getId() + ")"); } if (CollectionUtils.isNotEmpty(elementaryCells)) { @@ -293,7 +291,8 @@ transect.addDataAcquisition(dataAcquisition); // count creation in result - importResult.incrementsNumberCreated(EchoBaseEntityEnum.DataAcquisition); + importResult.incrementsNumberCreated( + EchoBaseEntityEnum.DataAcquisition); if (log.isDebugEnabled()) { log.debug("[row " + rowNumber + @@ -329,8 +328,8 @@ if (!row.isCellToAdd()) { // dead cell not to be imported - if (log.isWarnEnabled()) { - log.warn("Will not import cell of row " + rowNumber); + if (log.isDebugEnabled()) { + log.debug("Will not import cell of row " + rowNumber); } continue; } @@ -339,6 +338,8 @@ String esduCellId = cellDateFormat.format(startDate); + DataQuality dataQuality = row.getDataQuality(); + if (cellType == 4) { if (log.isDebugEnabled()) { @@ -354,6 +355,8 @@ Cell.PROPERTY_NAME, esduCellId ); + esduCell.setDataQuality(dataQuality); + // add all found elementary cells esduCell.addAllChilds(elementaryCells); @@ -370,6 +373,7 @@ esduCell, dataMetadatasByName, row, + dataQuality, dataDAO, importResult); } else { @@ -392,6 +396,7 @@ Cell.PROPERTY_CELL_TYPE, elementaryCellType, Cell.PROPERTY_NAME, elementaryCellId ); + elementaryCell.setDataQuality(dataQuality); // keep (to attach them to esdu cell) elementaryCells.add(elementaryCell); @@ -404,6 +409,7 @@ dataMetadatasByName, surface, row, + dataQuality, dataDAO, importResult); } @@ -421,6 +427,7 @@ Cell cell, Map<String, DataMetadata> dataMetadatas, AcousticImportRow row, + DataQuality dataQuality, DataDAO dao, CsvFileImportResult importResult) { @@ -429,57 +436,58 @@ // create Latitude data dataValue = String.valueOf(row.getCellLatitude()); createCellData(dao, cell, dataMetadatas, "Latitude" + suffix, - dataValue, importResult); + dataValue, dataQuality, importResult); // create Longitude data dataValue = String.valueOf(row.getCellLongitude()); createCellData(dao, cell, dataMetadatas, "Longitude" + suffix, - dataValue, importResult); + dataValue, dataQuality, importResult); // create Depth data dataValue = row.getEsduCellDataDepth(); createCellData(dao, cell, dataMetadatas, "DepthRefSurface" + suffix, - dataValue, importResult); + dataValue, dataQuality, importResult); // create Time Start data dataValue = cellDateFormat.format(row.getCellDateStart()); createCellData(dao, cell, dataMetadatas, "TimeStart", - dataValue, importResult); + dataValue, dataQuality, importResult); // create Time end data dataValue = cellDateFormat.format(row.getCellDateEnd()); createCellData(dao, cell, dataMetadatas, "TimeEnd", - dataValue, importResult); + dataValue, dataQuality, importResult); // create NASC data if (row.getCellNasc() != null) { dataValue = String.valueOf(row.getCellNasc()); createCellData(dao, cell, dataMetadatas, "NASC", - dataValue, importResult); + dataValue, dataQuality, importResult); } // create Volume data if (row.getCellVolume() != null) { dataValue = String.valueOf(row.getCellVolume()); createCellData(dao, cell, dataMetadatas, "Volume ", - dataValue, importResult); + dataValue, dataQuality, importResult); } + // create Surface data dataValue = String.valueOf(row.getCellSurface()); createCellData(dao, cell, dataMetadatas, "Surface", - dataValue, importResult); + dataValue, dataQuality, importResult); // create NumberOfSamplesRecorded data if (row.getCellNumberOfSamplesRecorded() != null) { dataValue = String.valueOf(row.getCellNumberOfSamplesRecorded()); createCellData(dao, cell, dataMetadatas, "NumberOfSamplesRecorded", - dataValue, importResult); + dataValue, dataQuality, importResult); } // create NumberOfSamplesEchoIntegrated data if (row.getCellNumberOfSamplesEchoIntegrated() != null) { dataValue = String.valueOf(row.getCellNumberOfSamplesEchoIntegrated()); createCellData(dao, cell, dataMetadatas, "NumberOfSamplesEchoIntegrated", - dataValue, importResult); + dataValue, dataQuality, importResult); } } @@ -488,6 +496,7 @@ Map<String, DataMetadata> dataMetadatas, boolean surface, AcousticImportRow row, + DataQuality dataQuality, DataDAO dao, CsvFileImportResult importResult) { @@ -513,59 +522,62 @@ // create Latitude data dataValue = String.valueOf(row.getCellLatitude()); createCellData(dao, cell, dataMetadatas, "Latitude" + suffix, - dataValue, importResult); + dataValue, dataQuality, importResult); // create Longitude data dataValue = String.valueOf(row.getCellLongitude()); createCellData(dao, cell, dataMetadatas, "Longitude" + suffix, - dataValue, importResult); + dataValue, dataQuality, importResult); // create depth start data dataValue = String.valueOf(row.getCellDepthStart()); - createCellData(dao, cell, dataMetadatas, startMeta, dataValue, importResult); + createCellData(dao, cell, dataMetadatas, startMeta, dataValue, + dataQuality, importResult); // create depth end data dataValue = String.valueOf(row.getCellDepthEnd()); - createCellData(dao, cell, dataMetadatas, endMeta, dataValue, importResult); + createCellData(dao, cell, dataMetadatas, endMeta, dataValue, + dataQuality, importResult); // create Time Start data dataValue = cellDateFormat.format(row.getCellDateStart()); createCellData(dao, cell, dataMetadatas, "TimeStart", - dataValue, importResult); + dataValue, dataQuality, importResult); // create Time end data dataValue = cellDateFormat.format(row.getCellDateEnd()); createCellData(dao, cell, dataMetadatas, "TimeEnd", - dataValue, importResult); + dataValue, dataQuality, importResult); // create acoustic density data if (row.getCellNasc() != null) { dataValue = String.valueOf(row.getCellNasc()); - createCellData(dao, cell, dataMetadatas, "NASC", dataValue, importResult); + createCellData(dao, cell, dataMetadatas, "NASC", dataValue, + dataQuality, importResult); } // create Volume data if (row.getCellVolume() != null) { dataValue = String.valueOf(row.getCellVolume()); createCellData(dao, cell, dataMetadatas, "Volume ", - dataValue, importResult); + dataValue, dataQuality, importResult); } // create Surface data dataValue = String.valueOf(row.getCellSurface()); createCellData(dao, cell, dataMetadatas, "Surface", - dataValue, importResult); + dataValue, dataQuality, importResult); // create NumberOfSamplesRecorded data if (row.getCellNumberOfSamplesRecorded() != null) { dataValue = String.valueOf(row.getCellNumberOfSamplesRecorded()); createCellData(dao, cell, dataMetadatas, "NumberOfSamplesRecorded", - dataValue, importResult); + dataValue, dataQuality, importResult); } // create NumberOfSamplesEchoIntegrated data if (row.getCellNumberOfSamplesEchoIntegrated() != null) { dataValue = String.valueOf(row.getCellNumberOfSamplesEchoIntegrated()); createCellData(dao, cell, dataMetadatas, "NumberOfSamplesEchoIntegrated", - dataValue, importResult); + dataValue, dataQuality, importResult); } } @@ -696,12 +708,14 @@ Map<String, DataMetadata> dataMetadatasByName, String metadataName, String dataValue, + DataQuality dataQuality, CsvFileImportResult importResult) { createCellData( dao, cell, dataMetadatasByName.get(metadataName), dataValue, + dataQuality, importResult ); 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-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsEsduCellImportService.java 2012-03-30 19:36:14 UTC (rev 461) @@ -41,6 +41,7 @@ import fr.ifremer.echobase.entities.references.AgeCategory; import fr.ifremer.echobase.entities.references.AgeCategoryDAO; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.SizeCategoryDAO; import fr.ifremer.echobase.entities.references.Species; @@ -102,13 +103,18 @@ Map<String, DataMetadata> dataMetadataMap = getEntitiesMap( DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME); + Map<String, DataQuality> dataQualityMap = getEntitiesMap( + DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME); + + // get selected voyage Voyage voyage = getEntityById(Voyage.class, configuration.getVoyageId()); // get selected dataProcessing - DataProcessing dataProcessing = getEntityById(DataProcessing.class, - configuration.getDataProcessingId()); + DataProcessing dataProcessing = getEntityById( + DataProcessing.class, + configuration.getDataProcessingId()); // get esdu cells usables Map<String, Cell> esduCellMap = Maps.uniqueIndex( @@ -130,8 +136,8 @@ voyage, echotypeMap, dataMetadataMap, - esduCellMap - ); + esduCellMap, + dataQualityMap); configuration.addResult(importResult); } @@ -145,8 +151,8 @@ dataMetadataMap, speciesMap, sizeCategoryMap, - esduCellMap - ); + esduCellMap, + dataQualityMap); configuration.addResult(importResult); } @@ -159,8 +165,8 @@ dataMetadataMap, speciesMap, sizeCategoryMap, - esduCellMap - ); + esduCellMap, + dataQualityMap); configuration.addResult(importResult); } @@ -174,8 +180,8 @@ dataMetadataMap, speciesMap, ageCategoryMap, - esduCellMap - ); + esduCellMap, + dataQualityMap); configuration.addResult(importResult); } } @@ -186,7 +192,8 @@ Voyage voyage, Map<String, Echotype> echotypeMap, Map<String, DataMetadata> dataMetadataMap, - Map<String, Cell> esduCellMap) throws ImportException { + Map<String, Cell> esduCellMap, + Map<String, DataQuality> dataQualityMap) throws ImportException { if (log.isInfoEnabled()) { log.info("Starts import of esdu result by echotype from file " + @@ -210,7 +217,8 @@ echotypeMap, voyage, esduCellMap, - metas); + metas, + dataQualityMap); CategoryDAO categoryDAO = (CategoryDAO) getDAO(Category.class); ResultDAO dao = getDAO(Result.class, ResultDAO.class); @@ -236,7 +244,6 @@ addResults(row, cell, category, resultLabel, dao, importResult); } - return importResult; } catch (ImportRuntimeException e) { throw new ImportException(getLocale(), inputFile, e); @@ -253,7 +260,8 @@ Map<String, DataMetadata> dataMetadataMap, Map<String, Species> speciesMap, Map<String, SizeCategory> sizeCategoryMap, - Map<String, Cell> esduCellMap) throws ImportException { + Map<String, Cell> esduCellMap, + Map<String, DataQuality> dataQualityMap) throws ImportException { if (log.isInfoEnabled()) { log.info("Starts import of acoustic result by echotype " + @@ -288,7 +296,8 @@ sizeCategoryMap, voyage, esduCellMap, - metas); + metas, + dataQualityMap); String resultLabel = configuration.getResultLabel(); @@ -329,7 +338,8 @@ Map<String, DataMetadata> dataMetadataMap, Map<String, Species> speciesMap, Map<String, SizeCategory> sizeCategoryMap, - Map<String, Cell> esduCellMap) throws ImportException { + Map<String, Cell> esduCellMap, + Map<String, DataQuality> dataQualityMap) throws ImportException { if (log.isInfoEnabled()) { log.info("Starts import of acoustic result by speices and size category from file " + @@ -363,7 +373,8 @@ speciesMap, voyage, esduCellMap, - metas); + metas, + dataQualityMap); CategoryDAO categoryDAO = (CategoryDAO) getDAO(Category.class); @@ -428,7 +439,8 @@ Map<String, DataMetadata> dataMetadataMap, Map<String, Species> speciesMap, Map<String, AgeCategory> ageCategoryMap, - Map<String, Cell> esduCellMap) throws ImportException { + Map<String, Cell> esduCellMap, + Map<String, DataQuality> dataQualityMap) throws ImportException { if (log.isInfoEnabled()) { log.info("Starts import of acoustic result by species and age category from file " + @@ -462,7 +474,8 @@ speciesMap, voyage, esduCellMap, - metas); + metas, + dataQualityMap); String resultLabel = configuration.getResultLabel(); 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-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsMapCellImportService.java 2012-03-30 19:36:14 UTC (rev 461) @@ -43,6 +43,7 @@ import fr.ifremer.echobase.entities.references.AgeCategory; import fr.ifremer.echobase.entities.references.CellType; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.SpeciesCategory; @@ -151,6 +152,9 @@ Map<String, DataMetadata> dataMetadataMap = getEntitiesMap( DataMetadata.class, EchoBaseFunctions.DATA_METADATA_NAME); + Map<String, DataQuality> dataQualityMap = getEntitiesMap( + DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME); + // first get header of file to detect which results to import String[] header = EchoBaseImport.getHeader(inputFile.getFile(), getCsvSeparator()); @@ -167,7 +171,8 @@ speciesMap, sizeCategoryMap, ageCategoryMap, - metas); + metas, + dataQualityMap); CsvFileImportResult importResult = new CsvFileImportResult( inputFile.getFileName()); @@ -194,11 +199,14 @@ voyage.addPostCell(cell); importResult.incrementsNumberCreated(EchoBaseEntityEnum.Cell); + DataQuality dataQuality = row.getDataQuality(); + // add gridCellLongitude data createCellData(dataDao, cell, dataLongitudeMeta, String.valueOf(row.getGridCellLongitude()), + dataQuality, importResult ); @@ -207,6 +215,7 @@ cell, dataLatitudeMeta, String.valueOf(row.getGridCellLatitude()), + dataQuality, importResult ); @@ -215,6 +224,7 @@ cell, dataDepthMeta, String.valueOf(row.getGridCellDepth()), + dataQuality, importResult ); @@ -223,6 +233,7 @@ cell, dataLongitudeLagMeta, String.valueOf(row.getGridLongitudeLag()), + dataQuality, importResult ); @@ -231,6 +242,7 @@ cell, dataLatitudeLagMeta, String.valueOf(row.getGridLatitudeLag()), + dataQuality, importResult ); @@ -239,6 +251,7 @@ cell, dataDepthLagMeta, String.valueOf(row.getGridDepthLag()), + dataQuality, 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-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/ResultsRegionCellImportService.java 2012-03-30 19:36:14 UTC (rev 461) @@ -43,6 +43,7 @@ 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.DataQuality; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.entities.references.SpeciesCategory; @@ -91,21 +92,25 @@ Voyage voyage = getEntityById(Voyage.class, configuration.getVoyageId()); + Map<String, DataQuality> dataQualityMap = getEntitiesMap( + DataQuality.class, EchoBaseFunctions.DATA_QUALITY_NAME); + CsvFileImportResult importResult; - importResult = importRegionFile(configuration, voyage); + importResult = importRegionFile(configuration, voyage, dataQualityMap); configuration.addResult(importResult); importResult = importRegionAssociationFile(configuration, voyage); configuration.addResult(importResult); - importResult = importRegionResultFile(configuration, voyage); + importResult = importRegionResultFile(configuration, voyage, dataQualityMap); configuration.addResult(importResult); } protected CsvFileImportResult importRegionFile( ResultsImportConfiguration configuration, - Voyage voyage) throws ImportException { + Voyage voyage, + Map<String, DataQuality> dataQualityMap) throws ImportException { InputFile inputFile = configuration.getRegionsFile(); @@ -138,7 +143,8 @@ RegionCellImportModel csvModel = new RegionCellImportModel( serviceContext.getConfiguration().getCsvSeparator(), voyageMap, - cellTypeMap + cellTypeMap, + dataQualityMap ); if (log.isInfoEnabled()) { @@ -177,6 +183,7 @@ cell, dataSurfaceMeta, String.valueOf(row.getDataSurface()), + row.getDataQuality(), importResult ); } @@ -186,6 +193,7 @@ cell, dataCoordinateMeta, row.getDataCoordinate(), + row.getDataQuality(), importResult ); } @@ -252,7 +260,8 @@ protected CsvFileImportResult importRegionResultFile( ResultsImportConfiguration configuration, - Voyage voyage) throws ImportException { + Voyage voyage, + Map<String, DataQuality> dataQualityMap) throws ImportException { InputFile inputFile = configuration.getRegionResultFile(); @@ -300,7 +309,8 @@ echotypeMap, speciesMap, sizeCategoryMap, - metas); + metas, + dataQualityMap); String resultLabel = configuration.getResultLabel(); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportModel.java 2012-03-30 19:36:14 UTC (rev 461) @@ -30,6 +30,7 @@ import fr.ifremer.echobase.entities.data.DataAcquisition; import fr.ifremer.echobase.entities.data.DataProcessing; import fr.ifremer.echobase.entities.references.AcousticInstrument; +import fr.ifremer.echobase.entities.references.DataQuality; import java.util.Map; @@ -43,7 +44,8 @@ public class AcousticImportModel extends AbstractImportModel<AcousticImportRow> { public AcousticImportModel(char separator, - Map<String, AcousticInstrument> instrumentsById) { + Map<String, AcousticInstrument> instrumentsById, + Map<String, DataQuality> dataQualityMap) { super(separator); newMandatoryColumn("MOVIES_EILayer", AcousticImportRow.PROPERTY_EI_LAYER);//A @@ -123,6 +125,11 @@ newIgnoredColumn("MOVIES_EILayer\\boterr\\sa");//BT newIgnoredColumn("MOVIES_EILayer\\boterr\\ni");//BU newMandatoryColumn("MOVIES_EILayer\\sndset\\soundcelerity", AcousticImportRow.PROPERTY_SOUND_CELERITY);//BV + + newForeignKeyColumn(AcousticImportRow.PROPERTY_DATA_QUALITY, + DataQuality.class, + DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, + dataQualityMap); //E } @Override Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportRow.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/AcousticImportRow.java 2012-03-30 19:36:14 UTC (rev 461) @@ -24,6 +24,7 @@ package fr.ifremer.echobase.services.importdata.csv; import fr.ifremer.echobase.entities.references.AcousticInstrument; +import fr.ifremer.echobase.entities.references.DataQuality; import java.util.Date; @@ -89,6 +90,8 @@ public static final String PROPERTY_CELL_LONGITUDE = "cellLongitude"; + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + protected String eiLayer; protected String esduCellDataDepth; @@ -141,6 +144,8 @@ protected String soundCelerity; + protected DataQuality dataQuality; + protected AcousticInstrument acousticInstrument; public boolean isCellToAdd() { @@ -362,4 +367,12 @@ public void setSoundCelerity(String soundCelerity) { this.soundCelerity = soundCelerity; } + + public DataQuality getDataQuality() { + return dataQuality; + } + + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportModel.java 2012-03-30 19:36:14 UTC (rev 461) @@ -30,6 +30,7 @@ import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; @@ -48,7 +49,8 @@ "name", "baracoudaCode", "sizeCategory", - EsduResultByEchotypeImportRow.PROPERTY_ECHOTYPE + EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE, + EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_DATA_QUALITY }; public EsduResultByEchotypeAndSpeciesCategoryImportModel( @@ -58,13 +60,15 @@ Map<String, SizeCategory> sizeCategoryMap, Voyage voyage, Map<String, Cell> esduCellMap, - List<DataMetadata> dataMetadatas) { + List<DataMetadata> dataMetadatas, + Map<String, DataQuality> dataQualityMap) { super(separator); newForeignKeyColumn(EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, echotypeMap); newForeignKeyColumn("baracoudaCode", EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); newForeignKeyColumn(EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap); newMandatoryColumn("name", EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap)); + newForeignKeyColumn(EsduResultByEchotypeAndSpeciesCategoryImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap); for (DataMetadata metadata : dataMetadatas) { String name = metadata.getName(); @@ -73,6 +77,7 @@ EchobaseCsvUtil.newResultValueParser(metadata, false), EchobaseCsvUtil.<EsduResultByEchotypeAndSpeciesCategoryImportRow>newResultValueSetter()); } + } @Override Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportRow.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeAndSpeciesCategoryImportRow.java 2012-03-30 19:36:14 UTC (rev 461) @@ -28,6 +28,7 @@ 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.references.DataQuality; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; @@ -50,6 +51,8 @@ public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory"; + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + protected Echotype echotype; protected Cell cell; @@ -60,6 +63,9 @@ private SizeCategory sizeCategory; + protected DataQuality dataQuality; + + public Echotype getEchotype() { return echotype; } @@ -101,4 +107,11 @@ this.sizeCategory = sizeCategory; } + public DataQuality getDataQuality() { + return dataQuality; + } + + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportModel.java 2012-03-30 19:36:14 UTC (rev 461) @@ -30,6 +30,7 @@ import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; import java.util.List; import java.util.Map; @@ -44,7 +45,8 @@ public static final String[] COLUMN_NAMES_TO_EXCLUDE = { "name", - EsduResultByEchotypeImportRow.PROPERTY_ECHOTYPE + EsduResultByEchotypeImportRow.PROPERTY_ECHOTYPE, + EsduResultByEchotypeImportRow.PROPERTY_DATA_QUALITY }; public EsduResultByEchotypeImportModel( @@ -52,11 +54,13 @@ Map<String, Echotype> echotypeMap, Voyage voyage, Map<String, Cell> esduCellMap, - List<DataMetadata> dataMetadatas) { + List<DataMetadata> dataMetadatas, + Map<String, DataQuality> dataQualityMap) { super(separator); newForeignKeyColumn(EsduResultByEchotypeImportRow.PROPERTY_ECHOTYPE, Echotype.class, Echotype.PROPERTY_NAME, echotypeMap); newMandatoryColumn("name", EsduResultByEchotypeImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap)); + newForeignKeyColumn(EsduResultByEchotypeImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap); for (DataMetadata metadata : dataMetadatas) { String name = metadata.getName(); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportRow.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultByEchotypeImportRow.java 2012-03-30 19:36:14 UTC (rev 461) @@ -28,6 +28,7 @@ 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.references.DataQuality; import java.util.List; @@ -43,12 +44,16 @@ public static final String PROPERTY_CELL = "cell"; + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + protected Echotype echotype; protected Cell cell; protected List<Result> result = Lists.newArrayList(); + protected DataQuality dataQuality; + public Echotype getEchotype() { return echotype; } @@ -73,4 +78,12 @@ public void addResult(Result result) { this.result.add(result); } + + public DataQuality getDataQuality() { + return dataQuality; + } + + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } } Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportModel.java 2012-03-30 19:36:14 UTC (rev 461) @@ -29,6 +29,7 @@ import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.Species; import java.util.List; @@ -47,6 +48,7 @@ "baracoudaCode", EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY, EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY_MEANING, + EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_DATA_QUALITY }; public EsduResultBySpeciesAndAgeCategoryImportModel( @@ -54,13 +56,15 @@ Map<String, Species> speciesMap, Voyage voyage, Map<String, Cell> esduCellMap, - List<DataMetadata> dataMetadatas) { + List<DataMetadata> dataMetadatas, + Map<String, DataQuality> dataQualityMap) { super(separator); newMandatoryColumn("name", EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap)); newMandatoryColumn(EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY); newMandatoryColumn(EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_AGE_CATEGORY_MEANING); newForeignKeyColumn("baracoudaCode", EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); + newForeignKeyColumn(EsduResultBySpeciesAndAgeCategoryImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap); for (DataMetadata metadata : dataMetadatas) { String name = metadata.getName(); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportRow.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndAgeCategoryImportRow.java 2012-03-30 19:36:14 UTC (rev 461) @@ -27,6 +27,7 @@ import fr.ifremer.echobase.csv.EchobaseCsvUtil; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.Species; import java.util.List; @@ -48,6 +49,8 @@ public static final String PROPERTY_AGE_CATEGORY_MEANING = "ageCategoryMeaning"; + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + protected Cell cell; protected List<Result> result = Lists.newArrayList(); @@ -58,6 +61,8 @@ private String ageCategoryMeaning; + protected DataQuality dataQuality; + public Species getSpecies() { return species; } @@ -98,4 +103,12 @@ public void addResult(Result result) { this.result.add(result); } + + public DataQuality getDataQuality() { + return dataQuality; + } + + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } } \ No newline at end of file Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportModel.java 2012-03-30 19:36:14 UTC (rev 461) @@ -29,6 +29,7 @@ import fr.ifremer.echobase.entities.data.Result; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.Species; import java.util.List; @@ -46,7 +47,8 @@ "name", "baracoudaCode", EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY, - EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY_MEANING + EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY_MEANING, + EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_DATA_QUALITY }; public EsduResultBySpeciesAndSizeCategoryImportModel( @@ -54,13 +56,15 @@ Map<String, Species> speciesMap, Voyage voyage, Map<String, Cell> esduCellMap, - List<DataMetadata> dataMetadatas) { + List<DataMetadata> dataMetadatas, + Map<String, DataQuality> dataQualityMap) { super(separator); newMandatoryColumn("name", EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_CELL, EchobaseCsvUtil.newCellValueParser(voyage, esduCellMap)); newMandatoryColumn(EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY); newMandatoryColumn(EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SIZE_CATEGORY_MEANING); newForeignKeyColumn("baracoudaCode", EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); + newForeignKeyColumn(EsduResultBySpeciesAndSizeCategoryImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap); for (DataMetadata metadata : dataMetadatas) { String name = metadata.getName(); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportRow.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/EsduResultBySpeciesAndSizeCategoryImportRow.java 2012-03-30 19:36:14 UTC (rev 461) @@ -27,6 +27,7 @@ import fr.ifremer.echobase.csv.EchobaseCsvUtil; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Result; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.Species; import java.util.List; @@ -48,6 +49,8 @@ public static final String PROPERTY_SIZE_CATEGORY_MEANING = "sizeCategoryMeaning"; + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + protected Cell cell; protected List<Result> result = Lists.newArrayList(); @@ -58,6 +61,8 @@ private String sizeCategoryMeaning; + protected DataQuality dataQuality; + public Species getSpecies() { return species; } @@ -98,4 +103,12 @@ public void addResult(Result result) { this.result.add(result); } + + public DataQuality getDataQuality() { + return dataQuality; + } + + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } } \ No newline at end of file Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportModel.java 2012-03-30 19:36:14 UTC (rev 461) @@ -29,6 +29,7 @@ import fr.ifremer.echobase.entities.references.AgeCategory; import fr.ifremer.echobase.entities.references.CellType; import fr.ifremer.echobase.entities.references.DataMetadata; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; @@ -54,7 +55,8 @@ MapCellImportRow.PROPERTY_DATA_GRID_DEPTH_LAG, MapCellImportRow.PROPERTY_VOYAGE, MapCellImportRow.PROPERTY_SIZE_CATEGORY, - MapCellImportRow.PROPERTY_AGE_CATEGORY + MapCellImportRow.PROPERTY_AGE_CATEGORY, + MapCellImportRow.PROPERTY_DATA_QUALITY }; protected final CellType cellType; @@ -65,7 +67,8 @@ Map<String, Species> speciesMap, Map<String, SizeCategory> sizeCategoryMap, Map<String, AgeCategory> ageCategoryMap, - List<DataMetadata> dataMetadatas) { + List<DataMetadata> dataMetadatas, + Map<String, DataQuality> dataQualityMap) { super(separator); this.cellType = cellType; @@ -74,6 +77,7 @@ newForeignKeyColumn("baracoudaCode", MapCellImportRow.PROPERTY_SPECIES, Species.class, Species.PROPERTY_BARACOUDA_CODE, speciesMap); newForeignKeyColumn(MapCellImportRow.PROPERTY_SIZE_CATEGORY, SizeCategory.class, SizeCategory.PROPERTY_NAME, sizeCategoryMap); newForeignKeyColumn(MapCellImportRow.PROPERTY_AGE_CATEGORY, AgeCategory.class, SizeCategory.PROPERTY_NAME, ageCategoryMap); + newForeignKeyColumn(MapCellImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap); newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_LONGITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT); newMandatoryColumn(MapCellImportRow.PROPERTY_DATA_GRID_CELL_LATITUDE, EchobaseCsvUtil.PRIMITIVE_FLOAT); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellImportRow.java 2012-03-30 19:36:14 UTC (rev 461) @@ -31,6 +31,7 @@ import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.AgeCategory; import fr.ifremer.echobase.entities.references.CellType; +import fr.ifremer.echobase.entities.references.DataQuality; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; @@ -68,6 +69,8 @@ public static final String PROPERTY_DATA_GRID_DEPTH_LAG = "gridDepthLag"; + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + protected Voyage voyage; protected final Cell cell; @@ -80,6 +83,8 @@ protected AgeCategory ageCategory; + protected DataQuality dataQuality; + protected float gridCellLongitude; protected float gridCellLatitude; @@ -193,4 +198,12 @@ public void addResult(Result result) { this.result.add(result); } + + public DataQuality getDataQuality() { + return dataQuality; + } + + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } } \ No newline at end of file Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellResultImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellResultImportModel.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellResultImportModel.java 2012-03-30 19:36:14 UTC (rev 461) @@ -1,44 +0,0 @@ -/* - * #%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.csv; - -import fr.ifremer.echobase.csv.AbstractImportModel; - -/** - * Model to import results of cell of type 'Map'. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.3 - */ -public class MapCellResultImportModel extends AbstractImportModel<MapCellResultImportRow> { - - public MapCellResultImportModel(char separator) { - super(separator); - } - - @Override - public MapCellResultImportRow newEmptyInstance() { - return new MapCellResultImportRow(); - } -} \ No newline at end of file Deleted: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellResultImportRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellResultImportRow.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/MapCellResultImportRow.java 2012-03-30 19:36:14 UTC (rev 461) @@ -1,33 +0,0 @@ -/* - * #%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.csv; - -/** - * Bean used as a row for import of {@link MapCellResultImportModel}. - * - * @author tchemit <chemit@codelutin.com> - * @since 0.3 - */ -public class MapCellResultImportRow { -} Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportModel.java 2012-03-30 19:36:14 UTC (rev 461) @@ -27,6 +27,7 @@ import fr.ifremer.echobase.csv.EchobaseCsvUtil; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.CellType; +import fr.ifremer.echobase.entities.references.DataQuality; import java.util.Map; @@ -40,11 +41,13 @@ public RegionCellImportModel(char separator, Map<String, Voyage> voyageMap, - Map<String, CellType> cellTypeMap) { + Map<String, CellType> cellTypeMap, + Map<String, DataQuality> dataQualityMap) { super(separator); newForeignKeyColumn(RegionCellImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap); newForeignKeyColumn(RegionCellImportRow.PROPERTY_CELL_TYPE, CellType.class, CellType.PROPERTY_ID, cellTypeMap); + newForeignKeyColumn(RegionCellImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap); newMandatoryColumn(RegionCellImportRow.PROPERTY_NAME); newMandatoryColumn("regionEnvCoordinates", RegionCellImportRow.PROPERTY_DATA_COORDINATE); Modified: trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportRow.java =================================================================== --- trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportRow.java 2012-03-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellImportRow.java 2012-03-30 19:36:14 UTC (rev 461) @@ -25,6 +25,7 @@ import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.CellType; +import fr.ifremer.echobase.entities.references.DataQuality; /** * Bean used as a row for import of {@link RegionCellImportModel}. @@ -44,10 +45,14 @@ public static final String PROPERTY_DATA_SURFACE = "dataSurface"; + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + protected Voyage voyage; protected CellType cellType; + protected DataQuality dataQuality; + protected String name; protected String dataCoordinate; @@ -96,4 +101,12 @@ public void setDataSurface(float dataSurface) { this.dataSurface = dataSurface; } + + public DataQuality getDataQuality() { + return dataQuality; + } + + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } } 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-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportModel.java 2012-03-30 19:36:14 UTC (rev 461) @@ -29,6 +29,7 @@ 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.DataQuality; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; @@ -48,7 +49,8 @@ "baracoudaCode", RegionCellResultImportRow.PROPERTY_VOYAGE, RegionCellResultImportRow.PROPERTY_SIZE_CATEGORY, - RegionCellResultImportRow.PROPERTY_ECHOTYPE + RegionCellResultImportRow.PROPERTY_ECHOTYPE, + RegionCellResultImportRow.PROPERTY_DATA_QUALITY }; public RegionCellResultImportModel( @@ -58,7 +60,8 @@ Map<String, Echotype> echotypeMap, Map<String, Species> speciesMap, Map<String, SizeCategory> sizeCategoryMap, - List<DataMetadata> dataMetadatas) { + List<DataMetadata> dataMetadatas, + Map<String, DataQuality> dataQualityMap) { super(separator); newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, voyageMap); @@ -66,6 +69,7 @@ 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); + newForeignKeyColumn(RegionCellResultImportRow.PROPERTY_DATA_QUALITY, DataQuality.class, DataQuality.PROPERTY_QUALITY_DATA_FLAG_VALUES, dataQualityMap); for (DataMetadata metadata : dataMetadatas) { newMandatoryColumn( 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-30 16:46:14 UTC (rev 460) +++ trunk/echobase-services/src/main/java/fr/ifremer/echobase/services/importdata/csv/RegionCellResultImportRow.java 2012-03-30 19:36:14 UTC (rev 461) @@ -29,6 +29,7 @@ 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.DataQuality; import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; @@ -54,6 +55,8 @@ public static final String PROPERTY_SIZE_CATEGORY = "sizeCategory"; + public static final String PROPERTY_DATA_QUALITY = "dataQuality"; + protected Voyage voyage; protected Echotype echotype; @@ -66,6 +69,8 @@ protected SizeCategory sizeCategory; + protected DataQuality dataQuality; + public Echotype getEchotype() { return echotype; } @@ -114,4 +119,12 @@ public void setVoyage(Voyage voyage) { this.voyage = voyage; } + + public DataQuality getDataQuality() { + return dataQuality; + } + + public void setDataQuality(DataQuality dataQuality) { + this.dataQuality = dataQuality; + } } Modified: trunk/echobase-services/src/test/resources/import-data/acoustic/movies.csv.gz =================================================================== (Binary files differ) Modified: trunk/echobase-services/src/test/resources/import-data/result/esdu/byEchotype.csv.gz =================================================================== (Binary files differ) Modified: trunk/echobase-services/src/test/resources/import-data/result/esdu/byEchotypeAndSpeciesCategory.csv.gz =================================================================== (Binary files differ) Modified: trunk/echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndAgeCategory.csv.gz =================================================================== (Binary files differ) Modified: trunk/echobase-services/src/test/resources/import-data/result/esdu/bySpeciesAndSizeCategory.csv.gz =================================================================== (Binary files differ) Modified: trunk/echobase-services/src/test/resources/import-data/result/map/maps.csv.gz =================================================================== (Binary files differ) Modified: trunk/echobase-services/src/test/resources/import-data/result/region/regionResults.csv.gz =================================================================== (Binary files differ) Modified: trunk/echobase-services/src/test/resources/import-data/result/region/regions.csv.gz =================================================================== (Binary files differ)
participants (1)
-
tchemit@users.forge.codelutin.com