merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / name / SpecimenTypeDesignationElement.java
index f7bb967bbb764f38fc57174e505f19bd3350d845..ed46ae652592ed2d9eab140281632ff891a8780a 100644 (file)
@@ -15,15 +15,14 @@ import org.eclipse.swt.events.SelectionListener;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
-import eu.etaxonomy.cdm.model.occurrence.Specimen;
-import eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.SelectionType;
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.TermComboType;
-import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;
-import eu.etaxonomy.taxeditor.ui.forms.TextWithLabelElement;
-import eu.etaxonomy.taxeditor.ui.selection.DerivedUnitBaseSelectionElement;
-import eu.etaxonomy.taxeditor.ui.term.SpecimenTypeDesignationStatusComboElement;
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
+import eu.etaxonomy.taxeditor.ui.element.AbstractFormSection;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
  * <p>
@@ -37,8 +36,8 @@ import eu.etaxonomy.taxeditor.ui.term.SpecimenTypeDesignationStatusComboElement;
 public class SpecimenTypeDesignationElement extends
                AbstractTypeDesignationElement<SpecimenTypeDesignation> {
 
-       private SpecimenTypeDesignationStatusComboElement combo_typeStatus;
-       private DerivedUnitBaseSelectionElement selection_typeSpecimen;
+       private TermComboElement<SpecimenTypeDesignationStatus> combo_typeStatus;
+       private EntitySelectionElement<DerivedUnit> selection_typeSpecimen;
        private TextWithLabelElement text_specimenTypeText;
 
        /**
@@ -47,10 +46,10 @@ public class SpecimenTypeDesignationElement extends
         * </p>
         * 
         * @param formFactory
-        *            a {@link eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory}
+        *            a {@link eu.etaxonomy.taxeditor.ui.element.CdmFormFactory}
         *            object.
         * @param section
-        *            a {@link eu.etaxonomy.taxeditor.ui.forms.AbstractFormSection}
+        *            a {@link eu.etaxonomy.taxeditor.ui.element.AbstractFormSection}
         *            object.
         * @param entity
         *            a {@link eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation}
@@ -69,13 +68,12 @@ public class SpecimenTypeDesignationElement extends
        /** {@inheritDoc} */
        @Override
        public void createControls(ICdmFormElement formElement, int style) {
-               selection_typeSpecimen = (DerivedUnitBaseSelectionElement) formFactory
-                               .createSelectionElement(SelectionType.DERIVED_UNIT,
-                                               getConversationHolder(), formElement, "Unit", null,
-                                               DerivedUnitBaseSelectionElement.DEFAULT, style);
-               combo_typeStatus = (SpecimenTypeDesignationStatusComboElement) formFactory
-                               .createTermComboElement(
-                                               TermComboType.SPECIMENTYPEDESIGNATIONSTATUS,
+               selection_typeSpecimen = formFactory
+                               .createSelectionElement(DerivedUnit.class,
+                                               getConversationHolder(), formElement, "Specimen", null,
+                                               EntitySelectionElement.ALL, style);
+               combo_typeStatus = formFactory
+                               .createTermComboElement(SpecimenTypeDesignationStatus.class,
                                                formElement, "Designation Status", null, style);
 
                super.createControls(formElement, style);
@@ -103,8 +101,8 @@ public class SpecimenTypeDesignationElement extends
                else if (eventSource == text_specimenTypeText) {
                        // TODO this is a simple workaround to enter type specimen as text
                        // strings
-                       if (getEntity().getTypeSpecimen() == null) {
-                               Specimen typeSpecimen = Specimen.NewInstance();
+                       if (getEntity().getTypeSpecimen() == null) {                            
+                               DerivedUnit typeSpecimen = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);                                                                        
                                getEntity().setTypeSpecimen(typeSpecimen);
                        }
                        getEntity().getTypeSpecimen().setTitleCache(