Merge branch 'develop' of ssh://dev.e-taxonomy.eu/var/git/taxeditor into develop
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / handler / defaultHandler / DefaultOpenTaxonEditorForTaxonHandler.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.ITaxonService;
8 import eu.etaxonomy.cdm.model.taxon.TaxonBase;
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 DefaultOpenTaxonEditorForTaxonHandler extends DefaultOpenHandlerBase<TaxonBase> {
17
18 @Override
19 protected TaxonBase getEntity(UUID uuid) {
20 return CdmStore.getService(ITaxonService.class).load(uuid);
21 }
22
23 @Override
24 protected void open(ExecutionEvent event, TaxonBase entity) {
25 TaxonEditorInput input = TaxonEditorInput.NewInstanceFromTaxonBase(entity.getUuid());
26 try {
27 EditorUtil.open(input);
28 } catch (PartInitException e) {
29 MessagingUtils.error(DefaultOpenTaxonEditorForTaxonHandler.class, "Could not open taxon editor for taxon "+input.getTaxon(), e);
30 }
31 }
32
33 }