- adapted details views and wizards to cdm changes (amplifaction + amplification...
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / dna / TissueSampleGeneralDetailElement.java
index 5cb1e2bc1ec656b35ae27ee218214e0a64d07146..59721c32fc63b65f2bac44a74a674f3359936dea 100644 (file)
@@ -12,6 +12,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 import org.apache.log4j.Logger;
 
 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;
@@ -37,7 +38,7 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
     static private final Logger logger = Logger.getLogger(TissueSampleGeneralDetailElement.class);
 
     private TermComboElement<DefinedTerm> comboKindOfTissue;
-    private EntitySelectionElement<AgentBase> selectionInstitution;
+    private EntitySelectionElement<Institution> selectionInstitution;
     private EntitySelectionElement<AgentBase> selectionStaff;
     private TimePeriodElement datePreparation;
     private TermComboElement<DefinedTerm> comboPreservationMedium;
@@ -64,19 +65,20 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
      */
     @Override
     protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
-        //TODO handle all parameters here and in handleEvent()
         comboKindOfTissue = formFactory.createDefinedTermComboElement(TermType.KindOfUnit, formElement, "Kind Of Tissue", entity.getKindOfUnit(), style);
-        //TODO: institute
         TimePeriod preparationDate = null;
         DefinedTerm preservationMedium = null;
         AgentBase<?> staff = null;
+        Institution institution = null;
         if(entity.getDerivedFrom()!=null){
             staff = entity.getDerivedFrom().getActor();
             preparationDate = entity.getDerivedFrom().getTimeperiod();
+            institution = entity.getDerivedFrom().getInstitution();
         }
         if(entity.getPreservation()!=null){
             preservationMedium = entity.getPreservation().getMedium();
         }
+        selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", institution, EntitySelectionElement.ALL, style);
         selectionStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Staff", staff, EntitySelectionElement.ALL,style);
         datePreparation = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
         comboPreservationMedium = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Preservation medium", preservationMedium, style);
@@ -96,7 +98,6 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
      */
     @Override
     public void handleEvent(Object eventSource) {
-        //TODO: institute
         if(eventSource==comboKindOfTissue) {
             getEntity().setKindOfUnit(comboKindOfTissue.getSelection());
         }
@@ -117,6 +118,11 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
                 getEntity().getDerivedFrom().setTimeperiod(datePreparation.getTimePeriod());
             }
         }
+        else if(eventSource==selectionInstitution){
+            if(getEntity().getDerivedFrom()!=null){
+                getEntity().getDerivedFrom().setInstitution(selectionInstitution.getSelection());
+            }
+        }
         else if(eventSource==selectionStaff){
             if(getEntity().getDerivedFrom()!=null){
                 getEntity().getDerivedFrom().setActor(selectionStaff.getSelection());