</with>
</activeWhen>
</handler>
+ <handler
+ class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.OpenDerivativeEditorForSpecimenOrOBservationBase"
+ commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor">
+ <activeWhen>
+ <with
+ variable="activePartId">
+ <equals
+ value="bulkeditor.editor">
+ </equals>
+ </with>
+ </activeWhen>
+ </handler>
<handler
class="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistViewHandler">
selection="eu.etaxonomy.cdm.model.taxon.TaxonRelationship"
viewerName="Bulk Editor">
</viewCommandMapping>
+ <viewCommandMapping
+ commandId="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
+ selection="eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase"
+ viewerName="Specimen Editor">
+ </viewCommandMapping>
</extension>
</plugin>
--- /dev/null
+package eu.etaxonomy.taxeditor.editor.view.derivate.handler;
+
+import java.util.UUID;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.ui.PartInitException;
+
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.editor.handler.OpenDerivateViewHandler;
+import eu.etaxonomy.taxeditor.editor.l10n.Messages;
+import eu.etaxonomy.taxeditor.editor.view.derivate.DerivateViewEditorInput;
+import eu.etaxonomy.taxeditor.handler.defaultHandler.DefaultOpenHandlerBase;
+import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+
+public class OpenDerivativeEditorForSpecimenOrOBservationBase extends DefaultOpenHandlerBase<SpecimenOrObservationBase<?>>{
+
+ protected static final String OPEN_DERIVATIVE_EDITOR_FOR_TAXON_NODE_COULD_NOT_OPEN = Messages.OpenDerivativeEditorForTaxonNode_COULD_NOT_OPEN;
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected SpecimenOrObservationBase<?> getEntity(UUID uuid) {
+ return CdmStore.getService(IOccurrenceService.class).load(uuid);
+ }
+
+ @Override
+ protected void open(ExecutionEvent event, SpecimenOrObservationBase<?> entity) {
+ try {
+ EditorUtil.open(new DerivateViewEditorInput(entity.getUuid()));
+ } catch (PartInitException e) {
+ MessagingUtils.error(OpenDerivateViewHandler.class, OPEN_DERIVATIVE_EDITOR_FOR_TAXON_NODE_COULD_NOT_OPEN, e);
+ }
+
+ }
+
+
+
+}