latest changes from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / dna / DnaSampleGeneralDetailElement.java
index 4461471b5c0074fec33bd38b66e406a670fbb6a5..dd1faa70e9e7c599c5ec2a82f04d548752947bb8 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import eu.etaxonomy.cdm.model.agent.AgentBase;
+import eu.etaxonomy.cdm.model.agent.Institution;
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.common.TermType;
+import eu.etaxonomy.cdm.model.common.TimePeriod;
 import eu.etaxonomy.cdm.model.molecular.DnaSample;
 import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
@@ -30,8 +32,9 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  */
 public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaSample> {
 
+    private EntitySelectionElement<Institution> selectionInstitution;
+    private EntitySelectionElement<AgentBase> selectionStaff;
     private TimePeriodElement datePreservationDate;
-    private EntitySelectionElement<AgentBase> selectionPreparedBy;
     private NumberWithLabelElement numberPreservationTemperature;
     private TermComboElement<DefinedTerm> comboMaterialOrMethods;
     private TextWithLabelElement textBarcode;
@@ -53,18 +56,27 @@ public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaS
      */
     @Override
     protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
+        Institution institution = null;
+        AgentBase<?> staff = null;
+        TimePeriod preparationDate = null;
+        if(entity.getDerivedFrom()!=null){
+//            institution = entity.getDerivedFrom().getInstitution();
+            staff = entity.getDerivedFrom().getActor();
+            preparationDate = entity.getDerivedFrom().getTimeperiod();
+        }
+
         Double temperature = null;
         DefinedTerm definedMaterialOrMethod = null;
         if(entity.getPreservation()!=null){
             temperature = entity.getPreservation().getTemperature();
             definedMaterialOrMethod = entity.getPreservation().getDefinedMaterialOrMethod();
         }
-//        datePreservationDate = formFactory.createTimePeriodElement(formElement, "Preparation date", timePeriod, style);
-//        selectionPreparedBy = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Prepared by", actor, EntitySelectionElement.ALL, style);
+        //TODO institution
+//        selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", staff, EntitySelectionElement.ALL, style);
+        selectionStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Staff", staff, EntitySelectionElement.ALL, style);
+        datePreservationDate = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
         numberPreservationTemperature = formFactory.createNumberTextWithLabelElement(formElement, "Preservation Temp. [C°]", temperature, style);
         comboMaterialOrMethods = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Materials & Methods", definedMaterialOrMethod, style);
-        //TODO preparation date
-        //TODO sample type
         textBarcode = formFactory.createTextWithLabelElement(formElement, "Barcode", entity.getBarcode(), style);
 
     }
@@ -81,8 +93,8 @@ public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaS
         if(eventSource==datePreservationDate){
             addPreservationMethod().setTimeperiod(datePreservationDate.getTimePeriod());
         }
-        else if(eventSource==selectionPreparedBy){
-            addPreservationMethod().setActor(selectionPreparedBy.getSelection());
+        else if(eventSource==selectionStaff){
+            addPreservationMethod().setActor(selectionStaff.getSelection());
         }
         else if(eventSource==numberPreservationTemperature){
             addPreservationMethod().setTemperature(numberPreservationTemperature.getDouble());