branch feature/8170 updated (10975a5 -> 81dec8c)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from 10975a5 Normalize test names + readd ITs :) new 309f240 Add more toString on entities new bff9d9b Add predicate to filter cell data new 8af3bd6 Fix i18n new c16fdde Prise en compte de la nullité d'un résultat lors de l'export new 6ead589 Prise en compte de la nullité de la qualité d'un résultat lors de l'export new 47649ae Region import ok \o/ (See #8170) new 81dec8c Can collect ids when creatin data cell The 7 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Detailed log of new commits: commit 81dec8c1e018b7ba17740a3e3d4da4b3189de701 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 4 07:42:06 2016 +0200 Can collect ids when creatin data cell commit 47649ae66721626d0d8eb7a9d645565df2a32456 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 4 07:41:44 2016 +0200 Region import ok \o/ (See #8170) commit 6ead589b58c04a83d68e39e070eee3325a03b98f Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 4 07:40:35 2016 +0200 Prise en compte de la nullité de la qualité d'un résultat lors de l'export commit c16fdde3666617cd3882bda4dcee89fb9d01ae97 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 4 07:39:36 2016 +0200 Prise en compte de la nullité d'un résultat lors de l'export commit 8af3bd6da06bff30e1f8e0d553b063aebd84d482 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Apr 3 09:58:02 2016 +0200 Fix i18n commit bff9d9b66a918c49a633c563ed9d5c2f46ce6b8f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Apr 3 09:57:33 2016 +0200 Add predicate to filter cell data commit 309f240165a54000ded40584bfe61390d74adfad Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Apr 3 09:57:09 2016 +0200 Add more toString on entities Summary of changes: .../ifremer/echobase/entities/data/CellImpl.java | 12 ++- .../fr/ifremer/echobase/entities/data/Datas.java | 33 +++++++ .../echobase/entities/references/CellTypeImpl.java | 15 ++- .../echobase/services/csv/EchoBaseCsvUtil.java | 2 +- .../services/csv/ResultValueFormatter.java | 2 +- .../actions/ImportDataActionSupport.java | 12 ++- .../actions/VoyageAcousticsImportAction.java | 3 +- .../VoyageResultsImportDataActionSupport.java | 29 +++--- .../VoyageResultsMapFishCellImportAction.java | 18 ++-- .../VoyageResultsMapOtherCellImportAction.java | 18 ++-- ...VoyageResultsRegionAssociationImportAction.java | 38 +++++++- .../actions/VoyageResultsRegionImportAction.java | 86 +++++++++++++++-- .../VoyageResultsRegionResultsImportAction.java | 106 ++++++++++++++++++++- .../csv/EchoBaseImportExportModelSupport.java | 2 +- .../RegionCellAssociationImportExportModel.java | 12 ++- .../csv/RegionCellAssociationImportRow.java | 10 +- .../importdata/csv/RegionCellImportRow.java | 22 ++++- .../importdata/csv/RegionCellResultImportRow.java | 28 +++++- .../i18n/echobase-services_fr_FR.properties | 2 +- .../VoyageResultsRegionCellImportServiceIT.java | 57 ++++++++--- .../result/region/regionAssociations_small.csv.gz | Bin 0 -> 296 bytes 21 files changed, 436 insertions(+), 71 deletions(-) create mode 100644 echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/Datas.java create mode 100644 echobase-services/src/test/resources/import-data/result/region/regionAssociations_small.csv.gz -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 309f240165a54000ded40584bfe61390d74adfad Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Apr 3 09:57:09 2016 +0200 Add more toString on entities --- .../java/fr/ifremer/echobase/entities/data/CellImpl.java | 12 +++++++++++- .../echobase/entities/references/CellTypeImpl.java | 15 +++++++++++++-- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java index 64006c3..5ea5cdf 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/CellImpl.java @@ -20,6 +20,7 @@ */ package fr.ifremer.echobase.entities.data; +import com.google.common.base.MoreObjects; import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.references.CellType; import fr.ifremer.echobase.entities.references.DataQuality; @@ -58,4 +59,13 @@ public class CellImpl extends CellAbstract { visitor.visit(this, PROPERTY_RESULT, Collection.class, Result.class, result); visitor.end(this); } -} //CellImpl + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add(PROPERTY_NAME, name) + .add(PROPERTY_CELL_TYPE, cellType) +// .add(PROPERTY_TOPIA_ID, topiaId) + .toString(); + } +} diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/CellTypeImpl.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/CellTypeImpl.java index bdbc0aa..2d651fe 100644 --- a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/CellTypeImpl.java +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/references/CellTypeImpl.java @@ -21,6 +21,8 @@ package fr.ifremer.echobase.entities.references; * #L% */ +import com.google.common.base.MoreObjects; + public class CellTypeImpl extends CellTypeAbstract { public static final String MAP = "Map"; @@ -37,5 +39,14 @@ public class CellTypeImpl extends CellTypeAbstract { public static final String SHOAL = "Shoal"; - private static final long serialVersionUID = 3631136258339910497L; -} //CellTypeImpl + private static final long serialVersionUID = 1L; + + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add(PROPERTY_ID, id) + .add(PROPERTY_NAME, name) +// .add(PROPERTY_TOPIA_ID, topiaId) + .toString(); + } +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit bff9d9b66a918c49a633c563ed9d5c2f46ce6b8f Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Apr 3 09:57:33 2016 +0200 Add predicate to filter cell data --- .../fr/ifremer/echobase/entities/data/Datas.java | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/Datas.java b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/Datas.java new file mode 100644 index 0000000..82b1787 --- /dev/null +++ b/echobase-domain/src/main/java/fr/ifremer/echobase/entities/data/Datas.java @@ -0,0 +1,33 @@ +package fr.ifremer.echobase.entities.data; + +import com.google.common.base.Predicate; +import fr.ifremer.echobase.entities.references.DataMetadata; + +/** + * Created on 03/04/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public class Datas { + + public static Predicate<Data> newPredicateByDataMetadata(DataMetadata dataMetadata) { + return new IsDataPerDataMetadata(dataMetadata); + } + + public static class IsDataPerDataMetadata implements Predicate<Data> { + + private final DataMetadata dataMetadata; + + public IsDataPerDataMetadata(DataMetadata dataMetadata) { + this.dataMetadata = dataMetadata; + } + + @Override + public boolean apply(Data input) { + return dataMetadata.equals(input.getDataMetadata()); + } + + } + +} -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 8af3bd6da06bff30e1f8e0d553b063aebd84d482 Author: Tony CHEMIT <chemit@codelutin.com> Date: Sun Apr 3 09:58:02 2016 +0200 Fix i18n --- .../src/main/resources/i18n/echobase-services_fr_FR.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties b/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties index 5514bbf..881bf3c 100644 --- a/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties +++ b/echobase-services/src/main/resources/i18n/echobase-services_fr_FR.properties @@ -29,7 +29,7 @@ echobase.common.totalSampleFile=Fichier d'import des échantillons totaux (“ T echobase.common.transectFile=Fichier des données de transects echobase.common.transitFile=Fichier des données de transits echobase.common.voyageFile=Fichier des données de voyages -echobase.exportError.toFile= +echobase.exportError.toFile=Erreur lors de l'extraction du fichier %s \: %s echobase.importError.can.only.import.one.voyage.atime=Vous ne pouvez pas importer plus d'un voyage à la fois echobase.importError.dataMetadata.notFound=Colonne de métadonnées nommée %s non trouvée (valeurs existantes \: %s) echobase.importError.duplicate.sample=L'opération %s ne peut pas contenir deux échantillons de même type %s, espèce %s et classe de taille %s -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit c16fdde3666617cd3882bda4dcee89fb9d01ae97 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 4 07:39:36 2016 +0200 Prise en compte de la nullité d'un résultat lors de l'export --- .../java/fr/ifremer/echobase/services/csv/ResultValueFormatter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ResultValueFormatter.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ResultValueFormatter.java index 85c9b92..f9a8421 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ResultValueFormatter.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/ResultValueFormatter.java @@ -42,7 +42,7 @@ class ResultValueFormatter implements ValueFormatter<Result> { @Override public String format(Result value) { - String resultValue = value.getResultValue(); + String resultValue = value == null ? null : value.getResultValue(); if ((fillValue.equals(resultValue) || resultValue == null) && useFillValue) { resultValue = EchoBaseCsvUtil.NA; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 6ead589b58c04a83d68e39e070eee3325a03b98f Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 4 07:40:35 2016 +0200 Prise en compte de la nullité de la qualité d'un résultat lors de l'export --- .../src/main/java/fr/ifremer/echobase/services/csv/EchoBaseCsvUtil.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchoBaseCsvUtil.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchoBaseCsvUtil.java index f317b96..19ba307 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchoBaseCsvUtil.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/csv/EchoBaseCsvUtil.java @@ -76,7 +76,7 @@ public class EchoBaseCsvUtil extends TopiaCsvCommons { public static final ValueFormatter<DataQuality> DATA_QUALITY_FORMATTER = newValueFormatterByFunction(new Function<DataQuality, String>() { @Override public String apply(DataQuality input) { - return "" + input.getQualityDataFlagValues(); + return "" + (input == null ? "" : input.getQualityDataFlagValues()); } }); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 47649ae66721626d0d8eb7a9d645565df2a32456 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 4 07:41:44 2016 +0200 Region import ok \o/ (See #8170) --- ...VoyageResultsRegionAssociationImportAction.java | 38 +++++++- .../actions/VoyageResultsRegionImportAction.java | 86 +++++++++++++++-- .../VoyageResultsRegionResultsImportAction.java | 106 ++++++++++++++++++++- .../RegionCellAssociationImportExportModel.java | 12 ++- .../csv/RegionCellAssociationImportRow.java | 10 +- .../importdata/csv/RegionCellImportRow.java | 22 ++++- .../importdata/csv/RegionCellResultImportRow.java | 28 +++++- .../VoyageResultsRegionCellImportServiceIT.java | 57 ++++++++--- .../result/region/regionAssociations_small.csv.gz | Bin 0 -> 296 bytes 9 files changed, 323 insertions(+), 36 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionAssociationImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionAssociationImportAction.java index a686530..675c085 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionAssociationImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionAssociationImportAction.java @@ -1,7 +1,9 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; @@ -11,6 +13,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.LinkedHashMap; +import java.util.Map; + /** * Created on 25/03/16. * @@ -36,6 +41,8 @@ public class VoyageResultsRegionAssociationImportAction extends VoyageResultsImp return RegionCellAssociationImportExportModel.forExport(importDataContext); } + private final Map<String, String> esduCellDataIdToRegionCellId = new LinkedHashMap<>(); + @Override protected void performImport(VoyageResultsImportDataContext importDataContext, InputFile inputFile, ImportDataFileResult result) { @@ -54,7 +61,13 @@ public class VoyageResultsRegionAssociationImportAction extends VoyageResultsImp Cell regionCell = row.getRegionCell(); Cell esduCell = row.getEsduCell(); regionCell.addChilds(esduCell); - result.incrementsNumberUpdated(EchoBaseUserEntityEnum.Cell); + + if (!esduCellDataIdToRegionCellId.containsValue(regionCell.getTopiaId())) { + result.incrementsNumberUpdated(EchoBaseUserEntityEnum.Cell); + } + + addProcessedRow(result, row); + esduCellDataIdToRegionCellId.put(esduCell.getTopiaId(), regionCell.getTopiaId()); } @@ -65,7 +78,28 @@ public class VoyageResultsRegionAssociationImportAction extends VoyageResultsImp @Override protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage voyage = persistenceService.getVoyage(voyageId); + + for (Map.Entry<String, String> entry : esduCellDataIdToRegionCellId.entrySet()) { + + String esduCellId = entry.getKey(); + String regionCellId = entry.getValue(); + + if (log.isInfoEnabled()) { + log.info("Treat imported esduCell association: " + esduCellId + " to regionCell: " + regionCellId); + } + + Cell esduCell = persistenceService.getCell(esduCellId); + Preconditions.checkNotNull(esduCell); + + Cell regionCell = persistenceService.getCell(regionCellId); + Preconditions.checkNotNull(regionCell); + + RegionCellAssociationImportRow row = RegionCellAssociationImportRow.of(voyage, regionCell, esduCell); + addImportedRow(result, row); + + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionImportAction.java index 87466e2..e021356 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionImportAction.java @@ -1,9 +1,16 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Optional; +import com.google.common.base.Preconditions; +import com.google.common.base.Predicate; +import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Data; +import fr.ifremer.echobase.entities.data.Datas; 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.io.InputFile; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; @@ -13,6 +20,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.Map; +import java.util.TreeMap; + /** * Created on 25/03/16. * @@ -38,6 +48,8 @@ public class VoyageResultsRegionImportAction extends VoyageResultsImportDataActi return RegionCellImportExportModel.forExport(importDataContext); } + private final Map<String, String> cellDataCoordinateIdToCellId = new TreeMap<>(); + @Override protected void performImport(VoyageResultsImportDataContext importDataContext, InputFile inputFile, ImportDataFileResult result) { @@ -58,11 +70,18 @@ public class VoyageResultsRegionImportAction extends VoyageResultsImportDataActi for (RegionCellImportRow row : importer) { doFlushTransaction(++rowNumber); + + DataQuality dataQuality = row.getDataQuality(); + if (cell == null || !row.getName().equals(cell.getName())) { cell = persistenceService.createCell(row.getCellType(), row.getName()); voyage.addPostCell(cell); + if (log.isInfoEnabled()) { + log.info("Create new region cell: " + cell); + } + // collect ids result.addId(EchoBaseUserEntityEnum.Cell, cell); @@ -70,16 +89,25 @@ public class VoyageResultsRegionImportAction extends VoyageResultsImportDataActi createCellData(cell, dataSurfaceMeta, String.valueOf(row.getDataSurface()), - row.getDataQuality(), - result); + dataQuality, + result, + true); + } // add coordinate data - createCellData(cell, - dataCoordinateMeta, - row.getDataCoordinate(), - row.getDataQuality(), - result); + Data cellData = createCellData(cell, + dataCoordinateMeta, + row.getDataCoordinate(), + dataQuality, + result, + true); + + cellDataCoordinateIdToCellId.put(cellData.getTopiaId(), cell.getTopiaId()); + + + addProcessedRow(result, row); + } } @@ -89,7 +117,49 @@ public class VoyageResultsRegionImportAction extends VoyageResultsImportDataActi @Override protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + DataMetadata dataCoordinateMeta = importDataContext.getRegionEnvCoordinateMeta(); + DataMetadata dataSurfaceMeta = importDataContext.getSurfaceMeta(); + + Predicate<Data> dataPredicate = Datas.newPredicateByDataMetadata(dataSurfaceMeta); + + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage voyage = persistenceService.getVoyage(voyageId); + + for (String cellDataId : filterIds(Data.class, result.getIds())) { + + String cellId = cellDataCoordinateIdToCellId.get(cellDataId); + if (cellId == null) { + + // Treat only coordindate data, since there is exactly one per row + // The surface data is the same for all rows of a same region cell + continue; + } + + if (log.isInfoEnabled()) { + log.info("Treat imported coordinate data: " + cellDataId + " for cell: " + cellId); + } + + Preconditions.checkNotNull(cellId); + + Cell cell = persistenceService.getCell(cellId); + Preconditions.checkNotNull(cell); + Preconditions.checkState(cell.isDataNotEmpty()); + + Data coordinateData = cell.getDataByTopiaId(cellDataId); + Preconditions.checkNotNull(coordinateData); + Preconditions.checkState(dataCoordinateMeta.equals(coordinateData.getDataMetadata())); + + Optional<Data> optionalSurfaceData = Iterables.tryFind(cell.getData(), dataPredicate); + Preconditions.checkState(optionalSurfaceData.isPresent()); + + String surfaceDataValue = optionalSurfaceData.get().getDataValue(); + Preconditions.checkNotNull(coordinateData); + + RegionCellImportRow row = RegionCellImportRow.of(voyage, cell, coordinateData, Float.valueOf(surfaceDataValue)); + + addImportedRow(result, row); + + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java index 9e37f5e..be8dd7a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsRegionResultsImportAction.java @@ -1,7 +1,10 @@ package fr.ifremer.echobase.services.service.importdata.actions; +import com.google.common.base.Preconditions; import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; +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.io.InputFile; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; @@ -13,7 +16,10 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.LinkedList; import java.util.List; +import java.util.Map; +import java.util.TreeMap; /** * Created on 25/03/16. @@ -44,6 +50,8 @@ public class VoyageResultsRegionResultsImportAction extends VoyageResultsImportD } + private final Map<String, String> resultIdToCellId = new TreeMap<>(); + @Override protected void performImport(VoyageResultsImportDataContext importDataContext, InputFile inputFile, ImportDataFileResult result) { @@ -71,7 +79,14 @@ public class VoyageResultsRegionResultsImportAction extends VoyageResultsImportD null, result); - addResults(row, cell, category, resultLabel, result, false, false); + String cellTopiaId = cell.getTopiaId(); + + List<Result> cellResults = addResults(row, cell, category, resultLabel, result, true, false); + for (Result cellResult : cellResults) { + resultIdToCellId.put(cellResult.getTopiaId(), cellTopiaId); + } + + addProcessedRow(result, row); } } @@ -81,7 +96,94 @@ public class VoyageResultsRegionResultsImportAction extends VoyageResultsImportD @Override protected void computeImportedExport(VoyageResultsImportDataContext importDataContext, ImportDataFileResult result) { - // TODO + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage voyage = persistenceService.getVoyage(voyageId); + + String lastCellId = null; + Category lastCategory = null; + + List<Result> cellResults = new LinkedList<>(); + for (String resultId : result.getIds()) { + + String cellId = resultIdToCellId.get(resultId); + + if (lastCellId != null && !lastCellId.equals(cellId)) { + + Preconditions.checkState(!cellResults.isEmpty(), "Can't flush a cell (" + lastCellId + " ) with no result..."); + + // flush current cell + Cell cell = persistenceService.getCell(lastCellId); + + if (log.isInfoEnabled()) { + log.info("Cell has changed, flushing " + cellResults.size() + " results for cell: " + cell + " with category " + lastCategory); + } + RegionCellResultImportRow row = RegionCellResultImportRow.of(voyage, cell, lastCategory, cellResults); + + addImportedRow(result, row); + + lastCellId = null; + cellResults.clear(); + + } + + if (lastCellId == null) { + + lastCellId = cellId; + lastCategory = null; + + + if (log.isInfoEnabled()) { + log.info("New result cell: " + cellId); + } + + } + + Result cellResult = persistenceService.getResult(resultId); + + if (lastCategory != null && !lastCategory.equals(cellResult.getCategory())) { + + Preconditions.checkState(!cellResults.isEmpty(), "Can't flush a cell (" + lastCellId + " ) with no result..."); + + // flush current cell + Cell cell = persistenceService.getCell(lastCellId); + + if (log.isInfoEnabled()) { + log.info("Cell result category has changed, flushing " + cellResults.size() + " results for cell: " + cell + " with category " + lastCategory); + } + + RegionCellResultImportRow row = RegionCellResultImportRow.of(voyage, cell, lastCategory, cellResults); + + addImportedRow(result, row); + + lastCategory = null; + cellResults.clear(); + + } + + if (lastCategory == null) { + + // first row for this category + lastCategory = cellResult.getCategory(); + + if (log.isInfoEnabled()) { + log.info("New result category: " + lastCategory + " for cell: " + lastCellId); + } + + } + + cellResults.add(cellResult); + + } + + if (!cellResults.isEmpty()) { + + // flush last cell + Cell cell = persistenceService.getCell(lastCellId); + + RegionCellResultImportRow row = RegionCellResultImportRow.of(voyage, cell, lastCategory, cellResults); + addImportedRow(result, row); + + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportExportModel.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportExportModel.java index 215903e..93f6b71 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportExportModel.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportExportModel.java @@ -33,6 +33,10 @@ import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImp */ public class RegionCellAssociationImportExportModel extends EchoBaseImportExportModelSupport<RegionCellAssociationImportRow> { + public static final String HEADER_REGION_NAME = "regionName"; + public static final String HEADER_ESDU_NAME = "esduName"; + + private RegionCellAssociationImportExportModel(char separator) { super(separator); } @@ -41,8 +45,8 @@ public class RegionCellAssociationImportExportModel extends EchoBaseImportExport RegionCellAssociationImportExportModel model = new RegionCellAssociationImportExportModel(importDataContext.getCsvSeparator()); model.newForeignKeyColumn(RegionCellAssociationImportRow.PROPERTY_VOYAGE, Voyage.class, Voyage.PROPERTY_NAME, importDataContext.getVoyagesByName()); - model.newForeignKeyColumn("regionName", RegionCellAssociationImportRow.PROPERTY_REGION_CELL, Cell.class, Cell.PROPERTY_NAME, importDataContext.getEsduCellsByName()); - model.newMandatoryColumn("esduName", RegionCellAssociationImportRow.PROPERTY_ESDU_CELL, importDataContext.newCellValueParser()); + model.newForeignKeyColumn(HEADER_REGION_NAME, RegionCellAssociationImportRow.PROPERTY_REGION_CELL, Cell.class, Cell.PROPERTY_NAME, importDataContext.getVoyageRegionsByName()); + model.newMandatoryColumn(HEADER_ESDU_NAME, RegionCellAssociationImportRow.PROPERTY_ESDU_CELL, importDataContext.newCellValueParser()); return model; } @@ -51,8 +55,8 @@ public class RegionCellAssociationImportExportModel extends EchoBaseImportExport RegionCellAssociationImportExportModel model = new RegionCellAssociationImportExportModel(importDataContext.getCsvSeparator()); model.newColumnForExport(RegionCellAssociationImportRow.PROPERTY_VOYAGE, EchoBaseCsvUtil.VOYAGE_FORMATTER); - model.newColumnForExport("regionName", RegionCellAssociationImportRow.PROPERTY_REGION_CELL, EchoBaseCsvUtil.CELL_FORMATTER); - model.newColumnForExport("esduName", RegionCellAssociationImportRow.PROPERTY_ESDU_CELL, importDataContext.newCellValueFormatter()); + model.newColumnForExport(HEADER_REGION_NAME, RegionCellAssociationImportRow.PROPERTY_REGION_CELL, EchoBaseCsvUtil.CELL_FORMATTER); + model.newColumnForExport(HEADER_ESDU_NAME, RegionCellAssociationImportRow.PROPERTY_ESDU_CELL, importDataContext.newCellValueFormatter()); return model; } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportRow.java index c62ab4a..e2ebe59 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellAssociationImportRow.java @@ -32,9 +32,7 @@ import fr.ifremer.echobase.entities.data.Voyage; public class RegionCellAssociationImportRow { public static final String PROPERTY_VOYAGE = "voyage"; - public static final String PROPERTY_ESDU_CELL = "esduCell"; - public static final String PROPERTY_REGION_CELL = "regionCell"; protected Voyage voyage; @@ -43,6 +41,14 @@ public class RegionCellAssociationImportRow { protected Cell regionCell; + public static RegionCellAssociationImportRow of(Voyage voyage, Cell regionCell, Cell esduCell) { + RegionCellAssociationImportRow row = new RegionCellAssociationImportRow(); + row.setVoyage(voyage); + row.setRegionCell(regionCell); + row.setEsduCell(esduCell); + return row; + } + public RegionCellAssociationImportRow() { } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellImportRow.java index ffaa87c..2cacb38 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellImportRow.java @@ -20,6 +20,8 @@ */ package fr.ifremer.echobase.services.service.importdata.csv; +import fr.ifremer.echobase.entities.data.Cell; +import fr.ifremer.echobase.entities.data.Data; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.CellType; import fr.ifremer.echobase.entities.references.DataQuality; @@ -32,18 +34,18 @@ import fr.ifremer.echobase.entities.references.DataQuality; */ public class RegionCellImportRow { - public static final String PROPERTY_NAME = "name"; + public static final String PROPERTY_NAME = Cell.PROPERTY_NAME; public static final String PROPERTY_VOYAGE = "voyage"; - public static final String PROPERTY_CELL_TYPE = "cellType"; + public static final String PROPERTY_CELL_TYPE = Cell.PROPERTY_CELL_TYPE; + + public static final String PROPERTY_DATA_QUALITY = Data.PROPERTY_DATA_QUALITY; public static final String PROPERTY_DATA_COORDINATE = "dataCoordinate"; public static final String PROPERTY_DATA_SURFACE = "dataSurface"; - public static final String PROPERTY_DATA_QUALITY = "dataQuality"; - protected Voyage voyage; protected CellType cellType; @@ -106,4 +108,16 @@ public class RegionCellImportRow { public void setDataQuality(DataQuality dataQuality) { this.dataQuality = dataQuality; } + + public static RegionCellImportRow of(Voyage voyage, Cell cell, Data coordinateData, float surfaceDataValue) { + RegionCellImportRow row = new RegionCellImportRow(); + row.setVoyage(voyage); + row.setName(cell.getName()); + row.setCellType(cell.getCellType()); + row.setDataSurface(surfaceDataValue); + row.setDataCoordinate(coordinateData.getDataValue()); + row.setDataQuality(coordinateData.getDataQuality()); + return row; + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellResultImportRow.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellResultImportRow.java index 52fcf43..6cbd0e9 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellResultImportRow.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/RegionCellResultImportRow.java @@ -20,7 +20,8 @@ */ package fr.ifremer.echobase.services.service.importdata.csv; -import com.google.common.collect.Lists; +import com.google.common.base.Preconditions; +import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; import fr.ifremer.echobase.entities.data.Echotype; import fr.ifremer.echobase.entities.data.Result; @@ -30,6 +31,7 @@ import fr.ifremer.echobase.entities.references.SizeCategory; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.services.csv.ResultAble; +import java.util.ArrayList; import java.util.List; /** @@ -60,7 +62,7 @@ public class RegionCellResultImportRow implements ResultAble { protected Cell cell; - protected List<Result> result = Lists.newArrayList(); + protected final List<Result> result = new ArrayList<>(); protected Species species; @@ -84,6 +86,7 @@ public class RegionCellResultImportRow implements ResultAble { this.cell = cell; } + @Override public List<Result> getResult() { return result; } @@ -117,11 +120,32 @@ public class RegionCellResultImportRow implements ResultAble { this.voyage = voyage; } + @Override public DataQuality getDataQuality() { return dataQuality; } + @Override public void setDataQuality(DataQuality dataQuality) { this.dataQuality = dataQuality; } + + public static RegionCellResultImportRow of(Voyage voyage, Cell cell, Category category, List<Result> result) { + Preconditions.checkNotNull(voyage); + Preconditions.checkNotNull(cell); + Preconditions.checkNotNull(category); + Preconditions.checkNotNull(result); + Preconditions.checkArgument(!result.isEmpty()); + + RegionCellResultImportRow row = new RegionCellResultImportRow(); + row.setVoyage(voyage); + row.setCell(cell); + row.result.clear(); + row.result.addAll(result); + row.setSpecies(category.getSpeciesCategory().getSpecies()); + row.setSizeCategory(category.getSpeciesCategory().getSizeCategory()); + row.setEchotype(category.getEchotype()); + row.setDataQuality(result.get(0).getDataQuality()); + return row; + } } diff --git a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java index 490e924..a81f21c 100644 --- a/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java +++ b/echobase-services/src/test/java/fr/ifremer/echobase/services/service/importdata/VoyageResultsRegionCellImportServiceIT.java @@ -20,6 +20,7 @@ */ package fr.ifremer.echobase.services.service.importdata; +import com.google.common.collect.Iterables; import fr.ifremer.echobase.entities.ImportType; import fr.ifremer.echobase.entities.data.Category; import fr.ifremer.echobase.entities.data.Cell; @@ -30,7 +31,6 @@ import fr.ifremer.echobase.services.FakeEchoBaseServiceContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; import java.io.IOException; -import java.util.Set; /** * @author Tony Chemit - chemit@codelutin.com @@ -55,35 +55,68 @@ public class VoyageResultsRegionCellImportServiceIT extends VoyageResultsImportS VoyageResultsImportConfiguration configuration = super.createConfiguration(); configuration.setImportType(ImportType.RESULT_REGION); prepareInputFile(configuration.getRegionsFile(), getImportPath("regions.csv.gz")); - prepareInputFile(configuration.getRegionAssociationFile(), getImportPath("regionAssociations.csv.gz")); + prepareInputFile(configuration.getRegionAssociationFile(), getImportPath("regionAssociations_small.csv.gz")); prepareInputFile(configuration.getRegionResultFile(), getImportPath("regionResults.csv.gz")); addMissingEsduCells("esduName", configuration.getVoyageId(), configuration.getRegionAssociationFile()); + assertNbEntities(Cell.class, NB_ESDU_CELLS); + return configuration; } + public static final int NB_ESDU_CELLS = 22; + @Override protected void assertBeforeImport() { assertImportCommonData(); assertImportOperations(); assertImportSampleDatas(); assertImportVoyageResult(); - assertNoEntities(Result.class); + assertNoEntities(Cell.class); + assertNoEntities(Data.class); } @Override protected void assertAfertImport(ImportDataResult<VoyageResultsImportConfiguration> result) throws IOException { - Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); - assertNbIds(importDataFileResults, 0, 10); - - assertCsvImportResult(importDataFileResults, 0, Cell.class, 10, 0, 2083); - assertCsvImportResult(importDataFileResults, 0, Data.class, 238); - assertCsvImportResult(importDataFileResults, 1, Cell.class, 0, 4146, 2083); - assertCsvImportResult(importDataFileResults, 2, Result.class, 2128); - assertCsvImportResult(importDataFileResults, 2, Category.class, 27); - assertCsvImportResult(importDataFileResults, 2, SpeciesCategory.class, 1, 0, 457); +// Set<ImportDataFileResult> importDataFileResults = result.getImportResults(); +// assertNbIds(importDataFileResults, 0, 10); + + int nbRegionCell = 10; + int nbRegionCellData = 238; + int nbRegionCellResult = 1873; + + int nbCell = NB_ESDU_CELLS + nbRegionCell; + + { + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 0); + assertCsvImportResultPerEntity(importDataFileResult, Cell.class, nbRegionCell, 0, nbCell); + assertCsvImportResultPerEntity(importDataFileResult, Data.class, nbRegionCellData, 0, nbRegionCellData); + assertCsvImportResult0(importDataFileResult, nbRegionCell + nbRegionCellData); + } + + { + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 1); + assertCsvImportResultPerEntity(importDataFileResult, Cell.class, 0, nbRegionCell, nbCell); + assertCsvImportResult0(importDataFileResult, 0); + } + + { + ImportDataFileResult importDataFileResult = Iterables.get(result.getImportResults(), 2); + assertCsvImportResultPerEntity(importDataFileResult, Result.class, nbRegionCellResult, 0, nbRegionCellResult); + assertCsvImportResultPerEntity(importDataFileResult, Category.class, 27, 0, 27); + assertCsvImportResultPerEntity(importDataFileResult, SpeciesCategory.class, 1, 0, 457); + assertCsvImportResult0(importDataFileResult, nbRegionCellResult); + } + + +// assertCsvImportResult(importDataFileResults, 0, Cell.class, 10, 0, 2083); +// assertCsvImportResult(importDataFileResults, 0, Data.class, 238); +// assertCsvImportResult(importDataFileResults, 1, Cell.class, 0, 4146, 2083); +// assertCsvImportResult(importDataFileResults, 2, Result.class, 2128); +// assertCsvImportResult(importDataFileResults, 2, Category.class, 27); +// assertCsvImportResult(importDataFileResults, 2, SpeciesCategory.class, 1, 0, 457); } diff --git a/echobase-services/src/test/resources/import-data/result/region/regionAssociations_small.csv.gz b/echobase-services/src/test/resources/import-data/result/region/regionAssociations_small.csv.gz new file mode 100644 index 0000000..bdcee15 Binary files /dev/null and b/echobase-services/src/test/resources/import-data/result/region/regionAssociations_small.csv.gz differ -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8170 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 81dec8c1e018b7ba17740a3e3d4da4b3189de701 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 4 07:42:06 2016 +0200 Can collect ids when creatin data cell --- .../actions/ImportDataActionSupport.java | 12 ++++++--- .../actions/VoyageAcousticsImportAction.java | 3 ++- .../VoyageResultsImportDataActionSupport.java | 29 +++++++++++++--------- .../VoyageResultsMapFishCellImportAction.java | 18 +++++++++----- .../VoyageResultsMapOtherCellImportAction.java | 18 +++++++++----- .../csv/EchoBaseImportExportModelSupport.java | 2 +- 6 files changed, 53 insertions(+), 29 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportDataActionSupport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportDataActionSupport.java index b1767fc..531bd44 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportDataActionSupport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/ImportDataActionSupport.java @@ -293,17 +293,23 @@ public abstract class ImportDataActionSupport<M extends ImportDataConfigurationS return importDataContext.getPersistenceService(); } - protected final void createCellData(Cell cell, + protected final Data createCellData(Cell cell, DataMetadata dataMetaData, String dataValue, DataQuality dataQuality, - ImportDataFileResult importResult) { + ImportDataFileResult importResult, boolean collectId) { Data data = getPersistenceService().createData(dataMetaData, dataValue); cell.addData(data); cell.setDataQuality(dataQuality); - importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Data); + if (collectId) { + importResult.addId(EchoBaseUserEntityEnum.Data,data ); + } else { + importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Data); + } + + return data; } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageAcousticsImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageAcousticsImportAction.java index f7cf94c..c119a13 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageAcousticsImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageAcousticsImportAction.java @@ -593,7 +593,8 @@ public class VoyageAcousticsImportAction extends VoyageAcousticsImportDataAction dataMetadatasByName.get(metadataName), dataValue, dataQuality, - importResult); + importResult, + false ); } private String getSoftwareVersion(boolean isME70) { diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsImportDataActionSupport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsImportDataActionSupport.java index 3477b5b..48cc925 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsImportDataActionSupport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsImportDataActionSupport.java @@ -8,9 +8,10 @@ import fr.ifremer.echobase.io.InputFile; import fr.ifremer.echobase.services.csv.EchoBaseCsvUtil; import fr.ifremer.echobase.services.csv.ResultAble; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; -import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; import fr.ifremer.echobase.services.service.importdata.configurations.VoyageResultsImportConfiguration; +import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; +import java.util.LinkedList; import java.util.List; /** @@ -24,17 +25,17 @@ public abstract class VoyageResultsImportDataActionSupport<E> extends ImportData super(importDataContext, inputFile); } - protected void addResults(ResultAble row, - Cell cell, - Category category, - String resultLabel, - ImportDataFileResult importResult, - boolean collecIds, - boolean importNAResults) { + protected List<Result> addResults(ResultAble row, + Cell cell, + Category category, + String resultLabel, + ImportDataFileResult importResult, + boolean collectIds, + boolean importNAResults) { - List<Result> results = row.getResult(); + List<Result> results = new LinkedList<>(); - for (Result result : results) { + for (Result result : row.getResult()) { if (!importNAResults && EchoBaseCsvUtil.NA.equals(result.getResultValue())) { @@ -45,10 +46,10 @@ public abstract class VoyageResultsImportDataActionSupport<E> extends ImportData result.setCategory(category); result.setResultLabel(resultLabel); - Result resultCreated = getPersistenceService().createResult(result); + Result resultCreated = persistenceService.createResult(result); cell.addResult(resultCreated); - if (collecIds) { + if (collectIds) { importResult.addId(EchoBaseUserEntityEnum.Result, resultCreated); @@ -57,8 +58,12 @@ public abstract class VoyageResultsImportDataActionSupport<E> extends ImportData importResult.incrementsNumberCreated(EchoBaseUserEntityEnum.Result); } + results.add(resultCreated); + } + return results; + } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java index f021097..caf1436 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapFishCellImportAction.java @@ -87,42 +87,48 @@ public class VoyageResultsMapFishCellImportAction extends VoyageResultsImportDat dataLongitudeMeta, String.valueOf(row.getGridCellLongitude()), dataQuality, - result); + result, + false); // add gridCellLatitude data createCellData(cell, dataLatitudeMeta, String.valueOf(row.getGridCellLatitude()), dataQuality, - result); + result, + false); // add gridCellDepth data createCellData(cell, dataDepthMeta, String.valueOf(row.getGridCellDepth()), dataQuality, - result); + result, + false); // add gridLongitudeLag data createCellData(cell, dataLongitudeLagMeta, String.valueOf(row.getGridLongitudeLag()), dataQuality, - result); + result, + false); // add gridLatitudeLag data createCellData(cell, dataLatitudeLagMeta, String.valueOf(row.getGridLatitudeLag()), dataQuality, - result); + result, + false); // add gridDepthLag data createCellData(cell, dataDepthLagMeta, String.valueOf(row.getGridDepthLag()), dataQuality, - result); + result, + false); Category category = resultCategoryCache.getResultCategory(null, row.getSpecies(), diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapOtherCellImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapOtherCellImportAction.java index ded4893..cd5b26f 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapOtherCellImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsMapOtherCellImportAction.java @@ -84,42 +84,48 @@ public class VoyageResultsMapOtherCellImportAction extends VoyageResultsImportDa dataLongitudeMeta, String.valueOf(row.getGridCellLongitude()), dataQuality, - result); + result, + false); // add gridCellLatitude data createCellData(cell, dataLatitudeMeta, String.valueOf(row.getGridCellLatitude()), dataQuality, - result); + result, + false); // add gridCellDepth data createCellData(cell, dataDepthMeta, String.valueOf(row.getGridCellDepth()), dataQuality, - result); + result, + false); // add gridLongitudeLag data createCellData(cell, dataLongitudeLagMeta, String.valueOf(row.getGridLongitudeLag()), dataQuality, - result); + result, + false); // add gridLatitudeLag data createCellData(cell, dataLatitudeLagMeta, String.valueOf(row.getGridLatitudeLag()), dataQuality, - result); + result, + false); // add gridDepthLag data createCellData(cell, dataDepthLagMeta, String.valueOf(row.getGridDepthLag()), dataQuality, - result); + result, + false); addResults(row, cell, null, resultLabel, result, false, true); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchoBaseImportExportModelSupport.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchoBaseImportExportModelSupport.java index af26fcc..9492bf4 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchoBaseImportExportModelSupport.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/csv/EchoBaseImportExportModelSupport.java @@ -26,7 +26,7 @@ public abstract class EchoBaseImportExportModelSupport<E> extends AbstractImport model.newColumnForExport( metadata.getName(), EchoBaseCsvUtil.<R>newResultValueGetter(metadata), - EchoBaseCsvUtil.newResultValueFormatter(metadata, false)); + EchoBaseCsvUtil.newResultValueFormatter(metadata, true)); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm