This is an automated email from the git hooks/post-receive script. New commit to branch feature/8231 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 3fefd11c4904c44d8b78185151ae784f302a6be6 Author: Kevin Morin <morin@codelutin.com> Date: Mon Apr 11 11:47:20 2016 +0200 stockage de la caractéristique de maturité et de sexe sur le modèle (fixes #8231) --- .../frequency/IndividualObservationUICache.java | 10 ++++----- .../frequency/SpeciesFrequencyUIHandler.java | 24 ++++++++++---------- .../species/frequency/SpeciesFrequencyUIModel.java | 26 ++++++++++++++++++++++ 3 files changed, 42 insertions(+), 18 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 2c3942a..a9990f1 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 @@ -69,7 +69,6 @@ public class IndividualObservationUICache implements Closeable { private final SamplingListener samplingListener; private final Optional<CruiseSamplingCache> samplingCache; - private final Caracteristic sexCaracteristic; private final SpeciesFrequencyUIModel uiModel; private SpeciesBatchRowModel speciesEditRow; @@ -100,7 +99,6 @@ public class IndividualObservationUICache implements Closeable { this.samplingCache = samplingCache; this.uiModel = uiModel; - this.sexCaracteristic = sexCaracteristic; // Ecoute sur le modèle de l'ui pour savoir quand on peut activer le cache (i.e uand le modèle n'est pas en construction) this.uiModel.addPropertyChangeListener(SpeciesFrequencyUIModel.PROPERTY_INIT_BATCH_EDITION, new PropertyChangeListener() { @@ -212,7 +210,7 @@ public class IndividualObservationUICache implements Closeable { */ public void increments(IndividualObservationBatchRowModel row) { - incrementsObservationNb(row.getGender(sexCaracteristic), row.getMaturityState(), row.getSize(), Optional.ofNullable(row.getSamplingCode())); + incrementsObservationNb(row.getGender(uiModel.getSexCaracteristic()), row.getMaturityState(uiModel.getMaturityCaracteristic()), row.getSize(), Optional.ofNullable(row.getSamplingCode())); } @@ -300,7 +298,7 @@ public class IndividualObservationUICache implements Closeable { */ public void decrements(IndividualObservationBatchRowModel row) { - decrementsObservationNb(row.getGender(sexCaracteristic), row.getMaturityState(), row.getSize(), Optional.ofNullable(row.getSamplingCode())); + decrementsObservationNb(row.getGender(uiModel.getSexCaracteristic()), row.getMaturityState(uiModel.getMaturityCaracteristic()), row.getSize(), Optional.ofNullable(row.getSamplingCode())); } @@ -464,10 +462,10 @@ public class IndividualObservationUICache implements Closeable { IndividualObservationBatchRowModel selectedRow = optSelectedRow.get(); - Boolean maturity = samplingCache.get().getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), selectedRow.getMaturityState()); + Boolean maturity = samplingCache.get().getMaturity(uiModel.getBatch().getSpecies().getReferenceTaxonId(), selectedRow.getMaturityState(uiModel.getMaturityCaracteristic())); int lengthstep = uiModel.getLengthStepInMm(selectedRow.getSize()); - event = samplingCache.get().getEventForSummary(fishingOperation, species, maturity, selectedRow.getGender(sexCaracteristic), lengthstep); + event = samplingCache.get().getEventForSummary(fishingOperation, species, maturity, selectedRow.getGender(uiModel.getSexCaracteristic()), lengthstep); } else { event = Optional.empty(); 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 0ad49d2..e7d9b7a 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 @@ -161,8 +161,6 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci protected final JFrame averageWeightsHistogramPopup = new JFrame(); - protected Caracteristic sexCaracteristic; - /** * Weight unit. * @@ -220,8 +218,8 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci IndividualObservationBatchRowModel row = (IndividualObservationBatchRowModel) evt.getSource(); String propertyName = evt.getPropertyName(); - CaracteristicQualitativeValue gender = row.getGender(sexCaracteristic); - Optional<CaracteristicQualitativeValue> maturity = row.getMaturityState(); + CaracteristicQualitativeValue gender = row.getGender(getModel().getSexCaracteristic()); + Optional<CaracteristicQualitativeValue> maturity = row.getMaturityState(getModel().getMaturityCaracteristic()); switch (propertyName) { case IndividualObservationBatchRowModel.PROPERTY_SIZE: @@ -284,9 +282,9 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci log.info("caracteristics changed"); } - if (row.getMaturityCaracteristic().isPresent()) { - Optional<CaracteristicQualitativeValue> oldMaturity = Optional.ofNullable((CaracteristicQualitativeValue) oldValue.get(row.getMaturityCaracteristic().get())); - Optional<CaracteristicQualitativeValue> newMaturity = Optional.ofNullable((CaracteristicQualitativeValue) newValue.get(row.getMaturityCaracteristic().get())); + if (getModel().getMaturityCaracteristic().isPresent()) { + Optional<CaracteristicQualitativeValue> oldMaturity = Optional.ofNullable((CaracteristicQualitativeValue) oldValue.get(getModel().getMaturityCaracteristic().get())); + Optional<CaracteristicQualitativeValue> newMaturity = Optional.ofNullable((CaracteristicQualitativeValue) newValue.get(getModel().getMaturityCaracteristic().get())); if (log.isInfoEnabled()) { log.info("maturities : " + oldMaturity + " " + newMaturity); } @@ -296,8 +294,8 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci } } - CaracteristicQualitativeValue oldGender = (CaracteristicQualitativeValue) oldValue.get(sexCaracteristic); - CaracteristicQualitativeValue newGender = (CaracteristicQualitativeValue) newValue.get(sexCaracteristic); + CaracteristicQualitativeValue oldGender = (CaracteristicQualitativeValue) oldValue.get(getModel().getSexCaracteristic()); + CaracteristicQualitativeValue newGender = (CaracteristicQualitativeValue) newValue.get(getModel().getSexCaracteristic()); if (!Objects.equals(oldGender, newGender)) { individualObservationUICache.decrementsObservationNb(oldGender, maturity, row.getSize()); individualObservationUICache.incrementsObservationNb(newGender, maturity, row.getSize(), Optional.ofNullable(row.getSamplingCode())); @@ -472,7 +470,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci this.speciesOrBenthosBatchUISupport = ui.getContextValue(SpeciesOrBenthosBatchUISupport.class, ui.getSpeciesOrBenthosContext()); this.weightUnit = speciesOrBenthosBatchUISupport.getWeightUnit(); - this.sexCaracteristic = getPersistenceService().getSexCaracteristic(); + Caracteristic sexCaracteristic = getPersistenceService().getSexCaracteristic(); SampleCategoryModel sampleCategoryModel = getDataContext().getSampleCategoryModel(); @@ -488,6 +486,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci SpeciesFrequencyUIModel model = new SpeciesFrequencyUIModel(speciesOrBenthosBatchUISupport, getConfig().getIndividualObservationWeightUnit(), sampleCategoryModel, + sexCaracteristic, defaultCaracteristic); this.ui.setContextValue(model); @@ -904,7 +903,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci if (optSpeciesProtocol.isPresent()) { SpeciesProtocol speciesProtocol = optSpeciesProtocol.get(); Rtp rtp; - CaracteristicQualitativeValue sampleCategoryValue = (CaracteristicQualitativeValue) speciesBatch.getSampleCategoryValue(sexCaracteristic.getIdAsInt()); + CaracteristicQualitativeValue sampleCategoryValue = (CaracteristicQualitativeValue) speciesBatch.getSampleCategoryValue(getModel().getSexCaracteristic().getIdAsInt()); if (sampleCategoryValue != null) { @@ -1360,7 +1359,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci IndividualObservationBatchTableModel tableModel = new IndividualObservationBatchTableModel(individualObservationWeightUnit, defaultCaracteristic, - sexCaracteristic, + getModel().getSexCaracteristic(), columnModel); obsTable.setModel(tableModel); @@ -1445,6 +1444,7 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci } public void setMaturityCaracteristic(Optional<Caracteristic> maturityCaracteristic) { + getModel().setMaturityCaracteristic(maturityCaracteristic); getObsTableModel().setMaturityCaracteristic(maturityCaracteristic); if (maturityCaracteristic.isPresent()) { addMaturityCaracteristicColumnToModel(maturityCaracteristic.get()); 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 2b94081..896aa5e 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 @@ -48,6 +48,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; /** @@ -127,6 +128,8 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public static final String PROPERTY_NOT_EDITABLE_CARACTERISTIC = "notEditableCaracteristic"; + public static final String PROPERTY_MATURITY_CARACTERISTIC = "maturityCaracteristic"; + private final SpeciesOrBenthosBatchUISupport speciesOrBenthosBatchUISupport; /** @@ -326,6 +329,13 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa */ protected Collection<Caracteristic> notEditableCaracteristic; + protected final Caracteristic sexCaracteristic; + + /** + * Caracteristique de maturité du protocole + */ + protected Optional<Caracteristic> maturityCaracteristic; + protected final PropertyChangeListener rowInErrorChangedListener = new PropertyChangeListener() { @Override @@ -337,12 +347,14 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public SpeciesFrequencyUIModel(SpeciesOrBenthosBatchUISupport speciesOrBenthosBatchUISupport, WeightUnit individualObservationWeightUnit, SampleCategoryModel sampleCategoryModel, + Caracteristic sexCaracteristic, List<Caracteristic> defaultCaracteristic) { super(SpeciesBatchRowModel.class, null, null); this.speciesOrBenthosBatchUISupport = speciesOrBenthosBatchUISupport; this.weightUnit = speciesOrBenthosBatchUISupport.getWeightUnit(); this.individualObservationWeightUnit = individualObservationWeightUnit; this.sampleCategoryModel = sampleCategoryModel; + this.sexCaracteristic = sexCaracteristic; this.totalComputedOrNotWeight.addPropagateListener(PROPERTY_TOTAL_WEIGHT, this); setEmptyRows(new HashSet<>()); @@ -1055,6 +1067,20 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa firePropertyChange(PROPERTY_NOT_EDITABLE_CARACTERISTIC, oldValue, notEditableCaracteristic); } + public Caracteristic getSexCaracteristic() { + return sexCaracteristic; + } + + public Optional<Caracteristic> getMaturityCaracteristic() { + return maturityCaracteristic; + } + + public void setMaturityCaracteristic(Optional<Caracteristic> maturityCaracteristic) { + Object oldValue = getMaturityCaracteristic(); + this.maturityCaracteristic = maturityCaracteristic; + firePropertyChange(PROPERTY_MATURITY_CARACTERISTIC, oldValue, maturityCaracteristic); + } + protected final void recomputeRowValidState(SpeciesFrequencyRowModel row) { // recompute row valid state -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.