X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/c02da2963e1c84f39e1091d526900aa130c6aa4b..5d28cb7b9d26dc3da09b4685a9a0651a9b7e62fe:/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java index 73c2f94d0..5c7ca9a44 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java @@ -35,6 +35,8 @@ public class NameEditorMenuPropertyTester extends org.eclipse.core.expressions.P private static final String CONCEPT = "isConceptRelation"; private static final String EMPTY_NAMES = "hasEmptyNames"; private static final String ACCEPTED_AND_NO_HOMOTYPIC_SYNONYMS = "isAcceptedAndHasNoHomotypicSynonyms"; + private static final String NOT_HOMOTYPIC_SYNONYM_OF_ACCEPTED = "isNotHomotypicSynonymOfAcceptedTaxon"; + /** *

Constructor for NameEditorMenuPropertyTester.

@@ -76,7 +78,10 @@ public class NameEditorMenuPropertyTester extends org.eclipse.core.expressions.P } else if(ACCEPTED_AND_NO_HOMOTYPIC_SYNONYMS.equals(property)){ return isAcceptedAndHasNoHomotypicSynonyms(selectedElement); + }else if (NOT_HOMOTYPIC_SYNONYM_OF_ACCEPTED.equals(property)){ + return isNotHomotypicSynonymOfAcceptedTaxon(selectedElement); } + } return false; @@ -90,6 +95,19 @@ public class NameEditorMenuPropertyTester extends org.eclipse.core.expressions.P } return false; } + + private boolean isNotHomotypicSynonymOfAcceptedTaxon(Object selectedElement) { + if (isSynonym(selectedElement)){ + Synonym synonym = (Synonym) selectedElement; + for (Taxon taxon:synonym.getAcceptedTaxa()){ + if (taxon.getHomotypicGroup().equals(synonym.getHomotypicGroup())){ + return false; + } + } + } + return true; + } + /** * @param receiver