Merge branch 'release/4.6.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.editor.l10n.Messages;
12 import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase;
13 import eu.etaxonomy.taxeditor.model.MessagingUtils;
14 import eu.etaxonomy.taxeditor.store.CdmStore;
15
16
17 public class DefaultOpenTaxonEditorForTaxonNodeHandler extends DefaultOpenHandlerBase<TaxonNode> {
18
19 @Override
20 protected TaxonNode getEntity(UUID uuid) {
21 return CdmStore.getService(ITaxonNodeService.class).load(uuid);
22 }
23
24 @Override
25 protected void open(ExecutionEvent event, TaxonNode entity) {
26 TaxonEditorInput input = TaxonEditorInput.NewInstanceFromTaxonBase(entity.getTaxon().getUuid());
27 try {
28 EditorUtil.open(input);
29 } catch (PartInitException e) {
30 MessagingUtils.error(DefaultOpenTaxonEditorForTaxonNodeHandler.class, Messages.DefaultOpenTaxonEditorForTaxonNodeHandler_COULD_NOT_OPEN+input.getTaxon(), e);
31 }
32 }
33
34 }