1 package eu
.etaxonomy
.taxeditor
.editor
.handler
;
5 import org
.eclipse
.core
.commands
.ExecutionEvent
;
6 import org
.eclipse
.ui
.PartInitException
;
8 import eu
.etaxonomy
.cdm
.api
.service
.IClassificationService
;
9 import eu
.etaxonomy
.cdm
.api
.service
.ITaxonNodeService
;
10 import eu
.etaxonomy
.cdm
.model
.taxon
.Classification
;
11 import eu
.etaxonomy
.cdm
.model
.taxon
.ITaxonTreeNode
;
12 import eu
.etaxonomy
.cdm
.model
.taxon
.TaxonNode
;
13 import eu
.etaxonomy
.taxeditor
.editor
.EditorUtil
;
14 import eu
.etaxonomy
.taxeditor
.editor
.view
.checklist
.ChecklistEditorInput
;
15 import eu
.etaxonomy
.taxeditor
.handler
.defaultHandler
.DefaultOpenHandlerBase
;
16 import eu
.etaxonomy
.taxeditor
.model
.MessagingUtils
;
17 import eu
.etaxonomy
.taxeditor
.preference
.IPreferenceKeys
;
18 import eu
.etaxonomy
.taxeditor
.preference
.PreferencesUtil
;
19 import eu
.etaxonomy
.taxeditor
.store
.CdmStore
;
21 public class OpenChecklistEditorHandler
extends DefaultOpenHandlerBase
<ITaxonTreeNode
> {
24 protected ITaxonTreeNode
getEntity(UUID uuid
) {
25 ITaxonTreeNode taxonTreeNode
= CdmStore
.getService(ITaxonNodeService
.class).load(uuid
);
26 if(taxonTreeNode
==null){
27 taxonTreeNode
= CdmStore
.getService(IClassificationService
.class).load(uuid
);
33 protected void open(ExecutionEvent event
, ITaxonTreeNode entity
) {
34 if (PreferencesUtil
.getPreferenceStore().getBoolean(IPreferenceKeys
.DISTRIBUTION_AREA_PREFRENCES_ACTIVE
)) {
35 if (entity
instanceof Classification
) {
36 ChecklistEditorInput input
= new ChecklistEditorInput(((Classification
) entity
));
38 EditorUtil
.open(input
);
39 } catch (PartInitException e
) {
40 MessagingUtils
.error(OpenChecklistEditorHandler
.class, "Could not open ChecklistView", e
);
41 } catch (NullPointerException npe
) {
42 MessagingUtils
.messageDialog("Failed to open Editor", OpenChecklistEditorHandler
.class,
43 "Could not open ChecklistView. The hierarchy is corrupted!", npe
);
45 } else if (entity
instanceof TaxonNode
) {
46 ChecklistEditorInput input
= new ChecklistEditorInput((TaxonNode
) entity
);
48 EditorUtil
.open(input
);
49 } catch (PartInitException e
) {
50 MessagingUtils
.error(OpenChecklistEditorHandler
.class, "Could not open ChecklistView", e
);
51 } catch (NullPointerException npe
) {
52 MessagingUtils
.messageDialog("Failed to open Editor", OpenChecklistEditorHandler
.class,
53 "Could not open ChecklistView. The hierarchy is corrupted!", npe
);