add correct handling for keepOrWarn when moving taxa
authorKatja Luther <k.luther@bgbm.org>
Tue, 21 Sep 2021 06:57:10 +0000 (08:57 +0200)
committerKatja Luther <k.luther@bgbm.org>
Tue, 21 Sep 2021 06:57:10 +0000 (08:57 +0200)
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/l10n/Messages.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/l10n/messages.properties
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/l10n/messages_de.properties
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/TreeNodeDropAdapterE4.java
eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/MoveTaxonNodeHandlerE4.java

index 193b44c4d2c16bf0b7846d5a47a92187136b1164..e2c7ed3aa6170e3e581dee3eda6dd0a8e51b15d9 100644 (file)
@@ -195,6 +195,8 @@ public class Messages extends NLS {
     public static String TreeNodeDropAdapter_Select_Sec_Reference_Handling_message;
     public static String TreeNodeDropAdapter_Select_Sec_Reference_Parent;
 
+    public static String MoveTaxon_Different_Secundum_References;
+
     public static String SetPublishForSubtreeOperation_CHANGE_PUBLISH_OP;
     public static String TaxonNavigatorLabels_SET_PUBLISH_FOR_CHILDREN;
        public static String TaxonNavigatorLabels_ACCEPTED_TAXA_NEED_TO_BE_FROM_SAME_CLASSIFICATION;
index fa1f67f68fae98f7bf10ee2331e6d61c37600d17..81ff051aae4afd90efce9dec01d3eaff22f89345 100644 (file)
@@ -169,6 +169,7 @@ TreeNodeDropAdapter_UNSAVED_PARENT_MESSAGE=There are unsaved changes in the pare
 TreeNodeDropAdapter_Select_Sec_Reference_Handling_message_always_select=Please select which reference should be used for the moved taxon/taxa
 TreeNodeDropAdapter_Select_Sec_Reference_Handling_message=The secundum reference of the new parent and/or the moved taxa are not the same. Please select which reference should be used for the moved taxa/taxon
 TreeNodeDropAdapter_Select_Sec_Reference_Parent=From new parent
+MoveTaxon_Different_Secundum_References=Different secundum references are used, maybe adaptions are needed.
 
 SetPublishForSubtreeOperation_CHANGE_PUBLISH_OP=Change publish flag for all children
 TaxonNavigatorLabels_SET_PUBLISH_FOR_CHILDREN=Change publish flag for all children
index 5e65f017a99e06cbfeba24fbab10a0660ef05a1e..8ce43bffbcf5dd660e56caec06873d9bba4fb29a 100644 (file)
@@ -169,6 +169,7 @@ TreeNodeDropAdapter_UNSAVED_PARENT_MESSAGE=Es gibt 
 TreeNodeDropAdapter_Select_Sec_Reference_Handling_message_always_select=Bitte wählen Sie welche Secundum Referenz für das/die verschobene(n) Taxon/Taxa verwendet werden soll.
 TreeNodeDropAdapter_Select_Sec_Reference_Handling_message=Die beteiligten Secundum Referenzen unterscheiden sich, bitte wählen Sie welche Referenz für die/das verschobene(n) Taxa/Taxon verwendet werden soll.
 TreeNodeDropAdapter_Select_Sec_Reference_Parent=Vom neuen Parent
+MoveTaxon_Different_Secundum_References=Es werden unterschiedliche Secundum Referenzen verwendet, eventuell müssen sie angepasst werden.
 
 SetPublishForSubtreeOperation_CHANGE_PUBLISH_OP=Publish Flag für alle Kinder ändern
 TaxonNavigatorLabels_SET_PUBLISH_FOR_CHILDREN=Ändere Publish Flag für alle Kinder
index 79b2a941ca65a1e31a510a3c5f756348a2254d82..6be38d97d1746d9c65727dc3b9ed279f5e216a04 100644 (file)
@@ -210,7 +210,7 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
         }
         secHandling = PreferencesUtil.getSecReferenceHandlingPreference();
         newSecUuid = null;
-        if (secHandling.equals(SecReferenceHandlingEnum.AlwaysSelect) || (secReferences.size() > 1 && secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect)) || (secReferences.size() == 1 && secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect) && !secReferences.contains(parentSecUuid))){
+        if ( secHandling.equals(SecReferenceHandlingEnum.AlwaysSelect) || (secReferences.size() > 1 && secHandling.equals(SecReferenceHandlingEnum.KeepOrWarn) || secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect)) || (secReferences.size() == 1 && (secHandling.equals(SecReferenceHandlingEnum.KeepOrWarn) ||secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect)) && !secReferences.contains(parentSecUuid))){
             //The moved nodes have different secundum references
             String message = null;
             String[] options = null;
@@ -221,7 +221,12 @@ public class TreeNodeDropAdapterE4 extends ViewerDropAdapter implements IPostMon
                 message = Messages.TreeNodeDropAdapter_Select_Sec_Reference_Handling_message;
                 options = new String[]{Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Keep,  Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Select, Messages.TreeNodeDropAdapter_Select_Sec_Reference_Parent, };
             }
-            int result = MessagingUtils.confirmDialog(Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_title, message, options);
+            int result = 0;
+            if (secHandling.equals(SecReferenceHandlingEnum.KeepOrWarn) ){
+                MessageDialog.openWarning(null, "Secundum references differ", Messages.MoveTaxon_Different_Secundum_References);
+            }else{
+                result = MessagingUtils.confirmDialog(Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_title, message, options);
+            }
 
 //            int result = MessagingUtils.confirmDialog(Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_title, Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_message,
 //                    new String[]{Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Keep, Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Parent, Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Select});
index d7463cc5a1f6950af9aa6c609ee4ddd05675f41c..a4803d9e87ed450885f2f9c1fecd32883485ff3d 100644 (file)
@@ -138,7 +138,7 @@ public class MoveTaxonNodeHandlerE4 extends CdmHandlerE4 {
         secHandling = PreferencesUtil.getSecReferenceHandlingPreference();
         newSecUuid = null;
         UUID parentTaxonSecUuid= parentTaxonNode.getTaxon() != null && parentTaxonNode.getTaxon().getSec() != null ? parentTaxonNode.getTaxon().getSec().getUuid(): null;
-        if (secHandling.equals(SecReferenceHandlingEnum.AlwaysSelect) || (oldTaxonSecUUIDs.size() > 1 && secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect)) || (oldTaxonSecUUIDs.size() == 1 && secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect) && !oldTaxonSecUUIDs.contains(parentTaxonSecUuid))){
+        if ( secHandling.equals(SecReferenceHandlingEnum.AlwaysSelect) || (oldTaxonSecUUIDs.size() > 1 && secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect) || secHandling.equals(SecReferenceHandlingEnum.KeepOrWarn) ) || (oldTaxonSecUUIDs.size() == 1 && (secHandling.equals(SecReferenceHandlingEnum.KeepOrWarn) ||secHandling.equals(SecReferenceHandlingEnum.KeepOrSelect)) && !oldTaxonSecUUIDs.contains(parentTaxonSecUuid))){
             //The moved nodes have different secundum references
             String message = null;
             String[] options = null;
@@ -149,7 +149,13 @@ public class MoveTaxonNodeHandlerE4 extends CdmHandlerE4 {
                 message = Messages.TreeNodeDropAdapter_Select_Sec_Reference_Handling_message;
                 options = new String[]{Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Keep,  Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Select, Messages.TreeNodeDropAdapter_Select_Sec_Reference_Parent, };
             }
-            int result = MessagingUtils.confirmDialog(Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_title, message, options);
+            int result = 0;
+            if (secHandling.equals(SecReferenceHandlingEnum.KeepOrWarn) ){
+                MessageDialog.openWarning(null, "Secundum references differ", Messages.MoveTaxon_Different_Secundum_References);
+            }else{
+                result = MessagingUtils.confirmDialog(Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_title, message, options);
+            }
+
 
 //            int result = MessagingUtils.confirmDialog(Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_title, Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Handling_message,
 //                    new String[]{Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Keep, Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Parent, Messages.RemotingChangeAcceptedTaxonToSynonymHandler_Select_Sec_Reference_Select});