branch develop updated (d43093c -> 667a7fc)
This is an automated email from the git hooks/post-receive script. New change to branch develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git from d43093c Livrable #8276 Merge branch 'feature/8276' into develop new 9fdc931 Amélioration du chargement d'un trait new 5f39136 On valide aussi les observations en recopie taille seulement (see #8237) new 5a62813 Amélioration code new 19c1e50 Amélioration du code d'interaction des modèles, mais il resterait tellement à revoire :) (See #8237) new 667a7fc Livrable #8237 Merge branch 'feature/8237' into develop The 5 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 667a7fc746bf1ace38c86bfa02aa915e5dc6d3ee Merge: d43093c 19c1e50 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:18:29 2016 +0200 Livrable #8237 Merge branch 'feature/8237' into develop commit 19c1e50226b3b75ed81798f70b8c55504a78142a Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:18:27 2016 +0200 Amélioration du code d'interaction des modèles, mais il resterait tellement à revoire :) (See #8237) commit 5a628130f5e81de342e45f8699d56d9cad28672a Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:16:17 2016 +0200 Amélioration code commit 5f391369a150ed3df9bdfb84dc670894531620b6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:14:17 2016 +0200 On valide aussi les observations en recopie taille seulement (see #8237) commit 9fdc931c65314cca5e81716b866c872ceed86728 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:13:46 2016 +0200 Amélioration du chargement d'un trait Summary of changes: .../content/actions/EditCatchesSupportAction.java | 3 +- .../IndividualObservationBatchTableHandler.java | 123 +++++++++++---------- .../IndividualObservationBatchUIModel.java | 49 ++++++-- .../frequency/SpeciesFrequencyTableModel.java | 25 +++++ .../frequency/SpeciesFrequencyUIHandler.java | 7 +- .../species/frequency/SpeciesFrequencyUIModel.java | 49 ++++---- .../SpeciesFrequencyUIModel-error-validation.xml | 2 +- 7 files changed, 162 insertions(+), 96 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 develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 9fdc931c65314cca5e81716b866c872ceed86728 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:13:46 2016 +0200 Amélioration du chargement d'un trait --- .../tutti/ui/swing/content/actions/EditCatchesSupportAction.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/EditCatchesSupportAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/EditCatchesSupportAction.java index fef7a92..5b49395 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/EditCatchesSupportAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/actions/EditCatchesSupportAction.java @@ -107,8 +107,9 @@ public abstract class EditCatchesSupportAction extends AbstractChangeScreenActio if (totalSteps > 1) { ProgressionModel progressionModel = new ProgressionModel(); - progressionModel.setTotal(totalSteps); + progressionModel.setTotal(1); setProgressionModel(progressionModel); + progressionModel.adaptTotal(totalSteps); } } -- 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 develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 5f391369a150ed3df9bdfb84dc670894531620b6 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:14:17 2016 +0200 On valide aussi les observations en recopie taille seulement (see #8237) --- .../species/frequency/SpeciesFrequencyUIModel-error-validation.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel-error-validation.xml b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel-error-validation.xml index bb235c4..46b391e 100644 --- a/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel-error-validation.xml +++ b/tutti-ui-swing/src/main/resources/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUIModel-error-validation.xml @@ -80,7 +80,7 @@ <field name="nonEmptyIndividualObservationRowsInError"> <field-validator type="fieldexpression" short-circuit="true"> <param name="expression"> - <![CDATA[ !isCopyIndividualObservationAll() || !isNonEmptyIndividualObservationRowsInError() ]]> + <![CDATA[ !mustCopyIndividualObservationSize() || !isNonEmptyIndividualObservationRowsInError() ]]> </param> <message>tutti.validator.error.speciesFrequency.individualObservationsWithoutWeights</message> </field-validator> -- 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 develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 5a628130f5e81de342e45f8699d56d9cad28672a Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:16:17 2016 +0200 Amélioration code --- .../catches/species/frequency/SpeciesFrequencyUIHandler.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 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 f546738..77822e6 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 @@ -539,9 +539,10 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci }); model.addPropertyChangeListener(SpeciesFrequencyUIModel.PROPERTY_COPY_RTP_WEIGHTS, evt -> { - getModel().getRows().forEach(row -> getModel().computeRowWeightWithRtp(row)); - getModel().reloadRows(); - getTableModel().fireTableDataChanged(); + SpeciesFrequencyUIModel source = (SpeciesFrequencyUIModel) evt.getSource(); + source.getRows().forEach(source::computeRowWeightWithRtp); + source.reloadRows(); + source.getFrequencyTableModel().fireTableDataChanged(); }); // si le tableau des observations est en erreur, on recalcule si il existe une ligne non vide en erreur -- 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 develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 19c1e50226b3b75ed81798f70b8c55504a78142a Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:18:27 2016 +0200 Amélioration du code d'interaction des modèles, mais il resterait tellement à revoire :) (See #8237) --- .../IndividualObservationBatchTableHandler.java | 123 +++++++++++---------- .../IndividualObservationBatchUIModel.java | 49 ++++++-- .../frequency/SpeciesFrequencyTableModel.java | 25 +++++ .../species/frequency/SpeciesFrequencyUIModel.java | 49 ++++---- 4 files changed, 155 insertions(+), 91 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchTableHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchTableHandler.java index 17f1169..a442060 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchTableHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchTableHandler.java @@ -198,6 +198,7 @@ public class IndividualObservationBatchTableHandler implements Closeable { onSamplingRowChanged(source, oldState, newState); onRowChangedForFrequencies(source, oldState, newState); + individualObservationsModel.recomputeRowValidState(source); model.recomputeCanEditLengthStep(); model.setModify(true); @@ -207,25 +208,29 @@ public class IndividualObservationBatchTableHandler implements Closeable { this.individualObservationRowWeightChangedListener = event -> { IndividualObservationBatchRowModel source = (IndividualObservationBatchRowModel) event.getSource(); - if (!source.withSize()) { - return; - } + if (source.withSize()) { - Float oldWeight = (Float) event.getOldValue(); - Float size = source.getSize(); + Float oldWeight = (Float) event.getOldValue(); + Float size = source.getSize(); - CaracteristicQualitativeValue maturity = individualObservationsModel.getMaturityValue(source); - CaracteristicQualitativeValue gender = individualObservationsModel.getGender(source); + CaracteristicQualitativeValue maturity = individualObservationsModel.getMaturityValue(source); + CaracteristicQualitativeValue gender = individualObservationsModel.getGender(source); - String samplingCode = source.getSamplingCode(); + String samplingCode = source.getSamplingCode(); - boolean oldValid = source.computeValid(size != null, oldWeight != null); - boolean newValid = source.computeValid(); + boolean oldValid = source.computeValid(size != null, oldWeight != null); + boolean newValid = source.computeValid(); - IndividualObservationBatchRowState oldState = new IndividualObservationBatchRowState(size, oldWeight, maturity, gender, samplingCode, oldValid); - IndividualObservationBatchRowState newState = new IndividualObservationBatchRowState(size, source.getWeight(), maturity, gender, samplingCode, newValid); - onSamplingRowChanged(source, oldState, newState); - onRowChangedForFrequencies(source, oldState, newState); + IndividualObservationBatchRowState oldState = new IndividualObservationBatchRowState(size, oldWeight, maturity, gender, samplingCode, oldValid); + IndividualObservationBatchRowState newState = new IndividualObservationBatchRowState(size, source.getWeight(), maturity, gender, samplingCode, newValid); + onSamplingRowChanged(source, oldState, newState); + onRowChangedForFrequencies(source, oldState, newState); + + } else { + + individualObservationsModel.recomputeRowValidState(source); + + } model.recomputeCanEditLengthStep(); model.setModify(true); @@ -236,22 +241,26 @@ public class IndividualObservationBatchTableHandler implements Closeable { this.individualObservationRowSamplingCodeChangedListener = event -> { IndividualObservationBatchRowModel source = (IndividualObservationBatchRowModel) event.getSource(); - if (!source.withSize()) { - return; - } + if (source.withSize()) { - String oldSamplingCode = (String) event.getOldValue(); + String oldSamplingCode = (String) event.getOldValue(); - Float size = source.getSize(); - Float weight = source.getWeight(); - CaracteristicQualitativeValue maturity = individualObservationsModel.getMaturityValue(source); - CaracteristicQualitativeValue gender = individualObservationsModel.getGender(source); + Float size = source.getSize(); + Float weight = source.getWeight(); + CaracteristicQualitativeValue maturity = individualObservationsModel.getMaturityValue(source); + CaracteristicQualitativeValue gender = individualObservationsModel.getGender(source); - boolean validState = source.computeValid(); + boolean validState = source.computeValid(); - IndividualObservationBatchRowState oldState = new IndividualObservationBatchRowState(size, weight, maturity, gender, oldSamplingCode, validState); - IndividualObservationBatchRowState newState = new IndividualObservationBatchRowState(size, weight, maturity, gender, source.getSamplingCode(), validState); - onSamplingRowChanged(source, oldState, newState); + IndividualObservationBatchRowState oldState = new IndividualObservationBatchRowState(size, weight, maturity, gender, oldSamplingCode, validState); + IndividualObservationBatchRowState newState = new IndividualObservationBatchRowState(size, weight, maturity, gender, source.getSamplingCode(), validState); + onSamplingRowChanged(source, oldState, newState); + + } else { + + individualObservationsModel.recomputeRowValidState(source); + + } model.setModify(true); @@ -261,53 +270,56 @@ public class IndividualObservationBatchTableHandler implements Closeable { this.individualObservationRowCaracteristicsChangedListener = event -> { IndividualObservationBatchRowModel source = (IndividualObservationBatchRowModel) event.getSource(); + if (source.withSize()) { - if (!source.withSize()) { - return; - } + CaracteristicMap oldCaracteristicMap = (CaracteristicMap) event.getOldValue(); - CaracteristicMap oldCaracteristicMap = (CaracteristicMap) event.getOldValue(); + CaracteristicQualitativeValue oldGender = individualObservationsModel.getGender(oldCaracteristicMap); + CaracteristicQualitativeValue newGender = individualObservationsModel.getGender(source); - CaracteristicQualitativeValue oldGender = individualObservationsModel.getGender(oldCaracteristicMap); - CaracteristicQualitativeValue newGender = individualObservationsModel.getGender(source); + if (!Objects.equals(oldGender, newGender)) { - if (!Objects.equals(oldGender, newGender)) { + // Le sexe a changé - // Le sexe a changé + Float size = source.getSize(); + Float weight = source.getWeight(); + CaracteristicQualitativeValue maturity = individualObservationsModel.getMaturityValue(source); + String samplingCode = source.getSamplingCode(); - Float size = source.getSize(); - Float weight = source.getWeight(); - CaracteristicQualitativeValue maturity = individualObservationsModel.getMaturityValue(source); - String samplingCode = source.getSamplingCode(); + boolean validState = source.computeValid(); - boolean validState = source.computeValid(); + IndividualObservationBatchRowState oldState = new IndividualObservationBatchRowState(size, weight, maturity, oldGender, samplingCode, validState); + IndividualObservationBatchRowState newState = new IndividualObservationBatchRowState(size, weight, maturity, newGender, samplingCode, validState); + onSamplingRowChanged(source, oldState, newState); - IndividualObservationBatchRowState oldState = new IndividualObservationBatchRowState(size, weight, maturity, oldGender, samplingCode, validState); - IndividualObservationBatchRowState newState = new IndividualObservationBatchRowState(size, weight, maturity, newGender, samplingCode, validState); - onSamplingRowChanged(source, oldState, newState); + } else if (individualObservationsModel.withMaturityCaracteristic()) { - } else if (individualObservationsModel.withMaturityCaracteristic()) { + CaracteristicQualitativeValue oldMaturity = individualObservationsModel.getMaturityValue(oldCaracteristicMap); + CaracteristicQualitativeValue newMaturity = individualObservationsModel.getMaturityValue(source); - CaracteristicQualitativeValue oldMaturity = individualObservationsModel.getMaturityValue(oldCaracteristicMap); - CaracteristicQualitativeValue newMaturity = individualObservationsModel.getMaturityValue(source); + if (!Objects.equals(oldMaturity, newMaturity)) { - if (!Objects.equals(oldMaturity, newMaturity)) { + // La maturité a changée - // La maturité a changée + Float size = source.getSize(); + Float weight = source.getWeight(); + CaracteristicQualitativeValue gender = individualObservationsModel.getGender(source); + String samplingCode = source.getSamplingCode(); - Float size = source.getSize(); - Float weight = source.getWeight(); - CaracteristicQualitativeValue gender = individualObservationsModel.getGender(source); - String samplingCode = source.getSamplingCode(); + boolean validState = source.computeValid(); - boolean validState = source.computeValid(); + IndividualObservationBatchRowState oldState = new IndividualObservationBatchRowState(size, weight, oldMaturity, gender, samplingCode, validState); + IndividualObservationBatchRowState newState = new IndividualObservationBatchRowState(size, weight, newMaturity, gender, samplingCode, validState); + onSamplingRowChanged(source, oldState, newState); - IndividualObservationBatchRowState oldState = new IndividualObservationBatchRowState(size, weight, oldMaturity, gender, samplingCode, validState); - IndividualObservationBatchRowState newState = new IndividualObservationBatchRowState(size, weight, newMaturity, gender, samplingCode, validState); - onSamplingRowChanged(source, oldState, newState); + } } + } else { + + individualObservationsModel.recomputeRowValidState(source); + } model.setModify(true); @@ -492,7 +504,6 @@ public class IndividualObservationBatchTableHandler implements Closeable { // Recalcul des mensurations à partir des observations individuelles frequencyTableModel.reloadRowsFromIndividualObservations(); - frequencyTableModel.fireTableDataChanged(); individualObservationTableModel.fireTableDataChanged(); }); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchUIModel.java index 6ae66a2..f1eba2b 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/IndividualObservationBatchUIModel.java @@ -29,7 +29,6 @@ import fr.ifremer.tutti.persistence.entities.data.CopyIndividualObservationMode; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.CaracteristicQualitativeValue; import fr.ifremer.tutti.service.sampling.SamplingCodePrefix; -import fr.ifremer.tutti.type.WeightUnit; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.edit.SpeciesBatchRowModel; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel; import org.apache.commons.logging.Log; @@ -57,9 +56,25 @@ public class IndividualObservationBatchUIModel extends AbstractTuttiTableUIModel public static final String PROPERTY_NOT_EDITABLE_CARACTERISTIC = "notEditableCaracteristic"; - private final WeightUnit individualObservationWeightUnit; - + /** + * Global screen model. + * + * @since 4.5 + */ private final SpeciesFrequencyUIModel parentModel; + + /** + * Samping notification model. + * + * @since 4.5 + */ + private final SamplingNotificationZoneModel samplingNotificationZoneModel; + + /** + * Sexe caracteristic. + * + * @since 4.5 + */ private final Caracteristic sexCaracteristic; /** @@ -88,7 +103,11 @@ public class IndividualObservationBatchUIModel extends AbstractTuttiTableUIModel */ protected SamplingCodePrefix samplingCodePrefix; - private final SamplingNotificationZoneModel samplingNotificationZoneModel; + /** + * Table model. + * + * @since 4.5 + */ private IndividualObservationBatchTableModel individualObservationTableModel; @Override @@ -98,12 +117,10 @@ public class IndividualObservationBatchUIModel extends AbstractTuttiTableUIModel public IndividualObservationBatchUIModel(SpeciesFrequencyUIModel parentModel, Caracteristic sexCaracteristic, - WeightUnit individualObservationWeightUnit, List<Caracteristic> defaultCaracteristic) { super(SpeciesBatchRowModel.class, null, null); this.parentModel = parentModel; this.sexCaracteristic = sexCaracteristic; - this.individualObservationWeightUnit = individualObservationWeightUnit; this.defaultCaracteristic = defaultCaracteristic == null ? new ArrayList<>() : new ArrayList<>(defaultCaracteristic); this.samplingNotificationZoneModel = new SamplingNotificationZoneModel(); } @@ -216,7 +233,21 @@ public class IndividualObservationBatchUIModel extends AbstractTuttiTableUIModel log.info("Revalidate all individual observation rows"); } - rows.forEach(this::recomputeRowValidState); + rowsInError.clear(); + + rows.forEach(row -> { + // recompute row valid state + boolean valid = row.computeValid(); + + // apply it to row + row.setValid(valid); + if (!valid) { + rowsInError.add(row); + } + + }); + + firePropertyChange(PROPERTY_ROWS_IN_ERROR, null, rowsInError); } @@ -294,8 +325,10 @@ public class IndividualObservationBatchUIModel extends AbstractTuttiTableUIModel rowsInError.clear(); individualObservationTableModel.clear(); + firePropertyChange(PROPERTY_ROWS_IN_ERROR, null, rowsInError); + recomputeCanEditLengthStep(); - recomputeRowsValidateState(); +// recomputeRowsValidateState(); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java index 1aeb3d3..f241916 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyTableModel.java @@ -223,6 +223,29 @@ public class SpeciesFrequencyTableModel extends AbstractApplicationTableModel<Sp } + public boolean recomputeCanEditLengthStep() { + boolean result = true; + if (rows != null) { + for (SpeciesFrequencyRowModel row : rows) { + + if (row.isEmpty()) { + // la ligne est vide + continue; + } + if (row.getLengthStep() == null || row.getNumber() == null) { + // la ligne n'est pas complete + continue; + } + + // une ligne non vide et complete a ete trouvee + // on ne peut plus editer + result = false; + break; + } + } + return result; + } + public void decrementNumberForLengthStep(Float lengthStep) { SpeciesFrequencyRowModel row = modelCache.getRowCache().get(lengthStep); @@ -503,6 +526,8 @@ public class SpeciesFrequencyTableModel extends AbstractApplicationTableModel<Sp uiModel.reloadRows(); + fireTableDataChanged(); + } 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 1617359..93e738e 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 @@ -278,7 +278,6 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa private final boolean protocolFilled; private final boolean protocolUseCalcifiedPieceSampling; - private boolean speciesDefinedInCalcifiedPiecesSampling; public SpeciesFrequencyUIModel(SpeciesOrBenthosBatchUISupport speciesOrBenthosBatchUISupport, WeightUnit individualObservationWeightUnit, @@ -303,7 +302,7 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa this.frequenciesConfigurationMode = FrequencyConfigurationMode.AUTO_GEN; setEmptyRows(new HashSet<>()); - this.individualObservationModel = new IndividualObservationBatchUIModel(this, sexCaracteristic, individualObservationWeightUnit, defaultCaracteristic); + this.individualObservationModel = new IndividualObservationBatchUIModel(this, sexCaracteristic, defaultCaracteristic); this.averageWeightsHistogramModel = new AverageWeightsHistogramModel(weightUnit); this.frequenciesHistogramModel = new FrequenciesHistogramModel(); @@ -776,26 +775,7 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public void recomputeCanEditLengthStep() { - boolean result = true; - - if (rows != null) { - for (SpeciesFrequencyRowModel row : rows) { - - if (row.isEmpty()) { - // la ligne est vide - continue; - } - if (row.getLengthStep() == null || row.getNumber() == null) { - // la ligne n'est pas complete - continue; - } - - // une ligne non vide et complete a ete trouvee - // on ne peut plus editer - result = false; - break; - } - } + boolean result = frequencyTableModel.recomputeCanEditLengthStep(); if (result) { result = individualObservationModel.recomputeCanEditLengthStep(); @@ -834,10 +814,24 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public void recomputeRowsValidateState() { if (log.isInfoEnabled()) { - log.info("Revalidate all rows"); + log.info("Revalidate all frequency rows"); } - rows.forEach(this::recomputeRowValidState); + rowsInError.clear(); + + rows.forEach(row -> { + // recompute row valid state + boolean valid = isRowValid(row); + + // apply it to row + row.setValid(valid); + if (!valid) { + rowsInError.add(row); + } + + }); + + firePropertyChange(PROPERTY_ROWS_IN_ERROR, null, rowsInError); } @@ -878,17 +872,18 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa // Ne pas supprimer utiliser par la validation public void setNonEmptyIndividualObservationRowsInError(boolean nonEmptyIndividualObservationRowsInError) { - boolean oldValue = this.nonEmptyIndividualObservationRowsInError; + boolean oldValue = isNonEmptyIndividualObservationRowsInError(); this.nonEmptyIndividualObservationRowsInError = nonEmptyIndividualObservationRowsInError; firePropertyChanged(PROPERTY_NON_EMPTY_INDIVIDUAL_OBSERVATION_ROWS_IN_ERROR, oldValue, nonEmptyIndividualObservationRowsInError); } public void clear() { - rowsInError.clear(); frequencyTableModel.clear(); recomputeCanEditLengthStep(); - recomputeRowsValidateState(); + + rowsInError.clear(); + firePropertyChange(PROPERTY_ROWS_IN_ERROR, null, rowsInError); } -- 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 develop in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit 667a7fc746bf1ace38c86bfa02aa915e5dc6d3ee Merge: d43093c 19c1e50 Author: Tony CHEMIT <chemit@codelutin.com> Date: Mon Apr 25 20:18:29 2016 +0200 Livrable #8237 Merge branch 'feature/8237' into develop .../content/actions/EditCatchesSupportAction.java | 3 +- .../IndividualObservationBatchTableHandler.java | 123 +++++++++++---------- .../IndividualObservationBatchUIModel.java | 49 ++++++-- .../frequency/SpeciesFrequencyTableModel.java | 25 +++++ .../frequency/SpeciesFrequencyUIHandler.java | 7 +- .../species/frequency/SpeciesFrequencyUIModel.java | 49 ++++---- .../SpeciesFrequencyUIModel-error-validation.xml | 2 +- 7 files changed, 162 insertions(+), 96 deletions(-) -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm