Project

General

Profile

Download (4.07 KB) Statistics
| Branch: | Tag: | Revision:
1
package eu.etaxonomy.taxeditor.editor.view.checklist.e4.handler;
2

    
3
import java.util.UUID;
4

    
5
import javax.inject.Inject;
6

    
7
import org.eclipse.e4.core.services.log.Logger;
8
import org.eclipse.e4.ui.workbench.modeling.EPartService;
9
import org.eclipse.swt.widgets.Shell;
10

    
11
import eu.etaxonomy.cdm.api.service.IClassificationService;
12
import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
13
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
14
import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
15
import eu.etaxonomy.taxeditor.editor.AppModelId;
16
import eu.etaxonomy.taxeditor.editor.EditorUtil;
17
import eu.etaxonomy.taxeditor.editor.l10n.Messages;
18
import eu.etaxonomy.taxeditor.handler.defaultHandler.e4.DefaultOpenHandlerBaseE4;
19
import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
20
import eu.etaxonomy.taxeditor.store.CdmStore;
21

    
22
public class OpenChecklistEditorHandlerE4 extends DefaultOpenHandlerBaseE4<ITaxonTreeNode> {
23
    @Inject
24
    private Logger logger;
25
    private static final String COULD_NOT_OPEN_DISTRIBUTION_EDITOR_THE_HIERARCHY_IS_CORRUPTED = Messages.OpenChecklistEditorHandler_COULD_NOT_OPEN_MESSAGE;
26
    private static final String COULD_NOT_OPEN_DISTRIBUTION_EDITOR = Messages.OpenChecklistEditorHandler_COULD_NOT_OPEN_TITLE;
27

    
28
    @Override
29
	protected ITaxonTreeNode getEntity(UUID uuid) {
30
		ITaxonTreeNode taxonTreeNode = CdmStore.getService(ITaxonNodeService.class).load(uuid);
31
		if(taxonTreeNode==null){
32
			taxonTreeNode = CdmStore.getService(IClassificationService.class).load(uuid);
33
		}
34
		return taxonTreeNode;
35
	}
36

    
37
	@Override
38
	protected void open(ITaxonTreeNode entity, Shell shell, EPartService partService) {
39

    
40
//		if (PreferencesUtil.getBooleanValue(EditorPreferencePredicate.DistributionEditorActivated.getKey())) {
41
//			if (StringUtils.isBlank(PreferencesUtil.getStringValue(PreferencePredicate.AvailableDistributionAreaVocabularies.getKey()) )){
42
//
43
//				MessagingUtils.informationDialog(Messages.OpenChecklistEditorHandler_NO_AREAS, Messages.OpenChecklistEditorHandler_CHOOSE_AREA
44
//						+ Messages.OpenChecklistEditorHandler_GOTO_PREFERENCES);
45
//				return;
46
//			}
47
//			if (entity instanceof Classification) {
48
//				ChecklistEditorInput input = new ChecklistEditorInput(((Classification) entity));
49
//				try {
50
//					openChecklistEditor(input, partService);
51
//				} catch (NullPointerException npe) {
52
//					MessagingUtils.messageDialog(COULD_NOT_OPEN_DISTRIBUTION_EDITOR, OpenChecklistEditorHandlerE4.class,
53
//							COULD_NOT_OPEN_DISTRIBUTION_EDITOR_THE_HIERARCHY_IS_CORRUPTED, npe);
54
//				}
55
//			} else if (entity instanceof TaxonNode) {
56
//				ChecklistEditorInput input = new ChecklistEditorInput((TaxonNode) entity);
57
//				try {
58
//					openChecklistEditor(input, partService);
59
//				} catch (NullPointerException npe) {
60
//					MessagingUtils.messageDialog(COULD_NOT_OPEN_DISTRIBUTION_EDITOR, OpenChecklistEditorHandlerE4.class,
61
//							COULD_NOT_OPEN_DISTRIBUTION_EDITOR_THE_HIERARCHY_IS_CORRUPTED, npe);
62
//				}
63
//			}
64
//		}
65

    
66
	    EditorUtil.openDistributionEditor(entity.getUuid(), modelService, partService, application);
67
	}
68

    
69
//	private void openChecklistEditor(ChecklistEditorInput input, EPartService partService) {
70
//		MPart part = partService.createPart(AppModelId.PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_CHECKLIST_E4_CHECKLISTEDITORE4);
71
//		MPartStack editorAreaPartStack = WorkbenchUtility.getEditorAreaPartStack(application, modelService);
72
//		if(editorAreaPartStack!=null){
73
//		    editorAreaPartStack.getChildren().add(part);
74
//		}
75
//		part = partService.showPart(part, PartState.ACTIVATE);
76
//		ChecklistEditorE4 checklistEditor = (ChecklistEditorE4) part.getObject();
77
//		if (checklistEditor != null){
78
//			checklistEditor.init(input);
79
//		}else{
80
//			logger.debug("Editor is null");
81
//		}
82
//	}
83

    
84
    /**
85
     * {@inheritDoc}
86
     */
87
    @Override
88
    protected boolean canExecute(ITaxonTreeNode entity) {
89
        return entity!=null && PreferencesUtil.getBooleanValue(PreferencePredicate.DistributionEditorActivated.getKey());
90
    }
91

    
92
    @Override
93
    protected String getPartId() {
94
        return AppModelId.PARTDESCRIPTOR_EU_ETAXONOMY_TAXEDITOR_EDITOR_VIEW_CHECKLIST_E4_DISTRIBUTIONEDITORPART;
95
    }
96
}
    (1-1/1)