- added some more molecular parameters to the DetailsView
authorPatric Plitzner <p.plitzner@bgbm.org>
Mon, 24 Nov 2014 10:47:33 +0000 (10:47 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Mon, 24 Nov 2014 10:47:33 +0000 (10:47 +0000)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/AmplificationGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/PrimerGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/TissueSampleGeneralDetailElement.java

index 1844b0025fa89a8b0a55d6788074123e5edb5d35..3aaf5d51a3554ad69a831eac7abd2678c6121da0 100644 (file)
@@ -19,9 +19,11 @@ import eu.etaxonomy.cdm.model.molecular.Primer;
 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.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.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
@@ -39,17 +41,6 @@ public class AmplificationGeneralDetailElement extends AbstractCdmDetailElement<
     private EntitySelectionElement<AgentBase> selectionAmplificationStaff;
     private EntitySelectionElement<Primer> selectionPrimerFW;
     private EntitySelectionElement<Primer> selectionPrimerRW;
     private EntitySelectionElement<AgentBase> selectionAmplificationStaff;
     private EntitySelectionElement<Primer> selectionPrimerFW;
     private EntitySelectionElement<Primer> selectionPrimerRW;
-//    private CheckboxElement checkBoxAmplificationSuccess;
-//    private TextWithLabelElement textAmplificationSuccessDetails;
-//    private TermComboElement<DefinedTerm> comboAmplificationMaterialOrMethod;
-
-//    private NumberWithLabelElement numberGelVoltage;
-//    private NumberWithLabelElement numberGelConcentration;
-//    private NumberWithLabelElement numberGelRunningTime;
-//    private TextWithLabelElement textLadderUsed;
-
-//    private TermComboElement<DefinedTerm> comboPurificationMaterialOrMethod;
-
 
     /**
      * @param formFactory
 
     /**
      * @param formFactory
@@ -71,21 +62,17 @@ public class AmplificationGeneralDetailElement extends AbstractCdmDetailElement<
         textDesignation = formFactory.createTextWithLabelElement(formElement, "Designation", entity.getDescription(), style);
         textDesignation.setEnabled(false);
         //TODO institution
         textDesignation = formFactory.createTextWithLabelElement(formElement, "Designation", entity.getDescription(), style);
         textDesignation.setEnabled(false);
         //TODO institution
+//        selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", entity.getInstitution(), EntitySelectionElement.ALL, style);
         selectionAmplificationStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Amplification staff", entity.getActor(), EntitySelectionElement.ALL, style);
         dateAmplification = formFactory.createTimePeriodElement(formElement, "Date", entity.getTimeperiod(), style);
         comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style);
         selectionPrimerFW = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer FW", entity.getForwardPrimer(), EntitySelectionElement.ALL, style);
         selectionPrimerRW = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer RW", entity.getReversePrimer(), EntitySelectionElement.ALL, style);
         selectionAmplificationStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Amplification staff", entity.getActor(), EntitySelectionElement.ALL, style);
         dateAmplification = formFactory.createTimePeriodElement(formElement, "Date", entity.getTimeperiod(), style);
         comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style);
         selectionPrimerFW = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer FW", entity.getForwardPrimer(), EntitySelectionElement.ALL, style);
         selectionPrimerRW = formFactory.createSelectionElement(Primer.class, getConversationHolder(), formElement, "Primer RW", entity.getReversePrimer(), EntitySelectionElement.ALL, style);
-//        checkBoxAmplificationSuccess = formFactory.createCheckbox(formElement, "Amplification Success", entity.getSuccessful(), style);
-//        textAmplificationSuccessDetails = formFactory.createTextWithLabelElement(formElement, "Ampl. Success Details", entity.getSuccessText(), style);
-//        comboAmplificationMaterialOrMethod = formFactory.createTermComboElement(DefinedTerm.class, formElement, "Ampl. Mat. & Meth.", entity.get, style)
-//        numberGelVoltage = formFactory.createNumberTextWithLabelElement(formElement, "Gel Voltage (V)", entity.getElectrophoresisVoltage(), style);
-//        numberGelConcentration = formFactory.createNumberTextWithLabelElement(formElement, "Gel Concentration", entity.getGelConcentration(), style);
-//        numberGelRunningTime = formFactory.createNumberTextWithLabelElement(formElement, "Gel Ruinning Time (Min)", entity.getGelRunningTime(), style);
-//        textLadderUsed = formFactory.createTextWithLabelElement(formElement, "Ladder Used", entity.getLadderUsed(), style);
-//        comboPurificationMaterialOrMethod = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Purification Mat. & Meth.",
-//                entity.getPurification()==null?null:entity.getPurification().getDefinedMaterialOrMethod(), style);
-        //TODO notes
+
+        AnnotationSection annotationSection = formFactory.createAnnotationSection(getConversationHolder(), formElement, style);
+        annotationSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+        annotationSection.setEntity(entity);
+
         updateDesignationText();
     }
 
         updateDesignationText();
     }
 
@@ -150,7 +137,8 @@ public class AmplificationGeneralDetailElement extends AbstractCdmDetailElement<
             updateDesignationText();
         }
         else if(eventSource==selectionInstitution){
             updateDesignationText();
         }
         else if(eventSource==selectionInstitution){
-            //TODO implement
+            //TODO institution
+//            getEntity().setInstitution(selectionInstitution.getSelection());
             updateDesignationText();
         }
         else if(eventSource==selectionPrimerFW){
             updateDesignationText();
         }
         else if(eventSource==selectionPrimerFW){
@@ -159,34 +147,5 @@ public class AmplificationGeneralDetailElement extends AbstractCdmDetailElement<
         else if(eventSource==selectionPrimerRW){
             getEntity().setReversePrimer(selectionPrimerRW.getSelection());
         }
         else if(eventSource==selectionPrimerRW){
             getEntity().setReversePrimer(selectionPrimerRW.getSelection());
         }
-//        else if(eventSource==checkBoxAmplificationSuccess){
-//            getEntity().setSuccessful(checkBoxAmplificationSuccess.getSelection());
-//        }
-//        else if(eventSource==textAmplificationSuccessDetails){
-//            getEntity().setSuccessText(textAmplificationSuccessDetails.getText());
-//        }
-//        else if(eventSource==comboAmplificationMaterialOrMethod){
-//
-//        }
-//        else if(eventSource==numberGelVoltage){
-//            getEntity().setElectrophoresisVoltage(numberGelVoltage.getDouble());
-//        }
-//        else if(eventSource==numberGelConcentration){
-//            getEntity().setGelConcentration(numberGelConcentration.getDouble());
-//        }
-//        else if(eventSource==numberGelRunningTime){
-//            getEntity().setGelRunningTime(numberGelRunningTime.getDouble());
-//        }
-//        else if(eventSource==textLadderUsed){
-//            getEntity().setLadderUsed(textLadderUsed.getText());
-//        }
-//        else if(eventSource==comboPurificationMaterialOrMethod){
-//            MaterialOrMethodEvent purification = getEntity().getPurification();
-//            if(purification==null){
-//                purification = MaterialOrMethodEvent.NewInstance();
-//                getEntity().setPurification(purification);
-//            }
-//            purification.setDefinedMaterialOrMethod(comboPurificationMaterialOrMethod.getSelection());
-//        }
     }
 }
\ No newline at end of file
     }
 }
\ No newline at end of file
index 4461471b5c0074fec33bd38b66e406a670fbb6a5..dd1faa70e9e7c599c5ec2a82f04d548752947bb8 100644 (file)
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 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.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;
 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> {
 
  */
 public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaSample> {
 
+    private EntitySelectionElement<Institution> selectionInstitution;
+    private EntitySelectionElement<AgentBase> selectionStaff;
     private TimePeriodElement datePreservationDate;
     private TimePeriodElement datePreservationDate;
-    private EntitySelectionElement<AgentBase> selectionPreparedBy;
     private NumberWithLabelElement numberPreservationTemperature;
     private TermComboElement<DefinedTerm> comboMaterialOrMethods;
     private TextWithLabelElement textBarcode;
     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) {
      */
     @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();
         }
         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);
         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);
 
     }
         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());
         }
         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());
         }
         else if(eventSource==numberPreservationTemperature){
             addPreservationMethod().setTemperature(numberPreservationTemperature.getDouble());
index b415ef04b0a65718f88ad38e78545eca3dd3c068..da429331e916ea70ce080e7f115b1afefd4d1f19 100644 (file)
@@ -16,8 +16,10 @@ import eu.etaxonomy.cdm.model.reference.Reference;
 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.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.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.supplemental.AnnotationSection;
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
 
 /**
@@ -29,15 +31,11 @@ public class PrimerGeneralDetailElement extends AbstractCdmDetailElement<Primer>
 
 
     private TextWithLabelElement textPrimerName;
 
 
     private TextWithLabelElement textPrimerName;
-    //TODO we are using a basic text field which is backed up by a Sequence object modelwise.
+    // we are using a basic text field which is backed up by a Sequence object modelwise.
     // This is a bit of a overhead as we may just need the sequence string. This may change in future in both directions:
     // either extending this view to support the remaining fields of Sequence or by switching to the more basic SequenceString model element
     private TextWithLabelElement textPrimerSequence;
     private TermComboElement<DefinedTerm> comboMarker;
     // This is a bit of a overhead as we may just need the sequence string. This may change in future in both directions:
     // either extending this view to support the remaining fields of Sequence or by switching to the more basic SequenceString model element
     private TextWithLabelElement textPrimerSequence;
     private TermComboElement<DefinedTerm> comboMarker;
-    /**
-     * free text notes field is backed up by an annotation
-     */
-    private TextWithLabelElement textNotes;
     private EntitySelectionElement<Reference> selectionReference;
 
     /**
     private EntitySelectionElement<Reference> selectionReference;
 
     /**
@@ -63,14 +61,19 @@ public class PrimerGeneralDetailElement extends AbstractCdmDetailElement<Primer>
             sequenceString = entity.getSequence().getString();
         }
         textPrimerSequence = formFactory.createTextWithLabelElement(formElement, "Primer seq. 5'->3'", sequenceString, style);
             sequenceString = entity.getSequence().getString();
         }
         textPrimerSequence = formFactory.createTextWithLabelElement(formElement, "Primer seq. 5'->3'", sequenceString, style);
-        //TODO: marker
-        //TODO: notes
+
+        //TODO dnaMarker
+//        comboMarker = formFactory.createDefinedTermComboElement(TermType.DnaMarker, formElement, "DNA Marker", entity.getDnaMarker(), style);
 
         selectionReference = formFactory
                 .createSelectionElement(Reference.class,
                         getConversationHolder(), formElement, "Reference",
                         entity.getPublishedIn(),
                         EntitySelectionElement.ALL, style);
 
         selectionReference = formFactory
                 .createSelectionElement(Reference.class,
                         getConversationHolder(), formElement, "Reference",
                         entity.getPublishedIn(),
                         EntitySelectionElement.ALL, style);
+
+        AnnotationSection annotationSection = formFactory.createAnnotationSection(getConversationHolder(), formElement, style);
+        annotationSection.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
+        annotationSection.setEntity(entity);
     }
 
     /*
     }
 
     /*
@@ -85,6 +88,10 @@ public class PrimerGeneralDetailElement extends AbstractCdmDetailElement<Primer>
         if(eventSource==textPrimerName){
             getEntity().setLabel(textPrimerName.getText());
         }
         if(eventSource==textPrimerName){
             getEntity().setLabel(textPrimerName.getText());
         }
+        else if(eventSource==comboMarker){
+            //TODO dnaMarker
+//            getEntity().setDnaMarker(comboMarker.getSelection());
+        }
         else if(eventSource==textPrimerSequence){
             SequenceString sequenceString = getEntity().getSequence();
             if(sequenceString==null){
         else if(eventSource==textPrimerSequence){
             SequenceString sequenceString = getEntity().getSequence();
             if(sequenceString==null){
index 00ff3de6b4b45b3b30edf53881076dc9e3c80ae4..ea72fbadf2ca383eabbc212bbda48a0dfde23667 100644 (file)
@@ -64,19 +64,19 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
     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);
     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 staff
-//        selectionStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Staff", null, EntitySelectionElement.ALL, style);
         //TODO: institute
         //TODO: institute
-        TimePeriod preservationDate = null;
+        TimePeriod preparationDate = null;
         DefinedTerm preservationMedium = null;
         DefinedTerm preservationMedium = null;
-//        TimePeriod preparationDate = null;
+        AgentBase<?> staff = null;
+        if(entity.getDerivedFrom()!=null){
+            staff = entity.getDerivedFrom().getActor();
+            preparationDate = entity.getDerivedFrom().getTimeperiod();
+        }
         if(entity.getPreservation()!=null){
         if(entity.getPreservation()!=null){
-            preservationDate = entity.getPreservation().getTimeperiod();
             preservationMedium = entity.getPreservation().getMedium();
             preservationMedium = entity.getPreservation().getMedium();
-
         }
         }
-        //TODO preparation date
-//        datePreparation = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, 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);
         selectionCollection = formFactory.createSelectionElement(Collection.class, getConversationHolder(), formElement, "Collection", entity.getCollection(), EntitySelectionElement.ALL, style);
         textAccessionNumber = formFactory.createTextWithLabelElement(formElement, "Accession Number", entity.getAccessionNumber(), style);
         comboPreservationMedium = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Preservation medium", preservationMedium, style);
         selectionCollection = formFactory.createSelectionElement(Collection.class, getConversationHolder(), formElement, "Collection", entity.getCollection(), EntitySelectionElement.ALL, style);
         textAccessionNumber = formFactory.createTextWithLabelElement(formElement, "Accession Number", entity.getAccessionNumber(), style);
@@ -93,7 +93,7 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
      */
     @Override
     public void handleEvent(Object eventSource) {
      */
     @Override
     public void handleEvent(Object eventSource) {
-        //TODO: institute, preparation date, prepared by, staff
+        //TODO: institute
         if(eventSource==comboKindOfTissue) {
             getEntity().setKindOfUnit(comboKindOfTissue.getSelection());
         }
         if(eventSource==comboKindOfTissue) {
             getEntity().setKindOfUnit(comboKindOfTissue.getSelection());
         }
@@ -109,6 +109,16 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
         else if(eventSource==textBarcode){
             getEntity().setBarcode(textBarcode.getText());
         }
         else if(eventSource==textBarcode){
             getEntity().setBarcode(textBarcode.getText());
         }
+        else if(eventSource==datePreparation){
+            if(getEntity().getDerivedFrom()!=null){
+                getEntity().getDerivedFrom().setTimeperiod(datePreparation.getTimePeriod());
+            }
+        }
+        else if(eventSource==selectionStaff){
+            if(getEntity().getDerivedFrom()!=null){
+                getEntity().getDerivedFrom().setActor(selectionStaff.getSelection());
+            }
+        }
     }
 
     private PreservationMethod addPreservationMethod(){
     }
 
     private PreservationMethod addPreservationMethod(){