branch feature/8228 updated (b615d8b -> 31626fa)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8228 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git omits b615d8b Ne pas utiliser d'optional à tout bout de champ (maturityColumnId) + meilleure gestion generics omits 826db36 Ne pas utiliser d'optional à tout bout de champ omits 0ce26f4 Ne pas utiliser d'optional à tout bout de champ zone omits e3ed1d7 Ne pas utiliser d'optional à tout bout de champ maturityQualitativeValue omits 7eed651 Ne pas utiliser d'optional à tout bout de champ (IndividualObservationUICache#samplingCache) omits 9199b1e Ne pas tenir compte de l'algorithme si 1/n vaut 0 ou à sexer mais observation sans sexe (See #8228) adds dd3e083 bien remplir le benthos avec le... benthos (See #8234) + nettoyage code adds 3227fb7 Livrable #8234 Merge branch 'feature/8234' into develop adds 0c1b909 Ajout toString to Caracteristic adds 26cc892 Bien conserver l'ordre sur les caractéristiques (see #8233) adds a700d11 Mettre à jour l'ordre des caractéristiques sur les actions ↑ et ↓ (See #8233) adds c21a13e Livrable #8233 Merge branch 'feature/8233' into develop adds 2ced35f Vérifier qu'on peut quitter l'écran des mensurations si on tente de quitter l'opération en cours (uniquement sur les actions de changement d'opération) (see #8221) adds 9a32cf3 Livrable #8221 Merge branch 'feature/8221' into develop adds e2b48fc Suppression du veto sur le changement de screen (cela n'intervient pas au bon moment et il y a déjà une API pour gérer ça) (See #8190) adds a22c103 Livrable #8190 Merge branch 'feature/8190' into develop new 1d55529 Ne pas tenir compte de l'algorithme si 1/n vaut 0 ou à sexer mais observation sans sexe (See #8228) new e2a1d8a Ne pas utiliser d'optional à tout bout de champ (IndividualObservationUICache#samplingCache) new 8776b3b Ne pas utiliser d'optional à tout bout de champ maturityQualitativeValue new 347a4fa Ne pas utiliser d'optional à tout bout de champ zone new b7e2fc7 Ne pas utiliser d'optional à tout bout de champ new 31626fa Ne pas utiliser d'optional à tout bout de champ (maturityColumnId) + meilleure gestion generics This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (b615d8b) \ N -- N -- N refs/heads/feature/8228 (31626fa) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omits" are not gone; other references still refer to them. Any revisions marked "discards" are gone forever. The 6 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 31626fad429660297ac14697db091aa3a3ee3a36 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 03:31:02 2016 +0200 Ne pas utiliser d'optional à tout bout de champ (maturityColumnId) + meilleure gestion generics commit b7e2fc78af4dc9412470fd7dde8f57201b212915 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 03:22:14 2016 +0200 Ne pas utiliser d'optional à tout bout de champ commit 347a4faabe72a31bde5fa33b67f2b7582036d6a8 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 03:15:53 2016 +0200 Ne pas utiliser d'optional à tout bout de champ zone commit 8776b3b4321823a63670ba0580206b86e424d14e Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 03:04:02 2016 +0200 Ne pas utiliser d'optional à tout bout de champ maturityQualitativeValue commit e2a1d8ad4c5c9e5fa8ea8ae9b6c3b4933356f6a6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 02:52:11 2016 +0200 Ne pas utiliser d'optional à tout bout de champ (IndividualObservationUICache#samplingCache) commit 1d555292a11f47709e3af0cc1f50f0a97162318e Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 02:47:53 2016 +0200 Ne pas tenir compte de l'algorithme si 1/n vaut 0 ou à sexer mais observation sans sexe (See #8228) Summary of changes: .../entities/referential/CaracteristicBean.java | 21 ++++++++ .../fr/ifremer/tutti/ui/swing/TuttiUIContext.java | 23 ++------- .../tutti/ui/swing/content/MainUIHandler.java | 56 ++++++++++------------ .../catches/actions/ComputeBatchWeightsAction.java | 35 +------------- .../frequency/SpeciesFrequencyUIHandler.java | 22 +-------- .../actions/EditFishingOperationAction.java | 31 ++++++++++++ .../content/protocol/EditProtocolUIHandler.java | 11 +++++ .../content/protocol/EditProtocolUIModel.java | 6 +-- .../MoveDownCaracteristicMappingAction.java | 8 ++-- .../actions/MoveUpCaracteristicMappingAction.java | 8 ++-- 10 files changed, 108 insertions(+), 113 deletions(-) create mode 100644 tutti-persistence/src/main/java/fr/ifremer/tutti/persistence/entities/referential/CaracteristicBean.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 feature/8228 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 1d555292a11f47709e3af0cc1f50f0a97162318e Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 02:47:53 2016 +0200 Ne pas tenir compte de l'algorithme si 1/n vaut 0 ou à sexer mais observation sans sexe (See #8228) --- .../service/sampling/CruiseSamplingCache.java | 189 +++++++++++++-------- 1 file changed, 114 insertions(+), 75 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 e1d5c86..91add9b 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 @@ -279,47 +279,52 @@ public class CruiseSamplingCache implements Closeable { if (log.isInfoEnabled()) { log.info("Found matching sampling definition: " + cpsDefinition); } - int samplingInterval = cpsDefinition.getSamplingInterval(); - // on ne prend pas en compte les intervales à 0, ni quand l'espece doit etre sexee et que le sexe est nul - if (samplingInterval > 0 && (!cpsDefinition.isSex() || gender != null)) { + if (!canUseCalcifiedPiecesSamplingDefinition(cpsDefinition, gender)) { - if (!cpsDefinition.isSex()) { - gender = null; + if (log.isInfoEnabled()) { + log.info("No using the calcified pieces sampling definition for previous reasons."); } - String samplingKey = CruiseSamplingInternalCache.createSamplingKey(species, gender, maturity, lengthStep); + return; + } + int samplingInterval = cpsDefinition.getSamplingInterval(); - int totalValue = totalCruiseCache.incrementObservationNb(samplingKey); - int totalSamplingNb = totalCruiseCache.getSamplingNb(samplingKey); + if (!cpsDefinition.isSex()) { + gender = null; + } - int zoneValue = 0; - int zoneSamplingNb = 0; - if (optionalZone.isPresent()) { - String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); - zoneValue = zoneCache.incrementObservationNb(zoneKey); - zoneSamplingNb = zoneCache.getSamplingNb(zoneKey); - } - String operationKey = CruiseSamplingInternalCache.addPrefixKey(fishingOperationId, samplingKey); + String samplingKey = CruiseSamplingInternalCache.createSamplingKey(species, gender, maturity, lengthStep); - int operationValue = operationCache.incrementObservationNb(operationKey); - int operationSamplingNb = operationCache.getSamplingNb(operationKey); + int totalValue = totalCruiseCache.incrementObservationNb(samplingKey); + int totalSamplingNb = totalCruiseCache.getSamplingNb(samplingKey); - if (log.isInfoEnabled()) { - log.info("add Individual Observation " + samplingKey + " => op " + operationValue + " / zone " + zoneValue + " / cruise " + totalValue); - } + int zoneValue = 0; + int zoneSamplingNb = 0; + if (optionalZone.isPresent()) { + String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); + zoneValue = zoneCache.incrementObservationNb(zoneKey); + zoneSamplingNb = zoneCache.getSamplingNb(zoneKey); + } + String operationKey = CruiseSamplingInternalCache.addPrefixKey(fishingOperationId, samplingKey); - SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + int operationValue = operationCache.incrementObservationNb(operationKey); + int operationSamplingNb = operationCache.getSamplingNb(operationKey); - if (!isLoading() && (totalValue == 1 || samplingInterval == 1 || totalValue % samplingInterval == 1)) { - if (log.isInfoEnabled()) { - log.info("-> needs sampling"); - } - fireSamplingNeeded(event); - } + if (log.isInfoEnabled()) { + log.info("add Individual Observation " + samplingKey + " => op " + operationValue + " / zone " + zoneValue + " / cruise " + totalValue); + } - fireSummaryUpdated(event); + SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + if (!isLoading() && (totalValue == 1 || samplingInterval == 1 || totalValue % samplingInterval == 1)) { + if (log.isInfoEnabled()) { + log.info("-> needs sampling"); + } + fireSamplingNeeded(event); } + + fireSummaryUpdated(event); + } } @@ -494,31 +499,34 @@ public class CruiseSamplingCache implements Closeable { if (log.isInfoEnabled()) { log.info("Found matching sampling definition: " + cpsDefinition); } - int samplingInterval = cpsDefinition.getSamplingInterval(); - - // on ne prend pas en compte les intervales à 0, ni quand l'espece doit etre sexee et que le sexe est nul - if (samplingInterval > 0 && (!cpsDefinition.isSex() || gender != null)) { - if (!cpsDefinition.isSex()) { - gender = null; + if (!canUseCalcifiedPiecesSamplingDefinition(cpsDefinition, gender)) { + if (log.isInfoEnabled()) { + log.info("No using the calcified pieces sampling definition for previous reasons."); } + return; + } - String samplingKey = CruiseSamplingInternalCache.createSamplingKey(species, gender, maturity, lengthStep); + if (!cpsDefinition.isSex()) { + gender = null; + } - int totalValue = totalCruiseCache.decrementObservationNb(samplingKey); - int zoneValue = 0; - if (optionalZone.isPresent()) { - String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); - zoneValue = zoneCache.decrementObservationNb(zoneKey); - } - String operationKey = CruiseSamplingInternalCache.addPrefixKey(fishingOperationId, samplingKey); + String samplingKey = CruiseSamplingInternalCache.createSamplingKey(species, gender, maturity, lengthStep); + + int totalValue = totalCruiseCache.decrementObservationNb(samplingKey); + int zoneValue = 0; + if (optionalZone.isPresent()) { + String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); + zoneValue = zoneCache.decrementObservationNb(zoneKey); + } + String operationKey = CruiseSamplingInternalCache.addPrefixKey(fishingOperationId, samplingKey); - int operationValue = operationCache.decrementObservationNb(operationKey); + int operationValue = operationCache.decrementObservationNb(operationKey); - if (log.isInfoEnabled()) { - log.info("remove individual observation " + samplingKey + " ⇒ op " + operationValue + " / zone " + zoneValue + " / cruise " + totalValue); - } + if (log.isInfoEnabled()) { + log.info("remove individual observation " + samplingKey + " ⇒ op " + operationValue + " / zone " + zoneValue + " / cruise " + totalValue); } + } } @@ -648,16 +656,17 @@ public class CruiseSamplingCache implements Closeable { } public Optional<SamplingEvent> getEventForSummary(FishingOperation fishingOperation, - Species species, Boolean maturity, + Species species, + Boolean maturity, CaracteristicQualitativeValue gender, int lengthStep) { Objects.requireNonNull(fishingOperation); Objects.requireNonNull(species); - Optional < CalcifiedPiecesSamplingDefinition > cpsDefinitionOpt = getCalcifiedPiecesSamplingDefinition(species, maturity, lengthStep); + Optional<CalcifiedPiecesSamplingDefinition> cpsDefinitionOpt = getCalcifiedPiecesSamplingDefinition(species, maturity, lengthStep); - Optional<SamplingEvent> result; + SamplingEvent event = null; if (cpsDefinitionOpt.isPresent()) { CalcifiedPiecesSamplingDefinition cpsDefinition = cpsDefinitionOpt.get(); @@ -666,41 +675,48 @@ public class CruiseSamplingCache implements Closeable { log.info("Found matching sampling definition: " + cpsDefinition); } - if (!cpsDefinition.isSex()) { - gender = null; - } - String samplingKey = CruiseSamplingInternalCache.createSamplingKey(species, gender, maturity, lengthStep); + if (!canUseCalcifiedPiecesSamplingDefinition(cpsDefinition, gender)) { - int totalValue = totalCruiseCache.getObservationNb(samplingKey); - int totalSamplingNb = totalCruiseCache.getSamplingNb(samplingKey); + if (log.isInfoEnabled()) { + log.info("No using the calcified pieces sampling definition for previous reasons."); + } - int zoneValue = 0; - int zoneSamplingNb = 0; + } else { - Optional<Zone> optionalZone = tryFindZone(fishingOperation); - if (optionalZone.isPresent()) { - String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); - zoneValue = zoneCache.getObservationNb(zoneKey); - zoneSamplingNb = zoneCache.getSamplingNb(zoneKey); - } + if (!cpsDefinition.isSex()) { + gender = null; + } + String samplingKey = CruiseSamplingInternalCache.createSamplingKey(species, gender, maturity, lengthStep); - String operationKey = CruiseSamplingInternalCache.addPrefixKey(fishingOperation.getIdAsInt(), samplingKey); + int totalValue = totalCruiseCache.getObservationNb(samplingKey); + int totalSamplingNb = totalCruiseCache.getSamplingNb(samplingKey); - int operationValue = operationCache.getObservationNb(operationKey); - int operationSamplingNb = operationCache.getSamplingNb(operationKey); + int zoneValue = 0; + int zoneSamplingNb = 0; - if (log.isInfoEnabled()) { - log.info("add Individual Observation " + samplingKey + " => op " + operationValue + " / zone " + zoneValue + " / cruise " + totalValue); - } + Optional<Zone> optionalZone = tryFindZone(fishingOperation); + if (optionalZone.isPresent()) { + String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); + zoneValue = zoneCache.getObservationNb(zoneKey); + zoneSamplingNb = zoneCache.getSamplingNb(zoneKey); + } - SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); - result = Optional.of(event); + String operationKey = CruiseSamplingInternalCache.addPrefixKey(fishingOperation.getIdAsInt(), samplingKey); + + int operationValue = operationCache.getObservationNb(operationKey); + int operationSamplingNb = operationCache.getSamplingNb(operationKey); + + if (log.isInfoEnabled()) { + log.info("add Individual Observation " + samplingKey + " => op " + operationValue + " / zone " + zoneValue + " / cruise " + totalValue); + } + + event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + + } - } else { - result = Optional.empty(); } - return result; + return Optional.ofNullable(event); } public Optional<Zone> tryFindZone(FishingOperation operation) { @@ -837,4 +853,27 @@ public class CruiseSamplingCache implements Closeable { return result; } + protected boolean canUseCalcifiedPiecesSamplingDefinition(CalcifiedPiecesSamplingDefinition cpsDefinition, CaracteristicQualitativeValue gender) { + + int samplingInterval = cpsDefinition.getSamplingInterval(); + + // on ne prend pas en compte les intervales à 0 + if (samplingInterval == 0) { + if (log.isInfoEnabled()) { + log.info("Reject matching sampling definition (sampling interval is zero)"); + } + return false; + } + // on ne prend pas en compte quand l'espece doit etre sexee et que le sexe est nul + if (cpsDefinition.isSex() && gender == null) { + if (log.isInfoEnabled()) { + log.info("Reject matching sampling definition (sampling should be sexed, but observation was not)"); + } + return false; + } + + return true; + + } + } -- 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 feature/8228 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit e2a1d8ad4c5c9e5fa8ea8ae9b6c3b4933356f6a6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 02:52:11 2016 +0200 Ne pas utiliser d'optional à tout bout de champ (IndividualObservationUICache#samplingCache) --- .../frequency/IndividualObservationUICache.java | 93 +++++++++++----------- .../frequency/SpeciesFrequencyUIHandler.java | 2 +- 2 files changed, 48 insertions(+), 47 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 03b7b97..f441d61 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 @@ -27,7 +27,6 @@ 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.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; @@ -68,7 +67,7 @@ public class IndividualObservationUICache implements Closeable { private static final Log log = LogFactory.getLog(IndividualObservationUICache.class); private final SamplingListener samplingListener; - private final Optional<CruiseSamplingCache> samplingCache; + private final CruiseSamplingCache samplingCache; private final SpeciesFrequencyUIModel uiModel; private SpeciesBatchRowModel speciesEditRow; @@ -95,7 +94,7 @@ public class IndividualObservationUICache implements Closeable { */ private boolean on; - public IndividualObservationUICache(Optional<CruiseSamplingCache> samplingCache, SpeciesFrequencyUIModel uiModel, Caracteristic sexCaracteristic) { + public IndividualObservationUICache(CruiseSamplingCache samplingCache, SpeciesFrequencyUIModel uiModel) { this.samplingCache = samplingCache; this.uiModel = uiModel; @@ -116,7 +115,7 @@ public class IndividualObservationUICache implements Closeable { } else { // model no more loading, cache is on if data cache is present - on = samplingCache.isPresent(); + on = withSamplingCache(); if (log.isInfoEnabled()) { if (on) { log.info("Cache is on : ui model loading is done and sampling cache is present"); @@ -181,25 +180,29 @@ public class IndividualObservationUICache implements Closeable { this.speciesEditRow = speciesEditRow; this.species = speciesEditRow.getSpecies(); this.fishingOperation = fishingOperation; - if (samplingCache.isPresent()) { - samplingCache.get().addSamplingListener(samplingListener); + if (withSamplingCache()) { + samplingCache.addSamplingListener(samplingListener); } this.samplingCodesAvailable.clear(); this.samplingCodesNotAvailable.clear(); - + individualObservationRows.stream() .filter(individualObservationRow -> individualObservationRow.getSamplingCode() != null) .forEach(individualObservationRow -> addSamplingCodeNotAvailable(individualObservationRow.getSamplingCode())); } + protected boolean withSamplingCache() { + return samplingCache != null; + } + @Override public void close() { this.ui = null; this.speciesEditRow = null; this.species = null; this.fishingOperation = null; - if (samplingCache.isPresent()) { - samplingCache.get().removeSamplingListener(samplingListener); + if (withSamplingCache()) { + samplingCache.removeSamplingListener(samplingListener); } } @@ -248,12 +251,12 @@ public class IndividualObservationUICache implements Closeable { return; } - Boolean maturity = samplingCache.get().getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); - samplingCache.get().addIndividualObservation(fishingOperation, - species, - gender, - maturity, - uiModel.getLengthStepInMm(lengthStep)); + Boolean maturity = samplingCache.getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); + samplingCache.addIndividualObservation(fishingOperation, + species, + gender, + maturity, + uiModel.getLengthStepInMm(lengthStep)); if (samplingCode.isPresent()) { incrementsSamplingNb(gender, maturityQualitativeValue, lengthStep, samplingCode.get()); @@ -280,14 +283,14 @@ public class IndividualObservationUICache implements Closeable { return; } - Boolean maturity = samplingCache.get().getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); + Boolean maturity = samplingCache.getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); Integer lengthStepInMm = lengthStep == null ? null : uiModel.getLengthStepInMm(lengthStep); - samplingCache.get().addSampling(fishingOperation, - species, - gender, - maturity, - lengthStepInMm, - samplingCode); + samplingCache.addSampling(fishingOperation, + species, + gender, + maturity, + lengthStepInMm, + samplingCode); // Le code n'est plus utilisable addSamplingCodeNotAvailable(samplingCode); @@ -340,12 +343,12 @@ public class IndividualObservationUICache implements Closeable { return; } - Boolean maturity = samplingCache.get().getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); - samplingCache.get().removeIndividualObservation(fishingOperation, - species, - gender, - maturity, - uiModel.getLengthStepInMm(lengthStep)); + Boolean maturity = samplingCache.getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); + samplingCache.removeIndividualObservation(fishingOperation, + species, + gender, + maturity, + uiModel.getLengthStepInMm(lengthStep)); if (samplingCode.isPresent()) { decrementsSamplingNb(gender, maturityQualitativeValue, lengthStep, samplingCode.get()); @@ -372,13 +375,13 @@ public class IndividualObservationUICache implements Closeable { return; } - Boolean maturity = samplingCache.get().getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); - samplingCache.get().removeSampling(fishingOperation, - species, - gender, - maturity, - uiModel.getLengthStepInMm(lengthStep), - samplingCode); + Boolean maturity = samplingCache.getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); + samplingCache.removeSampling(fishingOperation, + species, + gender, + maturity, + uiModel.getLengthStepInMm(lengthStep), + samplingCode); addSamplingCodeAvailable(samplingCode); @@ -442,8 +445,8 @@ public class IndividualObservationUICache implements Closeable { public void addSamplingCodeAvailable(String samplingCode) { int samplingCodeNumber = SamplingCodePrefix.extractSamplingCodeIdFromSamplingCode(samplingCode); - if (log.isInfoEnabled()) { - log.info(String.format("Make samplingCode: %s (%d) available", samplingCode, samplingCodeNumber)); + if (log.isDebugEnabled()) { + log.debug(String.format("Make samplingCode: %s (%d) available", samplingCode, samplingCodeNumber)); } samplingCodesNotAvailable.remove(samplingCodeNumber); samplingCodesAvailable.add(samplingCodeNumber); @@ -453,8 +456,8 @@ public class IndividualObservationUICache implements Closeable { public void addSamplingCodeNotAvailable(String samplingCode) { int samplingCodeNumber = SamplingCodePrefix.extractSamplingCodeIdFromSamplingCode(samplingCode); - if (log.isInfoEnabled()) { - log.info(String.format("Make samplingCode: %s (%d) not available", samplingCode, samplingCodeNumber)); + if (log.isDebugEnabled()) { + log.debug(String.format("Make samplingCode: %s (%d) not available", samplingCode, samplingCodeNumber)); } samplingCodesNotAvailable.add(samplingCodeNumber); samplingCodesAvailable.remove(samplingCodeNumber); @@ -464,17 +467,15 @@ public class IndividualObservationUICache implements Closeable { public void updateSelectedRow(Optional<IndividualObservationBatchRowModel> optSelectedRow) { Optional<SamplingEvent> event; - if (samplingCache.isPresent() && optSelectedRow.isPresent() && optSelectedRow.get().withSize()) { + if (withSamplingCache() && optSelectedRow.isPresent() && optSelectedRow.get().withSize()) { IndividualObservationBatchRowModel selectedRow = optSelectedRow.get(); - CruiseSamplingCache cruiseSamplingCache = samplingCache.get(); - Optional<CaracteristicQualitativeValue> maturityQualitativeValue = uiModel.getOptionalMaturityValue(selectedRow); - Boolean maturity = cruiseSamplingCache.getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); + Boolean maturity = samplingCache.getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); int lengthstep = uiModel.getLengthStepInMm(selectedRow.getSize()); - event = cruiseSamplingCache.getEventForSummary(fishingOperation, species, maturity, uiModel.getGender(selectedRow), lengthstep); + event = samplingCache.getEventForSummary(fishingOperation, species, maturity, uiModel.getGender(selectedRow), lengthstep); } else { event = Optional.empty(); @@ -505,8 +506,8 @@ public class IndividualObservationUICache implements Closeable { 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(); + + " " + Numbers.convertFromMm(event.getLengthStep(), uiModel.getLengthStepCaracteristicUnit()) + + " " + uiModel.getLengthStepCaracteristicUnit(); if (event.getGender() != null) { key += " " + event.getGender().getDescription(); } 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 ee7faf3..c2b8b6d 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 @@ -504,7 +504,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci }); this.individualObservationUICache = new IndividualObservationUICache( - getDataContext().getOptionalCruiseSamplingCache(), model, sexCaracteristic); + getDataContext().getOptionalCruiseSamplingCache().orElse(null), model); } @Override -- 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 feature/8228 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 8776b3b4321823a63670ba0580206b86e424d14e Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 03:04:02 2016 +0200 Ne pas utiliser d'optional à tout bout de champ maturityQualitativeValue --- .../service/sampling/CruiseSamplingCache.java | 8 +++--- .../IndividualObservationBatchTableModel.java | 5 ++-- .../frequency/IndividualObservationUICache.java | 31 +++++++--------------- .../frequency/SpeciesFrequencyUIHandler.java | 14 +++++----- .../species/frequency/SpeciesFrequencyUIModel.java | 9 +++---- 5 files changed, 28 insertions(+), 39 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 91add9b..ba219d5 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 @@ -794,11 +794,11 @@ public class CruiseSamplingCache implements Closeable { return maturity; } - public Boolean getMaturity(int speciesId, Optional<CaracteristicQualitativeValue> maturityQualitativeValue) { + public Boolean getMaturity(int speciesId, CaracteristicQualitativeValue maturityQualitativeValue) { Boolean maturity = null; - Optional<Caracteristic> maturityCaracteristic = Optional.ofNullable(maturityCaracteristicBySpecies.get(speciesId)); - if (maturityCaracteristic.isPresent() && maturityQualitativeValue.isPresent()) { - maturity = matureStatesByMaturityCracteristic.containsEntry(maturityCaracteristic.get().getId(), maturityQualitativeValue.get().getId()); + Caracteristic maturityCaracteristic = maturityCaracteristicBySpecies.get(speciesId); + if (maturityCaracteristic != null && maturityQualitativeValue != null) { + maturity = matureStatesByMaturityCracteristic.containsEntry(maturityCaracteristic.getId(), maturityQualitativeValue.getId()); } return maturity; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java index f7cb8ae..8a6a924 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchTableModel.java @@ -37,7 +37,6 @@ import org.nuiton.jaxx.application.swing.table.ColumnIdentifier; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.io.Serializable; -import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; @@ -182,8 +181,8 @@ public class IndividualObservationBatchTableModel extends AbstractApplicationTab parentModel.setGenderValueToDefaultCaracterictis(result, gender); if (parentModel.withMaturityCaracteristic()) { - Optional<CaracteristicQualitativeValue> maturityState = parentModel.getOptionalMaturityValue(lastRow); - parentModel.setMaturityValueToDefaultCaracterictis(result, maturityState.orElse(null)); + CaracteristicQualitativeValue maturityState = parentModel.getMaturityValue(lastRow); + parentModel.setMaturityValueToDefaultCaracterictis(result, maturityState); } } 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 f441d61..d05bd2e 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 @@ -214,7 +214,7 @@ public class IndividualObservationUICache implements Closeable { public void increments(IndividualObservationBatchRowModel row) { incrementsObservationNb(uiModel.getGender(row), - uiModel.getOptionalMaturityValue(row), + uiModel.getMaturityValue(row), row.getSize(), row.getOptionalSamplingCode()); @@ -226,21 +226,10 @@ public class IndividualObservationUICache implements Closeable { * @param gender le sexe * @param maturityQualitativeValue l'état de maturité * @param lengthStep la classe de taille - */ - public void incrementsObservationNb(CaracteristicQualitativeValue gender, Optional<CaracteristicQualitativeValue> maturityQualitativeValue, float lengthStep) { - incrementsObservationNb(gender, maturityQualitativeValue, lengthStep, Optional.empty()); - } - - /** - * Ajoute une observation individuelle via ses composantes (sexe, maturité, classe de taille) dans le cache. - * - * @param gender le sexe - * @param maturityQualitativeValue l'état de maturité - * @param lengthStep la classe de taille * @param samplingCode le code de prélèvement ajouté s'il y en a un */ public void incrementsObservationNb(CaracteristicQualitativeValue gender, - Optional<CaracteristicQualitativeValue> maturityQualitativeValue, + CaracteristicQualitativeValue maturityQualitativeValue, float lengthStep, Optional<String> samplingCode) { @@ -272,8 +261,8 @@ public class IndividualObservationUICache implements Closeable { * @param samplingCode le code de prélèvement ajouté */ public void incrementsSamplingNb(CaracteristicQualitativeValue gender, - Optional<CaracteristicQualitativeValue> maturityQualitativeValue, - Float lengthStep, + CaracteristicQualitativeValue maturityQualitativeValue, + float lengthStep, String samplingCode) { if (!on) { @@ -284,7 +273,7 @@ public class IndividualObservationUICache implements Closeable { } Boolean maturity = samplingCache.getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); - Integer lengthStepInMm = lengthStep == null ? null : uiModel.getLengthStepInMm(lengthStep); + int lengthStepInMm = uiModel.getLengthStepInMm(lengthStep); samplingCache.addSampling(fishingOperation, species, gender, @@ -305,7 +294,7 @@ public class IndividualObservationUICache implements Closeable { public void decrements(IndividualObservationBatchRowModel row) { decrementsObservationNb(uiModel.getGender(row), - uiModel.getOptionalMaturityValue(row), + uiModel.getMaturityValue(row), row.getSize(), row.getOptionalSamplingCode()); @@ -318,7 +307,7 @@ public class IndividualObservationUICache implements Closeable { * @param maturityQualitativeValue l'état de maturité * @param lengthStep la classe de taille */ - public void decrementsObservationNb(CaracteristicQualitativeValue gender, Optional<CaracteristicQualitativeValue> maturityQualitativeValue, float lengthStep) { + public void decrementsObservationNb(CaracteristicQualitativeValue gender, CaracteristicQualitativeValue maturityQualitativeValue, float lengthStep) { decrementsObservationNb(gender, maturityQualitativeValue, lengthStep, Optional.empty()); } @@ -332,7 +321,7 @@ public class IndividualObservationUICache implements Closeable { * @param samplingCode le code de prélèvement supprimée */ public void decrementsObservationNb(CaracteristicQualitativeValue gender, - Optional<CaracteristicQualitativeValue> maturityQualitativeValue, + CaracteristicQualitativeValue maturityQualitativeValue, float lengthStep, Optional<String> samplingCode) { @@ -364,7 +353,7 @@ public class IndividualObservationUICache implements Closeable { * @param samplingCode le code de prélèvement supprimé */ public void decrementsSamplingNb(CaracteristicQualitativeValue gender, - Optional<CaracteristicQualitativeValue> maturityQualitativeValue, + CaracteristicQualitativeValue maturityQualitativeValue, Float lengthStep, String samplingCode) { @@ -471,7 +460,7 @@ public class IndividualObservationUICache implements Closeable { IndividualObservationBatchRowModel selectedRow = optSelectedRow.get(); - Optional<CaracteristicQualitativeValue> maturityQualitativeValue = uiModel.getOptionalMaturityValue(selectedRow); + CaracteristicQualitativeValue maturityQualitativeValue = uiModel.getMaturityValue(selectedRow); Boolean maturity = samplingCache.getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), maturityQualitativeValue); int lengthstep = uiModel.getLengthStepInMm(selectedRow.getSize()); 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 c2b8b6d..c1b2c88 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 @@ -217,7 +217,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci SpeciesFrequencyUIModel model = getModel(); CaracteristicQualitativeValue gender = model.getGender(row); - Optional<CaracteristicQualitativeValue> maturity = model.getOptionalMaturityValue(row); + CaracteristicQualitativeValue maturity = model.getMaturityValue(row); switch (propertyName) { case IndividualObservationBatchRowModel.PROPERTY_SIZE: { @@ -293,8 +293,8 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci } if (model.withMaturityCaracteristic()) { - Optional<CaracteristicQualitativeValue> oldMaturity = model.getOptionalMaturityValue(oldValue); - Optional<CaracteristicQualitativeValue> newMaturity = model.getOptionalMaturityValue(newValue); + CaracteristicQualitativeValue oldMaturity = model.getMaturityValue(oldValue); + CaracteristicQualitativeValue newMaturity = model.getMaturityValue(newValue); if (log.isInfoEnabled()) { log.info("maturities : " + oldMaturity + " " + newMaturity); } @@ -316,14 +316,16 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci case IndividualObservationBatchRowModel.PROPERTY_SAMPLING_CODE: if (row.withSize()) { + float size = row.getSize(); + String oldValue = (String) evt.getOldValue(); String newValue = (String) evt.getNewValue(); if (StringUtils.isNotBlank(oldValue)) { - individualObservationUICache.decrementsSamplingNb(gender, maturity, row.getSize(), oldValue); + individualObservationUICache.decrementsSamplingNb(gender, maturity, size, oldValue); } if (StringUtils.isNotBlank(newValue)) { - individualObservationUICache.incrementsSamplingNb(gender, maturity, row.getSize(), newValue); + individualObservationUICache.incrementsSamplingNb(gender, maturity, size, newValue); } } break; @@ -420,7 +422,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci // clean log table SpeciesFrequencyLogsTableModel logsTableModel = (SpeciesFrequencyLogsTableModel) ui.getLogsTable().getModel(); - logsTableModel.setRows(Lists.<SpeciesFrequencyLogRowModel>newArrayList()); + logsTableModel.setRows(new ArrayList<>()); getModel().setModify(false); 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 93a31b7..377d728 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 @@ -51,7 +51,6 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Optional; import java.util.Set; /** @@ -1092,23 +1091,23 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa firePropertyChange(PROPERTY_MATURITY_CARACTERISTIC, oldValue, maturityCaracteristic); } - public Optional<CaracteristicQualitativeValue> getOptionalMaturityValue(IndividualObservationBatchRowModel row) { + public CaracteristicQualitativeValue getMaturityValue(IndividualObservationBatchRowModel row) { CaracteristicQualitativeValue caracteristicValue = null; if (withMaturityCaracteristic()) { caracteristicValue = row.getCaracteristicQualitativeValue(maturityCaracteristic); } - return Optional.ofNullable(caracteristicValue); + return caracteristicValue; } - public Optional<CaracteristicQualitativeValue> getOptionalMaturityValue(CaracteristicMap caracteristicMap) { + public CaracteristicQualitativeValue getMaturityValue(CaracteristicMap caracteristicMap) { CaracteristicQualitativeValue caracteristicValue = null; if (withMaturityCaracteristic()) { caracteristicValue = caracteristicMap.getQualitativeValue(maturityCaracteristic); } - return Optional.ofNullable(caracteristicValue); + return caracteristicValue; } -- 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 feature/8228 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 347a4faabe72a31bde5fa33b67f2b7582036d6a8 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 03:15:53 2016 +0200 Ne pas utiliser d'optional à tout bout de champ zone --- .../ifremer/tutti/service/PersistenceService.java | 2 +- .../service/sampling/CruiseSamplingCache.java | 61 +++++++++++----------- .../sampling/CruiseSamplingCacheLoader.java | 5 +- .../tutti/service/sampling/SamplingEvent.java | 7 ++- .../frequency/IndividualObservationUICache.java | 4 +- 5 files changed, 38 insertions(+), 41 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java index 6616593..1aedc60 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/PersistenceService.java @@ -1698,7 +1698,7 @@ public class PersistenceService extends AbstractTuttiService implements TuttiPer FishingOperation fishingOperation = context.getDataContext().getFishingOperation(); Integer fishingOperationId = fishingOperation.getIdAsInt(); - Optional<Zone> optionalZone = cruiseSamplingCache.tryFindZone(fishingOperation); + Zone optionalZone = cruiseSamplingCache.tryFindZone(fishingOperation).orElse(null); Set<Integer> batchIds = new LinkedHashSet<>(); if (addBatchId) { 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 ba219d5..86fa287 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 @@ -188,7 +188,7 @@ public class CruiseSamplingCache implements Closeable { * @param individualObservationBatch l'observation individuelle à ajouter au cache */ public void addIndividualObservation(int fishingOperationId, - Optional<Zone> optionalZone, + Zone optionalZone, IndividualObservationBatch individualObservationBatch) { Objects.requireNonNull(fishingOperationId); @@ -245,7 +245,7 @@ public class CruiseSamplingCache implements Closeable { Optional<Zone> optionalZone = tryFindZone(fishingOperation); - addIndividualObservation(fishingOperation.getIdAsInt(), optionalZone, species, gender, maturity, lengthStep); + addIndividualObservation(fishingOperation.getIdAsInt(), optionalZone.orElse(null), species, gender, maturity, lengthStep); } @@ -253,14 +253,14 @@ public class CruiseSamplingCache implements Closeable { * Ajout d'une observation dans le cache. * * @param fishingOperationId l'identifiant de l'opération de pêche concernée - * @param optionalZone la zone (facultative) de l'opération de pêche concernée + * @param zone la zone (facultative) de l'opération de pêche concernée * @param species l'espèces concernée * @param gender le sexe de l'échantillon (peut-être null) * @param maturity la maturité de l'échantillon (peut-être null) * @param lengthStep la classe de taille de l'échantillon (en mm) */ public void addIndividualObservation(int fishingOperationId, - Optional<Zone> optionalZone, + Zone zone, Species species, CaracteristicQualitativeValue gender, Boolean maturity, @@ -300,8 +300,8 @@ public class CruiseSamplingCache implements Closeable { int zoneValue = 0; int zoneSamplingNb = 0; - if (optionalZone.isPresent()) { - String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); + if (zone != null) { + String zoneKey = CruiseSamplingInternalCache.addPrefixKey(zone.getId(), samplingKey); zoneValue = zoneCache.incrementObservationNb(zoneKey); zoneSamplingNb = zoneCache.getSamplingNb(zoneKey); } @@ -314,7 +314,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, optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, zone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); if (!isLoading() && (totalValue == 1 || samplingInterval == 1 || totalValue % samplingInterval == 1)) { if (log.isInfoEnabled()) { @@ -350,14 +350,14 @@ public class CruiseSamplingCache implements Closeable { Optional<Zone> optionalZone = tryFindZone(fishingOperation); - addSampling(fishingOperation.getIdAsInt(), optionalZone, species, gender, maturity, lengthStep, samplingCode); + addSampling(fishingOperation.getIdAsInt(), optionalZone.orElse(null), species, gender, maturity, lengthStep, samplingCode); } /** * Ajout d'un prélèvement dans le cache. * * @param fishingOperationId l'identifiant de l'opération de pêche concernée - * @param optionalZone la zone (facultative) de l'opération de pêche concernée + * @param zone la zone (facultative) de l'opération de pêche concernée * @param species l'espèces concernée * @param gender le sexe de l'échantillon (peut-être null) * @param maturity la maturité de l'échantillon (peut-être null) @@ -365,7 +365,7 @@ public class CruiseSamplingCache implements Closeable { * @param samplingCode le code de prélèvement ajouté */ public void addSampling(int fishingOperationId, - Optional<Zone> optionalZone, + Zone zone, Species species, CaracteristicQualitativeValue gender, Boolean maturity, @@ -385,8 +385,8 @@ public class CruiseSamplingCache implements Closeable { int totalSamplingNb = totalCruiseCache.incrementSamplingNb(samplingKey); int zoneSamplingNb = 0; - if (optionalZone.isPresent()) { - String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); + if (zone != null) { + String zoneKey = CruiseSamplingInternalCache.addPrefixKey(zone.getId(), samplingKey); zoneSamplingNb = zoneCache.incrementSamplingNb(zoneKey); } String operationKey = CruiseSamplingInternalCache.addPrefixKey(fishingOperationId, samplingKey); @@ -398,7 +398,7 @@ public class CruiseSamplingCache implements Closeable { } if (cpsDefinitionOpt.isPresent()) { - SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinitionOpt.get(), optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinitionOpt.get(), zone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); fireSummaryUpdated(event); } @@ -409,15 +409,15 @@ public class CruiseSamplingCache implements Closeable { * Suppression d'un échantillon du cache. * * @param fishingOperationId l'identifiant de l'opération de pêche concernée - * @param optionalZone la zone (facultative) de l'opération de pêche concernée + * @param zone la zone (facultative) de l'opération de pêche concernée * @param individualObservationBatches les observations individuelles à supprimer du cache */ public void removeIndividualObservations(int fishingOperationId, - Optional<Zone> optionalZone, + Zone zone, Collection<IndividualObservationBatch> individualObservationBatches) { Objects.requireNonNull(fishingOperationId); - Objects.requireNonNull(optionalZone); + Objects.requireNonNull(zone); Objects.requireNonNull(individualObservationBatches); individualObservationBatches.forEach(individualObservationBatch -> { @@ -436,11 +436,11 @@ public class CruiseSamplingCache implements Closeable { String samplingCode = individualObservationBatch.getSamplingCode(); if (samplingCode != null) { - removeSampling(fishingOperationId, optionalZone, species, gender, maturity, lengthStepInMm, samplingCode); + removeSampling(fishingOperationId, zone, species, gender, maturity, lengthStepInMm, samplingCode); } - removeIndividualObservation(fishingOperationId, optionalZone, species, gender, maturity, lengthStepInMm); + removeIndividualObservation(fishingOperationId, zone, species, gender, maturity, lengthStepInMm); }); @@ -466,7 +466,7 @@ public class CruiseSamplingCache implements Closeable { Optional<Zone> optionalZone = tryFindZone(fishingOperation); - removeIndividualObservation(fishingOperation.getIdAsInt(), optionalZone, species, gender, maturity, lengthStep); + removeIndividualObservation(fishingOperation.getIdAsInt(), optionalZone.orElse(null), species, gender, maturity, lengthStep); } @@ -474,21 +474,20 @@ public class CruiseSamplingCache implements Closeable { * Suppression d'un échantillon du cache. * * @param fishingOperationId l'identifiant de l'opération de pêche concernée - * @param optionalZone la zone (facultative) de l'opération de pêche concernée + * @param zone la zone (facultative) de l'opération de pêche concernée * @param species l'espèces concernée * @param gender le sexe de l'échantillon (peut-être null) * @param maturity la maturité de l'échantillon (peut-être null) * @param lengthStep la classe de taille de l'échantillon (en mm) */ public void removeIndividualObservation(int fishingOperationId, - Optional<Zone> optionalZone, + Zone zone, Species species, CaracteristicQualitativeValue gender, Boolean maturity, int lengthStep) { Objects.requireNonNull(fishingOperationId); - Objects.requireNonNull(optionalZone); Objects.requireNonNull(species); Optional<CalcifiedPiecesSamplingDefinition> cpsDefinitionOpt = getCalcifiedPiecesSamplingDefinition(species, maturity, lengthStep); @@ -515,8 +514,8 @@ public class CruiseSamplingCache implements Closeable { int totalValue = totalCruiseCache.decrementObservationNb(samplingKey); int zoneValue = 0; - if (optionalZone.isPresent()) { - String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); + if (zone != null) { + String zoneKey = CruiseSamplingInternalCache.addPrefixKey(zone.getId(), samplingKey); zoneValue = zoneCache.decrementObservationNb(zoneKey); } String operationKey = CruiseSamplingInternalCache.addPrefixKey(fishingOperationId, samplingKey); @@ -553,14 +552,14 @@ public class CruiseSamplingCache implements Closeable { Optional<Zone> optionalZone = tryFindZone(fishingOperation); - removeSampling(fishingOperation.getIdAsInt(), optionalZone, species, gender, maturity, lengthStep, samplingCode); + removeSampling(fishingOperation.getIdAsInt(), optionalZone.orElse(null), species, gender, maturity, lengthStep, samplingCode); } /** * Suppression d'un prélèvement dans le cache. * * @param fishingOperationId l'identifiant de l'opération de pêche concernée - * @param optionalZone la zone (facultative) de l'opération de pêche concernée + * @param zone la zone (facultative) de l'opération de pêche concernée * @param species l'espèces concernée * @param gender le sexe de l'échantillon (peut-être null) * @param maturity la maturité de l'échantillon (peut-être null) @@ -568,7 +567,7 @@ public class CruiseSamplingCache implements Closeable { * @param samplingCode le code de prélèvement supprimé */ public void removeSampling(int fishingOperationId, - Optional<Zone> optionalZone, + Zone zone, Species species, CaracteristicQualitativeValue gender, Boolean maturity, @@ -588,8 +587,8 @@ public class CruiseSamplingCache implements Closeable { int totalSamplingNb = totalCruiseCache.decrementSamplingNb(samplingKey); int zoneSamplingNb = 0; - if (optionalZone.isPresent()) { - String zoneKey = CruiseSamplingInternalCache.addPrefixKey(optionalZone.get().getId(), samplingKey); + if (zone != null) { + String zoneKey = CruiseSamplingInternalCache.addPrefixKey(zone.getId(), samplingKey); zoneSamplingNb = zoneCache.decrementSamplingNb(zoneKey); } String operationKey = CruiseSamplingInternalCache.addPrefixKey(fishingOperationId, samplingKey); @@ -602,7 +601,7 @@ public class CruiseSamplingCache implements Closeable { if (cpsDefinitionOpt.isPresent()) { - SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinitionOpt.get(), optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + SamplingEvent event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinitionOpt.get(), zone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); fireSummaryUpdated(event); } @@ -710,7 +709,7 @@ public class CruiseSamplingCache implements Closeable { log.info("add Individual Observation " + samplingKey + " => op " + operationValue + " / zone " + zoneValue + " / cruise " + totalValue); } - event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, optionalZone, totalSamplingNb, zoneSamplingNb, operationSamplingNb); + event = new SamplingEvent(this, lengthStep, gender, maturity, cpsDefinition, optionalZone.orElse(null), totalSamplingNb, zoneSamplingNb, operationSamplingNb); } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCacheLoader.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCacheLoader.java index 6406a1a..c9a702e 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCacheLoader.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCacheLoader.java @@ -38,7 +38,6 @@ import org.nuiton.decorator.Decorator; import java.util.Collection; import java.util.List; -import java.util.Optional; import static org.nuiton.i18n.I18n.t; @@ -93,7 +92,7 @@ public class CruiseSamplingCacheLoader { List<IndividualObservationBatch> allIndividualObservationBatchsForFishingOperation = persistenceService.getAllIndividualObservationBatchsForFishingOperation(fishingOperationId); - Optional<Zone> optionalZone = cruiseSamplingCache.tryFindZone(fishingOperation); + Zone optionalZone = cruiseSamplingCache.tryFindZone(fishingOperation).orElse(null); allIndividualObservationBatchsForFishingOperation.stream().filter(obs -> obs.getSize() != null).forEach( individualObservationBatch -> cruiseSamplingCache.addIndividualObservation(fishingOperationId, optionalZone, individualObservationBatch)); @@ -122,7 +121,7 @@ public class CruiseSamplingCacheLoader { Integer fishingOperationId = fishingOperation.getIdAsInt(); - Optional<Zone> optionalZone = cruiseSamplingCache.tryFindZone(fishingOperation); + Zone optionalZone = cruiseSamplingCache.tryFindZone(fishingOperation).orElse(null); if (log.isInfoEnabled()) { log.info("Loading cruise sampling cache for fishing operation: " + fishingOperationId + " - " + cruiseSamplingCache); 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 bc4e570..79f204c 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 @@ -29,7 +29,6 @@ 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) @@ -45,7 +44,7 @@ public class SamplingEvent extends EventObject { protected final CalcifiedPiecesSamplingDefinition cpsDef; - protected final Optional<Zone> zone; + protected final Zone zone; protected final int nbSamplingForCruise; @@ -54,7 +53,7 @@ public class SamplingEvent extends EventObject { protected final int nbSamplingForOperation; public SamplingEvent(CruiseSamplingCache source, int lengthStep, CaracteristicQualitativeValue gender, Boolean maturity, - CalcifiedPiecesSamplingDefinition cpsDef, Optional<Zone> zone, int nbSamplingForCruise, int nbSamplingForZone, int nbSamplingForOperation) { + CalcifiedPiecesSamplingDefinition cpsDef, Zone zone, int nbSamplingForCruise, int nbSamplingForZone, int nbSamplingForOperation) { super(source); this.lengthStep = lengthStep; this.gender = gender; @@ -82,7 +81,7 @@ public class SamplingEvent extends EventObject { return cpsDef; } - public Optional<Zone> getZone() { + public Zone getZone() { return zone; } 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 d05bd2e..b1502cf 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 @@ -507,9 +507,9 @@ public class IndividualObservationUICache implements Closeable { key += " " + t("tutti.editSpeciesFrequencies.samplingNeeded.immature"); } } - if (event.getZone().isPresent()) { + if (event.getZone() != null) { Decorator<Zone> zoneDecorator = ui.getHandler().getDecorator(Zone.class, null); - String zone = zoneDecorator.toString(event.getZone().get()); + String zone = zoneDecorator.toString(event.getZone()); summary = t("tutti.editSpeciesFrequencies.samplingNeeded.summary", key, nbForOperationLabel, zone, nbForZoneLabel, nbForCruiseLabel); } else { summary = t("tutti.editSpeciesFrequencies.samplingNeeded.summary.noZone", key, nbForOperationLabel, nbForZoneLabel, nbForCruiseLabel); -- 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 feature/8228 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit b7e2fc78af4dc9412470fd7dde8f57201b212915 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 03:22:14 2016 +0200 Ne pas utiliser d'optional à tout bout de champ --- .../operation/catches/species/EditSpeciesBatchPanelUIHandler.java | 2 +- .../catches/species/frequency/SpeciesFrequencyUIHandler.java | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EditSpeciesBatchPanelUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EditSpeciesBatchPanelUIHandler.java index 2e98a91..6ffbe81 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EditSpeciesBatchPanelUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/EditSpeciesBatchPanelUIHandler.java @@ -116,7 +116,7 @@ public class EditSpeciesBatchPanelUIHandler extends AbstractTuttiUIHandler<EditS editBatchTitle, "", false); - frequencyEditor.getHandler().editBatch(editor, Optional.of(frequenciesTitle)); + frequencyEditor.getHandler().editBatch(editor, frequenciesTitle); // open frequency editor ui.switchToEditFrequency(); 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 c1b2c88..a51c3c6 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 @@ -855,7 +855,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci } - public void editBatch(FrequencyCellEditor editor, Optional<String> optionalTitle) { + public void editBatch(FrequencyCellEditor editor, String title) { SpeciesBatchRowModel speciesBatch = editor.getEditRow(); Objects.requireNonNull(speciesBatch, "Impossible d'éditer un lot non renseigné"); @@ -868,9 +868,8 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci maturityColumnId = Optional.empty(); } - if (optionalTitle.isPresent()) { + if (title != null) { - String title = optionalTitle.get(); frequenciesHistogramPopup.setTitle(title + t("tutti.editSpeciesFrequencies.title")); averageWeightsHistogramPopup.setTitle(title + weightUnit.decorateLabel(t("tutti.editSpeciesFrequencies.field.graphAverageWeight"))); -- 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 feature/8228 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 31626fad429660297ac14697db091aa3a3ee3a36 Author: Tony CHEMIT <chemit@codelutin.com> Date: Tue Apr 12 03:31:02 2016 +0200 Ne pas utiliser d'optional à tout bout de champ (maturityColumnId) + meilleure gestion generics --- .../frequency/SpeciesFrequencyUIHandler.java | 42 +++++++++++----------- .../util/table/CaracteristicColumnIdentifier.java | 4 +-- 2 files changed, 24 insertions(+), 22 deletions(-) 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 a51c3c6..0e4d39c 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 @@ -177,7 +177,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci protected PropertyChangeListener obsChangedListener; - protected Optional<CaracteristicColumnIdentifier<IndividualObservationBatchRowModel>> maturityColumnId = Optional.empty(); + protected CaracteristicColumnIdentifier<IndividualObservationBatchRowModel> maturityColumnId; protected SpeciesOrBenthosBatchUISupport speciesOrBenthosBatchUISupport; @@ -837,12 +837,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci parent.switchToEditBatch(); // on supprime la colonne maturité en fermant, pour avoir les même colonnes qu'à la création de l'écran (important pour la swing session) - if (maturityColumnId.isPresent()) { - TableColumnExt maturityColumn = ui.getObsTable().getColumnExt(maturityColumnId.get()); - ui.getObsTable().removeColumn(maturityColumn); - getObsTableModel().removeMaturityIdentifier(maturityColumnId.get()); - maturityColumnId = Optional.empty(); - } + removeMaturityColumnIfPresent(); TuttiUIContext context = getContext(); @@ -861,12 +856,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci Objects.requireNonNull(speciesBatch, "Impossible d'éditer un lot non renseigné"); // on enlève la colonne spécifique à l'espèce précédente - if (maturityColumnId.isPresent()) { - TableColumnExt maturityColumn = ui.getObsTable().getColumnExt(maturityColumnId.get()); - ui.getObsTable().removeColumn(maturityColumn); - getObsTableModel().removeMaturityIdentifier(maturityColumnId.get()); - maturityColumnId = Optional.empty(); - } + removeMaturityColumnIfPresent(); if (title != null) { @@ -1408,14 +1398,16 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci TableColumnModelExt columnModel = (TableColumnModelExt) obsTable.getColumnModel(); - maturityColumnId = Optional.of(addCaracteristicColumnToModel(obsTable, - columnModel, - caracteristicDecorator, - caracteristicTipDecorator, - caracteristicQualitativeDecorator, - caracteristic)); + maturityColumnId = addCaracteristicColumnToModel(obsTable, + columnModel, + caracteristicDecorator, + caracteristicTipDecorator, + caracteristicQualitativeDecorator, + caracteristic); + + Objects.requireNonNull(maturityColumnId); - getObsTableModel().addMaturityIdentifier(maturityColumnId.get()); + getObsTableModel().addMaturityIdentifier(maturityColumnId); // on cherche le bon index où insérer la colonne maturité (avant les autres caractéristiques, mais elle peut etre cachee) int modelIndex = columnModel.getColumnExt(IndividualObservationBatchTableModel.OTHER_CARACTERISTICS).getModelIndex(); @@ -1900,4 +1892,14 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci model.setCanDisplayNotifications(true); } } + + protected void removeMaturityColumnIfPresent() { + if (maturityColumnId != null) { + TableColumnExt maturityColumn = ui.getObsTable().getColumnExt(maturityColumnId); + ui.getObsTable().removeColumn(maturityColumn); + getObsTableModel().removeMaturityIdentifier(maturityColumnId); + maturityColumnId = null; + } + } + } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicColumnIdentifier.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicColumnIdentifier.java index 9b3c83e..e8e8150 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicColumnIdentifier.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/table/CaracteristicColumnIdentifier.java @@ -39,13 +39,13 @@ public class CaracteristicColumnIdentifier<R> extends ColumnIdentifier<R> { private static final long serialVersionUID = 1L; - public static <R> CaracteristicColumnIdentifier newCaracteristicId( + public static <R> CaracteristicColumnIdentifier<R> newCaracteristicId( Caracteristic caracteristic, String propertyName, String headerI18nKey, String headerTipI18nKey) { - return new CaracteristicColumnIdentifier<R>(caracteristic, propertyName, + return new CaracteristicColumnIdentifier<>(caracteristic, propertyName, headerI18nKey, headerTipI18nKey ); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm