branch develop updated (9bffba4 -> 8b4f025)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See http://git.codelutin.com/tutti.git from 9bffba4 nettoyage du site technique (tout ce qui est dans les spécs n'ont plus rien à faire ici) new 8a74ea2 Ne pas accepter un import de taxon si le referenceTaxonId est null (refs #7047) new 0a7c92e fixes #7047: [IMPORT GENERIQUE] erreur si le referenceTaxonId n'est pas renseigné dans le fichier d'import des taxon. Merge branch 'feature/7047' into develop new 08e2db7 correction traduction (refs #7058) new fcda3ba ajout de controle pour valider le dénombrement sur une mensuration mais aussi un poids de mensuration différent de Zéro (refs #7058) new 8b4f025 fixes #7058: [IMPORT GENERIQUE] Erreur lors de la suppression des poids en double Merge branch 'feature/7058' into develop The 5 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 8b4f025dfa3785e764d2339bdc9f1b33202797f2 Merge: 0a7c92e fcda3ba Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue May 5 20:57:09 2015 +0200 fixes #7058: [IMPORT GENERIQUE] Erreur lors de la suppression des poids en double Merge branch 'feature/7058' into develop commit fcda3ba1ee92d3e6e6f7cf4c8d544886a61c379e Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue May 5 20:57:06 2015 +0200 ajout de controle pour valider le dénombrement sur une mensuration mais aussi un poids de mensuration différent de Zéro (refs #7058) commit 08e2db77042db7dcea32b3693c802ade352a5f43 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon May 4 12:45:55 2015 +0200 correction traduction (refs #7058) commit 0a7c92ebe1858e6b579b5cf51cf0d7953139c2bd Merge: 9bffba4 8a74ea2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon May 4 12:16:22 2015 +0200 fixes #7047: [IMPORT GENERIQUE] erreur si le referenceTaxonId n'est pas renseigné dans le fichier d'import des taxon. Merge branch 'feature/7047' into develop commit 8a74ea25270a0397e67e8c5e80ce53394914ac75 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon May 4 12:16:07 2015 +0200 Ne pas accepter un import de taxon si le referenceTaxonId est null (refs #7047) Summary of changes: .../i18n/tutti-persistence_fr_FR.properties | 2 +- .../consumer/CsvConsumerForCatch.java | 19 +++++++++++++ .../FrequencyWeigthNullValueException.java | 31 ++++++++++++++++++++++ .../MissingBatchNumberForFrequencyException.java | 31 ++++++++++++++++++++++ .../consumer/CsvConsumerForTemporarySpecies.java | 10 +++++-- .../resources/i18n/tutti-service_en_GB.properties | 3 +++ .../resources/i18n/tutti-service_fr_FR.properties | 3 +++ 7 files changed, 96 insertions(+), 3 deletions(-) create mode 100644 tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/FrequencyWeigthNullValueException.java create mode 100644 tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/MissingBatchNumberForFrequencyException.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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 8a74ea25270a0397e67e8c5e80ce53394914ac75 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon May 4 12:16:07 2015 +0200 Ne pas accepter un import de taxon si le referenceTaxonId est null (refs #7047) --- .../referential/consumer/CsvConsumerForTemporarySpecies.java | 10 ++++++++-- .../src/main/resources/i18n/tutti-service_en_GB.properties | 1 + .../src/main/resources/i18n/tutti-service_fr_FR.properties | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/consumer/CsvConsumerForTemporarySpecies.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/consumer/CsvConsumerForTemporarySpecies.java index d40605e..d664ed9 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/consumer/CsvConsumerForTemporarySpecies.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/referential/consumer/CsvConsumerForTemporarySpecies.java @@ -121,7 +121,7 @@ public class CsvConsumerForTemporarySpecies extends CsvComsumer<SpeciesRow, Spec addCheckError(row, new ApplicationBusinessException(t("tutti.service.referential.import.species.error.idNotTemporary", id))); - }else if (requestResult.isIdAlreadyAdded(id)) { + } else if (requestResult.isIdAlreadyAdded(id)) { addCheckError(row, new ApplicationBusinessException(t("tutti.service.referential.import.species.error.id.alreaydAdded", id))); @@ -131,12 +131,18 @@ public class CsvConsumerForTemporarySpecies extends CsvComsumer<SpeciesRow, Spec addCheckError(row, new ApplicationBusinessException(t("tutti.service.referential.import.species.error.noName"))); - }else if (requestResult.isNaturalIdAlreadyAdded(name)) { + } else if (requestResult.isNaturalIdAlreadyAdded(name)) { addCheckError(row, new ApplicationBusinessException(t("tutti.service.referential.import.species.error.name.alreaydAdded", name))); } + if (bean.getReferenceTaxonId() == null) { + + addCheckError(row, new ApplicationBusinessException(t("tutti.service.referential.import.species.error.noReferencetTaxonId"))); + + } + } reportError(row); diff --git a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties index 382ef25..396999d 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties @@ -391,6 +391,7 @@ tutti.service.referential.import.species.error.idNotTemporary= tutti.service.referential.import.species.error.name.alreaydAdded= tutti.service.referential.import.species.error.noId= tutti.service.referential.import.species.error.noName= +tutti.service.referential.import.species.error.noReferencetTaxonId= tutti.service.referential.import.species.error.notExistingId= tutti.service.referential.import.species.error.used= tutti.service.referential.import.species.idNotNegative.error= diff --git a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties index 9a1805f..69b21d4 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties @@ -350,6 +350,7 @@ tutti.service.referential.import.species.error.idNotTemporary=L'identifiant %s n tutti.service.referential.import.species.error.name.alreaydAdded=Un taxon a déjà été importé avec ce nom %s tutti.service.referential.import.species.error.noId=Un identifiant temporaire de taxon est obligatoire tutti.service.referential.import.species.error.noName=Le nom pour l'espèce %s est obligatoire. +tutti.service.referential.import.species.error.noReferencetTaxonId=Le referenceTaxonId du taxon est obligatoire tutti.service.referential.import.species.error.notExistingId=L'identifiant '%s' n'a pas été trouvé parmi les espèces temporaires tutti.service.referential.import.species.error.used=L'espèce temporaire '%s' est utilisée dans l'application. Vous devez la remplacer pour pouvoir la supprimer. tutti.service.referential.import.species.idNotNegative.error=L'identifiant d'une espèce temporaire doit être négatif \: %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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 0a7c92ebe1858e6b579b5cf51cf0d7953139c2bd Merge: 9bffba4 8a74ea2 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon May 4 12:16:22 2015 +0200 fixes #7047: [IMPORT GENERIQUE] erreur si le referenceTaxonId n'est pas renseigné dans le fichier d'import des taxon. Merge branch 'feature/7047' into develop .../referential/consumer/CsvConsumerForTemporarySpecies.java | 10 ++++++++-- .../src/main/resources/i18n/tutti-service_en_GB.properties | 1 + .../src/main/resources/i18n/tutti-service_fr_FR.properties | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 08e2db77042db7dcea32b3693c802ade352a5f43 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon May 4 12:45:55 2015 +0200 correction traduction (refs #7058) --- .../src/main/resources/i18n/tutti-persistence_fr_FR.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties b/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties index 5d0ae82..935293d 100644 --- a/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties +++ b/tutti-persistence/src/main/resources/i18n/tutti-persistence_fr_FR.properties @@ -93,7 +93,7 @@ tutti.persistence.batch.validation.horsVracNotFound=Lot 'Hors Vrac' non trouvé tutti.persistence.batch.validation.horsVracSpeciesNotFound=Lot 'Hors Vrac > Espèces' non trouvé ou configuré avec d'autres critères de classement. tutti.persistence.batch.validation.invalid.benthos.sampleCategoryId=Le lot benthos %s (espèce %s) utilise une catégorie (id %s) non reconnue tutti.persistence.batch.validation.invalid.benthos.sampleCategoryId.order=Le lot benthos %s (espèce %s) ne respecte pas l'ordre des catégories, utilisation de la catégorie <strong>%s</strong> après la catégories <strong>%s</strong> -tutti.persistence.batch.validation.invalid.species.sampleCategoryId=Le lot espèce %s (espèce %s) utilise une catégorise (id %s) non reconnue +tutti.persistence.batch.validation.invalid.species.sampleCategoryId=Le lot espèce %s (espèce %s) utilise une catégorie (id %s) non reconnue tutti.persistence.batch.validation.invalid.species.sampleCategoryId.order=Le lot espèce %s (espèce %s) ne respecte pas l'ordre des catégories, utilisation de la catégorie <strong>%s</strong> après la catégorie <strong>%s</strong> tutti.persistence.batch.validation.unsortedNotFound=Lot 'Hors Vrac > Espèces' non trouvé ou configuré avec d'autres critères de classement. tutti.persistence.batch.validation.vracBenthosAliveItemizedNotFound=Lot 'Vrac > Benthos > Vivant Trié' non trouvé, ou configuré avec d'autres critères de classement. -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit fcda3ba1ee92d3e6e6f7cf4c8d544886a61c379e Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue May 5 20:57:06 2015 +0200 ajout de controle pour valider le dénombrement sur une mensuration mais aussi un poids de mensuration différent de Zéro (refs #7058) --- .../consumer/CsvConsumerForCatch.java | 19 +++++++++++++ .../FrequencyWeigthNullValueException.java | 31 ++++++++++++++++++++++ .../MissingBatchNumberForFrequencyException.java | 31 ++++++++++++++++++++++ .../resources/i18n/tutti-service_en_GB.properties | 2 ++ .../resources/i18n/tutti-service_fr_FR.properties | 2 ++ 5 files changed, 85 insertions(+) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CsvConsumerForCatch.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CsvConsumerForCatch.java index 999344b..7258ca9 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CsvConsumerForCatch.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/CsvConsumerForCatch.java @@ -46,6 +46,7 @@ import fr.ifremer.tutti.service.genericformat.GenericFormatImportOperationContex import fr.ifremer.tutti.service.genericformat.csv.CatchModel; import fr.ifremer.tutti.service.genericformat.csv.CatchRow; import fr.ifremer.tutti.service.genericformat.csv.ExportSampleCategory; +import fr.ifremer.tutti.util.Weights; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.nuiton.csv.ImportRow; @@ -70,6 +71,7 @@ public class CsvConsumerForCatch extends CsvComsumer<CatchRow, CatchModel> { super(file, CatchModel.forImport(separator, sampleCategoryModel, parserFactory), reportError); this.catchRowVracPredicate = new Predicate<CatchRow>() { + @Override public boolean apply(CatchRow input) { ExportSampleCategory exportSampleCategory = input.getSampleCategory().get(0); @@ -98,6 +100,23 @@ public class CsvConsumerForCatch extends CsvComsumer<CatchRow, CatchModel> { } } + if (bean.withFrequency()) { + + // Mandatory batchNumber (see https://forge.codelutin.com/issues/7058) + + if (bean.getBatchNumber() == null) { + + addCheckError(row, new MissingBatchNumberForFrequencyException(operationContext.getFishingOperation())); + + } + + if (bean.getFrequencyWeight()!=null && Weights.isEqualWeight(bean.getFrequencyWeight(), 0f)) { + + // Cant have a Weight 0.0 + addCheckError(row, new FrequencyWeigthNullValueException(operationContext.getFishingOperation())); + } + } + } reportError(row); diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/FrequencyWeigthNullValueException.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/FrequencyWeigthNullValueException.java new file mode 100644 index 0000000..46af817 --- /dev/null +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/FrequencyWeigthNullValueException.java @@ -0,0 +1,31 @@ +package fr.ifremer.tutti.service.genericformat.consumer; + +import fr.ifremer.tutti.persistence.entities.data.FishingOperation; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 5/5/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public class FrequencyWeigthNullValueException extends Exception { + + private static final long serialVersionUID = 1L; + + private final FishingOperation fishingOperation; + + public FrequencyWeigthNullValueException(FishingOperation fishingOperation) { + this.fishingOperation = fishingOperation; + } + + public FishingOperation getFishingOperation() { + return fishingOperation; + } + + @Override + public String getMessage() { + return t("tutti.service.genericFormat.import.error.frequencyWeigthNullValueException", fishingOperation.getStationNumber(), fishingOperation.getFishingOperationNumber(), fishingOperation.getMultirigAggregation(), fishingOperation.getGearShootingStartDate(), fishingOperation.getCruise().getName()); + } +} diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/MissingBatchNumberForFrequencyException.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/MissingBatchNumberForFrequencyException.java new file mode 100644 index 0000000..4856ce5 --- /dev/null +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/genericformat/consumer/MissingBatchNumberForFrequencyException.java @@ -0,0 +1,31 @@ +package fr.ifremer.tutti.service.genericformat.consumer; + +import fr.ifremer.tutti.persistence.entities.data.FishingOperation; + +import static org.nuiton.i18n.I18n.t; + +/** + * Created on 5/5/15. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.0 + */ +public class MissingBatchNumberForFrequencyException extends Exception { + + private static final long serialVersionUID = 1L; + + private final FishingOperation fishingOperation; + + public MissingBatchNumberForFrequencyException(FishingOperation fishingOperation) { + this.fishingOperation = fishingOperation; + } + + public FishingOperation getFishingOperation() { + return fishingOperation; + } + + @Override + public String getMessage() { + return t("tutti.service.genericFormat.import.error.missingBatchNumberForFrequency", fishingOperation.getStationNumber(), fishingOperation.getFishingOperationNumber(), fishingOperation.getMultirigAggregation(), fishingOperation.getGearShootingStartDate(), fishingOperation.getCruise().getName()); + } +} diff --git a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties index 396999d..50bc56b 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_en_GB.properties @@ -184,8 +184,10 @@ tutti.service.genericFormat.import.error.cruiseNotValid= tutti.service.genericFormat.import.error.fishingOperationAlreadyImported= tutti.service.genericFormat.import.error.fishingOperationNotFoundInCruise= tutti.service.genericFormat.import.error.fishingOperationNotValid= +tutti.service.genericFormat.import.error.frequencyWeigthNullValueException= tutti.service.genericFormat.import.error.gearNotFoundInCruise= tutti.service.genericFormat.import.error.mismatchProgram= +tutti.service.genericFormat.import.error.missingBatchNumberForFrequency= tutti.service.genericFormat.import.error.programNotDefined= tutti.service.genericFormat.import.gearCaracteristics= tutti.service.genericFormat.import.individualObservations= diff --git a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties index 69b21d4..1e9c39d 100644 --- a/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties +++ b/tutti-service/src/main/resources/i18n/tutti-service_fr_FR.properties @@ -146,8 +146,10 @@ tutti.service.genericFormat.import.error.cruiseNotValid=La campagne n'est pas va tutti.service.genericFormat.import.error.fishingOperationAlreadyImported=Un trait %s - %s - %s -%s a déjà été importé dans la campagne %s tutti.service.genericFormat.import.error.fishingOperationNotFoundInCruise=Le trait %s - %s - %s -%s n'existe pas dans la campagne %s tutti.service.genericFormat.import.error.fishingOperationNotValid=Le trait n'est pas valide \:\n%s +tutti.service.genericFormat.import.error.frequencyWeigthNullValueException=Le trait %s - %s - %s -%s possède une mensuration avec un poids de valeur 0.0 (colonne Poids_Classe_Taille) tutti.service.genericFormat.import.error.gearNotFoundInCruise=L'engin %s (position %s) non trouvé dans la campagne %s tutti.service.genericFormat.import.error.mismatchProgram=La campagne (année\: %s, série\: %s, série partielle %s) devrait utiliser la série %s (code %s) +tutti.service.genericFormat.import.error.missingBatchNumberForFrequency=Le trait %s - %s - %s -%s possède une mensuration qui n'a pas de dénombrement (colonne Nbr non renseignée) tutti.service.genericFormat.import.error.programNotDefined=La série de campagne n'est pas renseignée tutti.service.genericFormat.import.gearCaracteristics=Import des caractéristiques d'engin tutti.service.genericFormat.import.individualObservations=Import des observations individuelles -- 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 develop in repository tutti. See http://git.codelutin.com/tutti.git commit 8b4f025dfa3785e764d2339bdc9f1b33202797f2 Merge: 0a7c92e fcda3ba Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue May 5 20:57:09 2015 +0200 fixes #7058: [IMPORT GENERIQUE] Erreur lors de la suppression des poids en double Merge branch 'feature/7058' into develop .../i18n/tutti-persistence_fr_FR.properties | 2 +- .../consumer/CsvConsumerForCatch.java | 19 +++++++++++++ .../FrequencyWeigthNullValueException.java | 31 ++++++++++++++++++++++ .../MissingBatchNumberForFrequencyException.java | 31 ++++++++++++++++++++++ .../resources/i18n/tutti-service_en_GB.properties | 2 ++ .../resources/i18n/tutti-service_fr_FR.properties | 2 ++ 6 files changed, 86 insertions(+), 1 deletion(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm