From 76be242c2f1caedde8598e9ce27246dbaa45d3de Mon Sep 17 00:00:00 2001 From: Patrick Plitzner Date: Tue, 17 Nov 2015 16:34:09 +0100 Subject: [PATCH] Simplify selectionChanged method --- .../editor/view/derivate/DerivateView.java | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java index ba2b31681..95d3b9392 100644 --- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java +++ b/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java @@ -52,6 +52,7 @@ import eu.etaxonomy.cdm.model.taxon.TaxonNode; import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap; import eu.etaxonomy.taxeditor.editor.EditorUtil; import eu.etaxonomy.taxeditor.editor.Messages; +import eu.etaxonomy.taxeditor.editor.MultiPageTaxonEditor; import eu.etaxonomy.taxeditor.editor.view.derivate.searchFilter.DerivateSearchCompositeController; import eu.etaxonomy.taxeditor.model.IContextListener; import eu.etaxonomy.taxeditor.model.IDirtyMarkable; @@ -462,23 +463,28 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa if(viewer.getTree().isDisposed()){ return; } - if(listenToSelectionChange && selection instanceof IStructuredSelection){ - Object selectedElement = ((IStructuredSelection) selection).getFirstElement(); - if(selectedElement instanceof CdmBase){ - if(((CdmBase) selectedElement).isInstanceOf(TaxonNode.class)){ - selectedTaxon = HibernateProxyHelper.deproxy(selectedElement, TaxonNode.class).getTaxon(); - } - else if(((CdmBase) selectedElement).isInstanceOf(Taxon.class)){ - selectedTaxon = HibernateProxyHelper.deproxy(selectedElement, Taxon.class); - } - Collection fieldUnits = CdmStore.getService(IOccurrenceService.class).listFieldUnitsByAssociatedTaxon(selectedTaxon, null, null); - Collection uuids = new HashSet(); - for (SpecimenOrObservationBase specimenOrObservationBase : fieldUnits) { - uuids.add(specimenOrObservationBase.getUuid()); + if(listenToSelectionChange){ + if(part instanceof MultiPageTaxonEditor){ + selectedTaxon = ((MultiPageTaxonEditor) part).getTaxon(); + } + else if(selection instanceof IStructuredSelection){ + Object selectedElement = ((IStructuredSelection) selection).getFirstElement(); + if(selectedElement instanceof CdmBase){ + if(((CdmBase) selectedElement).isInstanceOf(TaxonNode.class)){ + selectedTaxon = HibernateProxyHelper.deproxy(selectedElement, TaxonNode.class).getTaxon(); + } + else if(((CdmBase) selectedElement).isInstanceOf(Taxon.class)){ + selectedTaxon = HibernateProxyHelper.deproxy(selectedElement, Taxon.class); + } } - updateRootEntities(uuids); - setPartName("Derivative Editor: " + selectedTaxon.getName()); } + Collection fieldUnits = CdmStore.getService(IOccurrenceService.class).listFieldUnitsByAssociatedTaxon(selectedTaxon, null, null); + Collection uuids = new HashSet(); + for (SpecimenOrObservationBase specimenOrObservationBase : fieldUnits) { + uuids.add(specimenOrObservationBase.getUuid()); + } + updateRootEntities(uuids); + setPartName("Derivative Editor: " + selectedTaxon.getName()); } } -- 2.34.1