branch feature/2246 updated (a23905d -> 8cf674f)
This is an automated email from the git hooks/post-receive script. New change to branch feature/2246 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git from a23905d Ne pas autoriser de réimporter les données acoustiques déjà existantes (See #2246) new 0b1e7ee Ajout du numéro de ligne dans les messages d'erreurs (See #2246) new 9867f8f Ne pas autoriser de réimporter les résultats sur les voyages déjà existants (See #2246) new 8cf674f Ne pas autoriser de réimporter les résultats sur les voyages déjà existants (See #2246) The 3 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 8cf674f1b633a46ba7f6006fedfbd14a3c173fe2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri May 13 08:43:10 2016 +0200 Ne pas autoriser de réimporter les résultats sur les voyages déjà existants (See #2246) commit 9867f8f7a6cca1411711b3e7debb5b26d9dba16b Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu May 12 16:28:46 2016 +0200 Ne pas autoriser de réimporter les résultats sur les voyages déjà existants (See #2246) commit 0b1e7eef684a101f9c325a898721ae91aadae88a Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu May 12 15:49:30 2016 +0200 Ajout du numéro de ligne dans les messages d'erreurs (See #2246) Summary of changes: .../services/service/UserDbPersistenceService.java | 15 +++++++++ .../DuplicatedEchotypeAssociationException.java | 20 ++++++++++++ .../DuplicatedElementaryCellException.java | 4 +-- .../importdata/DuplicatedEsduCellException.java | 4 +-- .../DuplicatedGearMetadataValueException.java | 3 +- ...eption.java => DuplicatedMapCellException.java} | 6 ++-- .../importdata/DuplicatedOperationException.java | 4 +-- .../DuplicatedOperationMetadataValueException.java | 4 +-- ...ion.java => DuplicatedRegionCellException.java} | 6 ++-- ...plicatedResultsVoyageLengthAgeKeyException.java | 20 ++++++++++++ ...catedResultsVoyageLengthWeightKeyException.java | 20 ++++++++++++ .../importdata/DuplicatedSampleException.java | 4 +-- .../importdata/DuplicatedSubSampleException.java | 3 +- .../importdata/DuplicatedTransectException.java | 4 +-- .../importdata/DuplicatedTransitException.java | 4 +-- .../importdata/DuplicatedVoyageException.java | 4 +-- .../importdata/MismatchVoyageException.java | 21 ++++++++++++ .../actions/VoyageAcousticsImportAction.java | 4 +-- .../VoyageCatchesSubSampleImportAction.java | 1 + .../VoyageCatchesTotalSampleImportAction.java | 2 +- .../actions/VoyageCommonsTransectImportAction.java | 2 +- .../actions/VoyageCommonsTransitImportAction.java | 2 +- .../actions/VoyageCommonsVoyageImportAction.java | 2 +- .../VoyageOperationsGearMetadataImportAction.java | 1 + .../VoyageOperationsOperationImportAction.java | 2 +- ...ageOperationsOperationMetadataImportAction.java | 2 +- .../VoyageResultsMapFishCellImportAction.java | 15 ++++++++- .../VoyageResultsMapOtherCellImportAction.java | 15 ++++++++- .../actions/VoyageResultsRegionImportAction.java | 21 ++++++++++-- .../VoyageResultsVoyageEchotypeImportAction.java | 19 ++++++++--- ...oyageResultsVoyageLengthAgeKeyImportAction.java | 31 ++++++++++++++++++ ...geResultsVoyageLengthWeightKeyImportAction.java | 38 ++++++++++++++++++++-- .../i18n/echobase-services_en_GB.properties | 26 +++++++++------ .../i18n/echobase-services_fr_FR.properties | 24 +++++++++----- 34 files changed, 290 insertions(+), 63 deletions(-) create mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedEchotypeAssociationException.java copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/{DuplicatedEsduCellException.java => DuplicatedMapCellException.java} (79%) copy echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/{DuplicatedElementaryCellException.java => DuplicatedRegionCellException.java} (77%) create mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedResultsVoyageLengthAgeKeyException.java create mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedResultsVoyageLengthWeightKeyException.java create mode 100644 echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MismatchVoyageException.java -- 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/2246 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 0b1e7eef684a101f9c325a898721ae91aadae88a Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu May 12 15:49:30 2016 +0200 Ajout du numéro de ligne dans les messages d'erreurs (See #2246) --- .../DuplicatedGearMetadataValueException.java | 3 ++- .../importdata/DuplicatedOperationException.java | 4 ++-- .../DuplicatedOperationMetadataValueException.java | 4 ++-- .../importdata/DuplicatedSampleException.java | 4 ++-- .../importdata/DuplicatedSubSampleException.java | 3 ++- .../importdata/DuplicatedTransectException.java | 4 ++-- .../importdata/DuplicatedTransitException.java | 4 ++-- .../importdata/DuplicatedVoyageException.java | 4 ++-- .../actions/VoyageCatchesSubSampleImportAction.java | 1 + .../VoyageCatchesTotalSampleImportAction.java | 2 +- .../actions/VoyageCommonsTransectImportAction.java | 2 +- .../actions/VoyageCommonsTransitImportAction.java | 2 +- .../actions/VoyageCommonsVoyageImportAction.java | 2 +- .../VoyageOperationsGearMetadataImportAction.java | 1 + .../VoyageOperationsOperationImportAction.java | 2 +- ...oyageOperationsOperationMetadataImportAction.java | 2 +- .../i18n/echobase-services_en_GB.properties | 20 ++++++++++---------- .../i18n/echobase-services_fr_FR.properties | 18 +++++++++--------- 18 files changed, 43 insertions(+), 39 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedGearMetadataValueException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedGearMetadataValueException.java index 094318f..ef34147 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedGearMetadataValueException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedGearMetadataValueException.java @@ -38,13 +38,14 @@ public class DuplicatedGearMetadataValueException extends ImportRuntimeException private static final long serialVersionUID = 1L; public DuplicatedGearMetadataValueException(Locale locale, + int rowNumber, String voyageName, String vesselName, String depthStratumName, String operationId, String gearName, String gearMetatadataName) { - super(l(locale, "echobase.importError.duplicate.gearMetataValue", gearMetatadataName, gearName, operationId, depthStratumName, vesselName, voyageName)); + super(l(locale, "echobase.importError.duplicate.gearMetataValue", rowNumber, gearMetatadataName, gearName, operationId, depthStratumName, vesselName, voyageName)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedOperationException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedOperationException.java index abf984b..c5ef7ce 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedOperationException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedOperationException.java @@ -37,7 +37,7 @@ public class DuplicatedOperationException extends ImportRuntimeException { private static final long serialVersionUID = 1L; - public DuplicatedOperationException(Locale locale, String voyageName, String vesselName, String depthStratumName, String operationId) { - super(l(locale, "echobase.importError.duplicate.operation", operationId, depthStratumName, vesselName, voyageName)); + public DuplicatedOperationException(Locale locale, int rowNumber, String voyageName, String vesselName, String depthStratumName, String operationId) { + super(l(locale, "echobase.importError.duplicate.operation", rowNumber, operationId, depthStratumName, vesselName, voyageName)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedOperationMetadataValueException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedOperationMetadataValueException.java index f3b3e8e..bbe7fd7 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedOperationMetadataValueException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedOperationMetadataValueException.java @@ -37,8 +37,8 @@ public class DuplicatedOperationMetadataValueException extends ImportRuntimeExce private static final long serialVersionUID = 1L; - public DuplicatedOperationMetadataValueException(Locale locale, String voyageName, String vesselName, String depthStratumName, String operationId, String operationMetatadataName) { - super(l(locale, "echobase.importError.duplicate.operationMetataValue", operationMetatadataName, operationId, depthStratumName, vesselName, voyageName)); + public DuplicatedOperationMetadataValueException(Locale locale, int rowNumber, String voyageName, String vesselName, String depthStratumName, String operationId, String operationMetatadataName) { + super(l(locale, "echobase.importError.duplicate.operationMetataValue", rowNumber, operationMetatadataName, operationId, depthStratumName, vesselName, voyageName)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedSampleException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedSampleException.java index a5f69bf..72b44c1 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedSampleException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedSampleException.java @@ -41,7 +41,7 @@ public class DuplicatedSampleException extends ImportRuntimeException { private static final long serialVersionUID = 1L; - public DuplicatedSampleException(Locale locale, Operation operation, SampleType sampleType, Species species, SizeCategory sizeCategory) { - super(l(locale, "echobase.importError.duplicate.sample", operation.getId(), sampleType.getName(), species.getBaracoudaCode(), sizeCategory.getName())); + public DuplicatedSampleException(Locale locale, int rowNumber, Operation operation, SampleType sampleType, Species species, SizeCategory sizeCategory) { + super(l(locale, "echobase.importError.duplicate.sample", rowNumber, operation.getId(), sampleType.getName(), species.getBaracoudaCode(), sizeCategory.getName())); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedSubSampleException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedSubSampleException.java index 03a0543..d5ea49a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedSubSampleException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedSubSampleException.java @@ -38,10 +38,11 @@ public class DuplicatedSubSampleException extends ImportRuntimeException { private static final long serialVersionUID = 1L; public DuplicatedSubSampleException(Locale locale, + int rowNumber, String operationId, String category, String lengthClass) { - super(l(locale, "echobase.importError.duplicate.subSamble", lengthClass, category, operationId)); + super(l(locale, "echobase.importError.duplicate.subSamble", rowNumber, lengthClass, category, operationId)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedTransectException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedTransectException.java index 831af80..519ef30 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedTransectException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedTransectException.java @@ -37,7 +37,7 @@ public class DuplicatedTransectException extends ImportRuntimeException { private static final long serialVersionUID = 1L; - public DuplicatedTransectException(Locale locale, String voyageName, String title) { - super(l(locale, "echobase.importError.duplicate.transect", title, voyageName)); + public DuplicatedTransectException(Locale locale, int rowNumber, String voyageName, String title) { + super(l(locale, "echobase.importError.duplicate.transect", rowNumber, title, voyageName)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedTransitException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedTransitException.java index 3c7a4a7..e25688f 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedTransitException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedTransitException.java @@ -38,7 +38,7 @@ public class DuplicatedTransitException extends ImportRuntimeException { private static final long serialVersionUID = 1L; - public DuplicatedTransitException(Locale locale, String voyageName, Date startTime, Date endTime) { - super(l(locale, "echobase.importError.duplicate.transit", startTime, endTime, voyageName)); + public DuplicatedTransitException(Locale locale, int rowNumber, String voyageName, Date startTime, Date endTime) { + super(l(locale, "echobase.importError.duplicate.transit", rowNumber, startTime, endTime, voyageName)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedVoyageException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedVoyageException.java index 4ac4b03..f43d368 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedVoyageException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedVoyageException.java @@ -37,7 +37,7 @@ public class DuplicatedVoyageException extends ImportRuntimeException { private static final long serialVersionUID = 1L; - public DuplicatedVoyageException(Locale locale, String voyageName) { - super(l(locale, "echobase.importError.duplicate.voyage", voyageName)); + public DuplicatedVoyageException(Locale locale, int rowNumber, String voyageName) { + super(l(locale, "echobase.importError.duplicate.voyage", rowNumber, voyageName)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java index b0fe97d..d80318a 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesSubSampleImportAction.java @@ -94,6 +94,7 @@ public class VoyageCatchesSubSampleImportAction extends VoyageCatchesImportDataA row.getLengthClass()); if (exists) { throw new DuplicatedSubSampleException(getLocale(), + rowNumber, operation.getId(), category.toString(), row.getLengthClass()); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java index b57c603..27e1ef1 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCatchesTotalSampleImportAction.java @@ -100,7 +100,7 @@ public class VoyageCatchesTotalSampleImportAction extends VoyageCatchesImportDat if (sample != null) { // can not have twice same sample - throw new DuplicatedSampleException(getLocale(), operation, sampleType, species, sizeCategory); + throw new DuplicatedSampleException(getLocale(), rowNumber, operation, sampleType, species, sizeCategory); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransectImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransectImportAction.java index 19e87a9..6255bb7 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransectImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransectImportAction.java @@ -70,7 +70,7 @@ public class VoyageCommonsTransectImportAction extends VoyageCommonsImportDataAc boolean exists = persistenceService.containsTransect(voyage, transect.getTitle()); if (exists) { - throw new DuplicatedTransectException(getLocale(), voyage.getName(), transect.getTitle()); + throw new DuplicatedTransectException(getLocale(), rowNumber, voyage.getName(), transect.getTitle()); } Date timeCoverageStart = transect.getTimeCoverageStart(); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java index 1ace01d..bf29dd2 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsTransitImportAction.java @@ -65,7 +65,7 @@ public class VoyageCommonsTransitImportAction extends VoyageCommonsImportDataAct boolean exists = persistenceService.containsTransit(voyage, transit.getStartTime(), transit.getEndTime()); if (exists) { - throw new DuplicatedTransitException(getLocale(), voyage.getName(), transit.getStartTime(), transit.getEndTime()); + throw new DuplicatedTransitException(getLocale(), rowNumber, voyage.getName(), transit.getStartTime(), transit.getEndTime()); } Transit createdTransit = persistenceService.createTransit(transit); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsVoyageImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsVoyageImportAction.java index 1d6e4a4..15fab67 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsVoyageImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageCommonsVoyageImportAction.java @@ -72,7 +72,7 @@ public class VoyageCommonsVoyageImportAction extends VoyageCommonsImportDataActi doFlushTransaction(++rowNumber); if (persistenceService.containsVoyageByName(voyage.getName())) { - throw new DuplicatedVoyageException(locale, voyage.getName()); + throw new DuplicatedVoyageException(locale, rowNumber, voyage.getName()); } voyage.setMission(mission); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsGearMetadataImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsGearMetadataImportAction.java index f2d95d0..eccfb60 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsGearMetadataImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsGearMetadataImportAction.java @@ -69,6 +69,7 @@ public class VoyageOperationsGearMetadataImportAction extends VoyageOperationsIm gearMetadataValuetoCreate.getGearMetadata()); if (exists) { throw new DuplicatedGearMetadataValueException(getLocale(), + rowNumber, voyage.getName(), vessel.getName(), operation.getDepthStratum().getId(), diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationImportAction.java index 275697d..4790f58 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationImportAction.java @@ -66,7 +66,7 @@ public class VoyageOperationsOperationImportAction extends VoyageOperationsImpor boolean exists = persistenceService.containsOperation(voyage, vessel, operation.getDepthStratum(), operation.getId()); if (exists) { - throw new DuplicatedOperationException(getLocale(), voyage.getName(), vessel.getName(), operation.getDepthStratum().getId(), operation.getId()); + throw new DuplicatedOperationException(getLocale(), rowNumber, voyage.getName(), vessel.getName(), operation.getDepthStratum().getId(), operation.getId()); } Date startTime = operation.getGearShootingStartTime(); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationMetadataImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationMetadataImportAction.java index ea057f1..f44868e 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationMetadataImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageOperationsOperationMetadataImportAction.java @@ -62,7 +62,7 @@ public class VoyageOperationsOperationMetadataImportAction extends VoyageOperati boolean exists = persistenceService.containsOperationMetadataValue(voyage, vessel, operation.getDepthStratum(), operation.getId(), operationMetadataValueToCreate.getOperationMetadata()); if (exists) { - throw new DuplicatedOperationMetadataValueException(getLocale(), voyage.getName(), vessel.getName(), operation.getDepthStratum().getId(), operation.getId(), operationMetadataValueToCreate.getOperationMetadata().getName()); + throw new DuplicatedOperationMetadataValueException(getLocale(), rowNumber, voyage.getName(), vessel.getName(), operation.getDepthStratum().getId(), operation.getId(), operationMetadataValueToCreate.getOperationMetadata().getName()); } OperationMetadataValue operationMetadataValue = persistenceService.createOperationMetadataValue(operationMetadataValueToCreate); diff --git a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties index 44c82be..22205ec 100644 --- a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties +++ b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties @@ -32,16 +32,16 @@ echobase.common.voyageFile=Voyage data file echobase.exportError.toFile=An error occured while exporting file %s \:%s echobase.importError.can.only.import.one.voyage.atime=Impossible to import more that one voyage at a time echobase.importError.dataMetadata.notFound=Metadata column %s missing (existing values \:%s) -echobase.importError.duplicate.esduCell=ESDU cell named «%s» already exists in database. -echobase.importError.duplicate.elementaryCell=Elementary cell named «%s» already exists in database. -echobase.importError.duplicate.gearMetataValue=A gear meta data (type «%s») value on engin «%s» for operation with id «%s», on startum «%s» - vessel «%s» on voyage «%s» already exists in database. -echobase.importError.duplicate.operation=An operation with id «%s», on startum «%s» - vessel «%s» on voyage «%s» already exists in database. -echobase.importError.duplicate.operationMetataValue=An operation meta data (type «%s») value for operation with id «%s», on startum «%s» - vessel «%s» on voyage «%s» already exists in database. -echobase.importError.duplicate.sample=Operation %s cannot comprise several samples of same type, species and size category -echobase.importError.duplicate.subSamble=Subs-sample (length class %s, category %s, operation %s) already exists in database. -echobase.importError.duplicate.transect=A transect titled «%s» on voyage «%s» already exists in database. -echobase.importError.duplicate.transit=A transit start «%s» - end «%s» on voyage «%s» already exists in database. -echobase.importError.duplicate.voyage=A voyage named «%s» already exists in database. +echobase.importError.duplicate.elementaryCell=Line %s - Elementary cell named «%s» already exists in database. +echobase.importError.duplicate.esduCell=Line %s - ESDU cell named «%s» already exists in database. +echobase.importError.duplicate.gearMetataValue=Line %s - A gear meta data (type «%s») value on engin «%s» for operation with id «%s», on startum «%s» - vessel «%s» on voyage «%s» already exists in database. +echobase.importError.duplicate.operation=Line %s - An operation with id «%s», on startum «%s» - vessel «%s» on voyage «%s» already exists in database. +echobase.importError.duplicate.operationMetataValue=Line %s - An operation meta data (type «%s») value for operation with id «%s», on startum «%s» - vessel «%s» on voyage «%s» already exists in database. +echobase.importError.duplicate.sample=Line %s - Operation %s cannot comprise several samples of same type, species and size category +echobase.importError.duplicate.subSamble=Line %s - Subs-sample (length class %s, category %s, operation %s) already exists in database. +echobase.importError.duplicate.transect=Line %s - A transect titled «%s» on voyage «%s» already exists in database. +echobase.importError.duplicate.transit=Line %s - A transit start «%s» - end «%s» on voyage «%s» already exists in database. +echobase.importError.duplicate.voyage=Line %s - A voyage named «%s» already exists in database. echobase.importError.elementaryCell.withMissingDepthEnd=Elementary Cell (id\: %s - name %s) does not contains data in column MOVIES_EILayer\\cellset\\depthend, this is not allowed echobase.importError.esduCell.notfound=A new « dataAquisition» entry must be created for survey %s, vessel %s, instrument %s, whereas some elementary cells are not associated to an ESDU cell (line %s) echobase.importError.esduCell.withDepthEndFilled=ESDU Cell (id\: %s - name %s) contains data in column MOVIES_EILayer\\cellset\\depthend, this is not allowed. 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 6e8c3e9..fb1f6ba 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 @@ -32,16 +32,16 @@ echobase.common.voyageFile=Fichier des données de voyages 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.gearMetataValue=La mise en œuvre (type %s) de l'engin «%s» (opération d'identifiant «%s» sur la strate «%s» - navire «%s» et sur la marée nommée «%s») existe déjà dans la base. -echobase.importError.duplicate.operation=L'opération d'identifiant «%s» sur la strate «%s» - navire «%s» et sur la marée nommée «%s» existe déjà dans la base. -echobase.importError.duplicate.operationMetataValue=La donnée (type %s) (opération d'identifiant «%s» sur la strate «%s» - navire «%s» et sur la marée nommée «%s») existe déjà dans la base. -echobase.importError.duplicate.esduCell=La cellule ESDU (ligne %s) d'identifiant «%s» existe déjà en base. -echobase.importError.duplicate.elementaryCell=La cellule élémentaire (ligne %s) d'identifiant «%s» existe déjà en base. +echobase.importError.duplicate.elementaryCell=Ligne %s - La cellule élémentaire (ligne %s) d'identifiant «%s» existe déjà en base. +echobase.importError.duplicate.esduCell=Ligne %s - La cellule ESDU (ligne %s) d'identifiant «%s» existe déjà en base. +echobase.importError.duplicate.gearMetataValue=Ligne %s - La mise en œuvre (type %s) de l'engin «%s» (opération d'identifiant «%s» sur la strate «%s» - navire «%s» et sur la marée nommée «%s») existe déjà dans la base. +echobase.importError.duplicate.operation=Ligne %s - L'opération d'identifiant «%s» sur la strate «%s» - navire «%s» et sur la marée nommée «%s» existe déjà dans la base. +echobase.importError.duplicate.operationMetataValue=Ligne %s - La donnée (type %s) (opération d'identifiant «%s» sur la strate «%s» - navire «%s» et sur la marée nommée «%s») existe déjà dans la base. 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 -echobase.importError.duplicate.subSamble=Le subs-sample (classe de taille %s, catégorie %s, opération %s) existe déjà dans la base. -echobase.importError.duplicate.transect=Le transect nommé «%s» sur la marée nommée «%s» existe déjà dans la base. -echobase.importError.duplicate.transit=Le transit début «%s» - fin «%s» sur la marée nommée «%s» existe déjà dans la base. -echobase.importError.duplicate.voyage=La marée nommée «%s» existe déjà dans la base. +echobase.importError.duplicate.subSamble=Ligne %s - Le sous-échantillon (classe de taille %s, catégorie %s, opération %s) existe déjà dans la base. +echobase.importError.duplicate.transect=Ligne %s - Le transect nommé «%s» sur la marée nommée «%s» existe déjà dans la base. +echobase.importError.duplicate.transit=Ligne %s - Le transit début «%s» - fin «%s» sur la marée nommée «%s» existe déjà dans la base. +echobase.importError.duplicate.voyage=Ligne %s - La marée nommée «%s» existe déjà dans la base. echobase.importError.elementaryCell.withMissingDepthEnd=La cellule de type élémentaire (id\: %s - nom %s) ne contient pas la colonne MOVIES_EILayer\\cellset\\depthend renseignée, ce qui n'est pas autorisé. echobase.importError.esduCell.notfound=Un nouvelle entrée « dataAquisition »doit être créée pour la campagne %s, navire %s, instrument %s, mais il reste des cellules élémentaires non rattachées à une cellule ESDU (ligne %s) echobase.importError.esduCell.withDepthEndFilled=La cellule de type ESDU (id\: %s - nom %s) contient la colonne MOVIES_EILayer\\cellset\\depthend renseignée, ce qui n'est pas autorisé. -- 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/2246 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 9867f8f7a6cca1411711b3e7debb5b26d9dba16b Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu May 12 16:28:46 2016 +0200 Ne pas autoriser de réimporter les résultats sur les voyages déjà existants (See #2246) --- .../DuplicatedEchotypeAssociationException.java | 20 +++++++++++ ...plicatedResultsVoyageLengthAgeKeyException.java | 20 +++++++++++ ...catedResultsVoyageLengthWeightKeyException.java | 20 +++++++++++ .../importdata/MismatchVoyageException.java | 21 ++++++++++++ .../VoyageResultsVoyageEchotypeImportAction.java | 20 ++++++++--- ...oyageResultsVoyageLengthAgeKeyImportAction.java | 32 ++++++++++++++++++ ...geResultsVoyageLengthWeightKeyImportAction.java | 39 ++++++++++++++++++++-- .../i18n/echobase-services_en_GB.properties | 4 +++ .../i18n/echobase-services_fr_FR.properties | 4 +++ 9 files changed, 172 insertions(+), 8 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedEchotypeAssociationException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedEchotypeAssociationException.java new file mode 100644 index 0000000..35e6054 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedEchotypeAssociationException.java @@ -0,0 +1,20 @@ +package fr.ifremer.echobase.services.service.importdata; + +import org.nuiton.csv.ImportRuntimeException; + +import java.util.Locale; + +import static org.nuiton.i18n.I18n.l; + +/** + * Created on 12/05/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public class DuplicatedEchotypeAssociationException extends ImportRuntimeException { + + public DuplicatedEchotypeAssociationException(Locale locale, int rowNumber, String voyageName, String echotypeName, String baracoudaCode) { + super(l(locale, "echobase.importError.duplicate.echotypeSpeciesAssociation", rowNumber, echotypeName, voyageName, baracoudaCode)); + } +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedResultsVoyageLengthAgeKeyException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedResultsVoyageLengthAgeKeyException.java new file mode 100644 index 0000000..678153b --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedResultsVoyageLengthAgeKeyException.java @@ -0,0 +1,20 @@ +package fr.ifremer.echobase.services.service.importdata; + +import org.nuiton.csv.ImportRuntimeException; + +import java.util.Locale; + +import static org.nuiton.i18n.I18n.l; + +/** + * Created on 12/05/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public class DuplicatedResultsVoyageLengthAgeKeyException extends ImportRuntimeException { + + public DuplicatedResultsVoyageLengthAgeKeyException(Locale locale, int rowNumber, String voyageName, String baracoudaCode, float length, int age) { + super(l(locale, "echobase.importError.duplicate.voyageLengthAgeKey", rowNumber, baracoudaCode, length, age, voyageName)); + } +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedResultsVoyageLengthWeightKeyException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedResultsVoyageLengthWeightKeyException.java new file mode 100644 index 0000000..b101e6f --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedResultsVoyageLengthWeightKeyException.java @@ -0,0 +1,20 @@ +package fr.ifremer.echobase.services.service.importdata; + +import org.nuiton.csv.ImportRuntimeException; + +import java.util.Locale; + +import static org.nuiton.i18n.I18n.l; + +/** + * Created on 12/05/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public class DuplicatedResultsVoyageLengthWeightKeyException extends ImportRuntimeException { + + public DuplicatedResultsVoyageLengthWeightKeyException(Locale locale, int rowNumber, String voyageName, String baracoudaCode, String sizeCategoryName) { + super(l(locale, "echobase.importError.duplicate.voyageLengthWeightKey", rowNumber, baracoudaCode, sizeCategoryName, voyageName)); + } +} diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MismatchVoyageException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MismatchVoyageException.java new file mode 100644 index 0000000..a8f93a1 --- /dev/null +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/MismatchVoyageException.java @@ -0,0 +1,21 @@ +package fr.ifremer.echobase.services.service.importdata; + +import org.nuiton.csv.ImportRuntimeException; + +import java.util.Locale; + +import static org.nuiton.i18n.I18n.l; + +/** + * Created on 12/05/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public class MismatchVoyageException extends ImportRuntimeException { + + public MismatchVoyageException(Locale locale, int rowNumber, String voyageName) { + super(l(locale, "echobase.importError.mismatch.voyage", rowNumber, voyageName)); + } + +} \ No newline at end of file diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java index 707fa5c..9c8dfab 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java @@ -9,7 +9,9 @@ import fr.ifremer.echobase.entities.data.Echotypes; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.Species; import fr.ifremer.echobase.io.InputFile; +import fr.ifremer.echobase.services.service.importdata.DuplicatedEchotypeAssociationException; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; +import fr.ifremer.echobase.services.service.importdata.MismatchVoyageException; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageEchotypeImportExportModel; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageEchotypeImportRow; @@ -54,6 +56,9 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport log.info("Starts import of echotype from file " + inputFile.getFileName()); } + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage expectedVoyage = persistenceService.getVoyage(voyageId); + try (Import<VoyageResultsVoyageEchotypeImportRow> importer = open()) { incrementsProgress(); @@ -65,6 +70,10 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport Voyage voyage = row.getVoyage(); + if (!expectedVoyage.equals(voyage)) { + throw new MismatchVoyageException(getLocale(), rowNumber, voyage.getName()); + } + Echotype rowEchotype = row.getEchotype(); String echotypeName = rowEchotype.getName(); @@ -99,14 +108,15 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport Species existingSpecies = echotype.getSpeciesByTopiaId(species.getTopiaId()); - if (existingSpecies == null) { + if (existingSpecies != null) { - // add this species - echotype.addSpecies(species); + throw new DuplicatedEchotypeAssociationException(getLocale(), rowNumber, voyage.getName(), echotypeName, species.getBaracoudaCode()); + } - speciesIdToEchotypeId.add(Pair.of(species.getTopiaId(), echotype.getTopiaId())); + // add this species + echotype.addSpecies(species); - } + speciesIdToEchotypeId.add(Pair.of(species.getTopiaId(), echotype.getTopiaId())); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java index 5afb54d..ae3101c 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java @@ -4,7 +4,9 @@ import fr.ifremer.echobase.entities.EchoBaseUserEntityEnum; import fr.ifremer.echobase.entities.data.LengthAgeKey; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.io.InputFile; +import fr.ifremer.echobase.services.service.importdata.DuplicatedResultsVoyageLengthAgeKeyException; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; +import fr.ifremer.echobase.services.service.importdata.MismatchVoyageException; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageLengthAgeKeyImportExportModel; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageLengthAgeKeyImportRow; @@ -12,6 +14,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.Set; +import java.util.TreeSet; + /** * Created on 25/03/16. * @@ -44,6 +49,15 @@ public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsIm log.info("Starts import of lenthAgeKey from file " + inputFile.getFileName()); } + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage expectedVoyage = persistenceService.getVoyage(voyageId); + + Set<String> cacheKeys = new TreeSet<>(); + + for (LengthAgeKey lengthAgeKey : expectedVoyage.getLengthAgeKey()) { + cacheKeys.add(cacheKey(lengthAgeKey)); + } + try (Import<VoyageResultsVoyageLengthAgeKeyImportRow> importer = open()) { incrementsProgress(); @@ -55,7 +69,21 @@ public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsIm Voyage voyage = row.getVoyage(); + if (!expectedVoyage.equals(voyage)) { + throw new MismatchVoyageException(getLocale(), rowNumber, voyage.getName()); + } + LengthAgeKey lengthAgeKeyToCreate = row.getLengthAgeKey(); + String cacheKey = cacheKey(lengthAgeKeyToCreate); + if (cacheKeys.contains(cacheKey)) { + throw new DuplicatedResultsVoyageLengthAgeKeyException(getLocale(), + rowNumber, + voyage.getName(), + lengthAgeKeyToCreate.getSpecies().getBaracoudaCode(), + lengthAgeKeyToCreate.getLength(), + lengthAgeKeyToCreate.getAge()); + } + LengthAgeKey lengthAgeKey = persistenceService.createLengthAgeKey(lengthAgeKeyToCreate); // attach it to voyage @@ -87,4 +115,8 @@ public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsIm } + private String cacheKey(LengthAgeKey lengthAgeKey) { + return lengthAgeKey.getSpecies().getTopiaId() + "~" + lengthAgeKey.getLength() + "~" + lengthAgeKey.getAge(); + } + } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java index 560fe2d..bb07100 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java @@ -5,7 +5,9 @@ import fr.ifremer.echobase.entities.data.LengthWeightKey; import fr.ifremer.echobase.entities.data.Voyage; import fr.ifremer.echobase.entities.references.SpeciesCategory; import fr.ifremer.echobase.io.InputFile; +import fr.ifremer.echobase.services.service.importdata.DuplicatedResultsVoyageLengthWeightKeyException; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; +import fr.ifremer.echobase.services.service.importdata.MismatchVoyageException; import fr.ifremer.echobase.services.service.importdata.SpeciesCategoryCache; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsVoyageLengthWeightKeyImportExportModel; @@ -14,6 +16,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.Import; +import java.util.Set; +import java.util.TreeSet; + /** * Created on 25/03/16. * @@ -48,6 +53,15 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult SpeciesCategoryCache speciesCategoryCache = importDataContext.getSpeciesCategoryCache(); + String voyageId = importDataContext.getConfiguration().getVoyageId(); + Voyage expectedVoyage = persistenceService.getVoyage(voyageId); + + Set<String> cacheKeys = new TreeSet<>(); + + for (LengthWeightKey lengthWeightKey : expectedVoyage.getLengthWeightKey()) { + cacheKeys.add(cacheKey(lengthWeightKey)); + } + try (Import<VoyageResultsVoyageLengthWeightKeyImportRow> importer = open()) { incrementsProgress(); @@ -55,15 +69,29 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult for (VoyageResultsVoyageLengthWeightKeyImportRow row : importer) { doFlushTransaction(++rowNumber); + Voyage voyage = row.getVoyage(); + if (!expectedVoyage.equals(voyage)) { + throw new MismatchVoyageException(getLocale(), rowNumber, voyage.getName()); + } + // find speciesCategory SpeciesCategory speciesCategory = speciesCategoryCache.getSpeciesCategory(row.getSpecies(), null, row.getSizeCategory(), null, null, result); - LengthWeightKey toCreate = row.getLengthWeightKey(); - toCreate.setSpeciesCategory(speciesCategory); + LengthWeightKey lengthWeightKeyToCreate = row.getLengthWeightKey(); + lengthWeightKeyToCreate.setSpeciesCategory(speciesCategory); + + String cacheKey = cacheKey(lengthWeightKeyToCreate); + if (cacheKeys.contains(cacheKey)) { + throw new DuplicatedResultsVoyageLengthWeightKeyException(getLocale(), + rowNumber, + voyage.getName(), + lengthWeightKeyToCreate.getSpeciesCategory().getSpecies().getBaracoudaCode(), + lengthWeightKeyToCreate.getSpeciesCategory().getSizeCategory().getName()); + } - LengthWeightKey lengthWeightKey = persistenceService.createLengthWeightKey(toCreate); + LengthWeightKey lengthWeightKey = persistenceService.createLengthWeightKey(lengthWeightKeyToCreate); //TODO should we import it ? //lengthWeightKey.setMetadata(row.getMetadata()); @@ -96,4 +124,9 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult } + private String cacheKey(LengthWeightKey lengthWeightKey) { + SpeciesCategory speciesCategory = lengthWeightKey.getSpeciesCategory(); + return speciesCategory.getSpecies().getTopiaId() + "~" + speciesCategory.getSizeCategory().getTopiaId(); + } + } diff --git a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties index 22205ec..80a1504 100644 --- a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties +++ b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties @@ -42,6 +42,10 @@ echobase.importError.duplicate.subSamble=Line %s - Subs-sample (length class %s, echobase.importError.duplicate.transect=Line %s - A transect titled «%s» on voyage «%s» already exists in database. echobase.importError.duplicate.transit=Line %s - A transit start «%s» - end «%s» on voyage «%s» already exists in database. echobase.importError.duplicate.voyage=Line %s - A voyage named «%s» already exists in database. +echobase.importError.mismatch.voyage=Line %s - Used voyage «%s» does not match with the voyage configured. +echobase.importError.duplicate.echotypeSpeciesAssociation=Line %s - Echotype «%s» on voyage named «%s» already contains the species «%s». +echobase.importError.duplicate.voyageLengthAgeKey=Line %s - Result on species «%s» (length class «%s» - age «%s») on voyage named «%s» already exists in database. +echobase.importError.duplicate.voyageLengthWeightKey=Line %s - Result on species «%s» (size category «%s») on voyage named «%s» already exists in database. echobase.importError.elementaryCell.withMissingDepthEnd=Elementary Cell (id\: %s - name %s) does not contains data in column MOVIES_EILayer\\cellset\\depthend, this is not allowed echobase.importError.esduCell.notfound=A new « dataAquisition» entry must be created for survey %s, vessel %s, instrument %s, whereas some elementary cells are not associated to an ESDU cell (line %s) echobase.importError.esduCell.withDepthEndFilled=ESDU Cell (id\: %s - name %s) contains data in column MOVIES_EILayer\\cellset\\depthend, this is not allowed. 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 fb1f6ba..af28dff 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 @@ -41,7 +41,11 @@ echobase.importError.duplicate.sample=L'opération %s ne peut pas contenir deux echobase.importError.duplicate.subSamble=Ligne %s - Le sous-échantillon (classe de taille %s, catégorie %s, opération %s) existe déjà dans la base. echobase.importError.duplicate.transect=Ligne %s - Le transect nommé «%s» sur la marée nommée «%s» existe déjà dans la base. echobase.importError.duplicate.transit=Ligne %s - Le transit début «%s» - fin «%s» sur la marée nommée «%s» existe déjà dans la base. +echobase.importError.duplicate.echotypeSpeciesAssociation=Ligne %s - L'échotype «%s» sur la marée nommée «%s» contient déjà l'espèce «%s». +echobase.importError.duplicate.voyageLengthAgeKey=Ligne %s - Le résultat sur l'espèce «%s» (classe de taille «%s» - age «%s») sur la marée nommée «%s» existe déjà dans la base. +echobase.importError.duplicate.voyageLengthWeightKey=Ligne %s - Le résultat sur l'espèce «%s» (catégorie de taille «%s») sur la marée nommée «%s» existe déjà dans la base. echobase.importError.duplicate.voyage=Ligne %s - La marée nommée «%s» existe déjà dans la base. +echobase.importError.mismatch.voyage=Ligne %s - La marée «%s» ne correspond pas à celle configurée. echobase.importError.elementaryCell.withMissingDepthEnd=La cellule de type élémentaire (id\: %s - nom %s) ne contient pas la colonne MOVIES_EILayer\\cellset\\depthend renseignée, ce qui n'est pas autorisé. echobase.importError.esduCell.notfound=Un nouvelle entrée « dataAquisition »doit être créée pour la campagne %s, navire %s, instrument %s, mais il reste des cellules élémentaires non rattachées à une cellule ESDU (ligne %s) echobase.importError.esduCell.withDepthEndFilled=La cellule de type ESDU (id\: %s - nom %s) contient la colonne MOVIES_EILayer\\cellset\\depthend renseignée, ce qui n'est pas autorisé. -- 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/2246 in repository echobase. See https://gitlab.nuiton.org/codelutin/echobase.git commit 8cf674f1b633a46ba7f6006fedfbd14a3c173fe2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Fri May 13 08:43:10 2016 +0200 Ne pas autoriser de réimporter les résultats sur les voyages déjà existants (See #2246) --- .../services/service/UserDbPersistenceService.java | 15 +++++++++++++++ .../DuplicatedElementaryCellException.java | 4 ++-- .../importdata/DuplicatedEsduCellException.java | 4 ++-- ...ception.java => DuplicatedMapCellException.java} | 6 +++--- ...tion.java => DuplicatedRegionCellException.java} | 6 +++--- .../actions/VoyageAcousticsImportAction.java | 4 ++-- .../VoyageResultsMapFishCellImportAction.java | 15 ++++++++++++++- .../VoyageResultsMapOtherCellImportAction.java | 15 ++++++++++++++- .../actions/VoyageResultsRegionImportAction.java | 21 +++++++++++++++++++-- .../VoyageResultsVoyageEchotypeImportAction.java | 3 +-- ...VoyageResultsVoyageLengthAgeKeyImportAction.java | 3 +-- ...ageResultsVoyageLengthWeightKeyImportAction.java | 3 +-- .../i18n/echobase-services_en_GB.properties | 6 ++++-- .../i18n/echobase-services_fr_FR.properties | 6 ++++-- 14 files changed, 85 insertions(+), 26 deletions(-) diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java index cd6300d..2f78786 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/UserDbPersistenceService.java @@ -221,6 +221,21 @@ public class UserDbPersistenceService extends EchoBaseServiceSupport { return persistenceContext.getCellDao().forNameEquals(cellName).exists(); } + public boolean containsPostVoyageCellByName(Voyage voyage, String cellName) { + return persistenceContext.getCellDao() + .forNameEquals(cellName) + .addEquals(Cell.PROPERTY_VOYAGE, voyage) + .exists(); + } + + public boolean containsPostVoyageCellByNameAndType(Voyage voyage, String cellName, CellType cellType) { + return persistenceContext.getCellDao() + .forNameEquals(cellName) + .addEquals(Cell.PROPERTY_VOYAGE, voyage) + .addEquals(Cell.PROPERTY_CELL_TYPE, cellType) + .exists(); + } + public Cell getCell(String id) { return persistenceContext.getCellDao().forTopiaIdEquals(id).findUnique(); } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java index 84037f2..8f2a1ac 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java @@ -37,7 +37,7 @@ public class DuplicatedElementaryCellException extends ImportRuntimeException { private static final long serialVersionUID = 1L; - public DuplicatedElementaryCellException(Locale locale, int rowNumber, String esduCellId) { - super(l(locale, "echobase.importError.duplicate.elementaryCell", rowNumber, esduCellId)); + public DuplicatedElementaryCellException(Locale locale, int rowNumber, String cellName,String voyageName) { + super(l(locale, "echobase.importError.duplicate.elementaryCell", rowNumber, cellName, voyageName)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedEsduCellException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedEsduCellException.java index a37d5aa..391fb8d 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedEsduCellException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedEsduCellException.java @@ -37,7 +37,7 @@ public class DuplicatedEsduCellException extends ImportRuntimeException { private static final long serialVersionUID = 1L; - public DuplicatedEsduCellException(Locale locale, int rowNumber, String esduCellId) { - super(l(locale, "echobase.importError.duplicate.esduCell", rowNumber, esduCellId)); + public DuplicatedEsduCellException(Locale locale, int rowNumber, String cellName,String voyageName) { + super(l(locale, "echobase.importError.duplicate.esduCell", rowNumber, cellName, voyageName)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedMapCellException.java similarity index 79% copy from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java copy to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedMapCellException.java index 84037f2..40146a2 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedMapCellException.java @@ -33,11 +33,11 @@ import static org.nuiton.i18n.I18n.l; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class DuplicatedElementaryCellException extends ImportRuntimeException { +public class DuplicatedMapCellException extends ImportRuntimeException { private static final long serialVersionUID = 1L; - public DuplicatedElementaryCellException(Locale locale, int rowNumber, String esduCellId) { - super(l(locale, "echobase.importError.duplicate.elementaryCell", rowNumber, esduCellId)); + public DuplicatedMapCellException(Locale locale, int rowNumber, String cellName, String voyageName) { + super(l(locale, "echobase.importError.duplicate.mapCell", rowNumber, cellName, voyageName)); } } diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedRegionCellException.java similarity index 77% copy from echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java copy to echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedRegionCellException.java index 84037f2..f778fab 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedElementaryCellException.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/DuplicatedRegionCellException.java @@ -33,11 +33,11 @@ import static org.nuiton.i18n.I18n.l; * @author Tony Chemit - chemit@codelutin.com * @since 4.0 */ -public class DuplicatedElementaryCellException extends ImportRuntimeException { +public class DuplicatedRegionCellException extends ImportRuntimeException { private static final long serialVersionUID = 1L; - public DuplicatedElementaryCellException(Locale locale, int rowNumber, String esduCellId) { - super(l(locale, "echobase.importError.duplicate.elementaryCell", rowNumber, esduCellId)); + public DuplicatedRegionCellException(Locale locale, int rowNumber, String cellName, String cellTypeName, String voyageName) { + super(l(locale, "echobase.importError.duplicate.regionCell", rowNumber, cellName, cellTypeName, voyageName)); } } 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 8b9d3ac..0618803 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 @@ -263,7 +263,7 @@ public class VoyageAcousticsImportAction extends VoyageAcousticsImportDataAction // check name does not exist boolean exists = persistenceService.containsCellByName(esduCellId); if (exists) { - throw new DuplicatedEsduCellException(getLocale(), rowNumber, esduCellId); + throw new DuplicatedEsduCellException(getLocale(), rowNumber, esduCellId, voyage.getName()); } // this is a esdu cell row @@ -308,7 +308,7 @@ public class VoyageAcousticsImportAction extends VoyageAcousticsImportDataAction if (log.isErrorEnabled()) { log.error("Duplicated ElementaryCellException: " + rowNumber + " → " + elementaryCellId); } -// throw new DuplicatedElementaryCellException(getLocale(), rowNumber, elementaryCellId); +// throw new DuplicatedElementaryCellException(getLocale(), rowNumber, elementaryCellId, voyage.getName()); } if (log.isTraceEnabled()) { log.trace("[row " + rowNumber + "] elementary cell (" + elementaryCellId + ")"); 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 ad10496..927a384 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 @@ -11,7 +11,9 @@ 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.DuplicatedMapCellException; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; +import fr.ifremer.echobase.services.service.importdata.MismatchVoyageException; import fr.ifremer.echobase.services.service.importdata.ResultCategoryCache; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsMapFishCellImportExportModel; @@ -72,7 +74,7 @@ public class VoyageResultsMapFishCellImportAction extends VoyageResultsImportDat log.info("Starts import of Map cells from file " + inputFile.getFileName()); } - Voyage voyage = importDataContext.getVoyage(); + Voyage expectedVoyage = importDataContext.getVoyage(); ResultCategoryCache resultCategoryCache = importDataContext.getResultCategoryCache(); String resultLabel = getConfiguration().getResultLabel(); @@ -86,6 +88,17 @@ public class VoyageResultsMapFishCellImportAction extends VoyageResultsImportDat doFlushTransaction(++rowNumber); + Voyage voyage = row.getVoyage(); + if (!expectedVoyage.equals(voyage)) { + throw new MismatchVoyageException(getLocale(), rowNumber, voyage.getName()); + } + + String cellName = row.getCell().getName(); + boolean exists = persistenceService.containsPostVoyageCellByName(expectedVoyage, cellName); + if (exists) { + throw new DuplicatedMapCellException(getLocale(), rowNumber, cellName, voyage.getName()); + } + Cell cell = persistenceService.createCell(row.getCell()); voyage.addPostCell(cell); 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 d8ec2f0..3439745 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 @@ -9,7 +9,9 @@ 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.DuplicatedMapCellException; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; +import fr.ifremer.echobase.services.service.importdata.MismatchVoyageException; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsMapOtherCellImportExportModel; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsMapOtherCellImportRow; @@ -66,7 +68,7 @@ public class VoyageResultsMapOtherCellImportAction extends VoyageResultsImportDa log.info("Starts import of Map Other cells from file " + inputFile.getFileName()); } - Voyage voyage = importDataContext.getVoyage(); + Voyage expectedVoyage = importDataContext.getVoyage(); String resultLabel = getConfiguration().getResultLabel(); @@ -79,6 +81,17 @@ public class VoyageResultsMapOtherCellImportAction extends VoyageResultsImportDa doFlushTransaction(++rowNumber); + Voyage voyage = row.getVoyage(); + if (!expectedVoyage.equals(voyage)) { + throw new MismatchVoyageException(getLocale(), rowNumber, voyage.getName()); + } + + String cellName = row.getCell().getName(); + boolean exists = persistenceService.containsPostVoyageCellByName(expectedVoyage, cellName); + if (exists) { + throw new DuplicatedMapCellException(getLocale(), rowNumber, cellName, voyage.getName()); + } + Cell cell = persistenceService.createCell(row.getCell()); voyage.addPostCell(cell); 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 57ea597..40021dd 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 @@ -9,10 +9,13 @@ 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.CellType; 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.DuplicatedRegionCellException; import fr.ifremer.echobase.services.service.importdata.ImportDataFileResult; +import fr.ifremer.echobase.services.service.importdata.MismatchVoyageException; import fr.ifremer.echobase.services.service.importdata.contexts.VoyageResultsImportDataContext; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsRegionCellImportExportModel; import fr.ifremer.echobase.services.service.importdata.csv.VoyageResultsRegionCellImportRow; @@ -55,7 +58,7 @@ public class VoyageResultsRegionImportAction extends VoyageResultsImportDataActi log.info("Starts import of Region cells from file " + inputFile.getFileName()); } - Voyage voyage = importDataContext.getVoyage(); + Voyage expectedVoyage = importDataContext.getVoyage(); try (Import<VoyageResultsRegionCellImportRow> importer = open()) { Cell cell = null; @@ -66,11 +69,25 @@ public class VoyageResultsRegionImportAction extends VoyageResultsImportDataActi doFlushTransaction(++rowNumber); + Voyage voyage = row.getVoyage(); + + if (!expectedVoyage.equals(voyage)) { + throw new MismatchVoyageException(getLocale(), rowNumber, voyage.getName()); + } + DataQuality dataQuality = row.getDataQuality(); if (cell == null || !row.getName().equals(cell.getName())) { - cell = persistenceService.createCell(row.getCellType(), row.getName(), dataQuality); + String cellName = row.getName(); + CellType cellType = row.getCellType(); + + boolean exists = persistenceService.containsPostVoyageCellByNameAndType(expectedVoyage, cellName, cellType); + if (exists) { + throw new DuplicatedRegionCellException(getLocale(), rowNumber, cellName, cellType.getName(), voyage.getName()); + } + + cell = persistenceService.createCell(cellType, cellName, dataQuality); voyage.addPostCell(cell); if (log.isInfoEnabled()) { diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java index 9c8dfab..05f9ea4 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageEchotypeImportAction.java @@ -56,8 +56,7 @@ public class VoyageResultsVoyageEchotypeImportAction extends VoyageResultsImport log.info("Starts import of echotype from file " + inputFile.getFileName()); } - String voyageId = importDataContext.getConfiguration().getVoyageId(); - Voyage expectedVoyage = persistenceService.getVoyage(voyageId); + Voyage expectedVoyage = importDataContext.getVoyage(); try (Import<VoyageResultsVoyageEchotypeImportRow> importer = open()) { diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java index ae3101c..27c3497 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthAgeKeyImportAction.java @@ -49,8 +49,7 @@ public class VoyageResultsVoyageLengthAgeKeyImportAction extends VoyageResultsIm log.info("Starts import of lenthAgeKey from file " + inputFile.getFileName()); } - String voyageId = importDataContext.getConfiguration().getVoyageId(); - Voyage expectedVoyage = persistenceService.getVoyage(voyageId); + Voyage expectedVoyage = importDataContext.getVoyage(); Set<String> cacheKeys = new TreeSet<>(); diff --git a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java index bb07100..0b5ee6f 100644 --- a/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java +++ b/echobase-services/src/main/java/fr/ifremer/echobase/services/service/importdata/actions/VoyageResultsVoyageLengthWeightKeyImportAction.java @@ -53,8 +53,7 @@ public class VoyageResultsVoyageLengthWeightKeyImportAction extends VoyageResult SpeciesCategoryCache speciesCategoryCache = importDataContext.getSpeciesCategoryCache(); - String voyageId = importDataContext.getConfiguration().getVoyageId(); - Voyage expectedVoyage = persistenceService.getVoyage(voyageId); + Voyage expectedVoyage = importDataContext.getVoyage(); Set<String> cacheKeys = new TreeSet<>(); diff --git a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties index 80a1504..5a90c8a 100644 --- a/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties +++ b/echobase-services/src/main/resources/i18n/echobase-services_en_GB.properties @@ -32,8 +32,10 @@ echobase.common.voyageFile=Voyage data file echobase.exportError.toFile=An error occured while exporting file %s \:%s echobase.importError.can.only.import.one.voyage.atime=Impossible to import more that one voyage at a time echobase.importError.dataMetadata.notFound=Metadata column %s missing (existing values \:%s) -echobase.importError.duplicate.elementaryCell=Line %s - Elementary cell named «%s» already exists in database. -echobase.importError.duplicate.esduCell=Line %s - ESDU cell named «%s» already exists in database. +echobase.importError.duplicate.elementaryCell=Line %s - Elementary cell named «%s» on voyage «%s» already exists in database. +echobase.importError.duplicate.esduCell=Line %s - ESDU cell named «%s» on voyage «%s» already exists in database. +echobase.importError.duplicate.mapCell=Line %s - Map cell named «%s» on voyage «%s» already exists in database. +echobase.importError.duplicate.regionCell=Line %s - Region cell named «%s» (of type «%s») on voyage «%s» already exists in database. echobase.importError.duplicate.gearMetataValue=Line %s - A gear meta data (type «%s») value on engin «%s» for operation with id «%s», on startum «%s» - vessel «%s» on voyage «%s» already exists in database. echobase.importError.duplicate.operation=Line %s - An operation with id «%s», on startum «%s» - vessel «%s» on voyage «%s» already exists in database. echobase.importError.duplicate.operationMetataValue=Line %s - An operation meta data (type «%s») value for operation with id «%s», on startum «%s» - vessel «%s» on voyage «%s» already exists in database. 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 af28dff..8d7ae7e 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 @@ -32,8 +32,10 @@ echobase.common.voyageFile=Fichier des données de voyages 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.elementaryCell=Ligne %s - La cellule élémentaire (ligne %s) d'identifiant «%s» existe déjà en base. -echobase.importError.duplicate.esduCell=Ligne %s - La cellule ESDU (ligne %s) d'identifiant «%s» existe déjà en base. +echobase.importError.duplicate.elementaryCell=Ligne %s - La cellule élémentaire d'identifiant «%s» sur la marée nommée «%s» existe déjà en base. +echobase.importError.duplicate.mapCell=Ligne %s - La cellule de type Carte d'identifiant «%s» sur la marée nommée «%s» existe déjà en base. +echobase.importError.duplicate.regionCell=Ligne %s - La cellule de type Région d'identifiant «%s» et de type «%s» sur la marée nommée «%s» existe déjà en base. +echobase.importError.duplicate.esduCell=Ligne %s - La cellule ESDU d'identifiant «%s» sur la marée nommée «%s» existe déjà en base. echobase.importError.duplicate.gearMetataValue=Ligne %s - La mise en œuvre (type %s) de l'engin «%s» (opération d'identifiant «%s» sur la strate «%s» - navire «%s» et sur la marée nommée «%s») existe déjà dans la base. echobase.importError.duplicate.operation=Ligne %s - L'opération d'identifiant «%s» sur la strate «%s» - navire «%s» et sur la marée nommée «%s» existe déjà dans la base. echobase.importError.duplicate.operationMetataValue=Ligne %s - La donnée (type %s) (opération d'identifiant «%s» sur la strate «%s» - navire «%s» et sur la marée nommée «%s») existe déjà dans la base. -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm