Revision 6d684c12
Added by Andreas Müller about 3 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java | ||
---|---|---|
60 | 60 |
IStructuredSelection selection = (IStructuredSelection) receiver; |
61 | 61 |
|
62 | 62 |
Object selectedElement = selection.getFirstElement(); |
63 |
Class<?> type = selectedElement.getClass(); |
|
63 | 64 |
if(selectedElement instanceof UuidAndTitleCache){ |
64 | 65 |
UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache<?>)selectedElement; |
65 |
CdmBase cdmBase = CdmStore.getCommonService().find(uuidAndTitleCache.getType(), uuidAndTitleCache.getUuid()); |
|
66 |
selectedElement = cdmBase; |
|
66 |
type = uuidAndTitleCache.getType(); |
|
67 | 67 |
} |
68 | 68 |
if(EMPTY_NAMES.equals(property)){ |
69 | 69 |
return hasEmptyNames(receiver); |
70 | 70 |
} |
71 |
else if(!(selectedElement instanceof TaxonBase)){
|
|
71 |
else if(!(TaxonBase.class.isAssignableFrom(type))){
|
|
72 | 72 |
return false; |
73 | 73 |
} |
74 |
else if(NOT_ACCEPTED.equals(property)){ |
|
74 |
if(selectedElement instanceof UuidAndTitleCache){ |
|
75 |
UuidAndTitleCache uuidAndTitleCache = (UuidAndTitleCache<?>)selectedElement; |
|
76 |
CdmBase cdmBase = CdmStore.getCommonService().find(uuidAndTitleCache.getType(), uuidAndTitleCache.getUuid()); |
|
77 |
selectedElement = cdmBase; |
|
78 |
} |
|
79 |
if(NOT_ACCEPTED.equals(property)){ |
|
75 | 80 |
return !isAccepted(selectedElement); |
76 | 81 |
} |
77 | 82 |
else if(ACCEPTED.equals(property)){ |
Also available in: Unified diff
improve performance by first testing type before loading uuidAndTitle for property tester