This is an automated email from the git hooks/post-receive script. New commit to branch feature/6688 in repository tutti. See http://git.codelutin.com/tutti.git commit 16e39ffa22995d7855889e911dd19e30f2d2f9c4 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Feb 19 10:24:36 2015 +0100 validate cruise --- .../consumer/CruiseAlreadyImportedException.java | 32 ++++++++++++++++++++++ .../consumer/CruiseNotFoundException.java | 31 +++++++++++++++++++++ .../consumer/CsvConsumerForSurvey.java | 28 ++++++++++++++++--- 3 files changed, 87 insertions(+), 4 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CruiseAlreadyImportedException.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CruiseAlreadyImportedException.java new file mode 100644 index 0000000..13ca6d8 --- /dev/null +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CruiseAlreadyImportedException.java @@ -0,0 +1,32 @@ +package fr.ifremer.tutti.service.genericformat.consumer; + +import fr.ifremer.tutti.persistence.entities.data.Cruise; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 2/12/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.14 + */ +public class CruiseAlreadyImportedException extends Exception { + + private static final long serialVersionUID = 1L; + + private final Cruise cruise; + + public CruiseAlreadyImportedException(Cruise cruise) { + this.cruise = cruise; + } + + public Cruise getCruise() { + return cruise; + } + + @Override + public String getMessage() { + return t("tutti.genericFormat.import.error.cruiseAlreadyImported", cruise.getName()); + } + +} diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CruiseNotFoundException.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CruiseNotFoundException.java new file mode 100644 index 0000000..2426dff --- /dev/null +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CruiseNotFoundException.java @@ -0,0 +1,31 @@ +package fr.ifremer.tutti.service.genericformat.consumer; + +import fr.ifremer.tutti.persistence.entities.data.Cruise; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 2/18/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 3.14 + */ +public class CruiseNotFoundException extends Exception { + + private static final long serialVersionUID = 1L; + + private final Cruise cruise; + + public CruiseNotFoundException(Cruise cruise) { + this.cruise = cruise; + } + + public Cruise getCruise() { + return cruise; + } + + @Override + public String getMessage() { + return t("tutti.genericFormat.import.error.cruiseNotFound", cruise.getBeginDate(), cruise.getProgram().getName(), cruise.getSurveyPart()); + } +} diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CsvConsumerForSurvey.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CsvConsumerForSurvey.java index 5490b17..6e4392f 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CsvConsumerForSurvey.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CsvConsumerForSurvey.java @@ -1,16 +1,19 @@ package fr.ifremer.tutti.service.genericformat.consumer; import fr.ifremer.tutti.persistence.entities.data.Cruise; +import fr.ifremer.tutti.persistence.entities.referential.GearWithOriginalRankOrder; +import fr.ifremer.tutti.persistence.entities.referential.GearWithOriginalRankOrders; import fr.ifremer.tutti.service.ValidationService; import fr.ifremer.tutti.service.csv.CsvComsumer; -import fr.ifremer.tutti.service.genericformat.GenericFormatImportEntityParserFactory; import fr.ifremer.tutti.service.genericformat.GenericFormatImportContext; +import fr.ifremer.tutti.service.genericformat.GenericFormatImportEntityParserFactory; import fr.ifremer.tutti.service.genericformat.csv.SurveyModel; import fr.ifremer.tutti.service.genericformat.csv.SurveyRow; import org.nuiton.csv.ImportRow; import org.nuiton.validator.NuitonValidatorResult; import java.nio.file.Path; +import java.util.List; /** * Created on 2/11/15. @@ -32,9 +35,14 @@ public class CsvConsumerForSurvey extends CsvComsumer<SurveyRow, SurveyModel> { Cruise cruise = bean.getCruise(); - if (importContext.isCruiseExists(cruise)) { + if (importContext.isCruiseAlreadyExists(cruise)) { + + addCheckError(row, new CruiseAlreadyExistException(cruise)); + + } + + if (importContext.isCruiseAlreadyImported(cruise)) { - // Can't readd an existing cruise addCheckError(row, new CruiseAlreadyExistException(cruise)); } @@ -42,7 +50,6 @@ public class CsvConsumerForSurvey extends CsvComsumer<SurveyRow, SurveyModel> { NuitonValidatorResult nuitonValidatorResult = validationService.validateEditCruise(cruise); if (nuitonValidatorResult.hasFatalMessages() || nuitonValidatorResult.hasErrorMessagess()) { - // There is some validation errors addCheckError(row, new CruiseNotValidException(cruise, nuitonValidatorResult)); } @@ -53,4 +60,17 @@ public class CsvConsumerForSurvey extends CsvComsumer<SurveyRow, SurveyModel> { } + public void prepareRowForPersist(ImportRow<SurveyRow> row) { + + Cruise bean = row.getBean().getCruise(); + + if (!bean.isGearEmpty()) { + + List gear = bean.getGear(); + List<GearWithOriginalRankOrder> gearWithOriginalRankOrders = GearWithOriginalRankOrders.toGearWithOriginalRankOrders(gear); + bean.setGear(gearWithOriginalRankOrders); + } + + } + } \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.