This is an automated email from the git hooks/post-receive script. New commit to branch feature/7930 in repository tutti. See http://git.codelutin.com/tutti.git commit 4bffb235dae5902cffd7bf4df9a589fae6c88bcd Author: Kevin Morin <morin@codelutin.com> Date: Mon Feb 15 15:21:52 2016 +0100 suppression des lignes des expèces supprimés depuis les onglets especes et benthos fixes #7930 --- .../content/protocol/EditProtocolUIModel.java | 4 +- .../actions/RemoveBenthosProtocolAction.java | 43 +++++++++++++++++++-- .../actions/RemoveSpeciesProtocolAction.java | 44 ++++++++++++++++++++-- .../CalcifiedPiecesSamplingEditorUIHandler.java | 2 +- .../actions/DeleteSpeciesAction.java | 10 ++--- .../resources/i18n/tutti-ui-swing_en_GB.properties | 4 ++ .../resources/i18n/tutti-ui-swing_fr_FR.properties | 4 ++ 7 files changed, 95 insertions(+), 16 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java index 71a86d3..caaef25 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/EditProtocolUIModel.java @@ -93,7 +93,7 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, public static final String PROPERTY_AVAILABLE_STRATAS = "availableStratas"; - public static final String PROPERTY_CSP_ROWS = "cpsRows"; + public static final String PROPERTY_CPS_ROWS = "cpsRows"; /** * Delegate edit object. @@ -308,7 +308,7 @@ public class EditProtocolUIModel extends AbstractTuttiBeanUIModel<TuttiProtocol, public void setCpsRows(List<CalcifiedPiecesSamplingEditorRowModel> cpsRows) { Object oldValue = getCpsRows(); this.cpsRows = cpsRows; - firePropertyChange(PROPERTY_CSP_ROWS, oldValue, cpsRows); + firePropertyChange(PROPERTY_CPS_ROWS, oldValue, cpsRows); } public boolean isRemoveSpeciesEnabled() { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/RemoveBenthosProtocolAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/RemoveBenthosProtocolAction.java index 39079f8..1861676 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/RemoveBenthosProtocolAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/RemoveBenthosProtocolAction.java @@ -27,19 +27,24 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.persistence.entities.referential.Speciess; -import fr.ifremer.tutti.ui.swing.content.protocol.calcifiedpiecessampling.CalcifiedPiecesSamplingEditorUI; -import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIHandler; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIModel; +import fr.ifremer.tutti.ui.swing.content.protocol.calcifiedpiecessampling.CalcifiedPiecesSamplingEditorRowModel; +import fr.ifremer.tutti.ui.swing.content.protocol.calcifiedpiecessampling.CalcifiedPiecesSamplingEditorTableModel; +import fr.ifremer.tutti.ui.swing.content.protocol.calcifiedpiecessampling.CalcifiedPiecesSamplingEditorUI; +import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import jaxx.runtime.SwingUtil; +import javax.swing.JOptionPane; import javax.swing.JTable; import java.util.Collections; import java.util.List; import java.util.Set; +import java.util.TreeSet; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.t; @@ -125,8 +130,8 @@ public class RemoveBenthosProtocolAction extends LongActionSupport<EditProtocolU getModel().getBenthosRow().removeAll(removedRows); // remove the protocolSpecies from the cps table or combobox - CalcifiedPiecesSamplingEditorUI cspEditor = getUI().getCalcifiedPiecesSamplingEditorUI(); - //TODO remove the protocolSpecies from the cps table or combobox + updateCpsTable(); + updateCpsEditorCombo(); // fire table data changed handler.getBenthosTableModel().fireTableDataChanged(); @@ -137,4 +142,34 @@ public class RemoveBenthosProtocolAction extends LongActionSupport<EditProtocolU // notify user sendMessage(t("tutti.flash.info.benthos.remove.from.protocol")); } + + protected void updateCpsEditorCombo() { + CalcifiedPiecesSamplingEditorUI cpsEditor = getUI().getCalcifiedPiecesSamplingEditorUI(); + cpsEditor.getSpeciesComboBox().removeItems(removedSpecies); + } + + protected void updateCpsTable() { + CalcifiedPiecesSamplingEditorUI cpsEditor = getUI().getCalcifiedPiecesSamplingEditorUI(); + + List<CalcifiedPiecesSamplingEditorRowModel> cpsRows = getModel().getCpsRows(); + List<CalcifiedPiecesSamplingEditorRowModel> rowsToDelete = + cpsRows.stream().filter(r -> removedSpecies.contains(r.getProtocolSpecies().getSpecies())).collect(Collectors.toList()); + + if (!rowsToDelete.isEmpty()) { + + JOptionPane.showMessageDialog(getUI(), + t("tutti.editProtocol.action.removeBenthosProtocol.removeCpsRows.message"), + t("tutti.editProtocol.action.removeBenthosProtocol.removeCpsRows.title"), + JOptionPane.WARNING_MESSAGE); + + TreeSet<Integer> indexesToDelete = + new TreeSet<>(rowsToDelete.stream().map(cpsRows::indexOf).collect(Collectors.toSet())); + + cpsRows.removeAll(rowsToDelete); + + CalcifiedPiecesSamplingEditorTableModel cpsTableModel = + (CalcifiedPiecesSamplingEditorTableModel) cpsEditor.getCpsTable().getModel(); + cpsTableModel.fireTableRowsDeleted(indexesToDelete.first(), indexesToDelete.last()); + } + } } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/RemoveSpeciesProtocolAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/RemoveSpeciesProtocolAction.java index 4630e1a..b101111 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/RemoveSpeciesProtocolAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/actions/RemoveSpeciesProtocolAction.java @@ -27,19 +27,24 @@ import com.google.common.collect.Lists; import com.google.common.collect.Sets; import fr.ifremer.tutti.persistence.entities.referential.Species; import fr.ifremer.tutti.persistence.entities.referential.Speciess; -import fr.ifremer.tutti.ui.swing.content.protocol.calcifiedpiecessampling.CalcifiedPiecesSamplingEditorUI; -import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesRowModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolSpeciesTableModel; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUI; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIHandler; import fr.ifremer.tutti.ui.swing.content.protocol.EditProtocolUIModel; +import fr.ifremer.tutti.ui.swing.content.protocol.calcifiedpiecessampling.CalcifiedPiecesSamplingEditorRowModel; +import fr.ifremer.tutti.ui.swing.content.protocol.calcifiedpiecessampling.CalcifiedPiecesSamplingEditorTableModel; +import fr.ifremer.tutti.ui.swing.content.protocol.calcifiedpiecessampling.CalcifiedPiecesSamplingEditorUI; +import fr.ifremer.tutti.ui.swing.util.actions.LongActionSupport; import jaxx.runtime.SwingUtil; +import javax.swing.JOptionPane; import javax.swing.JTable; import java.util.Collections; import java.util.List; import java.util.Set; +import java.util.TreeSet; +import java.util.stream.Collectors; import static org.nuiton.i18n.I18n.t; @@ -122,8 +127,8 @@ public class RemoveSpeciesProtocolAction extends LongActionSupport<EditProtocolU getModel().getSpeciesRow().removeAll(removedRows); // remove the protocolSpecies from the cps table or combobox - CalcifiedPiecesSamplingEditorUI cspEditor = getUI().getCalcifiedPiecesSamplingEditorUI(); - //TODO remove the protocolSpecies from the cps table or combobox + updateCpsTable(); + updateCpsEditorCombo(); // fire table data changed handler.getSpeciesTableModel().fireTableDataChanged(); @@ -135,4 +140,35 @@ public class RemoveSpeciesProtocolAction extends LongActionSupport<EditProtocolU sendMessage(t("tutti.flash.info.species.remove.from.protocol")); } + protected void updateCpsEditorCombo() { + CalcifiedPiecesSamplingEditorUI cpsEditor = getUI().getCalcifiedPiecesSamplingEditorUI(); + cpsEditor.getSpeciesComboBox().removeItems(removedSpecies); + } + + protected void updateCpsTable() { + CalcifiedPiecesSamplingEditorUI cpsEditor = getUI().getCalcifiedPiecesSamplingEditorUI(); + + List<CalcifiedPiecesSamplingEditorRowModel> cpsRows = getModel().getCpsRows(); + List<CalcifiedPiecesSamplingEditorRowModel> rowsToDelete = + cpsRows.stream().filter(r -> removedSpecies.contains(r.getProtocolSpecies().getSpecies())).collect(Collectors.toList()); + + if (!rowsToDelete.isEmpty()) { + + JOptionPane.showMessageDialog(getUI(), + t("tutti.editProtocol.action.removeSpeciesProtocol.removeCpsRows.message"), + t("tutti.editProtocol.action.removeSpeciesProtocol.removeCpsRows.title"), + JOptionPane.WARNING_MESSAGE); + + TreeSet<Integer> indexesToDelete = + new TreeSet<>(rowsToDelete.stream().map(cpsRows::indexOf).collect(Collectors.toSet())); + + cpsRows.removeAll(rowsToDelete); + + CalcifiedPiecesSamplingEditorTableModel cpsTableModel = + (CalcifiedPiecesSamplingEditorTableModel) cpsEditor.getCpsTable().getModel(); + cpsTableModel.fireTableRowsDeleted(indexesToDelete.first(), indexesToDelete.last()); + + } + } + } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorUIHandler.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorUIHandler.java index b54737d..bf0afe8 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorUIHandler.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/CalcifiedPiecesSamplingEditorUIHandler.java @@ -143,7 +143,7 @@ public class CalcifiedPiecesSamplingEditorUIHandler extends AbstractTuttiUIHandl SwingUtil.scrollToTableSelection(cpsTable); // at the very end, set rows to model - getModel().addPropertyChangeListener(EditProtocolUIModel.PROPERTY_CSP_ROWS, + getModel().addPropertyChangeListener(EditProtocolUIModel.PROPERTY_CPS_ROWS, evt -> { Collection<CalcifiedPiecesSamplingEditorRowModel> rows = (Collection<CalcifiedPiecesSamplingEditorRowModel>) evt.getNewValue(); diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/actions/DeleteSpeciesAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/actions/DeleteSpeciesAction.java index 0fcb29b..d99727f 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/actions/DeleteSpeciesAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/protocol/calcifiedpiecessampling/actions/DeleteSpeciesAction.java @@ -39,9 +39,9 @@ public class DeleteSpeciesAction extends SimpleActionSupport<CalcifiedPiecesSamp int selectedRow = cpsTable.getSelectedRow(); - List<CalcifiedPiecesSamplingEditorRowModel> cspRows = ui.getModel().getCpsRows(); + List<CalcifiedPiecesSamplingEditorRowModel> cpsRows = ui.getModel().getCpsRows(); - CalcifiedPiecesSamplingEditorRowModel row = cspRows.get(selectedRow); + CalcifiedPiecesSamplingEditorRowModel row = cpsRows.get(selectedRow); EditProtocolSpeciesRowModel speciesToDelete = row.getProtocolSpecies(); String decoratedSpecies = ui.getHandler().getDecorator(Species.class, DecoratorService.WITH_SURVEY_CODE) @@ -55,12 +55,12 @@ public class DeleteSpeciesAction extends SimpleActionSupport<CalcifiedPiecesSamp if (confirmDeletion == JOptionPane.YES_OPTION) { List<CalcifiedPiecesSamplingEditorRowModel> rowsToDelete = - cspRows.stream().filter(r -> r.getProtocolSpecies().equals(speciesToDelete)).collect(Collectors.toList()); + cpsRows.stream().filter(r -> r.getProtocolSpecies().equals(speciesToDelete)).collect(Collectors.toList()); TreeSet<Integer> indexesToDelete = - new TreeSet<>(rowsToDelete.stream().map(cspRows::indexOf).collect(Collectors.toSet())); + new TreeSet<>(rowsToDelete.stream().map(cpsRows::indexOf).collect(Collectors.toSet())); - cspRows.removeAll(rowsToDelete); + cpsRows.removeAll(rowsToDelete); tableModel.fireTableRowsDeleted(indexesToDelete.first(), indexesToDelete.last()); diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties index c9de0b2..1463c55 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_en_GB.properties @@ -1100,12 +1100,16 @@ tutti.editProtocol.action.moveUpCaracteristicMapping.mnemonic= tutti.editProtocol.action.moveUpCaracteristicMapping.tip= tutti.editProtocol.action.removeBenthosProtocol= tutti.editProtocol.action.removeBenthosProtocol.mnemonic= +tutti.editProtocol.action.removeBenthosProtocol.removeCpsRows.message= +tutti.editProtocol.action.removeBenthosProtocol.removeCpsRows.title= tutti.editProtocol.action.removeBenthosProtocol.tip= tutti.editProtocol.action.removeCaracteristicMapping= tutti.editProtocol.action.removeCaracteristicMapping.mnemonic= tutti.editProtocol.action.removeCaracteristicMapping.tip= tutti.editProtocol.action.removeSpeciesProtocol= tutti.editProtocol.action.removeSpeciesProtocol.mnemonic= +tutti.editProtocol.action.removeSpeciesProtocol.removeCpsRows.message= +tutti.editProtocol.action.removeSpeciesProtocol.removeCpsRows.title= tutti.editProtocol.action.removeSpeciesProtocol.tip= tutti.editProtocol.action.saveProtocol= tutti.editProtocol.action.saveProtocol.mnemonic= diff --git a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties index a25c689..66c05f0 100644 --- a/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties +++ b/tutti-ui-swing/src/main/resources/i18n/tutti-ui-swing_fr_FR.properties @@ -1049,12 +1049,16 @@ tutti.editProtocol.action.moveUpCaracteristicMapping.mnemonic=M tutti.editProtocol.action.moveUpCaracteristicMapping.tip=Monter l'entrée sélectionnée tutti.editProtocol.action.removeBenthosProtocol=Supprimer les espèces du benthos tutti.editProtocol.action.removeBenthosProtocol.mnemonic=S +tutti.editProtocol.action.removeBenthosProtocol.removeCpsRows.message=Des espèces à supprimer sont présentes dans le tableau de prélèvement des pièces calcifiées. Elles vont être supprimées du tableau. +tutti.editProtocol.action.removeBenthosProtocol.removeCpsRows.title=Espèces présentes dans les prélèvements de pièces calcifiées tutti.editProtocol.action.removeBenthosProtocol.tip=Supprimer les les espèces du benthos sélectionnés tutti.editProtocol.action.removeCaracteristicMapping=Supprimer les caractéristiques tutti.editProtocol.action.removeCaracteristicMapping.mnemonic=S tutti.editProtocol.action.removeCaracteristicMapping.tip=Supprimer les caractéristiques sélectionnés tutti.editProtocol.action.removeSpeciesProtocol=Supprimer les espèces tutti.editProtocol.action.removeSpeciesProtocol.mnemonic=S +tutti.editProtocol.action.removeSpeciesProtocol.removeCpsRows.message=Des espèces à supprimer sont présentes dans le tableau de prélèvement des pièces calcifiées. Elles vont être supprimées du tableau. +tutti.editProtocol.action.removeSpeciesProtocol.removeCpsRows.title=Espèces présentes dans les prélèvements de pièces calcifiées tutti.editProtocol.action.removeSpeciesProtocol.tip=Supprimer les espèces sélectionnées tutti.editProtocol.action.saveProtocol=Enregistrer tutti.editProtocol.action.saveProtocol.mnemonic=E -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.