3 * Copyright (C) 2007 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
11 package eu
.etaxonomy
.taxeditor
.editor
.name
.handler
;
13 import org
.apache
.log4j
.Logger
;
14 import org
.eclipse
.jface
.viewers
.IStructuredSelection
;
16 import eu
.etaxonomy
.cdm
.model
.taxon
.Synonym
;
17 import eu
.etaxonomy
.cdm
.model
.taxon
.Taxon
;
18 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonBase
;
21 * <p>NameEditorMenuPropertyTester class.</p>
24 * @created Jun 22, 2010
27 public class NameEditorMenuPropertyTester
extends org
.eclipse
.core
.expressions
.PropertyTester
{
28 private static final Logger logger
= Logger
.getLogger(NameEditorMenuPropertyTester
.class);
30 private static final String ACCEPTED
= "isAcceptedTaxon";
31 private static final String SYNONYM
= "isSynonym";
32 private static final String MISAPPLICATION
= "isMisapplication";
33 private static final String TAXONBASE
= "isTaxonBase";
34 private static final String CONCEPT
= "isConceptRelation";
37 * <p>Constructor for NameEditorMenuPropertyTester.</p>
39 public NameEditorMenuPropertyTester() {
43 * @see org.eclipse.core.expressions.IPropertyTester#test(java.lang.Object, java.lang.String, java.lang.Object[], java.lang.Object)
46 public boolean test(Object receiver
, String property
, Object
[] args
,
47 Object expectedValue
) {
49 if(!(receiver
instanceof IStructuredSelection
)){
53 IStructuredSelection selection
= (IStructuredSelection
) receiver
;
55 Object selectedElement
= selection
.getFirstElement();
57 if(ACCEPTED
.equals(property
)){
58 return isAccepted(selectedElement
);
60 else if(SYNONYM
.equals(property
)){
61 return isSynonym(selectedElement
);
63 else if(MISAPPLICATION
.equals(property
)){
64 return isMisapplication(selectedElement
);
66 else if(TAXONBASE
.equals(property
)){
67 return isTaxonBase(selectedElement
);
69 else if(CONCEPT
.equals(property
)){
70 return isRelatedConcept(selectedElement
);
77 private boolean isRelatedConcept(Object selectedElement
) {
78 if(selectedElement
instanceof Taxon
&& ((Taxon
) selectedElement
).isRelatedConcept()){
84 private boolean isTaxonBase(Object selectedElement
) {
85 return (selectedElement
instanceof TaxonBase
) ?
true : false;
88 private boolean isMisapplication(Object selectedElement
) {
89 if(selectedElement
instanceof Taxon
&& ((Taxon
) selectedElement
).isMisapplication()){
95 private boolean isSynonym(Object selectedElement
) {
96 return (selectedElement
instanceof Synonym
) ?
true : false;
99 private boolean isAccepted(Object selectedElement
) {
100 return (selectedElement
instanceof Taxon
&& ! ((Taxon
) selectedElement
).isRelatedConcept() && ! ((Taxon
) selectedElement
).isMisapplication()) ?
true : false;