From: Patrick Plitzner Date: Tue, 9 Feb 2016 06:37:57 +0000 (+0100) Subject: Add menu option to open specimens from navigator X-Git-Tag: 4.0.0^2~145 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/eed59bfd48b0c471024d35312b58b0324118fe9c Add menu option to open specimens from navigator --- diff --git a/eu.etaxonomy.taxeditor.editor/plugin.xml b/eu.etaxonomy.taxeditor.editor/plugin.xml index 64aa8f2cf..0db8a38fe 100644 --- a/eu.etaxonomy.taxeditor.editor/plugin.xml +++ b/eu.etaxonomy.taxeditor.editor/plugin.xml @@ -729,6 +729,9 @@ + + @@ -1260,6 +1263,18 @@ + + + + + + + + + + diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/OpenDerivativeEditorForTaxonNode.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/OpenDerivativeEditorForTaxonNode.java new file mode 100644 index 000000000..6fdbcd4fe --- /dev/null +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/handler/OpenDerivativeEditorForTaxonNode.java @@ -0,0 +1,44 @@ +package eu.etaxonomy.taxeditor.editor.view.derivate.handler; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +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.api.service.ITaxonNodeService; +import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; +import eu.etaxonomy.cdm.model.taxon.TaxonNode; +import eu.etaxonomy.taxeditor.editor.EditorUtil; +import eu.etaxonomy.taxeditor.editor.handler.OpenDerivateViewHandler; +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 OpenDerivativeEditorForTaxonNode extends DefaultOpenHandlerBase { + + @Override + protected TaxonNode getEntity(UUID uuid) { + return CdmStore.getService(ITaxonNodeService.class).load(uuid); + } + + @Override + protected void open(ExecutionEvent event, TaxonNode entity) { + List specimens = CdmStore.getService(IOccurrenceService.class).listByAssociatedTaxon(SpecimenOrObservationBase.class, null, entity.getTaxon(), null, null, null, null, null); + Collection specimenUuids = new ArrayList(); + for (SpecimenOrObservationBase specimenOrObservationBase : specimens) { + specimenUuids.add(specimenOrObservationBase.getUuid()); + } + try { + EditorUtil.open(new DerivateViewEditorInput(specimenUuids)); + } catch (PartInitException e) { + MessagingUtils.error(OpenDerivateViewHandler.class, "Derivative Editor could not be opened", e); + } + + } + +} diff --git a/eu.etaxonomy.taxeditor.navigation/plugin.xml b/eu.etaxonomy.taxeditor.navigation/plugin.xml index 85bdb4838..bb5599054 100644 --- a/eu.etaxonomy.taxeditor.navigation/plugin.xml +++ b/eu.etaxonomy.taxeditor.navigation/plugin.xml @@ -178,6 +178,9 @@ class="eu.etaxonomy.taxeditor.view.CdmViewerContextMenu" id="eu.etaxonomy.taxeditor.navigation.cdmViewerContextMenu"> + +