fix #8918: setBasionym also for accepted taxon
authorKatja Luther <k.luther@bgbm.org>
Tue, 31 Mar 2020 09:04:05 +0000 (11:04 +0200)
committerKatja Luther <k.luther@bgbm.org>
Tue, 31 Mar 2020 09:04:05 +0000 (11:04 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/e4/handler/SetBasionymHandlerE4.java
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java

index c394534e42a51b8ed774d9c0fbcbafc95aad4a4a..d1b013fac0c45be34d4eb5101f68ffcb353da2a3 100644 (file)
@@ -57,7 +57,7 @@ public class SetBasionymHandlerE4 {
         boolean canExecute = false;
         if(selection.size()==1){
             Object selectedElement = selection.getFirstElement();
-            canExecute = NameEditorMenuPropertyTester.isSynonymInHomotypicalGroupWithMoreSynonyms(selectedElement);
+            canExecute = NameEditorMenuPropertyTester.isSynonymOrTaxonInHomotypicalGroupWithMoreSynonyms(selectedElement);
         }
         menuItem.setVisible(canExecute);
         return canExecute;
index 466dce18cdbbd41140064d335d34977eeba6a0b6..d99c7f0a58a9ef7f2c5d9aafd95360be6bb43148 100755 (executable)
@@ -111,7 +111,7 @@ public class NameEditorMenuPropertyTester extends PropertyTester {
                                return isNotHomotypicSynonymOfAcceptedTaxon(selectedElement);
                        }
                        else if (SYNONYM_WITH_HOMOTYPIC_SYNONYMS.equals(property)){
-                               return isSynonymInHomotypicalGroupWithMoreSynonyms(selectedElement);
+                               return isSynonymOrTaxonInHomotypicalGroupWithMoreSynonyms(selectedElement);
                        }
                        else if (IS_ORPHANED.equals(property)){
                            return isOrphaned(selectedElement);
@@ -141,9 +141,9 @@ public class NameEditorMenuPropertyTester extends PropertyTester {
         return !isMisapplication(selectedElement);
     }
 
-       public static boolean isSynonymInHomotypicalGroupWithMoreSynonyms(Object selectedElement) {
-               if (isSynonym(selectedElement)){
-                       Synonym synonym = (Synonym) selectedElement;
+       public static boolean isSynonymOrTaxonInHomotypicalGroupWithMoreSynonyms(Object selectedElement) {
+               if (isSynonym(selectedElement) || isAccepted(selectedElement)){
+                       TaxonBase synonym = (TaxonBase) selectedElement;
                        return synonym.getHomotypicGroup().getTypifiedNames().size()>1;
                }
                return false;