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 301a9597d44c2a041022c970e4de7f6d87fb595a Author: Benjamin POUSSIN <poussin@codelutin.com> Date: Wed Jul 27 18:30:04 2016 +0200 fixes #8311: [IMPORT GENERIQUE] Avertir de l'écrasement de données uniquement lorsque la campagne ou le trait existe déjà en base --- .../genericformat/GenericFormatImportUIModel.java | 4 ++-- .../actions/GenericFormatImportAction.java | 4 ++-- .../genericformat/tree/CruiseSelectTreeNode.java | 19 ++++++++++++++++ .../tree/OperationSelectTreeNode.java | 6 ++++++ .../genericformat/tree/ProgramSelectTreeNode.java | 25 +++++++++++++++++----- 5 files changed, 49 insertions(+), 9 deletions(-) diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatImportUIModel.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatImportUIModel.java index 05d1f2c..3018ca0 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatImportUIModel.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/GenericFormatImportUIModel.java @@ -186,8 +186,8 @@ public class GenericFormatImportUIModel extends AbstractSerializableBean { } - public boolean isSelectedDataExists() { - return rootNode.isSelectedDataExists(); + public boolean isSelectedDataExists(boolean isUpdateCruises) { + return rootNode.isSelectedDataExists(isUpdateCruises); } public Program getProgram() { diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java index f7b8e45..aa8305f 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/actions/GenericFormatImportAction.java @@ -242,8 +242,8 @@ public class GenericFormatImportAction extends LongActionSupport<GenericFormatIm protected boolean acceptOverrideData() { boolean doAction = true; - - if (getModel().isSelectedDataExists()) { + GenericFormatImportUIModel model = getModel(); + if (model.isSelectedDataExists(model.isUpdateCruises())) { // Ask user to confirm to override data String htmlMessage = String.format( diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/CruiseSelectTreeNode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/CruiseSelectTreeNode.java index 07edfef..66cc4ff 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/CruiseSelectTreeNode.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/CruiseSelectTreeNode.java @@ -31,6 +31,7 @@ import fr.ifremer.tutti.persistence.model.OperationDataModel; import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Set; +import javax.swing.tree.TreeNode; /** * Created on 3/29/15. @@ -166,4 +167,22 @@ public class CruiseSelectTreeNode extends DataSelectTreeNodeSupport<CruiseDataMo return result; } + + public boolean isChildSelectedDataExists() { + boolean result = false; + + for (int i = 0, max = this.getChildCount(); i < max; i++) { + TreeNode child = this.getChildAt(i); + if (child instanceof OperationSelectTreeNode) { + OperationSelectTreeNode o = (OperationSelectTreeNode)child; + result = o.isSelectedDataExists(); + if (result) { + break; + } + } + } + + return result; + } + } diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/OperationSelectTreeNode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/OperationSelectTreeNode.java index da886a7..bc716dc 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/OperationSelectTreeNode.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/OperationSelectTreeNode.java @@ -43,6 +43,12 @@ public class OperationSelectTreeNode extends DataSelectTreeNodeSupport<Operation setAllowsChildren(false); } + public boolean isSelectedDataExists() { + boolean result = isSelected() && getOptionalId() != null; + return result; + } + + @Override public boolean isSelected() { return selected; diff --git a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ProgramSelectTreeNode.java b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ProgramSelectTreeNode.java index 4a6e054..38be5fc 100644 --- a/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ProgramSelectTreeNode.java +++ b/tutti-ui-swing/src/main/java/fr/ifremer/tutti/ui/swing/content/genericformat/tree/ProgramSelectTreeNode.java @@ -84,13 +84,28 @@ public class ProgramSelectTreeNode extends DataSelectTreeNodeSupport<ProgramData return Iterators.forEnumeration(children()); } - public boolean isSelectedDataExists() { + /** + * + * @param isUpdateCruises true if cruise is update during import. If this + * boolean is false, we check only if child exists and is selected + * @return true if this or child exists and is selected + */ + public boolean isSelectedDataExists(boolean isUpdateCruises) { boolean result=false; - for (CruiseSelectTreeNode cruise : this) { - if (cruise.isSelectedDataExists()) { - result = true; - break; + if (isUpdateCruises) { + for (CruiseSelectTreeNode cruise : this) { + result = cruise.isSelectedDataExists(); + if (result) { + break; + } + } + } else { + for (CruiseSelectTreeNode cruise : this) { + result = cruise.isChildSelectedDataExists(); + if (result) { + break; + } } } return result; -- To stop receiving notification emails like this one, please contact codelutin.com SCM administrator <admin+scm@codelutin.com>.