From e63c7038446706d80a889f2c0f35a9c5a30b76b4 Mon Sep 17 00:00:00 2001
From: Patric Plitzner
Date: Tue, 3 Mar 2015 11:49:51 +0000
Subject: [PATCH] - added derivate hierarchy section - refactored
DerivateContentProvider
---
.gitattributes | 6 +-
.../editor/view/derivate/DerivateView.java | 3 +-
.../taxeditor/ui/element/CdmFormFactory.java | 27 ++--
.../DerivedUnitFacadeDetailElement.java | 151 ------------------
.../SpecimenHierarchyDetailElement.java | 87 ++++++++++
...va => SpecimenHierarchyDetailSection.java} | 43 ++---
.../DerivateContentProvider.java | 18 ++-
7 files changed, 138 insertions(+), 197 deletions(-)
delete mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java
create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailElement.java
rename eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/{DerivedUnitFacadeDetailSection.java => SpecimenHierarchyDetailSection.java} (51%)
rename {eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate => eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch}/DerivateContentProvider.java (90%)
diff --git a/.gitattributes b/.gitattributes
index fcbb12d05..4b633aea8 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -542,7 +542,6 @@ eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/d
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientReferenceService.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTaxonService.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/transientServices/TransientTermService.java -text
-eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateDragListener.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateDropListener.java -text
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateView.java -text
@@ -1634,8 +1633,6 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occ
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseWizardPage.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitGeneralWizardPage.java -text
@@ -1659,6 +1656,8 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occ
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SourceCollectionDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenCollectionDetailSection.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailElement.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailElement.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/association/TaxonAssociationDetailSection.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/derivedUnit/PreservedSpecimenAbstractDeterminationEventDetailSection.java -text
@@ -1782,6 +1781,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasourc
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/DeleteDataSourceHandler.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/EditDataSourceHandler.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/datasource/handler/UpdateDataSourceHandler.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateContentProvider.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateLabelProvider.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchComposite.java -text
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java -text
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 68445078d..8dc0e35a4 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
@@ -46,6 +46,7 @@ import eu.etaxonomy.taxeditor.model.IPartContentHasMedia;
import eu.etaxonomy.taxeditor.model.IPartContentHasSupplementalData;
import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateContentProvider;
import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
/**
@@ -104,7 +105,7 @@ public class DerivateView extends EditorPart implements IPartContentHasFactualDa
generateMultiLinkSingleReads();
labelProvider.setMultiLinkSingleReads(multiLinkSingleReads);
IEditorInput editorInput = getEditorInput();
- viewer.setInput(editorInput);
+ viewer.setInput(((DerivateViewEditorInput) editorInput).getRootUUIDs());
//set selection to selected derivate if only one was selected
if(editorInput instanceof DerivateViewEditorInput){
Set derivateUUIDs = ((DerivateViewEditorInput) editorInput).getDerivateUUIDs();
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
index e4b2e3874..c9602541c 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
@@ -204,8 +204,6 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectionDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.CurrentDeterminationDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseDetailSection;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailElement;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitFacadeDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.DeterminationDetailElement;
@@ -224,6 +222,8 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.OriginalLabelDataSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.SourceCollectionDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenCollectionDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenHierarchyDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.SpecimenHierarchyDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.association.TaxonAssociationDetailElement;
import eu.etaxonomy.taxeditor.ui.section.occurrence.association.TaxonAssociationDetailSection;
import eu.etaxonomy.taxeditor.ui.section.occurrence.derivedUnit.PreservedSpecimenCurrentDeterminationDetailSection;
@@ -1570,12 +1570,6 @@ public class CdmFormFactory extends FormToolkit {
return section;
}
- public DerivedUnitFacadeDetailSection createDerivedUnitFacadeDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
- DerivedUnitFacadeDetailSection section = new DerivedUnitFacadeDetailSection(this, conversation, parentElement, selectionProvider, style);
- addAndAdaptSection(parentElement, section);
- return section;
- }
-
public FieldUnitDetailSection createFieldUnitDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
FieldUnitDetailSection section = new FieldUnitDetailSection(this, conversation, parentElement, selectionProvider, style);
addAndAdaptSection(parentElement, section);
@@ -1588,6 +1582,12 @@ public class CdmFormFactory extends FormToolkit {
return section;
}
+ public SpecimenHierarchyDetailSection createSpecimenHierarchyDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
+ SpecimenHierarchyDetailSection section = new SpecimenHierarchyDetailSection(this, conversation, parentElement, selectionProvider, style);
+ addAndAdaptSection(parentElement, section);
+ return section;
+ }
+
public DerivedUnitBaseDetailSection createDerivedUnitBaseDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
DerivedUnitBaseDetailSection section = new DerivedUnitBaseDetailSection(this, conversation, parentElement, selectionProvider, style);
addAndAdaptSection(parentElement, section);
@@ -1931,12 +1931,6 @@ public class CdmFormFactory extends FormToolkit {
return element;
}
- public DerivedUnitFacadeDetailElement createDerivedUnitFacadeDetailElement(ICdmFormElement parentElement){
- DerivedUnitFacadeDetailElement element = new DerivedUnitFacadeDetailElement(this, parentElement);
- addAndAdaptElement(parentElement, element);
- return element;
- }
-
public NonViralNameDetailElement createNonViralNameDetailElement(ICdmFormElement parentElement){
NonViralNameDetailElement element = new NonViralNameDetailElement(this, parentElement);
addAndAdaptElement(parentElement, element);
@@ -2106,6 +2100,11 @@ public class CdmFormFactory extends FormToolkit {
return element;
}
+ public SpecimenHierarchyDetailElement createSpecimenHierarchyDetailElement(ICdmFormElement parentElement) {
+ SpecimenHierarchyDetailElement element = new SpecimenHierarchyDetailElement(this, parentElement);
+ addAndAdaptElement(parentElement, element);
+ return element;
+ }
public DerivedUnitBaseDetailElement createDerivedUnitBaseDetailElement(ICdmFormElement parentElement) {
DerivedUnitBaseDetailElement element = new DerivedUnitBaseDetailElement(this, parentElement);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java
deleted file mode 100644
index a736d50f8..000000000
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailElement.java
+++ /dev/null
@@ -1,151 +0,0 @@
-// $Id$
-/**
-* Copyright (C) 2007 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-
-package eu.etaxonomy.taxeditor.ui.section.occurrence;
-
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
-
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeConfigurator;
-import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
-import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
-import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
-import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
-import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
-
-/**
- * DerivedUnitFacadeDetailElement class.
- *
- * @author n.hoffmann
- * @created Jun 17, 2010
- * @version 1.0
- */
-public class DerivedUnitFacadeDetailElement extends AbstractCdmDetailElement {
-
- private DerivedUnitFacade facade;
-
- private final DerivedUnitFacadeConfigurator configurator;
-
- private DerivedUnitGeneralDetailSection section_general;
- private GatheringEventDetailSection section_gatheringEvent;
- private DerivedUnitBaseDetailSection section_derivedUnitBase;
- private FieldUnitDetailSection section_fieldUnit;
-
- /**
- * Constructor for DerivedUnitFacadeDetailElement.
- *
- * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
- * @param formElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
- */
- public DerivedUnitFacadeDetailElement(CdmFormFactory formFactory,
- ICdmFormElement formElement) {
- super(formFactory, formElement);
- configurator = DerivedUnitFacadeConfigurator.NewInstance();
- configurator.setMoveDerivedUnitMediaToGallery(true);
- configurator.setMoveFieldObjectMediaToGallery(true);
- }
-
- /** {@inheritDoc} */
- @Override
- public void setEntity(DerivedUnit entity) {
- super.setEntity(entity);
- try {
- facade = DerivedUnitFacade.NewInstance(entity, configurator);
-
- section_general.setEntity(facade);
- section_derivedUnitBase.setEntity(facade);
- section_gatheringEvent.setEntity(facade);
- section_fieldUnit.setEntity(facade);
-
- } catch (DerivedUnitFacadeNotSupportedException e) {
- MessagingUtils.messageDialog("Error", this, "SpecimenFacadeNotSupportedException while inititating SpecimenFacade", e);
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public void removeElements() {
- super.removeElements();
- if(section_general != null){
- removeControl(section_general);
- section_general.dispose();
- section_general = null;
- }
- if(section_derivedUnitBase != null){
- removeControl(section_derivedUnitBase);
- section_derivedUnitBase.dispose();
- section_derivedUnitBase = null;
- }
- if(section_gatheringEvent != null){
- removeControl(section_gatheringEvent);
- section_gatheringEvent.dispose();
- section_gatheringEvent = null;
- }
- if(section_fieldUnit != null){
- removeControl(section_fieldUnit);
- section_fieldUnit.dispose();
- section_fieldUnit = null;
- }
- }
-
- /** {@inheritDoc} */
- @Override
- public DerivedUnit getEntity() {
- throw new IllegalArgumentException("Should not be called");
- }
-
- /**
- * Getter for the field facade
.
- *
- * @return a {@link eu.etaxonomy.cdm.api.facade.DerivedUnitFacade} object.
- */
- public DerivedUnitFacade getFacade(){
- return facade;
- }
-
- /** {@inheritDoc} */
- @Override
- protected void createControls(ICdmFormElement formElement,
- DerivedUnit entity, int style) {
-
- section_general = formFactory.createDerivedUnitGeneralDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
- section_general.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- addControl(section_general);
- addElement(section_general);
-
- section_gatheringEvent = formFactory.createGatheringEventDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE);
- section_gatheringEvent.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- addControl(section_gatheringEvent);
- addElement(section_gatheringEvent);
-
- section_fieldUnit = formFactory.createFieldUnitDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE);
- section_fieldUnit.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- addControl(section_fieldUnit);
- addElement(section_fieldUnit);
-
- section_derivedUnitBase = formFactory.createDerivedUnitBaseDetailSection(getConversationHolder(), formElement, null, ExpandableComposite.TWISTIE);
- section_derivedUnitBase.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
- addControl(section_derivedUnitBase);
- addElement(section_derivedUnitBase);
- }
-
- /** {@inheritDoc} */
- @Override
- public void handleEvent(Object eventSource) {
- if(eventSource == section_derivedUnitBase || eventSource == section_gatheringEvent || eventSource == section_fieldUnit){
- if(getParentElement() instanceof AbstractCdmDetailSection) {
- ((AbstractCdmDetailSection) getParentElement()).updateTitle();
- }
- }
- }
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailElement.java
new file mode 100644
index 000000000..70623d7b4
--- /dev/null
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailElement.java
@@ -0,0 +1,87 @@
+// $Id$
+/**
+ * Copyright (C) 2007 EDIT
+ * European Distributed Institute of Taxonomy
+ * http://www.e-taxonomy.eu
+ *
+ * The contents of this file are subject to the Mozilla Public License Version 1.1
+ * See LICENSE.TXT at the top of this package for the full license terms.
+ */
+
+package eu.etaxonomy.taxeditor.ui.section.occurrence;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.UUID;
+
+import org.eclipse.jface.viewers.AbstractTreeViewer;
+import org.eclipse.jface.viewers.TreeViewer;
+import org.eclipse.swt.widgets.Tree;
+
+import eu.etaxonomy.cdm.api.service.IOccurrenceService;
+import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
+import eu.etaxonomy.taxeditor.store.CdmStore;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.element.LayoutConstants;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateContentProvider;
+import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
+
+/**
+ * @author n.hoffmann
+ * @created Dec 16, 2010
+ * @version 1.0
+ */
+public class SpecimenHierarchyDetailElement extends AbstractCdmDetailElement> {
+
+ /**
+ * @param formFactory
+ * @param formElement
+ */
+ public SpecimenHierarchyDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
+ super(formFactory, formElement);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
+ * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
+ */
+ @Override
+ protected void createControls(ICdmFormElement formElement, SpecimenOrObservationBase> entity, int style) {
+ TreeViewer viewer = new TreeViewer(getLayoutComposite());
+ DerivateLabelProvider labelProvider = new DerivateLabelProvider();
+ Tree tree = viewer.getTree();
+
+ labelProvider.setConversation(getConversationHolder());
+ tree.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+ viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
+ viewer.setContentProvider(new DerivateContentProvider());
+ viewer.setLabelProvider(labelProvider);
+ //get root (field unit)
+ Collection fieldUnits = CdmStore.getService(IOccurrenceService.class).getFieldUnits(entity.getUuid());
+ Collection fieldUnitUuids = new HashSet();
+ for (FieldUnit fieldUnit : fieldUnits) {
+ fieldUnitUuids.add(fieldUnit.getUuid());
+ }
+ viewer.setInput(Collections.singleton(fieldUnitUuids));
+
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
+ * .lang.Object)
+ */
+ @Override
+ public void handleEvent(Object eventSource) {
+ }
+
+}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailSection.java
similarity index 51%
rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java
rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailSection.java
index 57713fb84..58d626a4e 100644
--- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitFacadeDetailSection.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/SpecimenHierarchyDetailSection.java
@@ -13,47 +13,50 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence;
import org.eclipse.jface.viewers.ISelectionProvider;
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
/**
- * DerivedUnitFacadeDetailSection class.
- *
* @author n.hoffmann
- * @created Jun 17, 2010
+ * @created Dec 16, 2010
* @version 1.0
*/
-public class DerivedUnitFacadeDetailSection extends AbstractCdmDetailSection {
-
- /**
- * Constructor for DerivedUnitFacadeDetailSection.
- *
- * @param formFactory a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory} object.
- * @param conversation a {@link eu.etaxonomy.cdm.api.conversation.ConversationHolder} object.
- * @param parentElement a {@link eu.etaxonomy.taxeditor.ui.element.ICdmFormElement} object.
- * @param selectionProvider a {@link org.eclipse.jface.viewers.ISelectionProvider} object.
- * @param style a int.
+public class SpecimenHierarchyDetailSection extends AbstractCdmDetailSection> {
+
+ private SpecimenHierarchyDetailElement specimenHierarchyDetailElement;
+
+ /**
+ * @param formFactory
+ * @param conversation
+ * @param parentElement
+ * @param selectionProvider
+ * @param style
*/
- public DerivedUnitFacadeDetailSection(CdmFormFactory formFactory, ConversationHolder conversation,
- ICdmFormElement parentElement,
+ public SpecimenHierarchyDetailSection(CdmFormFactory formFactory,
+ ConversationHolder conversation, ICdmFormElement parentElement,
ISelectionProvider selectionProvider, int style) {
super(formFactory, conversation, parentElement, selectionProvider, style);
}
- /** {@inheritDoc} */
+
+ /* (non-Javadoc)
+ * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#getHeading()
+ */
@Override
public String getHeading() {
- return "Unit";
+ return "Specimen Hierarchy";
}
/* (non-Javadoc)
* @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
*/
@Override
- protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) {
- return formFactory.createDerivedUnitFacadeDetailElement(parentElement);
+ protected AbstractCdmDetailElement> createCdmDetailElement(AbstractCdmDetailSection> parentElement, int style) {
+ specimenHierarchyDetailElement = formFactory.createSpecimenHierarchyDetailElement(parentElement);
+ return specimenHierarchyDetailElement;
}
+
}
diff --git a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateContentProvider.java
similarity index 90%
rename from eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java
rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateContentProvider.java
index 023d217fe..7c3c5e282 100644
--- a/eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/DerivateContentProvider.java
+++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateContentProvider.java
@@ -1,4 +1,4 @@
-package eu.etaxonomy.taxeditor.editor.view.derivate;
+package eu.etaxonomy.taxeditor.view.derivateSearch;
import java.util.ArrayList;
import java.util.LinkedHashSet;
@@ -35,13 +35,15 @@ public class DerivateContentProvider implements ITreeContentProvider {
@Override
public Object[] getElements(Object inputElement) {
List rootElements = new ArrayList();
- if(inputElement instanceof DerivateViewEditorInput){
- Set rootUUIDs = ((DerivateViewEditorInput) inputElement).getRootUUIDs();
- for (UUID uuid : rootUUIDs) {
- SpecimenOrObservationBase> rootElement = CdmStore.getService(IOccurrenceService.class).load(uuid);
- if(rootElement!=null){
- rootElements.add(new TreeNode(rootElement));
- }
+ if(inputElement instanceof Set){
+ for (Object o: (Set)inputElement) {
+ if(o instanceof UUID){
+ UUID uuid = (UUID)o;
+ SpecimenOrObservationBase> rootElement = CdmStore.getService(IOccurrenceService.class).load(uuid);
+ if(rootElement!=null){
+ rootElements.add(new TreeNode(rootElement));
+ }
+ }
}
}
return rootElements.toArray();
--
2.34.1