From f8ab37f4ee240f5effbea4a8322513fb024fc085 Mon Sep 17 00:00:00 2001
From: Patrick Plitzner
Date: Wed, 24 Aug 2016 10:27:04 +0200
Subject: [PATCH] Add support for "Open in..." for taxon association detail
view
---
eu.etaxonomy.taxeditor.editor/plugin.xml | 10 ++++++
...nSpecimenEditorForTypeSpecimenHandler.java | 32 +++++++++++++++++++
.../TaxonAssociationDetailElement.java | 20 +++++++++++-
3 files changed, 61 insertions(+), 1 deletion(-)
create mode 100644 eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/defaultHandler/DefaultOpenSpecimenEditorForTypeSpecimenHandler.java
diff --git a/eu.etaxonomy.taxeditor.editor/plugin.xml b/eu.etaxonomy.taxeditor.editor/plugin.xml
index 0bb691ff2..3ef7f1725 100644
--- a/eu.etaxonomy.taxeditor.editor/plugin.xml
+++ b/eu.etaxonomy.taxeditor.editor/plugin.xml
@@ -1712,6 +1712,11 @@
id="eu.etaxonomy.taxeditor.editor.derivative.toggleLinkWithTaxonSelection"
name="%command.name.TOGGLE_LINK_WITH_TAXON_SELECTION">
+
+
+
+
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/defaultHandler/DefaultOpenSpecimenEditorForTypeSpecimenHandler.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/defaultHandler/DefaultOpenSpecimenEditorForTypeSpecimenHandler.java
new file mode 100644
index 000000000..3cbc0a4d2
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/defaultHandler/DefaultOpenSpecimenEditorForTypeSpecimenHandler.java
@@ -0,0 +1,32 @@
+package eu.etaxonomy.taxeditor.editor.handler.defaultHandler;
+import java.util.UUID;
+
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.ui.PartInitException;
+
+import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
+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 DefaultOpenSpecimenEditorForTypeSpecimenHandler extends
+ DefaultOpenHandlerBase {
+
+ @Override
+ protected SpecimenTypeDesignation getEntity(UUID uuid) {
+ return CdmStore.getCommonService().find(SpecimenTypeDesignation.class, uuid);
+ }
+
+ @Override
+ protected void open(ExecutionEvent event, SpecimenTypeDesignation entity) {
+ try {
+ EditorUtil.open(new DerivateViewEditorInput(entity.getUuid()));
+ } catch (PartInitException e) {
+ MessagingUtils.error(DefaultOpenSpecimenEditorForTypeSpecimenHandler.class, "Derivative Editor could not be opened", e);
+ }
+ }
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java
index 95dc3613a..994e326d6 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java
@@ -30,6 +30,7 @@ import org.eclipse.ui.forms.widgets.TableWrapLayout;
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
import eu.etaxonomy.cdm.model.common.CdmBase;
import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
import eu.etaxonomy.cdm.model.name.TaxonNameBase;
@@ -87,6 +88,7 @@ public class TaxonAssociationDetailElement extends AbstractCdmDetailElement