branch feature/8192 updated (cdbec1d -> dadc607)
This is an automated email from the git hooks/post-receive script. New change to branch feature/8192 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git omits cdbec1d utilisation d'un objet pour gérer le code de prélèvement (fixes #8192) omits 3752234 suppression du separateur de la conf, sinon on ne peut pas récupérer les ids des précédents code si le séparateur change (enfin on pourrait mais c'est plus compliqué) (refs #8192) adds 9ed3662 correction du redimensionnement (fixes #8162) adds 17ba06f livrable #8162 Merge branch 'feature/8162' into develop adds 379048b correction de la conversion gramme -> unité de la conf (fixes #8189) adds eacf9aa Amélioration javadoc adds 3051429 Ajout d'une nouvelle méthode de conversion qui semble fonctionner adds 563c3b6 Amélioration de la méthode de convertion adds 68fe8e2 Merge branch 'feature/8189' into 'develop' new bfbdf45 suppression du separateur de la conf, sinon on ne peut pas récupérer les ids des précédents code si le séparateur change (enfin on pourrait mais c'est plus compliqué) (refs #8192) new dadc607 utilisation d'un objet pour gérer le code de prélèvement (fixes #8192) 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 (cdbec1d) \ N -- N -- N refs/heads/feature/8192 (dadc607) 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 2 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 dadc607c255379fa76f8460ab9cff0c9a0eff926 Author: Kevin Morin <morin@codelutin.com> Date: Fri Mar 25 12:35:53 2016 +0100 utilisation d'un objet pour gérer le code de prélèvement (fixes #8192) commit bfbdf45e088e4da4af34ce513afa5eb1436e431a Author: Kevin Morin <morin@codelutin.com> Date: Fri Mar 25 12:30:28 2016 +0100 suppression du separateur de la conf, sinon on ne peut pas récupérer les ids des précédents code si le séparateur change (enfin on pourrait mais c'est plus compliqué) (refs #8192) Summary of changes: .../java/fr/ifremer/tutti/type/WeightUnit.java | 6 -- .../main/java/fr/ifremer/tutti/util/Weights.java | 68 ++++++++++++++++++---- .../frequency/SpeciesFrequencyTableModel.java | 9 +-- .../species/frequency/SpeciesFrequencyUI.jaxx | 20 ++++--- .../frequency/SpeciesFrequencyUIHandler.java | 10 +++- .../species/frequency/SpeciesFrequencyUIModel.java | 7 ++- .../tutti/ui/swing/util/WideDataComboBoxUI.java | 49 ++++++++++++++++ 7 files changed, 136 insertions(+), 33 deletions(-) create mode 100644 tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/util/WideDataComboBoxUI.java -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
This is an automated email from the git hooks/post-receive script. New commit to branch feature/8192 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit bfbdf45e088e4da4af34ce513afa5eb1436e431a Author: Kevin Morin <morin@codelutin.com> Date: Fri Mar 25 12:30:28 2016 +0100 suppression du separateur de la conf, sinon on ne peut pas récupérer les ids des précédents code si le séparateur change (enfin on pourrait mais c'est plus compliqué) (refs #8192) --- .../src/main/java/fr/ifremer/tutti/TuttiConfiguration.java | 4 ---- .../src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java | 8 -------- .../tutti/ui/swing/content/config/TuttiConfigUIHandler.java | 3 --- 3 files changed, 15 deletions(-) diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java index 2b153a8..45bea6e 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfiguration.java @@ -681,10 +681,6 @@ public class TuttiConfiguration extends ApplicationConfiguration { return applicationConfig.getOption(TuttiConfigurationOption.SAMPLING_CODE_PREFIX.getKey()); } - public String getSamplingCodeSeparator() { - return applicationConfig.getOption(TuttiConfigurationOption.SAMPLING_CODE_SEPARATOR.getKey()); - } - public KeyStroke getShortCut(String actionName) { return applicationConfig.getOptionAsKeyStroke( "tutti.ui." + actionName); diff --git a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java index fc64d5d..e989798 100644 --- a/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java +++ b/tutti-persistence/src/main/java/fr/ifremer/tutti/TuttiConfigurationOption.java @@ -632,14 +632,6 @@ public enum TuttiConfigurationOption implements ConfigOptionDef { false ), - SAMPLING_CODE_SEPARATOR( - "tutti.ui.max.sampligCodeSeparator", - n("tutti.config.option.ui.sampligCodeSeparator.description"), - "#", - String.class, - false - ), - FULL_BLUETOOTH_SCAN( "tutti.ichtyometer.fullBluetoothScan", n("tutti.config.option.ichtyometer.fullBluetoothScan.description"), diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java index 859cb40..d60cb57 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/config/TuttiConfigUIHandler.java @@ -122,9 +122,6 @@ public class TuttiConfigUIHandler extends AbstractTuttiUIHandler<TuttiUIContext, .addOption(TuttiConfigurationOption.SAMPLING_CODE_PREFIX) .setOptionShortLabel(t("tutti.config.option.ui.samplingCodePrefix.shortLabel")) - .addOption(TuttiConfigurationOption.SAMPLING_CODE_SEPARATOR) - .setOptionShortLabel(t("tutti.config.option.ui.samplingCodeSeparator.shortLabel")) - .addOption(TuttiConfigurationOption.SHOW_BATCH_LOG) .setOptionShortLabel(t("tutti.config.option.ui.showBatchLog.shortLabel")) -- 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/8192 in repository tutti. See https://gitlab.nuiton.org/codelutin/tutti.git commit dadc607c255379fa76f8460ab9cff0c9a0eff926 Author: Kevin Morin <morin@codelutin.com> Date: Fri Mar 25 12:35:53 2016 +0100 utilisation d'un objet pour gérer le code de prélèvement (fixes #8192) --- .../ifremer/tutti/service/PersistenceService.java | 4 +- .../fr/ifremer/tutti/service/TuttiDataContext.java | 4 +- .../CruiseSamplingCache.java | 9 ++-- .../CruiseSamplingCacheLoader.java | 2 +- .../CruiseSamplingInternalCache.java | 2 +- .../tutti/service/sampling/SamplingCodePrefix.java | 54 ++++++++++++++++++++++ .../{samplingCache => sampling}/SamplingEvent.java | 2 +- .../SamplingListener.java | 2 +- .../content/actions/EditCatchesSupportAction.java | 2 +- .../IndividualObservationBatchRowModel.java | 43 ++--------------- .../IndividualObservationBatchTableModel.java | 22 ++++++--- .../SampleCodeEditionPopupUI.jaxx | 4 +- .../SampleCodeEditionPopupUI.jcss | 2 +- .../SampleCodeEditionPopupUIHandler.java | 3 +- .../SampleCodeEditionPopupUIModel.java | 7 +-- .../SamplingCodeCellEditor.java | 4 +- .../frequency/IndividualObservationUICache.java | 6 +-- .../frequency/SpeciesFrequencyUIHandler.java | 11 +++-- .../frequency/actions/DeleteSampleCodeAction.java | 2 +- .../frequency/actions/EditSampleCodeAction.java | 6 ++- 20 files changed, 114 insertions(+), 77 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 4e060a4..439a17b 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 @@ -69,8 +69,8 @@ import fr.ifremer.tutti.persistence.entities.referential.Vessels; import fr.ifremer.tutti.persistence.model.ProgramDataModel; import fr.ifremer.tutti.persistence.service.TuttiPersistenceServiceLocator; import fr.ifremer.tutti.persistence.service.UpdateSchemaContextSupport; -import fr.ifremer.tutti.service.samplingCache.CruiseSamplingCache; -import fr.ifremer.tutti.service.samplingCache.CruiseSamplingCacheLoader; +import fr.ifremer.tutti.service.sampling.CruiseSamplingCache; +import fr.ifremer.tutti.service.sampling.CruiseSamplingCacheLoader; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.io.IOUtils; import org.apache.commons.logging.Log; diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java index 182c64f..58e748b 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/TuttiDataContext.java @@ -40,8 +40,8 @@ import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.persistence.entities.referential.TaxonCache; import fr.ifremer.tutti.persistence.entities.referential.TaxonCaches; import fr.ifremer.tutti.persistence.entities.referential.Vessel; -import fr.ifremer.tutti.service.samplingCache.CruiseSamplingCache; -import fr.ifremer.tutti.service.samplingCache.CruiseSamplingCacheLoader; +import fr.ifremer.tutti.service.sampling.CruiseSamplingCache; +import fr.ifremer.tutti.service.sampling.CruiseSamplingCacheLoader; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCache.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java similarity index 98% rename from tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCache.java rename to tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java index 296f9c0..756e667 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCache.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCache.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.service.samplingCache; +package fr.ifremer.tutti.service.sampling; /* * #%L @@ -205,11 +205,10 @@ public class CruiseSamplingCache implements Closeable { String samplingCode = individualObservationBatch.getSamplingCode(); if (samplingCode != null) { - String[] codeParts = samplingCode.split("#"); - Integer code = Integer.parseInt(codeParts[codeParts.length - 1]); + int code = SamplingCodePrefix.extractSamplingCodeIdFromSamplingCode(samplingCode); - Integer highestSmaplingCode = highestSamplingCodeBySpecies.get(species.getReferenceTaxonId()); - if (highestSmaplingCode == null || code > highestSmaplingCode) { + Integer highestSamplingCode = highestSamplingCodeBySpecies.get(species.getReferenceTaxonId()); + if (highestSamplingCode == null || code > highestSamplingCode) { highestSamplingCodeBySpecies.put(species.getReferenceTaxonId(), code); } } diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCacheLoader.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCacheLoader.java similarity index 99% rename from tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCacheLoader.java rename to tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCacheLoader.java index 3390f4a..c2bec12 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingCacheLoader.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingCacheLoader.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.service.samplingCache; +package fr.ifremer.tutti.service.sampling; /* * #%L diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingInternalCache.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingInternalCache.java similarity index 99% rename from tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingInternalCache.java rename to tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingInternalCache.java index 858c3cf..b4ae130 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/CruiseSamplingInternalCache.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/CruiseSamplingInternalCache.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.service.samplingCache; +package fr.ifremer.tutti.service.sampling; /* * #%L diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingCodePrefix.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingCodePrefix.java new file mode 100644 index 0000000..87cd003 --- /dev/null +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingCodePrefix.java @@ -0,0 +1,54 @@ +package fr.ifremer.tutti.service.sampling; + +import java.util.Objects; + +/** + * @author Kevin Morin (Code Lutin) + * @since 4.5 + */ +public class SamplingCodePrefix { + + public static final String SEPARATOR = "#"; + protected final String prefix; + protected final String species; + + public SamplingCodePrefix(String prefix, String species) { + this.prefix = prefix; + this.species = species; + } + + public SamplingCodePrefix(String samplingCode) { + String[] codeParts = samplingCode.split(SEPARATOR); + prefix = codeParts[0]; + species = codeParts[1]; + } + + public String getPrefix() { + return prefix; + } + + public String getSpecies() { + return species; + } + + @Override + public String toString() { + return prefix + SEPARATOR + species + SEPARATOR; + } + + public String toSamplingCode(int samplingCodeId) { + return toString() + samplingCodeId; + } + + /** + * Extrait l'id du code (le nombre à la fin) + * @param samplingCode + * @return + */ + public static int extractSamplingCodeIdFromSamplingCode(String samplingCode) { + Objects.requireNonNull(samplingCode); + String[] codeParts = samplingCode.split(SEPARATOR); + return Integer.parseInt(codeParts[codeParts.length - 1]); + } + +} diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/SamplingEvent.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingEvent.java similarity index 98% rename from tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/SamplingEvent.java rename to tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingEvent.java index d8847e1..834060b 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/SamplingEvent.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingEvent.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.service.samplingCache; +package fr.ifremer.tutti.service.sampling; /* * #%L diff --git a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/SamplingListener.java b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingListener.java similarity index 95% rename from tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/SamplingListener.java rename to tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingListener.java index f1b3219..8f14783 100644 --- a/tutti-service/src/main/java/fr/ifremer/tutti/service/samplingCache/SamplingListener.java +++ b/tutti-service/src/main/java/fr/ifremer/tutti/service/sampling/SamplingListener.java @@ -1,4 +1,4 @@ -package fr.ifremer.tutti.service.samplingCache; +package fr.ifremer.tutti.service.sampling; /* * #%L 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 b4a230d..48cc937 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 @@ -27,7 +27,7 @@ import fr.ifremer.tutti.persistence.ProgressionModel; import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.service.TuttiDataContext; import fr.ifremer.tutti.service.ValidationService; -import fr.ifremer.tutti.service.samplingCache.CruiseSamplingCacheLoader; +import fr.ifremer.tutti.service.sampling.CruiseSamplingCacheLoader; import fr.ifremer.tutti.ui.swing.TuttiScreen; import fr.ifremer.tutti.ui.swing.content.MainUIHandler; import fr.ifremer.tutti.ui.swing.content.operation.EditFishingOperationUI; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java index 4f608c3..b57a3ed 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/IndividualObservationBatchRowModel.java @@ -34,6 +34,7 @@ import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; 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.sampling.SamplingCodePrefix; import fr.ifremer.tutti.type.WeightUnit; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiBeanUIModel; import fr.ifremer.tutti.ui.swing.util.attachment.AttachmentModelAware; @@ -103,12 +104,7 @@ public class IndividualObservationBatchRowModel extends AbstractTuttiBeanUIModel /** * @since 4.5 */ - protected Integer samplingCodeId; - - /** - * @since 4.5 - */ - protected String samplingCodePrefix; + protected SamplingCodePrefix samplingCodePrefix; protected static final Binder<IndividualObservationBatch, IndividualObservationBatchRowModel> fromBeanBinder = BinderFactory.newBinder(IndividualObservationBatch.class, @@ -384,43 +380,18 @@ public class IndividualObservationBatchRowModel extends AbstractTuttiBeanUIModel Object oldValue = getSamplingCode(); editObject.setSamplingCode(samplingCode); firePropertyChange(PROPERTY_SAMPLING_CODE, oldValue, samplingCode); - extractSamplingCodeIdFromSamplingCode(); - } - - protected void setSamplingCode() { - if (withSamplingCodeId()) { - setSamplingCode(samplingCodePrefix + samplingCodeId); - } else { - setSamplingCode(null); - } } public Integer getSamplingCodeId() { - return samplingCodeId; + return SamplingCodePrefix.extractSamplingCodeIdFromSamplingCode(getSamplingCode()); } - public void setSamplingCodeId(Integer samplingCodeId) { - Object oldValue = getSamplingCodeId(); - this.samplingCodeId = samplingCodeId; - firePropertyChange(PROPERTY_SAMPLING_CODE_ID, oldValue, samplingCodeId); - setSamplingCode(); - } - - public String getSamplingCodePrefix() { + public SamplingCodePrefix getSamplingCodePrefix() { return samplingCodePrefix; } - public void setSamplingCodePrefix(String samplingCodePrefix) { - Object oldValue = getSamplingCodePrefix(); + public void setSamplingCodePrefix(SamplingCodePrefix samplingCodePrefix) { this.samplingCodePrefix = samplingCodePrefix; - firePropertyChange(PROPERTY_SAMPLING_CODE_PREFIX, oldValue, samplingCodePrefix); - setSamplingCode(); - } - - public void extractSamplingCodeIdFromSamplingCode() { - if (withSamplingCode() && withSamplingCodePrefix() && !withSamplingCodeId()) { - setSamplingCodeId(Integer.valueOf(getSamplingCode().replace(samplingCodePrefix, ""))); - } } public boolean withSamplingCode() { @@ -431,10 +402,6 @@ public class IndividualObservationBatchRowModel extends AbstractTuttiBeanUIModel return samplingCodePrefix != null; } - public boolean withSamplingCodeId() { - return samplingCodeId != null; - } - //------------------------------------------------------------------------// //-- AttachmentModelAware --// //------------------------------------------------------------------------// 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 e1930d0..5c18896 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 @@ -25,6 +25,7 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservatio import fr.ifremer.tutti.persistence.entities.CaracteristicMap; import fr.ifremer.tutti.persistence.entities.referential.Caracteristic; import fr.ifremer.tutti.persistence.entities.referential.Species; +import fr.ifremer.tutti.service.sampling.SamplingCodePrefix; import fr.ifremer.tutti.type.WeightUnit; import fr.ifremer.tutti.ui.swing.util.table.CaracteristicColumnIdentifier; import org.jdesktop.swingx.table.TableColumnExt; @@ -97,7 +98,7 @@ public class IndividualObservationBatchTableModel extends AbstractApplicationTab protected Species species; - protected String samplingCodePrefix; + protected SamplingCodePrefix samplingCodePrefix; protected Caracteristic lengthstepCaracteristic; @@ -146,13 +147,10 @@ public class IndividualObservationBatchTableModel extends AbstractApplicationTab } } - public void setSamplingCodePrefix(String samplingCodePrefix) { + public void setSamplingCodePrefix(SamplingCodePrefix samplingCodePrefix) { this.samplingCodePrefix = samplingCodePrefix; if (rows != null) { - rows.forEach(row -> { - row.setSamplingCodePrefix(samplingCodePrefix); - - }); + rows.forEach(row -> row.setSamplingCodePrefix(samplingCodePrefix)); } } @@ -189,6 +187,18 @@ public class IndividualObservationBatchTableModel extends AbstractApplicationTab result.setLengthStepCaracteristic(lengthstepCaracteristic); result.setMaturityCaracteristic(maturityCaracteristic); + // quand l'utilisateur change le prefix dans la conf, si la ligne a deja un code prélèvement, + // le prefix reste le même, même si l'utilisateur supprime le code et en regénère un + // il faut pousser le nouveau prefix si l'utilisateur supprime le code + result.addPropertyChangeListener(IndividualObservationBatchRowModel.PROPERTY_SAMPLING_CODE, evt -> { + if (result.withSamplingCode() && result.withSamplingCodePrefix()) { + result.setSamplingCodePrefix(new SamplingCodePrefix(result.getSamplingCode())); + + } else if (!result.withSamplingCode()) { + result.setSamplingCodePrefix(samplingCodePrefix); + } + }); + return result; } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUI.jaxx b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUI.jaxx index 0bd8aa4..aad07ec 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUI.jaxx +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUI.jaxx @@ -27,6 +27,8 @@ fr.ifremer.tutti.ui.swing.util.TuttiUI fr.ifremer.tutti.ui.swing.util.TuttiUIUtil + fr.ifremer.tutti.service.sampling.SamplingCodePrefix + org.nuiton.jaxx.widgets.number.NumberEditor </import> @@ -37,7 +39,7 @@ public SampleCodeEditionPopupUI(TuttiUI<?,?> parentUI) { TuttiUIUtil.setParentUI(this, parentUI); } -public void open(String prefix, Integer sampleCode) { +public void open(SamplingCodePrefix prefix, Integer sampleCode) { handler.open(prefix, sampleCode); } ]]></script> diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUI.jcss b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUI.jcss index 52d27ce..9a305f6 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUI.jcss +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUI.jcss @@ -31,7 +31,7 @@ } #sampleCodePrefix { - text: {getModel().getSampleCodePrefix()}; + text: {getModel().getSampleCodePrefix().toString()}; } #sampleCodeField { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUIHandler.java index a502e17..783c33a 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUIHandler.java @@ -22,6 +22,7 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservatio * #L% */ +import fr.ifremer.tutti.service.sampling.SamplingCodePrefix; import fr.ifremer.tutti.ui.swing.util.AbstractTuttiUIHandler; import jaxx.runtime.SwingUtil; import jaxx.runtime.validator.swing.SwingValidator; @@ -67,7 +68,7 @@ public class SampleCodeEditionPopupUIHandler extends AbstractTuttiUIHandler<Samp return getUI().getSampleCodeField(); } - public void open(String prefix, Integer sampleCode) { + public void open(SamplingCodePrefix prefix, Integer sampleCode) { getModel().setSampleCodePrefix(prefix); getModel().setSampleCode(sampleCode); getModel().setValid(false); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUIModel.java index b44d828..7a0fc59 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SampleCodeEditionPopupUIModel.java @@ -24,6 +24,7 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservatio * #L% */ +import fr.ifremer.tutti.service.sampling.SamplingCodePrefix; import org.jdesktop.beans.AbstractSerializableBean; /** @@ -43,7 +44,7 @@ public class SampleCodeEditionPopupUIModel extends AbstractSerializableBean { protected Integer sampleCode; - protected String sampleCodePrefix; + protected SamplingCodePrefix sampleCodePrefix; public Integer getSampleCode() { return sampleCode; @@ -55,11 +56,11 @@ public class SampleCodeEditionPopupUIModel extends AbstractSerializableBean { firePropertyChange(PROPERTY_SAMPLE_CODE, oldValue, sampleCode); } - public String getSampleCodePrefix() { + public SamplingCodePrefix getSampleCodePrefix() { return sampleCodePrefix; } - public void setSampleCodePrefix(String sampleCodePrefix) { + public void setSampleCodePrefix(SamplingCodePrefix sampleCodePrefix) { Object oldValue = getSampleCodePrefix(); this.sampleCodePrefix = sampleCodePrefix; firePropertyChange(PROPERTY_SAMPLE_CODE_PREFIX, oldValue, sampleCodePrefix); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SamplingCodeCellEditor.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SamplingCodeCellEditor.java index 5386f13..7fd4ee9 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SamplingCodeCellEditor.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/individualobservation/SamplingCodeCellEditor.java @@ -23,7 +23,7 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservatio */ import com.google.common.base.Preconditions; -import fr.ifremer.tutti.service.samplingCache.CruiseSamplingCache; +import fr.ifremer.tutti.service.sampling.CruiseSamplingCache; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.util.TuttiUI; import org.apache.commons.logging.Log; @@ -147,7 +147,7 @@ public class SamplingCodeCellEditor extends AbstractCellEditor implements TableC Optional<CruiseSamplingCache> optionalCruiseSamplingCache = context.getDataContext().getOptionalCruiseSamplingCache(); if (optionalCruiseSamplingCache.isPresent()) { int i = optionalCruiseSamplingCache.get().getNextSamplingCodeId(getRow().getSpecies().getReferenceTaxonId()); - row.setSamplingCodeId(i); + row.setSamplingCode(row.getSamplingCodePrefix().toSamplingCode(i)); } stopCellEditing(); } 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 e4a8f0d..b8a63e0 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 @@ -30,9 +30,9 @@ import fr.ifremer.tutti.persistence.entities.protocol.CalcifiedPiecesSamplingDef 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.samplingCache.CruiseSamplingCache; -import fr.ifremer.tutti.service.samplingCache.SamplingEvent; -import fr.ifremer.tutti.service.samplingCache.SamplingListener; +import fr.ifremer.tutti.service.sampling.CruiseSamplingCache; +import fr.ifremer.tutti.service.sampling.SamplingEvent; +import fr.ifremer.tutti.service.sampling.SamplingListener; import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.IndividualObservationBatchRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.edit.SpeciesBatchRowModel; import org.apache.commons.logging.Log; 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 6e87308..02a042f 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 @@ -43,6 +43,7 @@ import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.persistence.entities.referential.TaxonCache; import fr.ifremer.tutti.persistence.entities.referential.TaxonCaches; import fr.ifremer.tutti.service.DecoratorService; +import fr.ifremer.tutti.service.sampling.SamplingCodePrefix; import fr.ifremer.tutti.type.WeightUnit; import fr.ifremer.tutti.ui.swing.TuttiUIContext; import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.IndividualObservationBatchRowModel; @@ -885,9 +886,9 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci Species species = speciesBatch.getSpecies(); IndividualObservationBatchTableModel obsTableModel = getObsTableModel(); obsTableModel.setSpecies(species); - String samplingCodeSeparator = getConfig().getSamplingCodeSeparator(); - obsTableModel.setSamplingCodePrefix(getConfig().getSamplingCodePrefix() + samplingCodeSeparator + - decorate(species, DecoratorService.WITH_SURVEY_CODE_NO_NAME) + samplingCodeSeparator); + SamplingCodePrefix samplingCodePrefix = new SamplingCodePrefix(getConfig().getSamplingCodePrefix(), + decorate(species, DecoratorService.WITH_SURVEY_CODE_NO_NAME)); + obsTableModel.setSamplingCodePrefix(samplingCodePrefix); model.setTotalWeight(speciesBatch.getWeight()); @@ -1884,8 +1885,8 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci protected void beforeOpenPopup(int modelRowIndex, int modelColumnIndex) { super.beforeOpenPopup(modelRowIndex, modelColumnIndex); - boolean sampleCodeMenusEnabled = modelRowIndex >= 1 && ui.getObsTable().getSelectedRowCount() == 1 - && getObsTableModel().getRows().get(ui.getObsTable().getSelectedRow()).withSamplingCodeId(); + boolean sampleCodeMenusEnabled = modelRowIndex >= 0 && ui.getObsTable().getSelectedRowCount() == 1 + && getObsTableModel().getRows().get(ui.getObsTable().getSelectedRow()).withSamplingCode(); ui.getEditSampleCodeMenu().setEnabled(sampleCodeMenusEnabled); ui.getDeleteSampleCodeMenu().setEnabled(sampleCodeMenusEnabled); } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/DeleteSampleCodeAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/DeleteSampleCodeAction.java index b76840f..c6f6fc8 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/DeleteSampleCodeAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/DeleteSampleCodeAction.java @@ -59,7 +59,7 @@ public class DeleteSampleCodeAction extends SimpleActionSupport<SpeciesFrequency JOptionPane.YES_NO_OPTION); if (answer == JOptionPane.YES_OPTION) { - selectedRow.setSamplingCodeId(null); + selectedRow.setSamplingCode(null); obsTableModel.fireTableRowsUpdated(selectedRowIndex, selectedRowIndex); } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/EditSampleCodeAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/EditSampleCodeAction.java index a492709..d935646 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/EditSampleCodeAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/EditSampleCodeAction.java @@ -27,6 +27,7 @@ package fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.ac import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.IndividualObservationBatchRowModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.IndividualObservationBatchTableModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.SampleCodeEditionPopupUI; +import fr.ifremer.tutti.ui.swing.content.operation.catches.individualobservation.SampleCodeEditionPopupUIModel; import fr.ifremer.tutti.ui.swing.content.operation.catches.species.frequency.SpeciesFrequencyUI; import fr.ifremer.tutti.ui.swing.util.actions.SimpleActionSupport; import org.jdesktop.swingx.JXTable; @@ -52,8 +53,9 @@ public class EditSampleCodeAction extends SimpleActionSupport<SpeciesFrequencyUI SampleCodeEditionPopupUI sampleCodeEditionPopupUI = new SampleCodeEditionPopupUI(ui); sampleCodeEditionPopupUI.open(selectedRow.getSamplingCodePrefix(), selectedRow.getSamplingCodeId()); - if (sampleCodeEditionPopupUI.getModel().isValid()) { - selectedRow.setSamplingCodeId(sampleCodeEditionPopupUI.getModel().getSampleCode()); + SampleCodeEditionPopupUIModel model = sampleCodeEditionPopupUI.getModel(); + if (model.isValid()) { + selectedRow.setSamplingCode(model.getSampleCodePrefix().toSamplingCode(model.getSampleCode())); obsTableModel.fireTableRowsUpdated(selectedRowIndex, selectedRowIndex); } } -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm