Listen to taxon selection
authorPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 7 Oct 2015 15:33:17 +0000 (17:33 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 7 Oct 2015 15:33:17 +0000 (17:33 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivative/OccurrenceView.java

index e0641a75b5087cb49a0e21a4d734c657819d036e..046c24b913d26b291323cc46e48674630798d806 100644 (file)
@@ -9,9 +9,12 @@
 */
 package eu.etaxonomy.taxeditor.view.derivative;
 
+import java.util.Collection;
+
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.AbstractTreeViewer;
 import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -24,6 +27,11 @@ import org.eclipse.ui.ISelectionService;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.part.ViewPart;
 
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.model.IPartContentHasDetails;
+import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateContentProvider;
 import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
 
@@ -32,7 +40,7 @@ import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
  * @date Oct 7, 2015
  *
  */
-public class OccurrenceView extends ViewPart implements ISelectionListener{
+public class OccurrenceView extends ViewPart implements ISelectionListener, IPartContentHasDetails{
 
     public static String ID = "eu.etaxonomy.taxeditor.view.derivative.OccurrenceView";
 
@@ -97,6 +105,12 @@ public class OccurrenceView extends ViewPart implements ISelectionListener{
      */
     @Override
     public void selectionChanged(IWorkbenchPart part, ISelection selection) {
-        System.out.println(selection);
+        if(selection instanceof IStructuredSelection){
+            Object selectedElement = ((IStructuredSelection) selection).getFirstElement();
+            if(selectedElement instanceof Taxon){
+                Collection<SpecimenOrObservationBase> fieldUnits = CdmStore.getService(IOccurrenceService.class).listFieldUnitsByAssociatedTaxon((Taxon) selectedElement, null, null);
+                viewer.setInput(fieldUnits);
+            }
+        }
     }
 }