selection="eu.etaxonomy.cdm.model.taxon.TaxonNode"
viewerName="%viewCommandMapping.viewerName.BULK_EDITOR">
</viewCommandMapping>
- <viewCommandMapping
- commandId="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity"
- selection="eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache"
- viewerName="%viewCommandMapping.viewerName.BULK_EDITOR">
- </viewCommandMapping>
<viewCommandMapping
commandId="eu.etaxonomy.taxeditor.bulkeditor.openBulkEditorForIdentifiableEntity"
selection="eu.etaxonomy.cdm.model.common.IdentifiableEntity"
name="%command.name.41">
</command>
<command
- defaultHandler="eu.etaxonomy.taxeditor.editor.handler.defaultHandler.DefaultOpenTaxonEditorForTaxonHandler"
id="eu.etaxonomy.taxeditor.editor.openTaxonEditorForTaxon"
name="%command.name.42">
<commandParameter
</test>
</with>
</definition>
+ <definition
+ id="isOrphanedTaxon">
+ <with
+ variable="selection">
+ <test
+ forcePluginActivation="true"
+ property="eu.etaxonomy.taxeditor.editor.name.propertyTester.isOrphaned">
+ </test>
+ </with>
+ </definition>
</extension>
<extension
point="org.eclipse.core.expressions.propertyTesters">
class="eu.etaxonomy.taxeditor.editor.name.handler.NameEditorMenuPropertyTester"
id="eu.etaxonomy.taxeditor.editor.name.propertyTester"
namespace="eu.etaxonomy.taxeditor.editor.name.propertyTester"
- properties="isAcceptedTaxon,isSynonym,isMisapplication,isTaxonBase,hasEmptyNames,isAcceptedAndHasNoHomotypicSynonyms,isNotHomotypicSynonymOfAcceptedTaxon,isSynonymInHomotypicalGroupWithMoreSynonyms"
+ properties="isAcceptedTaxon,isSynonym,isMisapplication,isTaxonBase,hasEmptyNames,isAcceptedAndHasNoHomotypicSynonyms,isNotHomotypicSynonymOfAcceptedTaxon,isSynonymInHomotypicalGroupWithMoreSynonyms,isOrphaned"
type="org.eclipse.jface.viewers.IStructuredSelection">
</propertyTester>
<propertyTester
import org.eclipse.jface.viewers.IStructuredSelection;
+import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.taxon.Synonym;
import eu.etaxonomy.cdm.model.taxon.Taxon;
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
+import eu.etaxonomy.cdm.persistence.dto.UuidAndTitleCache;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.Page;
import eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor;
+import eu.etaxonomy.taxeditor.store.CdmStore;
/**
* <p>NameEditorMenuPropertyTester class.</p>
private static final String ACCEPTED_AND_NO_HOMOTYPIC_SYNONYMS = "isAcceptedAndHasNoHomotypicSynonyms";
private static final String NOT_HOMOTYPIC_SYNONYM_OF_ACCEPTED = "isNotHomotypicSynonymOfAcceptedTaxon";
private static final String SYNONYM_WITH_HOMOTYPIC_SYNONYMS = "isSynonymInHomotypicalGroupWithMoreSynonyms";
+ private static final String IS_ORPHANED = "isOrphaned";
/**
* <p>Constructor for NameEditorMenuPropertyTester.</p>
IStructuredSelection selection = (IStructuredSelection) receiver;
Object selectedElement = selection.getFirstElement();
+ if(selectedElement instanceof UuidAndTitleCache){
+ UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache<?>)selectedElement;
+ CdmBase cdmBase = CdmStore.getCommonService().find(uuidAndTitleCache.getType(), uuidAndTitleCache.getUuid());
+ selectedElement = cdmBase;
+ }
if(ACCEPTED.equals(property)){
return isAccepted(selectedElement);
else if (SYNONYM_WITH_HOMOTYPIC_SYNONYMS.equals(property)){
return isSynonymInHomotypicalGroupWithMoreSynonyms(selectedElement);
}
+ else if (IS_ORPHANED.equals(property)){
+ return isOrphaned(selectedElement);
+ }
}
}
return false;
}
-
+
private boolean isSynonymInHomotypicalGroupWithMoreSynonyms(Object selectedElement) {
if (isSynonym(selectedElement)){
Synonym synonym = (Synonym) selectedElement;
private boolean isAccepted(Object selectedElement) {
return (selectedElement instanceof Taxon && ! ((Taxon) selectedElement).isMisapplication()) ? true : false;
}
+
+ private boolean isOrphaned(Object selectedElement) {
+ return selectedElement instanceof Taxon && ((Taxon) selectedElement).isOrphaned();
+ }
}