X-Git-Url: https://dev.e-taxonomy.eu/gitweb/taxeditor.git/blobdiff_plain/6504f35ca20f966244b91ca3039591debcb9be79..98db3bf7c580d59b92cfd65d23b8e5cb2d51eb5d:/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java index 81fed7832..000378148 100644 --- a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java +++ b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitBaseDetailElement.java @@ -1,4 +1,3 @@ -// $Id$ /** * Copyright (C) 2007 EDIT * European Distributed Institute of Taxonomy @@ -10,20 +9,21 @@ 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.MethodNotSupportedByDerivedUnitTypeException; -import eu.etaxonomy.cdm.model.name.TaxonNameBase; +import eu.etaxonomy.cdm.model.name.TaxonName; import eu.etaxonomy.cdm.model.occurrence.PreservationMethod; -import eu.etaxonomy.taxeditor.model.AbstractUtility; +import eu.etaxonomy.cdm.model.term.DefinedTerm; +import eu.etaxonomy.cdm.model.term.TermType; +import eu.etaxonomy.taxeditor.model.MessagingUtils; import eu.etaxonomy.taxeditor.store.CdmStore; +import eu.etaxonomy.taxeditor.store.StoreUtil; import eu.etaxonomy.taxeditor.ui.combo.TermComboElement; 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.element.OriginalLabelDataElement; import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement; -import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement; -import eu.etaxonomy.taxeditor.ui.section.campanula.compatibility.ICdmFormElement; import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; /** @@ -36,7 +36,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement; * @version 1.0 */ public class DerivedUnitBaseDetailElement extends - AbstractCdmDetailElement { + AbstractSpecimenOrObservationDetailElement { private TextWithLabelElement text_derivedUnitDefinitions; @@ -44,16 +44,20 @@ public class DerivedUnitBaseDetailElement extends private TextWithLabelElement text_catalogNumber; - private EntitySelectionElement selection_storedUnder; + private EntitySelectionElement selection_storedUnder; private TextWithLabelElement text_exsicatum; - private TermComboElement combo_preservationMethod; + private TermComboElement combo_preservationMethod; private SpecimenCollectionDetailSection section_duplicates; private SourceCollectionDetailSection section_source; + private OriginalLabelDataElement textOriginalLabel; + + + /** *

* Constructor for DerivedUnitBaseDetailElement. @@ -74,70 +78,85 @@ public class DerivedUnitBaseDetailElement extends /** {@inheritDoc} */ @Override protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) { - // Disable for now - // text_derivedUnitDefinitions = - // formFactory.createTextWithLabelElement(formElement, - // "Specimen Definition", - // facade.getDerivedUnitDefinition(CdmStore.getDefaultLanguage()), - // style); + // Disable for now + // text_derivedUnitDefinitions = + // formFactory.createTextWithLabelElement(formElement, + // "Specimen Definition", + // facade.getDerivedUnitDefinition(CdmStore.getDefaultLanguage()), + // style); text_barcode = formFactory.createTextWithLabelElement(formElement, "Barcode", entity.getBarcode(), style); text_catalogNumber = formFactory.createTextWithLabelElement(formElement, "Catalog Number", entity.getCatalogNumber(), style); - try { - combo_preservationMethod = formFactory.createTermComboElement(PreservationMethod.class, formElement, "Preservation Method", entity.getPreservationMethod(), style); - } catch (MethodNotSupportedByDerivedUnitTypeException e) { - // we ignore this - AbstractUtility.info(e.getMessage()); - } - selection_storedUnder = formFactory.createSelectionElement(TaxonNameBase.class, getConversationHolder(), formElement, "Stored Under", entity.getStoredUnder(), EntitySelectionElement.ALL, style); - try { + try { + PreservationMethod preservationMethod = entity.getPreservationMethod(); + combo_preservationMethod = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Preservation Method", preservationMethod==null?null:preservationMethod.getDefinedMaterialOrMethod(), style); + } catch (MethodNotSupportedByDerivedUnitTypeException e) { + // we ignore this + MessagingUtils.info(e.getMessage()); + } + selection_storedUnder = formFactory.createSelectionElement(TaxonName.class, //getConversationHolder(), + formElement, "Stored Under", entity.getStoredUnder(), EntitySelectionElement.ALL, style); + + try { text_exsicatum = formFactory.createTextWithLabelElement(formElement, "Exsiccatum", entity.getExsiccatum(), style); - } catch (MethodNotSupportedByDerivedUnitTypeException e) { - // we ignore this - AbstractUtility.info(e.getMessage()); - } + } catch (MethodNotSupportedByDerivedUnitTypeException e) { + // we ignore this + MessagingUtils.info(e.getMessage()); + } - section_duplicates = formFactory.createSpecimenCollectionDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); - section_duplicates.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); - section_duplicates.setEntity(entity); +// section_duplicates = (SpecimenCollectionDetailSection) formFactory +// .createEntityDetailSection( +// EntityDetailType.SPECIMEN_COLLECTION, +// getConversationHolder(), formElement, Section.TWISTIE); +// section_duplicates +// .setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); +// section_duplicates.setEntity(entity); + + textOriginalLabel = formFactory.createOriginalLabelDataElement(formElement); + textOriginalLabel.setEntity(getEntity()); + + super.createControls(formElement, entity, style); + + section_source = formFactory.createSourceCollectionDetailSection(getConversationHolder(), formElement, StoreUtil.getSectionStyle(SourceCollectionDetailSection.class, entity.getClass().getCanonicalName())); + section_source.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); + section_source.setEntity(entity); - section_source = formFactory.createSourceCollectionDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE); - section_source.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1)); - section_source.setEntity(entity); - } - /** {@inheritDoc} */ - @Override - public void handleEvent(Object eventSource) { - if (eventSource == text_derivedUnitDefinitions) { - getEntity().addDerivedUnitDefinition( - text_derivedUnitDefinitions.getText(), - CdmStore.getDefaultLanguage()); - } else if (eventSource == text_barcode) { - getEntity().setBarcode(text_barcode.getText()); - } else if (eventSource == text_catalogNumber) { - getEntity().setCatalogNumber(text_catalogNumber.getText()); - } else if (eventSource == combo_preservationMethod) { - try { - getEntity().setPreservationMethod( - combo_preservationMethod.getSelection()); - } catch (MethodNotSupportedByDerivedUnitTypeException e) { - AbstractUtility - .errorDialog( - "MethodNotSupportedByDerivedUnitTypeException", - this, - "MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit", - e); - } - } else if (eventSource == selection_storedUnder) { - getEntity().setStoredUnder(selection_storedUnder.getEntity()); - } else if (eventSource == text_exsicatum) { - try { - getEntity().setExsiccatum(text_exsicatum.getText()); - } catch (Exception e) { - AbstractUtility.error(this.getClass(), e); - } - } } + + /** {@inheritDoc} */ + @Override + public void handleEvent(Object eventSource) { + super.handleEvent(eventSource); + if (eventSource == text_derivedUnitDefinitions) { + getEntity().addDerivedUnitDefinition(text_derivedUnitDefinitions.getText(), CdmStore.getDefaultLanguage()); + } else if (eventSource == text_barcode) { + getEntity().setBarcode(text_barcode.getText()); + } else if (eventSource == text_catalogNumber) { + getEntity().setCatalogNumber(text_catalogNumber.getText()); + } else if (eventSource == combo_preservationMethod) { + try { + PreservationMethod preservationMethod = getEntity().getPreservationMethod(); + if(preservationMethod!=null){ + preservationMethod.setDefinedMaterialOrMethod(combo_preservationMethod.getSelection()); + } + } catch (MethodNotSupportedByDerivedUnitTypeException e) { + MessagingUtils + .messageDialog( + "MethodNotSupportedByDerivedUnitTypeException", + this, + "MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit", + e); + } + } else if (eventSource == selection_storedUnder) { + getEntity().setStoredUnder(selection_storedUnder.getEntity()); + } else if (eventSource == text_exsicatum) { + try { + getEntity().setExsiccatum(text_exsicatum.getText()); + } catch (Exception e) { + MessagingUtils.error(this.getClass(), e); + } + } + } }