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