This is an automated email from the git hooks/post-receive script. New commit to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 5f9e52eb0d50d860afba559748c7fb4c3b1473b6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Thu Apr 21 20:37:34 2016 +0200 Introduction d'une requète sur le cache d'échantillons + amélioration du cache --- ...cesSamplingAlgorithmEntryNotFoundException.java | 6 +- .../service/sampling/CruiseSamplingCache.java | 342 +++++++-------------- .../IndividualObservationSamplingCacheRequest.java | 80 +++++ ...lObservationSamplingStatusExceptionSupport.java | 15 +- ...NotDefinedOnIndividualObservationException.java | 6 +- .../ZoneNotDefinedOnFishingOperationException.java | 6 +- 6 files changed, 206 insertions(+), 249 deletions(-) diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CalcifiedPiecesSamplingAlgorithmEntryNotFoundException.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CalcifiedPiecesSamplingAlgorithmEntryNotFoundException.java index b099a83..c071413 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CalcifiedPiecesSamplingAlgorithmEntryNotFoundException.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CalcifiedPiecesSamplingAlgorithmEntryNotFoundException.java @@ -1,7 +1,5 @@ package fr.ifremer.tutti.service.sampling; -import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; - /** * Quand l'algorithme de prélèvement de pièces calcifiés n'est pas trouvé pour une observation individuelle. * @@ -11,7 +9,7 @@ import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; */ public class CalcifiedPiecesSamplingAlgorithmEntryNotFoundException extends IndividualObservationSamplingStatusExceptionSupport { - public CalcifiedPiecesSamplingAlgorithmEntryNotFoundException(IndividualObservationBatch individualObservationBatch) { - super(individualObservationBatch); + public CalcifiedPiecesSamplingAlgorithmEntryNotFoundException(IndividualObservationSamplingCacheRequest samplingCacheRequest) { + super(samplingCacheRequest); } } 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 fcc89e3..06c3cf8 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 @@ -189,14 +189,7 @@ public class CruiseSamplingCache implements CruiseCacheAble { maturity, gender); - addIndividualObservation(individualObservationSamplingContext); - - String samplingCode = individualObservationBatch.getSamplingCode(); - if (samplingCode != null) { - - addSampling(individualObservationSamplingContext); - - } + addIndividualObservation(individualObservationSamplingContext, individualObservationBatch.getSamplingCode() != null); } @@ -259,15 +252,7 @@ public class CruiseSamplingCache implements CruiseCacheAble { maturity, gender); - String samplingCode = individualObservationBatch.getSamplingCode(); - if (samplingCode != null) { - - removeSampling(individualObservationSamplingContext); - - } - - - removeIndividualObservation(individualObservationSamplingContext); + removeIndividualObservation(individualObservationSamplingContext, individualObservationBatch.getSamplingCode() != null); } @@ -361,45 +346,45 @@ public class CruiseSamplingCache implements CruiseCacheAble { .toString(); } - public IndividualObservationSamplingStatus getIndividualObservationSamplingStatus(FishingOperation fishingOperation, - IndividualObservationBatch individualObservationBatch, - Integer lengthStep, - CaracteristicQualitativeValue gender, - CaracteristicQualitativeValue maturity) throws SizeNotDefinedOnIndividualObservationException, ZoneNotDefinedOnFishingOperationException, CalcifiedPiecesSamplingAlgorithmEntryNotFoundException { + public IndividualObservationSamplingStatus getIndividualObservationSamplingStatus(IndividualObservationSamplingCacheRequest request) throws SizeNotDefinedOnIndividualObservationException, ZoneNotDefinedOnFishingOperationException, CalcifiedPiecesSamplingAlgorithmEntryNotFoundException { - Objects.requireNonNull(fishingOperation); - Objects.requireNonNull(individualObservationBatch); + Objects.requireNonNull(request); - Species species = individualObservationBatch.getSpecies(); + Species species = request.getSpecies(); Objects.requireNonNull(species); + Integer lengthStep = request.getLengthClass(); if (lengthStep == null) { - throw new SizeNotDefinedOnIndividualObservationException(individualObservationBatch); + throw new SizeNotDefinedOnIndividualObservationException(request); } + FishingOperation fishingOperation = request.getFishingOperation(); + Objects.requireNonNull(fishingOperation); + Optional<Zone> optionalZone = tryFindZone(fishingOperation); if (!optionalZone.isPresent()) { - throw new ZoneNotDefinedOnFishingOperationException(individualObservationBatch); + throw new ZoneNotDefinedOnFishingOperationException(request); } - Boolean maturityAsBoolean = getMaturity(individualObservationBatch, maturity); + CaracteristicQualitativeValue gender = request.getGender(); + Boolean maturity = getMaturity(request); Optional<CalcifiedPiecesSamplingDefinition> optionalCalcifiedPiecesSamplingDefinition = - tryToFindCalcifiedPiecesSamplingDefinition(species, maturityAsBoolean, lengthStep, gender); + tryToFindCalcifiedPiecesSamplingDefinition(species, lengthStep, maturity, gender); if (!optionalCalcifiedPiecesSamplingDefinition.isPresent()) { - throw new CalcifiedPiecesSamplingAlgorithmEntryNotFoundException(individualObservationBatch); + throw new CalcifiedPiecesSamplingAlgorithmEntryNotFoundException(request); } IndividualObservationSamplingContext context = createContext(fishingOperation.getIdAsInt(), - individualObservationBatch.getSpecies(), + species, optionalZone.get(), optionalCalcifiedPiecesSamplingDefinition.get(), lengthStep, - maturityAsBoolean, + maturity, gender); String cruiseSamplingKey = context.getCruiseSamplingKey(); @@ -412,7 +397,7 @@ public class CruiseSamplingCache implements CruiseCacheAble { CruiseSamplingInternalCache.SamplingData fishingOperationSamplingData = fishingOperationCache.getSamplingData(fishingOperationSamplingKey); boolean needSampling; - if (individualObservationBatch.getSamplingCode() != null) { + if (request.withSamplingCode()) { needSampling = false; } else { int samplingInterval = context.getCalcifiedPiecesSamplingDefinition().getSamplingInterval(); @@ -423,207 +408,52 @@ public class CruiseSamplingCache implements CruiseCacheAble { return new IndividualObservationSamplingStatus(context, needSampling, cruiseSamplingData, zoneSamplingData, fishingOperationSamplingData); } - /** - * Ajout d'un observation dans le cache. - * - * @param fishingOperation 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(FishingOperation fishingOperation, - Species species, - CaracteristicQualitativeValue gender, - Boolean maturity, - int lengthStep) { - - Objects.requireNonNull(fishingOperation); - Objects.requireNonNull(species); - - Optional<Zone> optionalZone = tryFindZone(fishingOperation); - if (!optionalZone.isPresent()) { + public void addIndividualObservation(IndividualObservationSamplingCacheRequest request) { - if (log.isInfoEnabled()) { - log.info("Do not add individual observation in cache, fishing operation has no matching zone."); - } - return; - } + IndividualObservationSamplingContext individualObservationSamplingContext = getIndividualObservationSamplingContext(request); - Optional<CalcifiedPiecesSamplingDefinition> optionalCalcifiedPiecesSamplingDefinition = - tryToFindCalcifiedPiecesSamplingDefinition(species, maturity, lengthStep, gender); + if (individualObservationSamplingContext != null) { - if (!optionalCalcifiedPiecesSamplingDefinition.isPresent()) { + addIndividualObservation(individualObservationSamplingContext, request.withSamplingCode()); - if (log.isInfoEnabled()) { - log.info("Do not add individual observation in cache, no definition matched."); - } - return; } - IndividualObservationSamplingContext individualObservationSamplingContext = - createContext(fishingOperation.getIdAsInt(), - species, - optionalZone.get(), - optionalCalcifiedPiecesSamplingDefinition.get(), - lengthStep, - maturity, - gender); - - addIndividualObservation(individualObservationSamplingContext); - } - /** - * Suppression d'un échantillon du cache. - * - * @param fishingOperation 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(FishingOperation fishingOperation, - Species species, - CaracteristicQualitativeValue gender, - Boolean maturity, - int lengthStep) { - - Objects.requireNonNull(fishingOperation); - Objects.requireNonNull(species); - - Optional<Zone> optionalZone = tryFindZone(fishingOperation); - if (!optionalZone.isPresent()) { + public void removeIndividualObservation(IndividualObservationSamplingCacheRequest request) { - if (log.isInfoEnabled()) { - log.info("Do not remove individual observation from cache, fishing operation has no matching zone."); - } - return; - } + IndividualObservationSamplingContext individualObservationSamplingContext = getIndividualObservationSamplingContext(request); - Optional<CalcifiedPiecesSamplingDefinition> optionalCalcifiedPiecesSamplingDefinition = - tryToFindCalcifiedPiecesSamplingDefinition(species, maturity, lengthStep, gender); + if (individualObservationSamplingContext != null) { - if (!optionalCalcifiedPiecesSamplingDefinition.isPresent()) { + removeIndividualObservation(individualObservationSamplingContext, request.withSamplingCode()); - if (log.isInfoEnabled()) { - log.info("Do not remove individual observation from cache, no definition matched."); - } - return; } - IndividualObservationSamplingContext individualObservationSamplingContext = - createContext(fishingOperation.getIdAsInt(), - species, - optionalZone.get(), - optionalCalcifiedPiecesSamplingDefinition.get(), - lengthStep, - maturity, - gender); - - removeIndividualObservation(individualObservationSamplingContext); - } - /** - * Ajout d'un prélèvement dans le cache. - * - * @param fishingOperation 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 addSampling(FishingOperation fishingOperation, - Species species, - CaracteristicQualitativeValue gender, - Boolean maturity, - int lengthStep) { - - Objects.requireNonNull(fishingOperation); - Objects.requireNonNull(species); - - Optional<Zone> optionalZone = tryFindZone(fishingOperation); - if (!optionalZone.isPresent()) { + public void addSampling(IndividualObservationSamplingCacheRequest request) { - if (log.isInfoEnabled()) { - log.info("Do not record sampling in cache, fishing operation has no matching zone."); - } - return; - } + IndividualObservationSamplingContext individualObservationSamplingContext = getIndividualObservationSamplingContext(request); - Optional<CalcifiedPiecesSamplingDefinition> optionalCalcifiedPiecesSamplingDefinition = - tryToFindCalcifiedPiecesSamplingDefinition(species, maturity, lengthStep, gender); + if (individualObservationSamplingContext != null) { - if (!optionalCalcifiedPiecesSamplingDefinition.isPresent()) { + addSampling(individualObservationSamplingContext); - if (log.isInfoEnabled()) { - log.info("Do not record sampling in cache, no definition matched."); - } - return; } - IndividualObservationSamplingContext individualObservationSamplingContext = - createContext(fishingOperation.getIdAsInt(), - species, - optionalZone.get(), - optionalCalcifiedPiecesSamplingDefinition.get(), - lengthStep, - maturity, - gender); - - addSampling(individualObservationSamplingContext); - } - /** - * Suppression d'un prélèvement dans le cache. - * - * @param fishingOperation 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 removeSampling(FishingOperation fishingOperation, - Species species, - CaracteristicQualitativeValue gender, - Boolean maturity, - int lengthStep) { - - Objects.requireNonNull(fishingOperation); - Objects.requireNonNull(species); + public void removeSampling(IndividualObservationSamplingCacheRequest request) { - Optional<Zone> optionalZone = tryFindZone(fishingOperation); - if (!optionalZone.isPresent()) { - - if (log.isInfoEnabled()) { - log.info("Do not remove sampling from cache, fishing operation has no matching zone."); - } - return; - } + IndividualObservationSamplingContext individualObservationSamplingContext = getIndividualObservationSamplingContext(request); - Optional<CalcifiedPiecesSamplingDefinition> optionalCalcifiedPiecesSamplingDefinition = tryToFindCalcifiedPiecesSamplingDefinition(species, maturity, lengthStep, gender); + if (individualObservationSamplingContext != null) { - if (!optionalCalcifiedPiecesSamplingDefinition.isPresent()) { + removeSampling(individualObservationSamplingContext); - if (log.isInfoEnabled()) { - log.info("Do not remove sampling from cache, no definition matched."); - } - return; } - IndividualObservationSamplingContext individualObservationSamplingContext = - createContext(fishingOperation.getIdAsInt(), - species, - optionalZone.get(), - optionalCalcifiedPiecesSamplingDefinition.get(), - lengthStep, - maturity, - gender); - - removeSampling(individualObservationSamplingContext); - } public boolean isZoneChanged(FishingOperation operation1, FishingOperation operation2) { @@ -634,19 +464,10 @@ public class CruiseSamplingCache implements CruiseCacheAble { } - public Boolean getMaturity(int speciesId, CaracteristicQualitativeValue maturityQualitativeValue) { - Boolean maturity = null; - Caracteristic maturityCaracteristic = maturityCaracteristicBySpecies.get(speciesId); - if (maturityCaracteristic != null && maturityQualitativeValue != null) { - maturity = matureStatesByMaturityCracteristic.containsEntry(maturityCaracteristic.getId(), maturityQualitativeValue.getId()); - } - return maturity; - } - public List<CacheExtractedKey> getSamplingNumbers(Map<String, Species> speciesById) { List<CacheExtractedKey> result = cruiseCache.getSamplingNumbers(speciesById, sexQualitativeValues); result.forEach(key -> { - Optional<CalcifiedPiecesSamplingDefinition> cpsDef = tryToFindCalcifiedPiecesSamplingDefinition(key.getSpecies(), key.getMaturity(), key.getLengthStep(), key.getSex()); + Optional<CalcifiedPiecesSamplingDefinition> cpsDef = tryToFindCalcifiedPiecesSamplingDefinition(key.getSpecies(), key.getLengthStep(), key.getMaturity(), key.getSex()); if (cpsDef.isPresent()) { key.setMaxByLengthStep(cpsDef.get().getMaxByLenghtStep()); } @@ -677,27 +498,28 @@ public class CruiseSamplingCache implements CruiseCacheAble { .stream() .filter(zone -> locationIdsPerZone.containsEntry(zone, locationId)) .findFirst(); + } - private Boolean getMaturity(IndividualObservationBatch individualObservationBatch) { + private Boolean getMaturity(IndividualObservationSamplingCacheRequest samplingCacheRequest) { Boolean maturity = null; - Caracteristic maturityCaracteristic = maturityCaracteristicBySpecies.get(individualObservationBatch.getSpecies().getReferenceTaxonId()); - // if a maturity caracteristic is defined in the protocol for this species - if (maturityCaracteristic != null) { - CaracteristicQualitativeValue qualitativeValue = individualObservationBatch.getCaracteristics().getQualitativeValue(maturityCaracteristic); - // it the maturity is set - if (qualitativeValue != null) { - maturity = matureStatesByMaturityCracteristic.containsEntry(maturityCaracteristic.getId(), qualitativeValue.getId()); + if (samplingCacheRequest.withMaturity()) { + Caracteristic maturityCaracteristic = maturityCaracteristicBySpecies.get(samplingCacheRequest.getSpecies().getReferenceTaxonId()); + if (maturityCaracteristic != null) { + CaracteristicQualitativeValue maturityQualitativeValue = samplingCacheRequest.getMaturity(); + maturity = matureStatesByMaturityCracteristic.containsEntry(maturityCaracteristic.getId(), maturityQualitativeValue.getId()); } } + return maturity; } - private Boolean getMaturity(IndividualObservationBatch individualObservationBatch, CaracteristicQualitativeValue qualitativeValue) { + private Boolean getMaturity(IndividualObservationBatch individualObservationBatch) { Boolean maturity = null; Caracteristic maturityCaracteristic = maturityCaracteristicBySpecies.get(individualObservationBatch.getSpecies().getReferenceTaxonId()); // if a maturity caracteristic is defined in the protocol for this species if (maturityCaracteristic != null) { + CaracteristicQualitativeValue qualitativeValue = individualObservationBatch.getCaracteristics().getQualitativeValue(maturityCaracteristic); // it the maturity is set if (qualitativeValue != null) { maturity = matureStatesByMaturityCracteristic.containsEntry(maturityCaracteristic.getId(), qualitativeValue.getId()); @@ -721,7 +543,7 @@ public class CruiseSamplingCache implements CruiseCacheAble { return CruiseSamplingInternalCache.addPrefixKey(fishingOperationId, cruiseSamplingKey); } - private void addIndividualObservation(IndividualObservationSamplingContext individualObservationSamplingContext) { + private void addIndividualObservation(IndividualObservationSamplingContext individualObservationSamplingContext, boolean addSampling) { Objects.requireNonNull(individualObservationSamplingContext); @@ -744,9 +566,15 @@ public class CruiseSamplingCache implements CruiseCacheAble { fishingOperationSamplingData)); } + if (addSampling) { + + addSampling(individualObservationSamplingContext); + + } + } - private void removeIndividualObservation(IndividualObservationSamplingContext individualObservationSamplingContext) { + private void removeIndividualObservation(IndividualObservationSamplingContext individualObservationSamplingContext, boolean removeSampling) { Objects.requireNonNull(individualObservationSamplingContext); @@ -769,6 +597,12 @@ public class CruiseSamplingCache implements CruiseCacheAble { fishingOperationSamplingData)); } + if (removeSampling) { + + removeSampling(individualObservationSamplingContext); + + } + } private void addSampling(IndividualObservationSamplingContext individualObservationSamplingContext) { @@ -821,6 +655,52 @@ public class CruiseSamplingCache implements CruiseCacheAble { } + private IndividualObservationSamplingContext getIndividualObservationSamplingContext(IndividualObservationSamplingCacheRequest request) { + + Objects.requireNonNull(request); + + FishingOperation fishingOperation = request.getFishingOperation(); + Objects.requireNonNull(fishingOperation); + + Optional<Zone> optionalZone = tryFindZone(fishingOperation); + if (!optionalZone.isPresent()) { + + if (log.isInfoEnabled()) { + log.info("Do not record sampling in cache, fishing operation has no matching zone."); + } + return null; + } + + Integer lengthStep = request.getLengthClass(); + Objects.requireNonNull(lengthStep); + + Species species = request.getSpecies(); + Objects.requireNonNull(species); + + Boolean maturity = getMaturity(request); + CaracteristicQualitativeValue gender = request.getGender(); + + Optional<CalcifiedPiecesSamplingDefinition> optionalCalcifiedPiecesSamplingDefinition = + tryToFindCalcifiedPiecesSamplingDefinition(species, lengthStep, maturity, gender); + + if (!optionalCalcifiedPiecesSamplingDefinition.isPresent()) { + + if (log.isInfoEnabled()) { + log.info("Do not record sampling in cache, no definition matched."); + } + return null; + } + + return createContext(fishingOperation.getIdAsInt(), + species, + optionalZone.get(), + optionalCalcifiedPiecesSamplingDefinition.get(), + lengthStep, + maturity, + gender); + + } + private IndividualObservationSamplingContext createContext(int fishingOperationId, Species species, Zone zone, @@ -866,7 +746,7 @@ public class CruiseSamplingCache implements CruiseCacheAble { CaracteristicQualitativeValue gender = individualObservationBatch.getCaracteristics().getQualitativeValue(sexCaracteristic); - result = tryToFindCalcifiedPiecesSamplingDefinition(species, maturity, lengthStepInMm, gender); + result = tryToFindCalcifiedPiecesSamplingDefinition(species, lengthStepInMm, maturity, gender); } @@ -874,7 +754,10 @@ public class CruiseSamplingCache implements CruiseCacheAble { } - private Optional<CalcifiedPiecesSamplingDefinition> tryToFindCalcifiedPiecesSamplingDefinition(Species species, Boolean maturity, int lengthStep, CaracteristicQualitativeValue gender) { + private Optional<CalcifiedPiecesSamplingDefinition> tryToFindCalcifiedPiecesSamplingDefinition(Species species, + int lengthStep, + Boolean maturity, + CaracteristicQualitativeValue gender) { Collection<CalcifiedPiecesSamplingDefinition> cpsDefinitions = cpsDefinitionsBySpecies.get(species.getReferenceTaxonId()); @@ -950,11 +833,12 @@ public class CruiseSamplingCache implements CruiseCacheAble { .add(fishingOperationSamplingKey.length()) .build() .max() - .getAsInt(); + .orElseGet(() -> 0); + return prefix + "\n[cruise " + (String.format("%1$" + maxSize + "s", cruiseSamplingKey).replaceAll(" ", ".")) + "] → " + cruiseSamplingData + "\n[zone " + (String.format("%1$" + maxSize + "s", zoneSamplingKey).replaceAll(" ", ".")) + "] → " + zoneSamplingData - + "\n[fishing operation " + (String.format("%1$" + maxSize + "s", fishingOperationSamplingKey).replaceAll(" ", ".")) + "] → " + fishingOperationSamplingData; + + "\n[fishing operation" + (String.format("%1$" + maxSize + "s", fishingOperationSamplingKey).replaceAll(" ", ".")) + "] → " + fishingOperationSamplingData; } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingCacheRequest.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingCacheRequest.java new file mode 100644 index 0000000..3e528b7 --- /dev/null +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingCacheRequest.java @@ -0,0 +1,80 @@ +package fr.ifremer.tutti.service.sampling; + +import fr.ifremer.tutti.persistence.entities.data.FishingOperation; +import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; +import fr.ifremer.tutti.persistence.entities.referential.Species; + +import java.util.Objects; + +/** + * Définit une requète sur le cache des échantillons. + * + * Created on 20/04/16. + * + * @author Tony Chemit - chemit@codelutin.com + * @since 4.5 + */ +public class IndividualObservationSamplingCacheRequest { + + private final FishingOperation fishingOperation; + private final Species species; + private final Integer lengthClass; + private final CaracteristicQualitativeValue maturity; + private final CaracteristicQualitativeValue gender; + private final String samplingCode; + + public IndividualObservationSamplingCacheRequest(FishingOperation fishingOperation, + Species species, + Integer lengthClass, + CaracteristicQualitativeValue maturity, + CaracteristicQualitativeValue gender, + String samplingCode) { + this.fishingOperation = fishingOperation; + Objects.requireNonNull(species); + this.species = species; + this.lengthClass = lengthClass; + this.maturity = maturity; + this.gender = gender; + this.samplingCode = samplingCode; + } + + public FishingOperation getFishingOperation() { + return fishingOperation; + } + + public Species getSpecies() { + return species; + } + + public Integer getLengthClass() { + return lengthClass; + } + + public CaracteristicQualitativeValue getMaturity() { + return maturity; + } + + public CaracteristicQualitativeValue getGender() { + return gender; + } + + public String getSamplingCode() { + return samplingCode; + } + + public boolean withMaturity() { + return maturity != null; + } + + public boolean withGender() { + return gender != null; + } + + public boolean withLengthClass() { + return lengthClass != null; + } + + public boolean withSamplingCode() { + return samplingCode != null; + } +} diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingStatusExceptionSupport.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingStatusExceptionSupport.java index 7bfc5db..0a769e0 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingStatusExceptionSupport.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/IndividualObservationSamplingStatusExceptionSupport.java @@ -1,7 +1,6 @@ package fr.ifremer.tutti.service.sampling; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; -import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; import java.util.Objects; @@ -12,18 +11,18 @@ import java.util.Objects; */ public abstract class IndividualObservationSamplingStatusExceptionSupport extends Exception { - private final IndividualObservationBatch individualObservationBatch; + private final IndividualObservationSamplingCacheRequest samplingCacheRequest; - public IndividualObservationSamplingStatusExceptionSupport(IndividualObservationBatch individualObservationBatch) { - Objects.requireNonNull(individualObservationBatch); - this.individualObservationBatch = individualObservationBatch; + public IndividualObservationSamplingStatusExceptionSupport(IndividualObservationSamplingCacheRequest samplingCacheRequest) { + Objects.requireNonNull(samplingCacheRequest); + this.samplingCacheRequest = samplingCacheRequest; } - public IndividualObservationBatch getIndividualObservationBatch() { - return individualObservationBatch; + public IndividualObservationSamplingCacheRequest getSamplingCacheRequest() { + return samplingCacheRequest; } public FishingOperation getFishingOperation() { - return individualObservationBatch.getFishingOperation(); + return samplingCacheRequest.getFishingOperation(); } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SizeNotDefinedOnIndividualObservationException.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SizeNotDefinedOnIndividualObservationException.java index 8a5ac44..208788a 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SizeNotDefinedOnIndividualObservationException.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SizeNotDefinedOnIndividualObservationException.java @@ -1,7 +1,5 @@ package fr.ifremer.tutti.service.sampling; -import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; - /** * Quand la taille n'est pas définie sur l'observation individuelle. * @@ -11,7 +9,7 @@ import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; */ public class SizeNotDefinedOnIndividualObservationException extends IndividualObservationSamplingStatusExceptionSupport { - public SizeNotDefinedOnIndividualObservationException(IndividualObservationBatch individualObservationBatch) { - super(individualObservationBatch); + public SizeNotDefinedOnIndividualObservationException(IndividualObservationSamplingCacheRequest samplingCacheRequest) { + super(samplingCacheRequest); } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/ZoneNotDefinedOnFishingOperationException.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/ZoneNotDefinedOnFishingOperationException.java index 8a0cdb1..e2330b3 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/ZoneNotDefinedOnFishingOperationException.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/ZoneNotDefinedOnFishingOperationException.java @@ -1,7 +1,5 @@ package fr.ifremer.tutti.service.sampling; -import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; - /** * Quand la zone n'est pas définie sur l'opération de pêche de l'observation individuelle. * @@ -11,7 +9,7 @@ import fr.ifremer.tutti.persistence.entities.data.IndividualObservationBatch; */ public class ZoneNotDefinedOnFishingOperationException extends IndividualObservationSamplingStatusExceptionSupport { - public ZoneNotDefinedOnFishingOperationException(IndividualObservationBatch individualObservationBatch) { - super(individualObservationBatch); + public ZoneNotDefinedOnFishingOperationException(IndividualObservationSamplingCacheRequest samplingCacheRequest) { + super(samplingCacheRequest); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.