Merge branch 'release/4.0.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / handler / defaultHandler / DefaultOpenTaxonEditorForTaxonNodeHandler.java
1 package eu.etaxonomy.taxeditor.editor.handler.defaultHandler;
2 import java.util.UUID;
3
4 import org.eclipse.core.commands.ExecutionEvent;
5 import org.eclipse.ui.PartInitException;
6
7 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
8 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
9 import eu.etaxonomy.taxeditor.editor.EditorUtil;
10 import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
11 import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase;
12 import eu.etaxonomy.taxeditor.model.MessagingUtils;
13 import eu.etaxonomy.taxeditor.store.CdmStore;
14
15
16 public class DefaultOpenTaxonEditorForTaxonNodeHandler extends DefaultOpenHandlerBase<TaxonNode> {
17
18 @Override
19 protected TaxonNode getEntity(UUID uuid) {
20 return CdmStore.getService(ITaxonNodeService.class).load(uuid);
21 }
22
23 @Override
24 protected void open(ExecutionEvent event, TaxonNode entity) {
25 TaxonEditorInput input = TaxonEditorInput.NewInstanceFromTaxonBase(entity.getTaxon().getUuid());
26 try {
27 EditorUtil.open(input);
28 } catch (PartInitException e) {
29 MessagingUtils.error(DefaultOpenTaxonEditorForTaxonNodeHandler.class, "Could not open taxon editor for taxon "+input.getTaxon(), e);
30 }
31 }
32
33 }