Merge branch 'release/4.6.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / src / main / java / eu / etaxonomy / taxeditor / editor / view / derivate / handler / OpenDerivativeEditorForSpecimenOrOBservationBase.java
1 package eu.etaxonomy.taxeditor.editor.view.derivate.handler;
2
3 import java.util.UUID;
4
5 import org.eclipse.core.commands.ExecutionEvent;
6 import org.eclipse.ui.PartInitException;
7
8 import eu.etaxonomy.cdm.api.service.IOccurrenceService;
9 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
10 import eu.etaxonomy.taxeditor.editor.EditorUtil;
11 import eu.etaxonomy.taxeditor.editor.handler.OpenDerivateViewHandler;
12 import eu.etaxonomy.taxeditor.editor.l10n.Messages;
13 import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
14 import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase;
15 import eu.etaxonomy.taxeditor.model.MessagingUtils;
16 import eu.etaxonomy.taxeditor.store.CdmStore;
17
18 public class OpenDerivativeEditorForSpecimenOrOBservationBase extends DefaultOpenHandlerBase<SpecimenOrObservationBase<?>>{
19
20 protected static final String OPEN_DERIVATIVE_EDITOR_FOR_TAXON_NODE_COULD_NOT_OPEN = Messages.OpenDerivativeEditorForTaxonNode_COULD_NOT_OPEN;
21
22 /**
23 * {@inheritDoc}
24 */
25 @Override
26 protected SpecimenOrObservationBase<?> getEntity(UUID uuid) {
27 return CdmStore.getService(IOccurrenceService.class).load(uuid);
28 }
29
30 @Override
31 protected void open(ExecutionEvent event, SpecimenOrObservationBase<?> entity) {
32 try {
33 EditorUtil.open(new DerivateViewEditorInput(entity.getUuid()));
34 } catch (PartInitException e) {
35 MessagingUtils.error(OpenDerivateViewHandler.class, OPEN_DERIVATIVE_EDITOR_FOR_TAXON_NODE_COULD_NOT_OPEN, e);
36 }
37
38 }
39
40
41
42 }