This is an automated email from the git hooks/post-receive script. New commit to branch feature/8177 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 6611c706e2efa2c8a6276474f09917f3ae5d215d Author: Kevin Morin <morin@codelutin.com> Date: Tue Mar 29 15:07:16 2016 +0200 décoration pour le résumé (refs #8152) --- .../fr/ifremer/tutti/service/DecoratorService.java | 2 ++ .../service/sampling/CruiseSamplingCache.java | 6 ++--- .../tutti/service/sampling/SamplingEvent.java | 13 ++++++--- .../frequency/IndividualObservationUICache.java | 31 +++++++++++----------- .../resources/i18n/tutti-ui-swing_en_GB.properties | 1 + .../resources/i18n/tutti-ui-swing_fr_FR.properties | 3 ++- 6 files changed, 33 insertions(+), 23 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java index 962c5b3..c085060 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/DecoratorService.java @@ -33,6 +33,7 @@ import fr.ifremer.tutti.persistence.entities.protocol.CaracteristicType; import fr.ifremer.tutti.persistence.entities.protocol.Rtp; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; +import fr.ifremer.tutti.persistence.entities.protocol.Zone; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.persistence.entities.referential.Gear; @@ -121,6 +122,7 @@ public class DecoratorService extends AbstractTuttiService { registerTuttiDecorator(Cruise.class, "${name}$s", SEPARATOR, " - "); registerTuttiDecorator(TuttiProtocol.class, "${name}$s", SEPARATOR, " - "); registerTuttiDecorator(Rtp.class, "${a}$s#${b}$s", SEPARATOR, " - "); + registerTuttiDecorator(Zone.class, "${label}$s", SEPARATOR, " - "); registerDecorator(new FishingOperationDecorator()); registerTuttiDecorator(FishingOperation.class, FILE_NAME_COMPATIBLE, "${stationNumber}$s#${fishingOperationNumber}$s#${multirigAggregation}$s#${gearShootingStartDate}$td%4$tm%4$tY", SEPARATOR, "-"); registerTuttiDecorator(Gear.class, "${label}$s#${name}$s", SEPARATOR, " - "); 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 55122a0..a64becc 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 @@ -297,7 +297,7 @@ public class CruiseSamplingCache implements Closeable { log.info("add Individual Observation " + samplingKey + " => op " + operationValue + " / zone " + zoneValue + " / cruise " + totalValue); } - SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); if (!isLoading() && (totalValue == 1 || totalValue % samplingInterval == 1)) { if (log.isInfoEnabled()) { @@ -387,7 +387,7 @@ public class CruiseSamplingCache implements Closeable { log.info("add Sampling " + samplingKey + " => op " + operationSamplingNb + " / zone " + zoneSamplingNb + " / cruise " + totalSamplingNb); } - SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); fireResumeUpdated(event); } } @@ -590,7 +590,7 @@ public class CruiseSamplingCache implements Closeable { log.info("remove Sampling " + samplingKey + " => op " + operationSamplingNb + " / zone " + zoneSamplingNb + " / cruise " + totalSamplingNb); } - SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); fireResumeUpdated(event); } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingEvent.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingEvent.java index c81b726..dc53227 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingEvent.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingEvent.java @@ -25,9 +25,11 @@ package fr.ifremer.tutti.service.sampling; */ import fr.ifremer.tutti.persistence.entities.protocol.CalcifiedPiecesSamplingDefinition; +import fr.ifremer.tutti.persistence.entities.protocol.Zone; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import java.util.EventObject; +import java.util.Optional; /** * @author Kevin Morin (Code Lutin) @@ -43,6 +45,8 @@ public class SamplingEvent extends EventObject { protected final CalcifiedPiecesSamplingDefinition cpsDef; + protected final Optional<Zone> zone; + protected final int nbSamplingForCruise; protected final int nbSamplingForZone; @@ -50,12 +54,13 @@ public class SamplingEvent extends EventObject { protected final int nbSamplingForOperation; public SamplingEvent(CruiseSamplingCache source, float lengthStep, CaracteristicQualitativeValue gender, Boolean maturity, - CalcifiedPiecesSamplingDefinition cpsDef, int nbSamplingForCruise, int nbSamplingForZone, int nbSamplingForOperation) { + CalcifiedPiecesSamplingDefinition cpsDef, Optional<Zone> zone, int nbSamplingForCruise, int nbSamplingForZone, int nbSamplingForOperation) { super(source); this.lengthStep = lengthStep; this.gender = gender; this.maturity = maturity; this.cpsDef = cpsDef; + this.zone = zone; this.nbSamplingForCruise = nbSamplingForCruise; this.nbSamplingForZone = nbSamplingForZone; this.nbSamplingForOperation = nbSamplingForOperation; @@ -73,12 +78,14 @@ public class SamplingEvent extends EventObject { return maturity; } - - public CalcifiedPiecesSamplingDefinition getCpsDef() { return cpsDef; } + public Optional<Zone> getZone() { + return zone; + } + public int getNbSamplingForCruise() { return nbSamplingForCruise; } 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 e99576f..5726658 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 @@ -26,10 +26,11 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.protocol.CalcifiedPiecesSamplingDefinition; -import fr.ifremer.tutti.persistence.entities.protocol.CalcifiedPiecesSamplingDefinitions; +import fr.ifremer.tutti.persistence.entities.protocol.Zone; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.persistence.entities.referential.Species; +import fr.ifremer.tutti.service.DecoratorService; import fr.ifremer.tutti.service.sampling.CruiseSamplingCache; import fr.ifremer.tutti.service.sampling.SamplingEvent; import fr.ifremer.tutti.service.sampling.SamplingListener; @@ -37,6 +38,7 @@ import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation import fr.ifremer.tutti.ui.swing.content.operation.catches.species.edit.SpeciesBatchRowModel; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.nuiton.decorator.Decorator; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; @@ -138,15 +140,7 @@ public class IndividualObservationUICache implements Closeable { nbForCruise, maxByLenghtStep == null ? "∞" : maxByLenghtStep)); } - boolean operationValueUpperMax = CalcifiedPiecesSamplingDefinitions.isOperationValueUpperMax(cpsDef, nbForOperation); - boolean zoneValueUpperMax = CalcifiedPiecesSamplingDefinitions.isZoneValueUpperMax(cpsDef, nbForZone); - boolean cruiseValueUpperMax = CalcifiedPiecesSamplingDefinitions.isCruiseValueUpperMax(cpsDef, nbForCruise); - - boolean showSamplingWarning = !operationValueUpperMax && !zoneValueUpperMax && !cruiseValueUpperMax; - if (log.isInfoEnabled()) { - log.info("showSamplingWarning " + showSamplingWarning); - } - ui.getSamplingWarningLabel().setVisible(showSamplingWarning); + ui.getSamplingWarningLabel().setVisible(true); } @Override @@ -161,15 +155,12 @@ public class IndividualObservationUICache implements Closeable { int nbForZone = event.getNbSamplingForZone(); int nbForCruise = event.getNbSamplingForCruise(); -// boolean operationValueUpperMax = CalcifiedPiecesSamplingDefinitions.isOperationValueUpperMax(cpsDef, nbForOperation); -// boolean zoneValueUpperMax = CalcifiedPiecesSamplingDefinitions.isZoneValueUpperMax(cpsDef, nbForZone); -// boolean cruiseValueUpperMax = CalcifiedPiecesSamplingDefinitions.isCruiseValueUpperMax(cpsDef, nbForCruise); - String nbForOperationLabel = getLabelForSamplingNumber(nbForOperation, cpsDef.getOperationLimitation()); String nbForZoneLabel = getLabelForSamplingNumber(nbForZone, cpsDef.getZoneLimitation()); String nbForCruiseLabel = getLabelForSamplingNumber(nbForCruise, cpsDef.getMaxByLenghtStep()); - String key = event.getLengthStep() + " " + uiModel.getLengthStepCaracteristicUnit(); + Decorator<Species> speciesDecorator = ui.getHandler().getDecorator(Species.class, DecoratorService.WITH_SURVEY_CODE); + String key = speciesDecorator.toString(species) + " " + event.getLengthStep() + " " + uiModel.getLengthStepCaracteristicUnit(); if (event.getGender() != null) { key += " " + event.getGender().getDescription(); } @@ -180,7 +171,15 @@ public class IndividualObservationUICache implements Closeable { key += " " + t("tutti.editSpeciesFrequencies.samplingNeeded.immature"); } } - ui.getSamplingResumeLabel().setText(t("tutti.editSpeciesFrequencies.samplingNeeded.resume", key, nbForOperationLabel, nbForZoneLabel, nbForCruiseLabel)); + String resume; + if (event.getZone().isPresent()) { + Decorator<Zone> zoneDecorator = ui.getHandler().getDecorator(Zone.class, null); + String zone = zoneDecorator.toString(event.getZone().get()); + resume = t("tutti.editSpeciesFrequencies.samplingNeeded.resume", key, nbForOperationLabel, zone, nbForZoneLabel, nbForCruiseLabel); + } else { + resume = t("tutti.editSpeciesFrequencies.samplingNeeded.resume.noZone", key, nbForOperationLabel, nbForZoneLabel, nbForCruiseLabel); + } + ui.getSamplingResumeLabel().setText(resume); } String getLabelForSamplingNumber(int value, Integer max) { 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 25ddb67..0a401a9 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 @@ -1642,6 +1642,7 @@ tutti.editSpeciesFrequencies.samplingNeeded.immature= tutti.editSpeciesFrequencies.samplingNeeded.mature= tutti.editSpeciesFrequencies.samplingNeeded.max= tutti.editSpeciesFrequencies.samplingNeeded.resume= +tutti.editSpeciesFrequencies.samplingNeeded.resume.noZone= tutti.editSpeciesFrequencies.samplingNeeded.warning= tutti.editSpeciesFrequencies.simpleCountingAndFrequencies= tutti.editSpeciesFrequencies.table.header.lengthStep= 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 91916e8..3232776 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 @@ -1527,7 +1527,8 @@ 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.resume=<html><body><strong>%s</strong> \: trait \: %s | zone \: %s | campagne \: %s +tutti.editSpeciesFrequencies.samplingNeeded.resume=<html><body><strong>%s</strong> \: Trait \: %s | %s \: %s | Campagne \: %s +tutti.editSpeciesFrequencies.samplingNeeded.resume.noZone=<html><body><strong>%s</strong> \: Trait \: %s | (pas dans une zone) | Campagne \: %s tutti.editSpeciesFrequencies.samplingNeeded.warning=<html><body><strong>Prélevez les pièces calcifiées \!</body></html> tutti.editSpeciesFrequencies.simpleCountingAndFrequencies=Des mensurations ont été saisies dans le tableau. Saisir un simple dénombrement les effacera. tutti.editSpeciesFrequencies.table.header.lengthStep=Classe de taille -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.