branch develop updated (2fe6dd1 -> 72534ba)
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 2fe6dd1 add missing import new 72534ba fixes #8361: [OBSERVATIONS INDIVIDUELLES] ajouter une option pour que les meusres envoyées par l'appareil bluetooth et le mode rafale soient enregistrées uniquement dans le table des observations individuelles (et pas obligatoirement dans le tableau des mensurations) The 1 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 72534baf6795cba455b6994773b279e7de16e2f0 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Wed Aug 3 16:37:37 2016 +0200 fixes #8361: [OBSERVATIONS INDIVIDUELLES] ajouter une option pour que les meusres envoyées par l'appareil bluetooth et le mode rafale soient enregistrées uniquement dans le table des observations individuelles (et pas obligatoirement dans le tableau des mensurations) Summary of changes: .../catches/species/BenthosBatchUISupportImpl.java | 11 +++++- .../catches/species/SpeciesBatchUISupportImpl.java | 11 +++++- .../species/frequency/SpeciesFrequencyUI.jcss | 6 ++- .../frequency/SpeciesFrequencyUIHandler.java | 45 ++++++++++++++-------- .../species/frequency/SpeciesFrequencyUIModel.java | 42 +++++++++++++++++++- .../actions/ApplySpeciesFrequencyRafaleAction.java | 7 ++-- 6 files changed, 99 insertions(+), 23 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 72534baf6795cba455b6994773b279e7de16e2f0 Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Wed Aug 3 16:37:37 2016 +0200 fixes #8361: [OBSERVATIONS INDIVIDUELLES] ajouter une option pour que les meusres envoyées par l'appareil bluetooth et le mode rafale soient enregistrées uniquement dans le table des observations individuelles (et pas obligatoirement dans le tableau des mensurations) --- .../catches/species/BenthosBatchUISupportImpl.java | 11 +++++- .../catches/species/SpeciesBatchUISupportImpl.java | 11 +++++- .../species/frequency/SpeciesFrequencyUI.jcss | 6 ++- .../frequency/SpeciesFrequencyUIHandler.java | 45 ++++++++++++++-------- .../species/frequency/SpeciesFrequencyUIModel.java | 42 +++++++++++++++++++- .../actions/ApplySpeciesFrequencyRafaleAction.java | 7 ++-- 6 files changed, 99 insertions(+), 23 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/BenthosBatchUISupportImpl.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/BenthosBatchUISupportImpl.java index c092fd3..c9b35de 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/BenthosBatchUISupportImpl.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/BenthosBatchUISupportImpl.java @@ -30,6 +30,7 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; +import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.service.catches.multipost.MultiPostImportResult; import fr.ifremer.tutti.type.WeightUnit; @@ -38,6 +39,7 @@ import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel; import fr.ifremer.tutti.ui.swing.util.computable.ComputableData; import java.io.File; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -261,7 +263,14 @@ public class BenthosBatchUISupportImpl extends SpeciesOrBenthosBatchUISupport { @Override public List<SpeciesProtocol> getSpeciesFromProtocol() { - return context.getDataContext().getProtocol().getBenthos(); + List<SpeciesProtocol> result; + TuttiProtocol p = context.getDataContext().getProtocol(); + if (p != null) { + result = p.getBenthos(); + } else { + result = Collections.EMPTY_LIST; + } + return result; } @Override diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUISupportImpl.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUISupportImpl.java index b648ec4..7b32d73 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUISupportImpl.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/SpeciesBatchUISupportImpl.java @@ -30,6 +30,7 @@ import fr.ifremer.tutti.persistence.entities.data.FishingOperation; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatch; import fr.ifremer.tutti.persistence.entities.data.SpeciesBatchFrequency; import fr.ifremer.tutti.persistence.entities.protocol.SpeciesProtocol; +import fr.ifremer.tutti.persistence.entities.protocol.TuttiProtocol; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.service.catches.multipost.MultiPostImportResult; import fr.ifremer.tutti.type.WeightUnit; @@ -38,6 +39,7 @@ import fr.ifremer.tutti.ui.swing.content.operation.catches.EditCatchesUIModel; import fr.ifremer.tutti.ui.swing.util.computable.ComputableData; import java.io.File; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -261,7 +263,14 @@ public class SpeciesBatchUISupportImpl extends SpeciesOrBenthosBatchUISupport { @Override public List<SpeciesProtocol> getSpeciesFromProtocol() { - return context.getDataContext().getProtocol().getSpecies(); + List<SpeciesProtocol> result; + TuttiProtocol p = context.getDataContext().getProtocol(); + if (p != null) { + result = p.getSpecies(); + } else { + result = Collections.EMPTY_LIST; + } + return result; } @Override diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss index 2532078..f7d0607 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/SpeciesFrequencyUI.jcss @@ -478,6 +478,7 @@ ComputableDataEditor { #frequenciesTitlePanel { title: "tutti.editSpeciesFrequencies.frequenciesPanel"; rightDecoration: {frequenciesToolBar}; + titlePainter: {new org.jdesktop.swingx.painter.MattePainter(getModel().getFrequenciesColor())}; } #tableScrollPane { @@ -497,8 +498,9 @@ ComputableDataEditor { } #obsTableTitlePanel { - title: "tutti.editSpeciesFrequencies.individualObservationsPanel"; - rightDecoration: {copyToSizeToolBar}; + title: "tutti.editSpeciesFrequencies.individualObservationsPanel"; + rightDecoration: {copyToSizeToolBar}; + titlePainter: {new org.jdesktop.swingx.painter.MattePainter(getModel().getIndividualObservationColor())}; } #obsTable { 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 f0925f8..56ceb9c 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 @@ -1236,6 +1236,14 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci Species species = speciesBatch.getSpecies(); + // default to rafale see https://forge.codelutin.com/issues/8361 + model.setFrequenciesConfigurationMode(FrequencyConfigurationMode.RAFALE); + // protocol value change addIndividualObservationOnRafale see https://forge.codelutin.com/issues/8361 + SpeciesProtocol speciesProtocol = + speciesOrBenthosBatchUISupport.getSpeciesProtocol(species); + model.setAddIndividualObservationOnRafale( + speciesProtocol != null && speciesProtocol.isIndividualObservationEnabled()); + List<SpeciesFrequencyRowModel> frequencyRows = getTableModel().loadRows(frequency); List<IndividualObservationBatchRowModel> individualObservationRows = individualObservationBatchTableHandler.loadRows(species, individualObservations); @@ -1244,7 +1252,10 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci log.debug("Will edit batch row: " + speciesBatch + " with " + frequencyRows.size() + " frequencies and " + individualObservationRows.size() + " individual observations."); } - CopyIndividualObservationMode copyIndividualObservationMode = computeCopyIndividualObservationMode(individualObservationRows); + CopyIndividualObservationMode copyIndividualObservationMode = + computeCopyIndividualObservationMode( + model.isAddIndividualObservationOnRafale(), + frequencyRows, individualObservationRows); if (log.isInfoEnabled()) { log.info("copyIndividualObservationMode: " + copyIndividualObservationMode); @@ -1270,7 +1281,10 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci model.setConfigurationMode(configurationMode); model.setFrequenciesConfigurationMode(null); - model.setFrequenciesConfigurationMode(FrequencyConfigurationMode.AUTO_GEN); + // default to RAFALE see https://forge.codelutin.com/issues/8361 + model.setFrequenciesConfigurationMode(FrequencyConfigurationMode.RAFALE); +// model.setFrequenciesConfigurationMode(FrequencyConfigurationMode.AUTO_GEN); + // connect model to validator ui.getValidator().setBean(model); @@ -1334,21 +1348,22 @@ public class SpeciesFrequencyUIHandler extends AbstractTuttiTableUIHandler<Speci return super.decorate(object, context); } - private CopyIndividualObservationMode computeCopyIndividualObservationMode(List<IndividualObservationBatchRowModel> individualObservationRows) { - - CopyIndividualObservationMode copyIndividualObservationMode; - if (individualObservationRows.isEmpty()) { - - copyIndividualObservationMode = CopyIndividualObservationMode.NOTHING; - + private CopyIndividualObservationMode computeCopyIndividualObservationMode( + boolean isAddIndividualObservationOnRafale, + List<SpeciesFrequencyRowModel> frequencyRows, + List<IndividualObservationBatchRowModel> individualObservationRows) { + CopyIndividualObservationMode result = CopyIndividualObservationMode.NOTHING; + if (frequencyRows.isEmpty() && individualObservationRows.isEmpty()) { + // no data + if (isAddIndividualObservationOnRafale) { + result = CopyIndividualObservationMode.SIZE; + } } else { - - IndividualObservationBatchRowModel firstIndividualObservationRow = individualObservationRows.get(0); - copyIndividualObservationMode = firstIndividualObservationRow.getCopyIndividualObservationMode(); - + IndividualObservationBatchRowModel firstIndividualObservationRow = + individualObservationRows.get(0); + result = firstIndividualObservationRow.getCopyIndividualObservationMode(); } - return copyIndividualObservationMode; - + return result; } private Caracteristic computeLengthStepCaracteristic(Species species, List<SpeciesFrequencyRowModel> frequencyRows, List<IndividualObservationBatchRowModel> individualObservationRows) { 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 cc6a9ed..597eb13 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 @@ -38,6 +38,7 @@ import fr.ifremer.tutti.ui.swing.util.computable.ComputableData; import fr.ifremer.tutti.ui.swing.util.table.AbstractTuttiTableUIModel; import fr.ifremer.tutti.util.Numbers; import fr.ifremer.tutti.util.Weights; +import java.awt.Color; import java.beans.PropertyVetoException; import java.util.ArrayList; import java.util.HashSet; @@ -98,6 +99,10 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa public static final String PROPERTY_ADD_INDIVIDUAL_OBSERVATION_ON_RAFALE = "addIndividualObservationOnRafale"; + public static final String PROPERTY_FREQUENCIES_COLOR = "frequenciesColor"; + + public static final String PROPERTY_INDIVIDUAL_OBSERVATION_COLOR = "individualObservationColor"; + public static final String PROPERTY_EMPTY_ROWS = "emptyRows"; public static final String PROPERTY_NEXT_EDITABLE_ROW_INDEX = "nextEditableRowIndex"; @@ -313,7 +318,8 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa this.copyIndividualObservationMode = CopyIndividualObservationMode.NOTHING; this.canEditLengthStep = true; this.cache = new SpeciesFrequencyUIModelCache(); - this.frequenciesConfigurationMode = FrequencyConfigurationMode.AUTO_GEN; + // default to rafale see https://forge.codelutin.com/issues/8361 + this.frequenciesConfigurationMode = FrequencyConfigurationMode.RAFALE; setEmptyRows(new HashSet<>()); this.individualObservationModel = new IndividualObservationBatchUIModel(this, sexCaracteristic, protocolIndividualObservationCaracteristics); @@ -675,6 +681,9 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa } public void setCopyIndividualObservationMode(CopyIndividualObservationMode copyIndividualObservationMode) { + Object oldFrequenciesColor = getFrequenciesColor(); + Object oldIndividualObservationColor = getIndividualObservationColor(); + CopyIndividualObservationMode oldValue = getCopyIndividualObservationMode(); boolean oldCopyAll = isCopyIndividualObservationAll(); boolean oldCopyNothing = isCopyIndividualObservationNothing(); @@ -684,6 +693,9 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_NOTHING, oldCopyNothing, isCopyIndividualObservationNothing()); firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_SIZE, oldCopySize, isCopyIndividualObservationSize()); firePropertyChange(PROPERTY_COPY_INDIVIDUAL_OBSERVATION_MODE, oldValue, getCopyIndividualObservationMode()); + + firePropertyChange(PROPERTY_FREQUENCIES_COLOR, oldFrequenciesColor, getFrequenciesColor()); + firePropertyChange(PROPERTY_INDIVIDUAL_OBSERVATION_COLOR, oldIndividualObservationColor, getIndividualObservationColor()); } public boolean mustCopyIndividualObservationSize() { @@ -736,9 +748,37 @@ public class SpeciesFrequencyUIModel extends AbstractTuttiTableUIModel<SpeciesBa } public void setAddIndividualObservationOnRafale(boolean addIndividualObservationOnRafale) { + Object oldFrequenciesColor = getFrequenciesColor(); + Object oldIndividualObservationColor = getIndividualObservationColor(); + Object oldValue = isAddIndividualObservationOnRafale(); this.addIndividualObservationOnRafale = addIndividualObservationOnRafale; firePropertyChange(PROPERTY_ADD_INDIVIDUAL_OBSERVATION_ON_RAFALE, oldValue, addIndividualObservationOnRafale); + + firePropertyChange(PROPERTY_FREQUENCIES_COLOR, oldFrequenciesColor, getFrequenciesColor()); + firePropertyChange(PROPERTY_INDIVIDUAL_OBSERVATION_COLOR, oldIndividualObservationColor, getIndividualObservationColor()); + } + + public Color getFrequenciesColor() { + Color result = javax.swing.UIManager.getColor("JXTitledPanel.titleBackground"); + if (isAddIndividualObservationOnRafale()) { + if (isCopyIndividualObservationAll()) { + result = Color.GREEN; + } else if (isCopyIndividualObservationSize()) { + result = new Color(0, 255, 140); + } + } else { + result = Color.GREEN; + } + return result; + } + + public Color getIndividualObservationColor() { + Color result = javax.swing.UIManager.getColor("JXTitledPanel.titleBackground"); + if (isAddIndividualObservationOnRafale()) { + result = Color.GREEN; + } + return result; } public int getNbRowsWithWeight() { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java index ab68c61..2e8ca2d 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/operation/catches/species/frequency/actions/ApplySpeciesFrequencyRafaleAction.java @@ -74,9 +74,10 @@ public class ApplySpeciesFrequencyRafaleAction { float aroundLengthStep = model.getLengthStep(step); - if (model.isCopyIndividualObservationNothing()) { - - SpeciesFrequencyTableModel tableModel = handler.getTableModel(); + // add in table only when is not add individualObservation + // see https://forge.codelutin.com/issues/8361 + if (!model.isAddIndividualObservationOnRafale()) { + SpeciesFrequencyTableModel tableModel = handler.getTableModel(); SpeciesFrequencyRowModel row = tableModel.addRafaleRow(aroundLengthStep); int rowIndex = tableModel.getRowIndex(row); -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.
participants (1)
-
codelutin.com scm