- completed Specimen and FieldObservation view + wizards
authorPatric Plitzner <p.plitzner@bgbm.org>
Mon, 2 Sep 2013 17:04:02 +0000 (17:04 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Mon, 2 Sep 2013 17:04:02 +0000 (17:04 +0000)
12 files changed:
.gitattributes
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ComboFieldController.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/TermComboFieldController.java with 97% similarity]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointFieldController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/FieldObservationGeneralElementController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/fieldObservation/GatheringEventDetailsElementController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsElementController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/DerivedUnitDetailsSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/detailViews/specimen/SpecimenDetailsElementController.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java [new file with mode: 0644]

index b317c99cd03989f5be51ebfdd9c10bf0ddb9cda1..eb02b49b3c3a050b020c11a600a2717fee02328c 100644 (file)
@@ -1221,6 +1221,7 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermMana
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/TermStore.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/store/internal/TaxeditorStorePlugin.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/bar/AuthenticatedUserBar.java -text
+eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ComboFieldController.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntityCollectionElement.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionField.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/EntitySelectionFieldController.java -text
@@ -1229,7 +1230,6 @@ eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/b
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/NumberFieldController.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointField.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/PointFieldController.java -text
-eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/TermComboFieldController.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/TextFieldController.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextField.java -text
 eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/campanula/basicFields/ToggleableTextFieldController.java -text
@@ -1450,6 +1450,7 @@ 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/DerivedUnitDetailsWizardPage.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/DeterminationDetailElement.java -text
index 44015b959a9f2161ad477f92591a30a3a0377f0d..8ddca70ed37560264b2412554c245b348f9c8968 100644 (file)
@@ -20,7 +20,7 @@ import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
 import eu.etaxonomy.taxeditor.preference.PreferencesUtil;
 import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitBaseWizardPage;
+import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitDetailsWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationDetailsWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldObservationGeneralWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventDetailsWizardPage;
@@ -63,7 +63,7 @@ public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard<SpecimenOr
 
                     addPage(new SpecimenGeneralWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
                     addPage(new SpecimenDetailsWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
-                    addPage(new DerivedUnitBaseWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
+                    addPage(new DerivedUnitDetailsWizardPage(formFactory, getConversationHolder(), derivedUnitFacade));
                 }
             }
         } catch (DerivedUnitFacadeNotSupportedException e) {
@@ -42,7 +42,7 @@ import eu.etaxonomy.taxeditor.ui.element.ISelectable;
  * @date 15.08.2013
  *
  */
-public class TermComboFieldController<T extends DefinedTermBase> extends AbstractCdmFormElement implements SelectionListener, DisposeListener, IEnableableFormElement, ISelectable {
+public class ComboFieldController<T extends DefinedTermBase> extends AbstractCdmFormElement implements SelectionListener, DisposeListener, IEnableableFormElement, ISelectable {
 
     private static final int DEFAULT_VISIBLE_ITEMS = 10;
 
@@ -84,7 +84,7 @@ public class TermComboFieldController<T extends DefinedTermBase> extends Abstrac
      * @param <T>
      *            a T object.
      */
-    public TermComboFieldController(Combo combo, CdmFormFactory formFactory, ICdmFormElement parentElement, Class<T> termClass, T selection, int style) {
+    public ComboFieldController(Combo combo, CdmFormFactory formFactory, ICdmFormElement parentElement, Class<T> termClass, T selection, int style) {
         super(formFactory, parentElement);
 
         this.termClass = termClass;
index a79f166dc236a2fae1ca2a39b22aabfde23c92a5..babf35208e4559ef780a4b0d8bb9ae69f148e26f 100644 (file)
@@ -34,7 +34,7 @@ public class PointFieldController extends AbstractCdmFormElement implements IEnt
     private final TextFieldController text_latitude;
     private final TextFieldController text_longitude;
     private final NumberFieldController number_errorRadius;
-    private final TermComboFieldController<ReferenceSystem> combo_referenceSystem;
+    private final ComboFieldController<ReferenceSystem> combo_referenceSystem;
 
     private final TextFieldController text_latitudeParsed;
 
@@ -67,7 +67,7 @@ public class PointFieldController extends AbstractCdmFormElement implements IEnt
         text_longitude = new TextFieldController(pointField.getText_longitude(), getFormFactory(), formElement, null, style);
         text_longitudeParsed = new TextFieldController(pointField.getText_longitudeParsed(), getFormFactory(), formElement, null, style);
         number_errorRadius = new NumberFieldController(pointField.getNumber_errorRadius(), getFormFactory(), formElement, (Integer)null);
-        combo_referenceSystem = new TermComboFieldController<ReferenceSystem>(pointField.getCombo_referenceSystem(), getFormFactory(), formElement, ReferenceSystem.class, null, style);
+        combo_referenceSystem = new ComboFieldController<ReferenceSystem>(pointField.getCombo_referenceSystem(), getFormFactory(), formElement, ReferenceSystem.class, null, style);
 
         setPoint(point);
     }
index 674f57e8162fa294793bf6bf738f5c70e9d0b2ae..fa65fc8084a5da641cf8b1ec0dd0e5f23f386527 100644 (file)
@@ -77,7 +77,7 @@ public class FieldObservationGeneralElementController extends AbstractCdmDetailE
         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());
-//        element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
+        element_date = formFactory.createTimePeriodElement(formElement, "Date", entity.getGatheringPeriod(), style);
         selection_collector = new EntitySelectionFieldController<AgentBase>(fieldObservationGeneralElement.getCollectorSelectionField(), getFormFactory(), getConversationHolder(), formElement, AgentBase.class, entity.getCollector(), EntitySelectionElement.ALL);
         text_collectingNumber = new TextFieldController(fieldObservationGeneralElement.getTextCollectingNumber(), getFormFactory(), formElement, entity.getFieldNumber(), null);
         if(isWizard){
@@ -145,8 +145,8 @@ public class FieldObservationGeneralElementController extends AbstractCdmDetailE
             getEntity().setExactLocation(element_point.getPoint());
         } else if (eventSource == number_elevation) {
             getEntity().setAbsoluteElevation(number_elevation.getInteger());
-//        } else if (eventSource == element_date) {
-//            getEntity().setGatheringPeriod(element_date.getTimePeriod());
+        } else if (eventSource == element_date) {
+            getEntity().setGatheringPeriod(element_date.getTimePeriod());
         } else if (eventSource == selection_collector) {
             getEntity().setCollector(selection_collector.getSelection());
         } else if (eventSource == text_collectingNumber) {
index a17d780bfc9e217f48f083065b334e523e3063a8..56f1045949ae8510fb73dc99d578bf1a0d0214db 100644 (file)
@@ -9,12 +9,16 @@
 */
 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.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
@@ -39,7 +43,7 @@ public class GatheringEventDetailsElementController extends AbstractCdmDetailEle
 
     private TextFieldController text_gatheringEventDescription;
 
-//    private CollectingAreasDetailSection section_collectingAreas;
+    private CollectingAreasDetailSection section_collectingAreas;
 
     /**
      * <p>
@@ -69,9 +73,9 @@ public class GatheringEventDetailsElementController extends AbstractCdmDetailEle
         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);
+        section_collectingAreas = formFactory.createCollectingAreasDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
+        section_collectingAreas.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+        section_collectingAreas.setEntity(entity);
     }
 
     /** {@inheritDoc} */
index 82096fcf287c32a3bd03ce590b16b8def37192f2..db4c70d8478ae243ceffee3afd225b6af2f4d718 100644 (file)
@@ -15,7 +15,6 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Display;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.ExpandableComposite;
 import org.eclipse.ui.forms.widgets.FormToolkit;
 import org.eclipse.ui.forms.widgets.TableWrapData;
 import org.eclipse.ui.forms.widgets.TableWrapLayout;
@@ -31,8 +30,10 @@ import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionField;
 public class DerivedUnitDetailsElement extends Composite {
     private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
     private Text textBarcode;
-    private Text text_1;
-    private Text txtNewText;
+    private Text textCatalogNumber;
+    private Text txtExsiccatum;
+    private Combo comboPreservationMethod;
+    private EntitySelectionField storedUnderSelectionField;
 
     /**
      * Create the composite.
@@ -56,33 +57,28 @@ public class DerivedUnitDetailsElement extends Composite {
 
         Label lblCatalognumber = formToolkit.createLabel(this, "CatalogNumber", SWT.NONE);
 
-        text_1 = formToolkit.createText(this, "New Text", SWT.NONE);
-        text_1.setText("");
-        text_1.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+        textCatalogNumber = formToolkit.createText(this, "New Text", SWT.NONE);
+        textCatalogNumber.setText("");
+        textCatalogNumber.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
 
         Label lblPreservationMethod = formToolkit.createLabel(this, "Preservation Method", SWT.NONE);
 
-        Combo combo = new Combo(this, SWT.NONE);
-        combo.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-        formToolkit.adapt(combo);
-        formToolkit.paintBordersFor(combo);
+        comboPreservationMethod = new Combo(this, SWT.NONE);
+        comboPreservationMethod.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
+        formToolkit.adapt(comboPreservationMethod);
+        formToolkit.paintBordersFor(comboPreservationMethod);
 
         Label lblStoredUnder = formToolkit.createLabel(this, "Stored Under", SWT.NONE);
 
-        EntitySelectionField entitySelectionField = new EntitySelectionField(this, SWT.NONE);
-        formToolkit.adapt(entitySelectionField);
-        formToolkit.paintBordersFor(entitySelectionField);
+        storedUnderSelectionField = new EntitySelectionField(this, SWT.NONE);
+        formToolkit.adapt(storedUnderSelectionField);
+        formToolkit.paintBordersFor(storedUnderSelectionField);
 
         Label lblExsiccatum = formToolkit.createLabel(this, "Exsiccatum", SWT.NONE);
 
-        txtNewText = formToolkit.createText(this, "New Text", SWT.NONE);
-        txtNewText.setText("");
-        txtNewText.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
-
-        ExpandableComposite xpndblcmpstSources = formToolkit.createExpandableComposite(this, ExpandableComposite.TWISTIE);
-        xpndblcmpstSources.setLayoutData(new TableWrapData(TableWrapData.LEFT, TableWrapData.TOP, 1, 2));
-        formToolkit.paintBordersFor(xpndblcmpstSources);
-        xpndblcmpstSources.setText("Sources");
+        txtExsiccatum = formToolkit.createText(this, "New Text", SWT.NONE);
+        txtExsiccatum.setText("");
+        txtExsiccatum.setLayoutData(new TableWrapData(TableWrapData.FILL_GRAB, TableWrapData.TOP, 1, 1));
 
     }
 
@@ -91,4 +87,19 @@ public class DerivedUnitDetailsElement extends Composite {
         // Disable the check that prevents subclassing of SWT components
     }
 
+    public Text getTextBarcode() {
+        return textBarcode;
+    }
+    public Text getTextCatalogNumber() {
+        return textCatalogNumber;
+    }
+    public Combo getComboPreservationMethod() {
+        return comboPreservationMethod;
+    }
+    public EntitySelectionField getStoredUnderSelectionField() {
+        return storedUnderSelectionField;
+    }
+    public Text getTxtExsiccatum() {
+        return txtExsiccatum;
+    }
 }
index 98e4355a07bf5f18a39e2e69113bb724ae664294..d70b47c7d180e95b76cb986e0bc04c929cd5e4ea 100644 (file)
@@ -9,10 +9,22 @@
 */
 package eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen;
 
+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.occurrence.PreservationMethod;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
+import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ComboFieldController;
+import eu.etaxonomy.taxeditor.ui.campanula.basicFields.EntitySelectionFieldController;
+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.SourceCollectionDetailSection;
+import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
  * @author pplitzner
@@ -23,6 +35,15 @@ public class DerivedUnitDetailsElementController extends AbstractCdmDetailElemen
 
     private DerivedUnitDetailsElement derivedUnitDetailsElement;
 
+    private TextFieldController barCode;
+    private TextFieldController catalogNumber;
+    private ComboFieldController<PreservationMethod> preservationMethod;
+    private EntitySelectionFieldController<TaxonNameBase> storedUnder;
+    private TextFieldController exsiccatum;
+
+    private SourceCollectionDetailSection section_source;
+
+
     public DerivedUnitDetailsElementController(DerivedUnitDetailsElement derivedUnitDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
         super(formFactory, formElement);
         this.derivedUnitDetailsElement = derivedUnitDetailsElement;
@@ -35,8 +56,31 @@ public class DerivedUnitDetailsElementController extends AbstractCdmDetailElemen
      */
     @Override
     protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
-        // TODO Auto-generated method stub
+        barCode = new TextFieldController(derivedUnitDetailsElement.getTextBarcode(), getFormFactory(), formElement, entity.getBarcode(), null);
+        catalogNumber = new TextFieldController(derivedUnitDetailsElement.getTextCatalogNumber(), getFormFactory(), formElement, entity.getCatalogNumber(), null);
+        PreservationMethod entityPreservationMethod;
+        try {
+            entityPreservationMethod = entity.getPreservationMethod();
+        } catch (MethodNotSupportedByDerivedUnitTypeException e) {
+            // we ignore this
+            AbstractUtility.info(e.getMessage());
+            entityPreservationMethod = null;
+        }
+        preservationMethod = new ComboFieldController<PreservationMethod>(derivedUnitDetailsElement.getComboPreservationMethod(), getFormFactory(), formElement, PreservationMethod.class, entityPreservationMethod, style);
+        storedUnder = new EntitySelectionFieldController<TaxonNameBase>(derivedUnitDetailsElement.getStoredUnderSelectionField(), getFormFactory(), getConversationHolder(), formElement, TaxonNameBase.class, entity.getStoredUnder(), EntitySelectionElement.ALL);
+        String entitiyExsiccatum;
+        try {
+            entitiyExsiccatum = entity.getExsiccatum();
+        } catch (MethodNotSupportedByDerivedUnitTypeException e) {
+            // we ignore this
+            AbstractUtility.info(e.getMessage());
+            entitiyExsiccatum = null;
+        }
+        exsiccatum = new TextFieldController(derivedUnitDetailsElement.getTxtExsiccatum(), getFormFactory(), formElement, entitiyExsiccatum, null);
 
+        section_source = formFactory.createSourceCollectionDetailSection(getConversationHolder(), formElement, ExpandableComposite.TWISTIE);
+        section_source.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+        section_source.setEntity(entity);
     }
 
     /* (non-Javadoc)
@@ -44,7 +88,24 @@ public class DerivedUnitDetailsElementController extends AbstractCdmDetailElemen
      */
     @Override
     public void handleEvent(Object eventSource) {
-        // TODO Auto-generated method stub
-
+        if (eventSource == barCode) {
+            getEntity().setBarcode(barCode.getText());
+        } else if (eventSource == catalogNumber) {
+            getEntity().setCatalogNumber(catalogNumber.getText());
+        } else if (eventSource == preservationMethod) {
+            try {
+                getEntity().setPreservationMethod(preservationMethod.getSelection());
+            } catch (MethodNotSupportedByDerivedUnitTypeException e) {
+                AbstractUtility.errorDialog("MethodNotSupportedByDerivedUnitTypeException", this, "MethodNotSupportedByDerivedUnitTypeException when trying to set preservation method for derive unit", e);
+            }
+        } else if (eventSource == storedUnder) {
+            getEntity().setStoredUnder(storedUnder.getEntity());
+        } else if (eventSource == exsiccatum) {
+            try {
+                getEntity().setExsiccatum(exsiccatum.getText());
+            } catch (Exception e) {
+                AbstractUtility.error(this.getClass(), e);
+            }
+        }
     }
 }
index 5a96d3796bfc2e54956856f9491a14b0f8446c55..db2f504a20212cb64bfb71bc2082c754c6342827 100644 (file)
@@ -43,6 +43,6 @@ public class DerivedUnitDetailsSection extends AbstractCdmDetailSection<DerivedU
      */
     @Override
     protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
-        return formFactory.createDerivedUnitDetailsController(parentElement);
+        return formFactory.createDerivedUnitDetailsElementController(parentElement);
     }
 }
index b7d99c942d39e3a78b163f90b56282d77e96d94e..17d9bcf9db54ef09258a9b92e5a911a0ee22e5ec 100644 (file)
@@ -11,7 +11,7 @@ package eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen;
 
 import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
-import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TermComboFieldController;
+import eu.etaxonomy.taxeditor.ui.campanula.basicFields.ComboFieldController;
 import eu.etaxonomy.taxeditor.ui.campanula.basicFields.TextFieldController;
 import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@@ -28,8 +28,8 @@ public class SpecimenDetailsElementController extends AbstractCdmDetailElement<D
     private TextFieldController individualEcology;
     private TextFieldController plantDescriptionDetails;
     private TextFieldController individualFieldNotes;
-    private TermComboFieldController<DefinedTerm> liveStage;
-    private TermComboFieldController<DefinedTerm> sex;
+    private ComboFieldController<DefinedTerm> liveStage;
+    private ComboFieldController<DefinedTerm> sex;
 
 
     public SpecimenDetailsElementController(SpecimenDetailsElement specimenDetailsElement, CdmFormFactory formFactory, ICdmFormElement formElement) {
@@ -47,8 +47,8 @@ public class SpecimenDetailsElementController extends AbstractCdmDetailElement<D
         individualEcology = new TextFieldController(specimenDetailsElement.getText_IndividualEcology(), getFormFactory(), formElement, entity.getEcology(), null);
         plantDescriptionDetails = new TextFieldController(specimenDetailsElement.getText_PlantDesriptionDetails(), getFormFactory(), formElement, entity.getPlantDescription(), null);
         plantDescriptionDetails = new TextFieldController(specimenDetailsElement.getText_IndividualFieldNotes(), getFormFactory(), formElement, entity.getFieldNotes(), null);
-        liveStage = new TermComboFieldController<DefinedTerm>(specimenDetailsElement.getComboLiveStage(), getFormFactory(), formElement, DefinedTerm.class, entity.getLifeStage(), style);
-        sex = new TermComboFieldController<DefinedTerm>(specimenDetailsElement.getCombo_Sex(), getFormFactory(), formElement, DefinedTerm.class, entity.getSex(), style);
+        liveStage = new ComboFieldController<DefinedTerm>(specimenDetailsElement.getComboLiveStage(), getFormFactory(), formElement, DefinedTerm.class, entity.getLifeStage(), style);
+        sex = new ComboFieldController<DefinedTerm>(specimenDetailsElement.getCombo_Sex(), getFormFactory(), formElement, DefinedTerm.class, entity.getSex(), style);
     }
 
     /* (non-Javadoc)
index 136688560ed3adb2993670d88fc6fe45870892eb..ee3fed4560c42d41d753b70a0f9b4178114d59af 100644 (file)
@@ -2451,7 +2451,7 @@ public class CdmFormFactory extends FormToolkit {
         return controller;
     }
 
-    public DerivedUnitDetailsElementController createDerivedUnitDetailsController(ICdmFormElement parentElement){
+    public DerivedUnitDetailsElementController createDerivedUnitDetailsElementController(ICdmFormElement parentElement){
         DerivedUnitDetailsElement element = new DerivedUnitDetailsElement(parentElement.getLayoutComposite(), SWT.NONE);
         element.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2,1));
         DerivedUnitDetailsElementController controller = new DerivedUnitDetailsElementController(element, this, parentElement);
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/DerivedUnitDetailsWizardPage.java
new file mode 100644 (file)
index 0000000..40c3e3e
--- /dev/null
@@ -0,0 +1,63 @@
+// $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.section.occurrence;
+
+import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
+import eu.etaxonomy.taxeditor.ui.campanula.detailViews.specimen.DerivedUnitDetailsElementController;
+import eu.etaxonomy.taxeditor.ui.element.AbstractCdmEntityWizardPage;
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
+import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+
+/**
+ * @author pplitzner
+ * @date 02.09.2013
+ *
+ */
+public class DerivedUnitDetailsWizardPage extends AbstractCdmEntityWizardPage<DerivedUnitFacade> {
+
+    /**
+     * @param formFactory
+     * @param conversation
+     * @param entity
+     */
+    public DerivedUnitDetailsWizardPage(CdmFormFactory formFactory, ConversationHolder conversation, DerivedUnitFacade entity) {
+        super(formFactory, conversation, entity);
+        setTitle("Derived Unit Details");
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see
+     * eu.etaxonomy.taxeditor.ui.forms.AbstractCdmEntityWizardPage#checkComplete
+     * ()
+     */
+    @Override
+    protected void checkComplete() {
+        setPageComplete(true);
+    }
+
+    /*
+     * (non-Javadoc)
+     *
+     * @see
+     * eu.etaxonomy.taxeditor.forms.AbstractCdmEntityWizardPage#createElement
+     * (eu.etaxonomy.taxeditor.forms.ICdmFormElement)
+     */
+    @Override
+    public AbstractCdmDetailElement<DerivedUnitFacade> createElement(ICdmFormElement rootElement) {
+        DerivedUnitDetailsElementController detailElement = formFactory.createDerivedUnitDetailsElementController(rootElement);
+        detailElement.setEntity(getEntity());
+        checkComplete();
+        return detailElement;
+    }
+}