From e42715bae7a0e61c038c4b2740b64e5be20cc7e7 Mon Sep 17 00:00:00 2001 From: Patric Plitzner Date: Wed, 21 Aug 2013 14:54:17 +0000 Subject: [PATCH] - adapted detail views to new cdm3.3 model --- .gitattributes | 4 +- ...ldObservationDetailsElementController.java | 26 ++++---- .../FieldObservationDetailsSection.java | 57 +++++++++++++++++ ...ldObservationGeneralElementController.java | 30 ++++----- ...va => FieldObservationGeneralSection.java} | 10 +-- ...atheringEventDetailsElementController.java | 36 +++++------ .../GatheringEventSection.java | 61 +++++++++++++++++++ .../taxeditor/ui/element/CdmFormFactory.java | 37 ++++++++--- .../taxeditor/view/detail/DetailsViewer.java | 40 +++++++----- 9 files changed, 226 insertions(+), 75 deletions(-) create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java rename eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/{FieldObservationSection.java => FieldObservationGeneralSection.java} (78%) create mode 100644 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java diff --git a/.gitattributes b/.gitattributes index 5df9dc33c..b3240f4fe 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1237,12 +1237,14 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/c eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/compatibility/IEntitySelectionElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsView.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java -text -eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationSection.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java -text +eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElement.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenGeneralElementController.java -text eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenSection.java -text diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java index d7a82d077..fa0469491 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsElementController.java @@ -9,8 +9,7 @@ */ package eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation; -import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; -import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController; import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController; import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; @@ -22,7 +21,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; * @date 15.08.2013 * */ -public class FieldObservationDetailsElementController extends AbstractCdmDetailElement { +public class FieldObservationDetailsElementController extends AbstractCdmDetailElement { private FieldObservationDetailsElement fieldObservationDetailsElement; @@ -55,9 +54,9 @@ public class FieldObservationDetailsElementController extends AbstractCdmDetailE /** {@inheritDoc} */ @Override - protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) { - text_ecology = new TextFieldController(fieldObservationDetailsElement.getText_ecology(), getFormFactory(), formElement, entity.getEcology(CdmStore.getDefaultLanguage()), null); - text_plantDescription = new TextFieldController(fieldObservationDetailsElement.getText_plantDescription(), getFormFactory(), formElement, entity.getPlantDescription(CdmStore.getDefaultLanguage()), style); + protected void createControls(ICdmFormElement formElement, FieldUnit entity, int style) { +// text_ecology = new TextFieldController(fieldObservationDetailsElement.getText_ecology(), getFormFactory(), formElement, entity.getEcology(CdmStore.getDefaultLanguage()), null); +// text_plantDescription = new TextFieldController(fieldObservationDetailsElement.getText_plantDescription(), getFormFactory(), formElement, entity.getPlantDescription(CdmStore.getDefaultLanguage()), style); // Disable for now // text_fieldObjectDefinition = formFactory.createTextWithLabelElement(formElement, "Field Object Definition", entity.getFieldObjectDefinition(CdmStore.getDefaultLanguage()), style); text_fieldNotes = new TextFieldController(fieldObservationDetailsElement.getText_FieldNotes(), getFormFactory(), formElement, entity.getFieldNotes(), style); @@ -68,13 +67,14 @@ public class FieldObservationDetailsElementController extends AbstractCdmDetailE /** {@inheritDoc} */ @Override public void handleEvent(Object eventSource) { - if (eventSource == text_ecology) { - getEntity().setEcology(text_ecology.getText()); - } else if (eventSource == text_plantDescription) { - getEntity().setPlantDescription(text_plantDescription.getText()); - } else if (eventSource == text_fieldObjectDefinition) { - getEntity().addFieldObjectDefinition(text_fieldObjectDefinition.getText(), CdmStore.getDefaultLanguage()); - } else if (eventSource == text_fieldNotes) { +// if (eventSource == text_ecology) { +// getEntity().setEcology(text_ecology.getText()); +// } else if (eventSource == text_plantDescription) { +// getEntity().setPlantDescription(text_plantDescription.getText()); +// } else if (eventSource == text_fieldObjectDefinition) { +// getEntity().addFieldObjectDefinition(text_fieldObjectDefinition.getText(), CdmStore.getDefaultLanguage()); +// } else + if (eventSource == text_fieldNotes) { getEntity().setFieldNotes(text_fieldNotes.getText()); } else if (eventSource == number_individualCount) { getEntity().setIndividualCount(number_individualCount.getInteger()); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java new file mode 100644 index 000000000..abdeeafff --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationDetailsSection.java @@ -0,0 +1,57 @@ +// $Id$ +/** +* Copyright (C) 2013 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.campanula.detailViews.fieldObservation; + +import org.eclipse.jface.viewers.ISelectionProvider; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection; + +/** + * @author pplitzner + * @date 21.08.2013 + * + */ +public class FieldObservationDetailsSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + *

Constructor for FieldObservationDetailSection.

+ * + * @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 FieldObservationDetailsSection(CdmFormFactory formFactory, ConversationHolder conversation, + ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + } + + /** {@inheritDoc} */ + @Override + public String getHeading() { + return "Field Observation Details"; + } + + /* (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.createFieldObservationDetailsElementController(parentElement); + } +} diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java index ad3f9cac2..d4f7d7404 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java @@ -9,10 +9,10 @@ */ package eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation; -import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; import eu.etaxonomy.cdm.model.agent.AgentBase; import eu.etaxonomy.cdm.model.common.LanguageString; import eu.etaxonomy.cdm.model.location.NamedArea; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionFieldController; import eu.etaxonomy.taxeditor.ui.campanula.basicFields.LanguageTextFieldController; import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController; @@ -30,7 +30,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; * @date 13.08.2013 * */ -public class FieldObservationGeneralElementController extends AbstractCdmDetailElement { +public class FieldObservationGeneralElementController extends AbstractCdmDetailElement { private FieldObservationGeneralElement fieldObservationGeneralElement; @@ -62,15 +62,15 @@ public class FieldObservationGeneralElementController extends AbstractCdmDetailE * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int) */ @Override - protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) { + protected void createControls(ICdmFormElement formElement, FieldUnit entity, int style) { toggleableText_titleCache = new ToggleableTextFieldController(fieldObservationGeneralElement.getToggleableTextField(), getFormFactory(), formElement, entity.getTitleCache(), entity.isProtectedTitleCache(), style); - selection_country = new EntitySelectionFieldController(fieldObservationGeneralElement.getCountrySelectionField(), getFormFactory(), getConversationHolder(), formElement, NamedArea.class, entity.getCountry(), EntitySelectionElement.NOTHING); - languageText_locality = new LanguageTextFieldController(fieldObservationGeneralElement.getTextLocality(), getFormFactory(), formElement, entity.getLocality()); - element_point = new PointFieldController(fieldObservationGeneralElement.getPointField(),getFormFactory(), formElement, entity.getExactLocation(), style); - number_elevation = new NumberFieldController(fieldObservationGeneralElement.getTextElevation(), getFormFactory(), formElement, entity.getAbsoluteElevation()); + selection_country = new EntitySelectionFieldController(fieldObservationGeneralElement.getCountrySelectionField(), getFormFactory(), getConversationHolder(), formElement, NamedArea.class, entity.getGatheringEvent().getCountry(), EntitySelectionElement.NOTHING); + languageText_locality = new LanguageTextFieldController(fieldObservationGeneralElement.getTextLocality(), getFormFactory(), formElement, entity.getGatheringEvent().getLocality()); + element_point = new PointFieldController(fieldObservationGeneralElement.getPointField(),getFormFactory(), formElement, entity.getGatheringEvent().getExactLocation(), style); + number_elevation = new NumberFieldController(fieldObservationGeneralElement.getTextElevation(), getFormFactory(), formElement, entity.getGatheringEvent().getAbsoluteElevation()); // element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style); - selection_collector = new EntitySelectionFieldController(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, entity.getCollector(), EntitySelectionElement.ALL); + selection_collector = new EntitySelectionFieldController(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, entity.getGatheringEvent().getCollector(), EntitySelectionElement.ALL); text_collectingNumber = new TextFieldController(fieldObservationGeneralElement.getTextCollectingNumber(), getFormFactory(), formElement, entity.getFieldNumber(), null); } @@ -86,18 +86,18 @@ public class FieldObservationGeneralElementController extends AbstractCdmDetailE if (eventSource == toggleableText_titleCache) { getEntity().setTitleCache(toggleableText_titleCache.getText(), toggleableText_titleCache.getState()); } else if (eventSource == selection_country) { - getEntity().setCountry(selection_country.getSelection()); + getEntity().getGatheringEvent().setCountry(selection_country.getSelection()); } else if (eventSource == languageText_locality) { LanguageString locality = languageText_locality.getLanguageString(); - getEntity().setLocality(locality); + getEntity().getGatheringEvent().setLocality(locality); } else if (eventSource == element_point) { - getEntity().setExactLocation(element_point.getPoint()); + getEntity().getGatheringEvent().setExactLocation(element_point.getPoint()); } else if (eventSource == number_elevation) { - getEntity().setAbsoluteElevation(number_elevation.getInteger()); - } else if (eventSource == element_date) { - getEntity().setGatheringPeriod(element_date.getTimePeriod()); + getEntity().getGatheringEvent().setAbsoluteElevation(number_elevation.getInteger()); +// } else if (eventSource == element_date) { +// getEntity().setGatheringPeriod(element_date.getTimePeriod()); } else if (eventSource == selection_collector) { - getEntity().setCollector(selection_collector.getSelection()); + getEntity().getGatheringEvent().setCollector(selection_collector.getSelection()); } else if (eventSource == text_collectingNumber) { getEntity().setFieldNumber(text_collectingNumber.getText()); } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralSection.java similarity index 78% rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationSection.java rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralSection.java index 544fa2bda..3436af08c 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationSection.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralSection.java @@ -12,7 +12,7 @@ package eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation; import org.eclipse.jface.viewers.ISelectionProvider; import eu.etaxonomy.cdm.api.conversation.ConversationHolder; -import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; @@ -24,7 +24,7 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSect * @date 16.08.2013 * */ -public class FieldObservationSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ +public class FieldObservationGeneralSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ /** *

Constructor for FieldObservationDetailSection.

@@ -35,7 +35,7 @@ public class FieldObservationSection extends AbstractCdmDetailSection createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { - return formFactory.createFieldObservationGeneralElement(parentElement); + protected AbstractCdmDetailElement createCdmDetailElement(AbstractCdmDetailSection parentElement, int style) { + return formFactory.createFieldObservationGeneralElementController(parentElement); } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java index 56f104594..6cf12db48 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java @@ -9,23 +9,19 @@ */ package eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation; -import org.eclipse.ui.forms.widgets.ExpandableComposite; - -import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NumberFieldController; import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController; import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; -import eu.etaxonomy.taxeditor.ui.element.LayoutConstants; import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; -import eu.etaxonomy.taxeditor.ui.section.occurrence.CollectingAreasDetailSection; /** * @author pplitzner * @date 14.08.2013 * */ -public class GatheringEventDetailsElementController extends AbstractCdmDetailElement { +public class GatheringEventDetailsElementController extends AbstractCdmDetailElement { private GatheringEventDetailsElement gatheringEventDetailsElement; @@ -43,7 +39,7 @@ public class GatheringEventDetailsElementController extends AbstractCdmDetailEle private TextFieldController text_gatheringEventDescription; - private CollectingAreasDetailSection section_collectingAreas; +// private CollectingAreasDetailSection section_collectingAreas; /** *

@@ -64,18 +60,18 @@ public class GatheringEventDetailsElementController extends AbstractCdmDetailEle /** {@inheritDoc} */ @Override - protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) { + protected void createControls(ICdmFormElement formElement, FieldUnit entity, int style) { // number_absoluteElevationError = new NumberFieldController(gatheringEventDetailsElement.getTextElevationError(), formFactory, this, entity.getAbsoluteElevation()); // number_absoluteElevationMinimum = new NumberFieldController(gatheringEventDetailsElement.getText_ElevationMinimum(), formFactory, this, entity.getAbsoluteElevationMinimum()); - number_absoluteElevationMaximum = new NumberFieldController(gatheringEventDetailsElement.getText_ElevationMaximum(), formFactory, this, entity.getAbsoluteElevationMaximum()); - text_collectingMethod = new TextFieldController(gatheringEventDetailsElement.getText_CollectingMethod(), formFactory, this, entity.getCollectingMethod(), null); - number_distanceToGround = new NumberFieldController(gatheringEventDetailsElement.getText_DistanceToGround(), formFactory, this, entity.getDistanceToGround()); - number_distanceToWaterSurface = new NumberFieldController(gatheringEventDetailsElement.getText_DistanceToWaterSurface(), formFactory, this, entity.getDistanceToWaterSurface()); - text_gatheringEventDescription = new TextFieldController(gatheringEventDetailsElement.getText_GatheringEventDescription(), formFactory, this, entity.getGatheringEventDescription(), null); - section_collectingAreas = formFactory.createCollectingAreasDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); - section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); - section_collectingAreas.setEntity(entity); + number_absoluteElevationMaximum = new NumberFieldController(gatheringEventDetailsElement.getText_ElevationMaximum(), formFactory, this, entity.getGatheringEvent().getAbsoluteElevationMax()); + text_collectingMethod = new TextFieldController(gatheringEventDetailsElement.getText_CollectingMethod(), formFactory, this, entity.getGatheringEvent().getCollectingMethod(), null); + number_distanceToGround = new NumberFieldController(gatheringEventDetailsElement.getText_DistanceToGround(), formFactory, this, entity.getGatheringEvent().getDistanceToGround()); + number_distanceToWaterSurface = new NumberFieldController(gatheringEventDetailsElement.getText_DistanceToWaterSurface(), formFactory, this, entity.getGatheringEvent().getDistanceToWaterSurface()); + text_gatheringEventDescription = new TextFieldController(gatheringEventDetailsElement.getText_GatheringEventDescription(), formFactory, this, entity.getGatheringEvent().getDescription(), null); +// section_collectingAreas = formFactory.createCollectingAreasDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); +// section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); +// section_collectingAreas.setEntity(entity); } /** {@inheritDoc} */ @@ -103,13 +99,13 @@ public class GatheringEventDetailsElementController extends AbstractCdmDetailEle // } // } else if (eventSource == text_collectingMethod) { - getEntity().setCollectingMethod(text_collectingMethod.getText()); + getEntity().getGatheringEvent().setCollectingMethod(text_collectingMethod.getText()); } else if (eventSource == number_distanceToGround) { - getEntity().setDistanceToGround(number_distanceToGround.getDouble()); + getEntity().getGatheringEvent().setDistanceToGround(number_distanceToGround.getDouble()); } else if (eventSource == number_distanceToWaterSurface) { - getEntity().setDistanceToWaterSurface(number_distanceToWaterSurface.getDouble()); + getEntity().getGatheringEvent().setDistanceToWaterSurface(number_distanceToWaterSurface.getDouble()); } else if (eventSource == text_gatheringEventDescription) { - getEntity().setGatheringEventDescription(text_gatheringEventDescription.getText()); + getEntity().getGatheringEvent().setDescription(text_gatheringEventDescription.getText()); } } } diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java new file mode 100644 index 000000000..e9c71c9ff --- /dev/null +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventSection.java @@ -0,0 +1,61 @@ +// $Id$ +/** +* Copyright (C) 2013 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.campanula.detailViews.fieldObservation; + +import org.eclipse.jface.viewers.ISelectionProvider; + +import eu.etaxonomy.cdm.api.conversation.ConversationHolder; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; +import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; +import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; +import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection; +import eu.etaxonomy.taxeditor.ui.section.occurrence.IDerivedUnitFacadeDetailSection; + +/** + * @author pplitzner + * @date 21.08.2013 + * + */ +public class GatheringEventSection extends AbstractCdmDetailSection implements IDerivedUnitFacadeDetailSection{ + + /** + *

Constructor for GatheringEventDetailSection.

+ * + * @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 GatheringEventSection(CdmFormFactory formFactory, + ConversationHolder conversation, ICdmFormElement parentElement, + ISelectionProvider selectionProvider, int style) { + super(formFactory, conversation, parentElement, selectionProvider, style); + } + + + /* (non-Javadoc) + * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#getHeading() + */ + /** {@inheritDoc} */ + @Override + public String getHeading() { + return "Gathering Event Details"; + } + + /* (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.createGatheringEventDetailsElementController(parentElement); + } +} 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 29f1bb064..f02561472 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 @@ -90,7 +90,6 @@ import eu.etaxonomy.cdm.model.name.NomenclaturalStatus; import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; import eu.etaxonomy.cdm.model.occurrence.DeterminationEvent; -import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType; import eu.etaxonomy.cdm.model.reference.Reference; import eu.etaxonomy.cdm.model.taxon.Taxon; import eu.etaxonomy.cdm.model.taxon.TaxonNode; @@ -100,11 +99,13 @@ import eu.etaxonomy.taxeditor.ui.campanula.basicFields.NamedAreaFieldController; import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationDetailsElement; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationDetailsElementController; +import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationDetailsSection; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationGeneralElement; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationGeneralElementController; -import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationSection; +import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationGeneralSection; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventDetailsElement; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventDetailsElementController; +import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventSection; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenGeneralElement; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenGeneralElementController; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenSection; @@ -2184,8 +2185,6 @@ public class CdmFormFactory extends FormToolkit { element = new NamedAreaDetailElement(this, parentElement, (NamedArea) entity, removeListener, style); } else if (entity instanceof DeterminationEvent) { element = new DeterminationEventDetailElement(this, parentElement, (DeterminationEvent) entity, removeListener, style); - } else if (entity instanceof DerivedUnit && ((DerivedUnit)entity).getRecordBasis()==SpecimenOrObservationType.PreservedSpecimen) { - element = new SpecimenCollectionDetailElement(this, parentElement, (DerivedUnit) entity, removeListener, style); } else if (entity instanceof User) { element = new MemberDetailElement(this, parentElement, (User) entity, removeListener, style); } else if (entity instanceof GrantedAuthority) { @@ -2388,8 +2387,32 @@ public class CdmFormFactory extends FormToolkit { * @param i * @return */ - public FieldObservationSection createFieldObservationSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) { - FieldObservationSection section = new FieldObservationSection(this, conversation, parentElement, selectionProvider, style); + public FieldObservationGeneralSection createFieldObservationGeneralSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) { + FieldObservationGeneralSection section = new FieldObservationGeneralSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + /** + * @param conversationHolder + * @param parent + * @param detailsViewer + * @param i + * @return + */ + public GatheringEventSection createGatheringEventSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) { + GatheringEventSection section = new GatheringEventSection(this, conversation, parentElement, selectionProvider, style); + addAndAdaptSection(parentElement, section); + return section; + } + /** + * @param conversationHolder + * @param parent + * @param detailsViewer + * @param i + * @return + */ + public FieldObservationDetailsSection createFieldObservationDetailsSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style) { + FieldObservationDetailsSection section = new FieldObservationDetailsSection(this, conversation, parentElement, selectionProvider, style); addAndAdaptSection(parentElement, section); return section; } @@ -2415,7 +2438,7 @@ public class CdmFormFactory extends FormToolkit { return element; } - public FieldObservationGeneralElementController createFieldObservationGeneralElement(ICdmFormElement parentElement){ + public FieldObservationGeneralElementController createFieldObservationGeneralElementController(ICdmFormElement parentElement){ FieldObservationGeneralElement fieldObservationGeneralElement = new FieldObservationGeneralElement(parentElement.getLayoutComposite(), SWT.NONE); fieldObservationGeneralElement.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1)); FieldObservationGeneralElementController element = new FieldObservationGeneralElementController(fieldObservationGeneralElement, this, parentElement); diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java index f3ec3fd81..01d0d78e5 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java @@ -38,6 +38,7 @@ import eu.etaxonomy.cdm.model.description.PolytomousKeyNode; import eu.etaxonomy.cdm.model.media.Media; import eu.etaxonomy.cdm.model.name.NonViralName; import eu.etaxonomy.cdm.model.occurrence.DerivedUnit; +import eu.etaxonomy.cdm.model.occurrence.FieldUnit; import eu.etaxonomy.cdm.model.reference.Reference; import eu.etaxonomy.cdm.model.taxon.TaxonBase; import eu.etaxonomy.cdm.model.taxon.TaxonRelationship; @@ -47,7 +48,9 @@ import eu.etaxonomy.taxeditor.model.FeatureNodeContainer; import eu.etaxonomy.taxeditor.model.PolytomousKeyRelationship; import eu.etaxonomy.taxeditor.preference.PreferencesUtil; import eu.etaxonomy.taxeditor.store.CdmStore; -import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationSection; +import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationDetailsSection; +import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.FieldObservationGeneralSection; +import eu.etaxonomy.taxeditor.ui.campanula.detailViews.fieldObservation.GatheringEventSection; import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.SpecimenSection; import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection; import eu.etaxonomy.taxeditor.ui.element.RootElement; @@ -76,8 +79,6 @@ import eu.etaxonomy.taxeditor.ui.section.name.NomenclaturalStatusSection; import eu.etaxonomy.taxeditor.ui.section.name.NonViralNameDetailSection; import eu.etaxonomy.taxeditor.ui.section.name.ProtologueSection; import eu.etaxonomy.taxeditor.ui.section.name.TypeDesignationSection; -import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailSection; -import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailSection; import eu.etaxonomy.taxeditor.ui.section.reference.NomenclaturalReferenceDetailSection; import eu.etaxonomy.taxeditor.ui.section.reference.ReferenceDetailSection; import eu.etaxonomy.taxeditor.ui.section.taxon.ParsingMessagesSection; @@ -136,8 +137,7 @@ public class DetailsViewer extends AbstractCdmDataViewer { public void setInput(Object input) { if (input instanceof DerivedUnit) { try { - input = DerivedUnitFacade.NewInstance((DerivedUnit) input, - PreferencesUtil.getDerivedUnitConfigurator()); + input = DerivedUnitFacade.NewInstance((DerivedUnit) input,PreferencesUtil.getDerivedUnitConfigurator()); } catch (DerivedUnitFacadeNotSupportedException e) { AbstractUtility.error(getClass(), e); } @@ -227,6 +227,9 @@ public class DetailsViewer extends AbstractCdmDataViewer { createMediaElementSection(rootElement); } else if (input instanceof DerivedUnitFacade) { + createSpecimenDetailsView(rootElement); + + } else if (input instanceof FieldUnit) { createDerivedUnitBaseElementSection(rootElement); } else if (input instanceof FeatureNodeContainer) { @@ -540,23 +543,18 @@ public class DetailsViewer extends AbstractCdmDataViewer { private void createDerivedUnitBaseElementSection(RootElement parent) { destroySections(); - FieldObservationSection fieldObservationSection = formFactory.createFieldObservationSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); - - formFactory.createHorizontalSeparator(parent, SWT.BORDER); - - GatheringEventDetailSection gatheringEventDetailSection = formFactory.createGatheringEventDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); + FieldObservationGeneralSection fieldObservationSection = formFactory.createFieldObservationGeneralSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); formFactory.createHorizontalSeparator(parent, SWT.BORDER); - FieldObservationDetailSection fieldObservationDetailSection = formFactory.createFieldObservationDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); + GatheringEventSection gatheringEventDetailSection = formFactory.createGatheringEventSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); formFactory.createHorizontalSeparator(parent, SWT.BORDER); - SpecimenSection specimenSection = formFactory.createSpecimenSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + FieldObservationDetailsSection fieldObservationDetailSection = formFactory.createFieldObservationDetailsSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); formFactory.createHorizontalSeparator(parent, SWT.BORDER); - // DerivedUnitBaseDetailSection derivedUnitBaseDetailSection = formFactory.createDerivedUnitBaseDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE); // // formFactory.createHorizontalSeparator(parent, SWT.BORDER); @@ -566,11 +564,25 @@ public class DetailsViewer extends AbstractCdmDataViewer { addPart(fieldObservationSection); addPart(gatheringEventDetailSection); addPart(fieldObservationDetailSection); - addPart(specimenSection); // addPart(derivedUnitBaseDetailSection); // addPart(determinationDetailSection); } + /** + * createDerivedUnitBaseElementSection + * + * @param parent + */ + private void createSpecimenDetailsView(RootElement parent) { + destroySections(); + + SpecimenSection specimenSection = formFactory.createSpecimenSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED); + + formFactory.createHorizontalSeparator(parent, SWT.BORDER); + + addPart(specimenSection); + } + /** * @param rootElement */ -- 2.34.1