Project

General

Profile

« Previous | Next » 

Revision 6d684c12

Added by Andreas Müller almost 3 years ago

improve performance by first testing type before loading uuidAndTitle for property tester

View differences:

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