This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 59b3a2ca6a7ffad06ed1b323a2249f1cec2b5226 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Thu Jan 5 13:29:37 2017 +0100 - fixes #8661: [ALGORITHME DE PRELEVEMENTS] mauvais fonctionnement des compteurs quand on décoche l'option "maturité" et/ou "sexe" remise en place de l'obligation des zones. Si on ne veut qu'une seul zone, il faudra la créer dans le protocole (ex: 'toutes les zones') --- .../service/sampling/CruiseSamplingCache.java | 73 ++++++++++------------ .../IndividualObservationSamplingContext.java | 3 +- .../frequency/SamplingNotificationZoneHandler.java | 15 ++--- .../resources/i18n/tutti-ui-swing_en_GB.properties | 1 - .../resources/i18n/tutti-ui-swing_fr_FR.properties | 1 - 5 files changed, 41 insertions(+), 52 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java index 333d73d..82b1c8d 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java @@ -151,15 +151,14 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(individualObservations); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// // pas de zone définie pour cette opération de pêche, on n'enregistre rien ici. -// return; -// -// } + if (!optionalZone.isPresent()) { - Zone zone = optionalZone.orElse(null); + // pas de zone définie pour cette opération de pêche, on n'enregistre rien ici. + return; + + } + + Zone zone = optionalZone.get(); setLoading(true); @@ -218,15 +217,14 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(individualObservations); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// // pas de zone définie pour cette opération de pêche, rien à supprimer alors. -// return; -// -// } + if (!optionalZone.isPresent()) { + + // pas de zone définie pour cette opération de pêche, rien à supprimer alors. + return; - Zone zone = optionalZone.orElse(null); + } + + Zone zone = optionalZone.get(); setLoading(true); @@ -286,15 +284,14 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(individualObservations); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// // pas de zone définie pour cette opération de pêche, rien à supprimer alors. -// return; -// -// } + if (!optionalZone.isPresent()) { + + // pas de zone définie pour cette opération de pêche, rien à supprimer alors. + return; + + } - Zone zone = optionalZone.orElse(null); + Zone zone = optionalZone.get(); String fishingOperationId = fishingOperation.getId(); @@ -388,11 +385,10 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(fishingOperation); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// throw new ZoneNotDefinedOnFishingOperationException(request); -// } + if (!optionalZone.isPresent()) { + + throw new ZoneNotDefinedOnFishingOperationException(request); + } CaracteristicQualitativeValue gender = request.getGender(); Boolean maturity = getMaturity(request); @@ -407,7 +403,7 @@ public class CruiseSamplingCache implements CruiseCacheAble { IndividualObservationSamplingContext context = createContext(fishingOperation.getIdAsInt(), species, - optionalZone.orElse(null), + optionalZone.get(), optionalCalcifiedPiecesSamplingDefinition.get(), lengthStep, maturity, @@ -695,14 +691,13 @@ public class CruiseSamplingCache implements CruiseCacheAble { Objects.requireNonNull(fishingOperation); Optional<Zone> optionalZone = tryFindZone(fishingOperation); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// if (!optionalZone.isPresent()) { -// -// if (log.isInfoEnabled()) { -// log.info("Do not record sampling in cache, fishing operation has no matching zone."); -// } -// return null; -// } + if (!optionalZone.isPresent()) { + + if (log.isInfoEnabled()) { + log.info("Do not record sampling in cache, fishing operation has no matching zone."); + } + return null; + } Integer lengthStep = request.getLengthClass(); Objects.requireNonNull(lengthStep); @@ -726,7 +721,7 @@ public class CruiseSamplingCache implements CruiseCacheAble { return createContext(fishingOperation.getIdAsInt(), species, - optionalZone.orElse(null), + optionalZone.get(), optionalCalcifiedPiecesSamplingDefinition.get(), lengthStep, maturity, diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingContext.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingContext.java index 69316b1..efa53ce 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingContext.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingContext.java @@ -99,8 +99,7 @@ public class IndividualObservationSamplingContext { String fishingOperationSamplingKey) { Objects.requireNonNull(species); Objects.requireNonNull(calcifiedPiecesSamplingDefinition); - // poussin 20170104 #8661: on doit pouvoir faire des stats meme sans zone -// Objects.requireNonNull(zone); + Objects.requireNonNull(zone); Objects.requireNonNull(cruiseSamplingKey); Objects.requireNonNull(zoneSamplingKey); Objects.requireNonNull(fishingOperationSamplingKey); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SamplingNotificationZoneHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SamplingNotificationZoneHandler.java index a49b220..6930c71 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SamplingNotificationZoneHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SamplingNotificationZoneHandler.java @@ -321,12 +321,12 @@ public class SamplingNotificationZoneHandler implements Closeable { return; } -// if (!individualObservationUICache.isFishingOperationWithZone()) { -// -// // pas de zone définie sur l'opération de pêche -// stopUsingStatusNotication(t("tutti.editSpeciesFrequencies.samplingNotification.warning.fishingOperationNotInAZone")); -// return; -// } + if (!individualObservationUICache.isFishingOperationWithZone()) { + + // pas de zone définie sur l'opération de pêche + stopUsingStatusNotication(t("tutti.editSpeciesFrequencies.samplingNotification.warning.fishingOperationNotInAZone")); + return; + } if (!individualObservationUICache.isSpeciesDefinedInCalcifiedPiecesSampling()) { @@ -407,9 +407,6 @@ public class SamplingNotificationZoneHandler implements Closeable { } String zone = zoneDecorator.toString(individualObservationSamplingContext.getZone()); - if (zone == null) { - zone = t("tutti.editSpeciesFrequencies.samplingNeeded.noZone"); - } return t("tutti.editSpeciesFrequencies.samplingNeeded.summary", key, nbForOperationLabel, zone, nbForZoneLabel, nbForCruiseLabel); diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index 20eab45..6b3bded 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1661,7 +1661,6 @@ tutti.editSpeciesFrequencies.logTable.removeRow.confirm.message= tutti.editSpeciesFrequencies.logTable.removeRow.confirm.title= tutti.editSpeciesFrequencies.samplingNeeded.immature= tutti.editSpeciesFrequencies.samplingNeeded.mature= -tutti.editSpeciesFrequencies.samplingNeeded.noZone= tutti.editSpeciesFrequencies.samplingNeeded.summary= tutti.editSpeciesFrequencies.samplingNotification.warning.fishingOperationNotInAZone= tutti.editSpeciesFrequencies.samplingNotification.warning.moreThanOneRowSelected= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index d6f4274..78d15de 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1555,7 +1555,6 @@ tutti.editSpeciesFrequencies.logTable.removeRow.confirm.title=Suppression d'une tutti.editSpeciesFrequencies.samplingNeeded.immature=Immature tutti.editSpeciesFrequencies.samplingNeeded.mature=Mature tutti.editSpeciesFrequencies.samplingNeeded.max=max -tutti.editSpeciesFrequencies.samplingNeeded.noZone=toute les traits de la campagne tutti.editSpeciesFrequencies.samplingNeeded.summary=<html><body><strong>%s</strong> \: Trait \: %s | %s \: %s | Campagne \: %s tutti.editSpeciesFrequencies.samplingNotification.warning.fishingOperationNotInAZone=Le trait n'est pas dans une zone. tutti.editSpeciesFrequencies.samplingNotification.warning.moreThanOneRowSelected=Plusieurs observations individuelles sélectionnées. -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.