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();