From: Patric Plitzner Date: Tue, 3 Mar 2015 11:49:51 +0000 (+0000) Subject: - added derivate hierarchy section X-Git-Tag: 3.6.0~196 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/commitdiff_plain/e63c7038446706d80a889f2c0f35a9c5a30b76b4?hp=90b74be88895da1c59a98f3d01ef9ede4a40a31a - added derivate hierarchy section - refactored DerivateContentProvider --- 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();