This is an automated email from the git hooks/post-receive script. New commit to branch feature/8203 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 64fa1d85043e6047d9dee1ebbd0c3bfe6d8bec3c Author: Kevin Morin <morin@codelutin.com> Date: Wed Apr 6 17:02:34 2016 +0200 flag pour ne pas afficher les notifs quand on charge le lot ou qu'on reset (refs #8203) --- .../frequency/IndividualObservationUICache.java | 70 ++++++++++++---------- .../frequency/SpeciesFrequencyUIHandler.java | 9 ++- .../species/frequency/SpeciesFrequencyUIModel.java | 17 ++++++ .../actions/CancelEditSpeciesFrequencyAction.java | 2 + .../actions/ResetSpeciesFrequencyAction.java | 4 ++ 5 files changed, 69 insertions(+), 33 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationUICache.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationUICache.java index 0dddb40..8c2853e 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationUICache.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationUICache.java @@ -475,48 +475,54 @@ public class IndividualObservationUICache implements Closeable { protected void displaySummary(Optional<SamplingEvent> optEvent) { - String summary = null; + if (isInit()) { + String summary = null; - if (optEvent.isPresent()) { - SamplingEvent event = optEvent.get(); + if (optEvent.isPresent() && uiModel.isCanDisplayNotifications()) { + SamplingEvent event = optEvent.get(); - CalcifiedPiecesSamplingDefinition cpsDef = event.getCpsDef(); - if (log.isInfoEnabled()) { - log.info("samplingNeeded for " + cpsDef); - } + CalcifiedPiecesSamplingDefinition cpsDef = event.getCpsDef(); + if (log.isInfoEnabled()) { + log.info("samplingNeeded for " + cpsDef); + } - int nbForOperation = event.getNbSamplingForOperation(); - int nbForZone = event.getNbSamplingForZone(); - int nbForCruise = event.getNbSamplingForCruise(); + int nbForOperation = event.getNbSamplingForOperation(); + int nbForZone = event.getNbSamplingForZone(); + int nbForCruise = event.getNbSamplingForCruise(); - String nbForOperationLabel = getLabelForSamplingNumber(nbForOperation, cpsDef.getOperationLimitation()); - String nbForZoneLabel = getLabelForSamplingNumber(nbForZone, cpsDef.getZoneLimitation()); - String nbForCruiseLabel = getLabelForSamplingNumber(nbForCruise, cpsDef.getMaxByLenghtStep()); + String nbForOperationLabel = getLabelForSamplingNumber(nbForOperation, cpsDef.getOperationLimitation()); + String nbForZoneLabel = getLabelForSamplingNumber(nbForZone, cpsDef.getZoneLimitation()); + String nbForCruiseLabel = getLabelForSamplingNumber(nbForCruise, cpsDef.getMaxByLenghtStep()); - Decorator<Species> speciesDecorator = ui.getHandler().getDecorator(Species.class, DecoratorService.WITH_SURVEY_CODE); - String key = speciesDecorator.toString(species) - + " " + Numbers.convertFromMm(event.getLengthStep(), uiModel.getLengthStepCaracteristicUnit()) - + " " + uiModel.getLengthStepCaracteristicUnit(); - if (event.getGender() != null) { - key += " " + event.getGender().getDescription(); - } - if (event.getMaturity() != null) { - if (event.getMaturity()) { - key += " " + t("tutti.editSpeciesFrequencies.samplingNeeded.mature"); + Decorator<Species> speciesDecorator = ui.getHandler().getDecorator(Species.class, DecoratorService.WITH_SURVEY_CODE); + String key = speciesDecorator.toString(species) + + " " + Numbers.convertFromMm(event.getLengthStep(), uiModel.getLengthStepCaracteristicUnit()) + + " " + uiModel.getLengthStepCaracteristicUnit(); + if (event.getGender() != null) { + key += " " + event.getGender().getDescription(); + } + if (event.getMaturity() != null) { + if (event.getMaturity()) { + key += " " + t("tutti.editSpeciesFrequencies.samplingNeeded.mature"); + } else { + key += " " + t("tutti.editSpeciesFrequencies.samplingNeeded.immature"); + } + } + if (event.getZone().isPresent()) { + Decorator<Zone> zoneDecorator = ui.getHandler().getDecorator(Zone.class, null); + String zone = zoneDecorator.toString(event.getZone().get()); + summary = t("tutti.editSpeciesFrequencies.samplingNeeded.summary", key, nbForOperationLabel, zone, nbForZoneLabel, nbForCruiseLabel); } else { - key += " " + t("tutti.editSpeciesFrequencies.samplingNeeded.immature"); + summary = t("tutti.editSpeciesFrequencies.samplingNeeded.summary.noZone", key, nbForOperationLabel, nbForZoneLabel, nbForCruiseLabel); } } - if (event.getZone().isPresent()) { - Decorator<Zone> zoneDecorator = ui.getHandler().getDecorator(Zone.class, null); - String zone = zoneDecorator.toString(event.getZone().get()); - summary = t("tutti.editSpeciesFrequencies.samplingNeeded.summary", key, nbForOperationLabel, zone, nbForZoneLabel, nbForCruiseLabel); - } else { - summary = t("tutti.editSpeciesFrequencies.samplingNeeded.summary.noZone", key, nbForOperationLabel, nbForZoneLabel, nbForCruiseLabel); - } + + ui.getSamplingResumeLabel().setText(summary); } + } - ui.getSamplingResumeLabel().setText(summary); + private boolean isInit() { + return ui != null; } protected String getLabelForSamplingNumber(int value, Integer max) { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java index 9437e3b..0ad49d2 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIHandler.java @@ -815,6 +815,10 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci log.debug("closing: " + ui); } + SpeciesFrequencyUIModel model = getModel(); + + model.setCanDisplayNotifications(false); + frequenciesHistogramPopup.dispose(); averageWeightsHistogramPopup.dispose(); resetSamplingLabel(); @@ -824,7 +828,6 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci // evict model from validator ui.getValidator().setBean(null); - SpeciesFrequencyUIModel model = getModel(); // when canceling always invalid model (in that way) model.setValid(false); model.setSimpleCount(null); @@ -875,6 +878,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci model.setInitBatchEdition(true); + model.setCanDisplayNotifications(false); try { // keep batch (will be used to push back editing entry) @@ -945,6 +949,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci } finally { model.setInitBatchEdition(false); + model.setCanDisplayNotifications(true); //FIXME Voir si c'est nécessaire ? model.setModify(false); } @@ -1773,6 +1778,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci SpeciesBatchRowModel speciesBatch = model.getBatch(); model.setInitBatchEdition(true); + model.setCanDisplayNotifications(false); try { @@ -1978,6 +1984,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci } finally { model.setInitBatchEdition(false); + model.setCanDisplayNotifications(true); } } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java index 21879e8..2b94081 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel.java @@ -123,6 +123,8 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public static final String PROPERTY_INIT_BATCH_EDITION = "initBatchEdition"; + public static final String PROPERTY_CAN_DISPLAY_NOTIFICATIONS = "canDisplayNotifications"; + public static final String PROPERTY_NOT_EDITABLE_CARACTERISTIC = "notEditableCaracteristic"; private final SpeciesOrBenthosBatchUISupport speciesOrBenthosBatchUISupport; @@ -308,6 +310,11 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa protected boolean initBatchEdition; /** + * Can smapling notifications or summary be displayed? + */ + protected boolean canDisplayNotifications; + + /** * A row is being created in rafale. Do not remove the sampling warning in this state. */ protected boolean inRafaleRowCreation; @@ -1020,6 +1027,16 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa this.rowComputationInProgress = rowComputationInProgress; } + public boolean isCanDisplayNotifications() { + return canDisplayNotifications; + } + + public void setCanDisplayNotifications(boolean canDisplayNotifications) { + Object oldValue = isCanDisplayNotifications(); + this.canDisplayNotifications = canDisplayNotifications; + firePropertyChange(PROPERTY_CAN_DISPLAY_NOTIFICATIONS, oldValue, canDisplayNotifications); + } + public boolean isInRafaleRowCreation() { return inRafaleRowCreation; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/CancelEditSpeciesFrequencyAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/CancelEditSpeciesFrequencyAction.java index 54005b2..4708ec5 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/CancelEditSpeciesFrequencyAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/CancelEditSpeciesFrequencyAction.java @@ -68,6 +68,8 @@ public class CancelEditSpeciesFrequencyAction extends LongActionSupport<SpeciesF log.debug("Cancel UI " + getUI()); } + getModel().setCanDisplayNotifications(false); + IndividualObservationUICache individualObservationUICache = handler.getIndividualObservationUICache(); individualObservationUICache.reset(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ResetSpeciesFrequencyAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ResetSpeciesFrequencyAction.java index c3643f2..c230ea2 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ResetSpeciesFrequencyAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ResetSpeciesFrequencyAction.java @@ -91,6 +91,8 @@ public class ResetSpeciesFrequencyAction extends LongActionSupport<SpeciesFreque SpeciesFrequencyUIModel model = getModel(); + model.setCanDisplayNotifications(false); + // remove all frequencies model.setRows(new ArrayList<>()); @@ -100,6 +102,8 @@ public class ResetSpeciesFrequencyAction extends LongActionSupport<SpeciesFreque individualObservationUICache.decrementsAll(); model.setIndividualObservationRows(new ArrayList<>()); + model.setCanDisplayNotifications(true); + } } \ No newline at end of file -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.