branch feature/8228 updated (3af1db2 -> b615d8b)
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 3af1db2 Ne pas utiliser d'optional à tout bout de champ (maturityColumnId) + meilleure gestion generics omits 8242c25 Ne pas utiliser d'optional à tout bout de champ omits 60197f1 Ne pas utiliser d'optional à tout bout de champ zone omits ced9132 Ne pas utiliser d'optional à tout bout de champ maturityQualitativeValue omits b0ce7fa Ne pas utiliser d'optional à tout bout de champ (IndividualObservationUICache#samplingCache) omits 266ae3f Ne pas tenir compte de l'algorithme si 1/n vaut 0 ou à sexer mais observation sans sexe (See #8228) adds e4156a9 Ajout étape lors du chargement de la saisie des captures adds aad91f9 Ne pas changer de ligne en appuyant sur Entrée dans le tableau des observations individuelles (See #8230) adds 0a3db77 Livrable #8230 Merge branch 'feature/8230' into develop new 9199b1e Ne pas tenir compte de l'algorithme si 1/n vaut 0 ou à sexer mais observation sans sexe (See #8228) new 7eed651 Ne pas utiliser d'optional à tout bout de champ (IndividualObservationUICache#samplingCache) new e3ed1d7 Ne pas utiliser d'optional à tout bout de champ maturityQualitativeValue new 0ce26f4 Ne pas utiliser d'optional à tout bout de champ zone new 826db36 Ne pas utiliser d'optional à tout bout de champ new b615d8b 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 (3af1db2) \ N -- N -- N refs/heads/feature/8228 (b615d8b) 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 b615d8bcc96174af297896298ec91d95252f4a0f 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 826db36ed254a318bb5c66b6e89e5d2cb64201a7 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 0ce26f4acd2f884150af41c97c2380388592bedd 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 e3ed1d74bfb213d8422a4a738fa5ea1fcfcc28e6 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 7eed651973d08640fbb7312058462546a6703468 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 9199b1ec8aacffdded055a0b409b02603e2ba1fb 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: .../content/actions/EditCatchesSupportAction.java | 8 +- .../frequency/SpeciesFrequencyUIHandler.java | 3 +- .../util/table/AbstractTuttiTableUIHandler.java | 109 ++++++++++++--------- 3 files changed, 71 insertions(+), 49 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8228 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 9199b1ec8aacffdded055a0b409b02603e2ba1fb 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 7eed651973d08640fbb7312058462546a6703468 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 0239e67..6a67689 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 @@ -520,7 +520,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 e3ed1d74bfb213d8422a4a738fa5ea1fcfcc28e6 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 6a67689..ec5bd7e 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 @@ -221,7 +221,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: { @@ -297,8 +297,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); } @@ -320,14 +320,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; @@ -436,7 +438,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 0ce26f4acd2f884150af41c97c2380388592bedd 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 826db36ed254a318bb5c66b6e89e5d2cb64201a7 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 ec5bd7e..08a0107 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 @@ -871,7 +871,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci context.removeVetoableChangeListener(TuttiUIContext.PROPERTY_SCREEN, changeScreenListener); } - 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é"); @@ -884,9 +884,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 b615d8bcc96174af297896298ec91d95252f4a0f 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 | 44 +++++++++++----------- .../util/table/CaracteristicColumnIdentifier.java | 4 +- 2 files changed, 25 insertions(+), 23 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 08a0107..c630fae 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 @@ -181,7 +181,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci protected VetoableChangeListener changeScreenListener; - protected Optional<CaracteristicColumnIdentifier<IndividualObservationBatchRowModel>> maturityColumnId = Optional.empty(); + protected CaracteristicColumnIdentifier<IndividualObservationBatchRowModel> maturityColumnId; protected SpeciesOrBenthosBatchUISupport speciesOrBenthosBatchUISupport; @@ -853,12 +853,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(); @@ -877,12 +872,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) { @@ -1426,14 +1416,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(); @@ -1464,7 +1456,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci String header = caracteristicDecorator.toString(caracteristic); String headerTip = caracteristicTipDecorator.toString(caracteristic); - CaracteristicColumnIdentifier id = CaracteristicColumnIdentifier.newCaracteristicId( + CaracteristicColumnIdentifier<IndividualObservationBatchRowModel> id = CaracteristicColumnIdentifier.newCaracteristicId( caracteristic, IndividualObservationBatchRowModel.PROPERTY_DEFAULT_CARACTERISTICS, header, @@ -1918,4 +1910,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