fix #8906: adapt dnaSample details view creation to other derived units
authorKatja Luther <k.luther@bgbm.org>
Wed, 1 Apr 2020 09:40:01 +0000 (11:40 +0200)
committerKatja Luther <k.luther@bgbm.org>
Wed, 1 Apr 2020 09:40:01 +0000 (11:40 +0200)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaQualityDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaQualityDetailSection.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/DnaSampleGeneralDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSamplePreparationPreservationDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSamplePreparationPreservationSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SampleDesignationDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/SampleDesignationDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/TissueSampleGeneralDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/TissueSampleGeneralDetailSection.java

index 81a8550e0236350c2675ae1fd324244124d9ac1b..ae4ddcf9a9e1d6dccdb0e9f60935204d2be91440 100644 (file)
@@ -8,16 +8,13 @@
 */
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
-import java.time.ZonedDateTime;
-
 import org.joda.time.DateTime;
-import org.joda.time.LocalDateTime;
 
-import eu.etaxonomy.cdm.model.term.OrderedTerm;
-import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.molecular.DnaQuality;
 import eu.etaxonomy.cdm.model.molecular.DnaSample;
-import eu.etaxonomy.taxeditor.model.DateConverter;
+import eu.etaxonomy.cdm.model.term.OrderedTerm;
+import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
@@ -31,7 +28,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  * @date 05.03.2014
  *
  */
-public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample> {
+public class DnaQualityDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
 
     private TextWithLabelElement textPurificationMethod;
     private NumberWithLabelElement numberRatioOfAbsorbance260_280;
@@ -56,7 +53,8 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample>
      * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
      */
     @Override
-    protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
+    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade facade, int style) {
+        DnaSample entity = (DnaSample)facade.innerDerivedUnit();
         DnaQuality dnaQuality = entity.getDnaQuality();
         if(dnaQuality==null){
             dnaQuality = DnaQuality.NewInstance();
@@ -73,7 +71,7 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample>
         numberConcentration = formFactory.createNumberTextWithLabelElement(formElement, "Concentration", concentration, style);
         comboQualityTerm = formFactory.createDefinedTermComboElement(TermType.DnaQualityType, formElement, "Quality Term", qualityTerm, style);
         DateTime qualityCheckedDate = dnaQuality.getQualityCheckDate();
-        
+
         dateQualityCheck = formFactory.createDateElement(formElement, "Quality Check", qualityCheckedDate, style, false);
     }
 
@@ -86,7 +84,8 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample>
      */
     @Override
     public void handleEvent(Object eventSource) {
-        DnaQuality dnaQuality = getEntity().getDnaQuality();
+        DnaSample entity = (DnaSample)getEntity().innerDerivedUnit();
+        DnaQuality dnaQuality = entity.getDnaQuality();
         if(eventSource==textPurificationMethod){
             dnaQuality.setPurificationMethod(textPurificationMethod.getText());
         }
@@ -104,7 +103,7 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample>
         }
         else if(eventSource==dateQualityCheck.getController()){
             DateTime dateTime = dateQualityCheck.getController().getDateTime();
-            
+
             dnaQuality.setQualityCheckDate(dateTime);
         }
     }
index a3b3773bcf550e5ffeeddd33409dc466ffe2975b..f9c70ca60374148b91f4f92c2c767d0542d4890e 100644 (file)
@@ -11,7 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.molecular.DnaSample;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -22,7 +22,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
  * @date 05.03.2014
  *
  */
-public class DnaQualityDetailSection extends AbstractCdmDetailSection<DnaSample> {
+public class DnaQualityDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> {
 
     /**
      * @param formFactory
@@ -50,7 +50,7 @@ public class DnaQualityDetailSection extends AbstractCdmDetailSection<DnaSample>
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
      */
     @Override
-    protected AbstractCdmDetailElement<DnaSample> createCdmDetailElement(AbstractCdmDetailSection<DnaSample> parentElement, int style) {
+    protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
         return formFactory.createDnaQualityDetailElement(parentElement);
     }
 }
index 932aad668899fc25639e6e1f80adc05dda189b56..a6d1e1458bfd12e3c562e1d422c90c9a769f8015 100644 (file)
@@ -8,6 +8,7 @@
 */
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.molecular.DnaSample;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@@ -22,7 +23,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * @date 16.12.2013
  *
  */
-public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaSample> {
+public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
 
 
     private EntitySelectionElement<Collection> selection_collection;
@@ -34,7 +35,7 @@ public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaS
     }
 
     @Override
-    protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
+    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
         selection_collection = formFactory
                 .createSelectionElement(Collection.class,//getConversationHolder(),
                         formElement, "Collection",
@@ -51,7 +52,7 @@ public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaS
             getEntity().setBarcode(textBarcode.getText());
         }
         else if(eventSource==checkIsPublish){
-            getEntity().setPublish(checkIsPublish.getSelection());
+            ((DnaSample)getEntity().innerDerivedUnit()).setPublish(checkIsPublish.getSelection());
         } else if (eventSource == selection_collection) {
             getEntity().setCollection(selection_collection.getSelection());
         }
index ac1315bbc84b6f65a743f36ccf7c2fee212ad756..54713dda5a77d0dd3ae888d4761060ccdae22cf3 100644 (file)
@@ -11,7 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.molecular.DnaSample;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -22,7 +22,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
  * @date 12.12.2013
  *
  */
-public class DnaSampleGeneralDetailSection extends AbstractCdmDetailSection<DnaSample> {
+public class DnaSampleGeneralDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> {
 
     public DnaSampleGeneralDetailSection(CdmFormFactory formFactory,
             ConversationHolder conversation, ICdmFormElement parentElement,
@@ -37,7 +37,7 @@ public class DnaSampleGeneralDetailSection extends AbstractCdmDetailSection<DnaS
     }
 
     @Override
-    protected AbstractCdmDetailElement<DnaSample> createCdmDetailElement(AbstractCdmDetailSection<DnaSample> parentElement, int style) {
+    protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
         return formFactory.createDnaSampleGeneralDetailElement(parentElement);
     }
 }
index 0dad1cfadc646357fd5d5544e4568748f89ba811..615f1ea54e4cb88cdb1b3cda95a87006f840c844 100644 (file)
@@ -9,6 +9,7 @@
 
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Institution;
 import eu.etaxonomy.cdm.model.common.TimePeriod;
@@ -27,7 +28,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * @date 16.12.2013
  *
  */
-public class DnaSamplePreparationPreservationDetailElement extends AbstractCdmDetailElement<DnaSample> {
+public class DnaSamplePreparationPreservationDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
 
     private EntitySelectionElement<Institution> selectionInstitution;
     private EntitySelectionElement<AgentBase> selectionStaff;
@@ -51,10 +52,11 @@ public class DnaSamplePreparationPreservationDetailElement extends AbstractCdmDe
      * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
      */
     @Override
-    protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
+    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade facade, int style) {
         Institution institution = null;
         AgentBase<?> staff = null;
         TimePeriod preparationDate = null;
+        DnaSample entity = (DnaSample)facade.innerDerivedUnit();
         if(entity.getDerivedFrom()!=null){
             institution = entity.getDerivedFrom().getInstitution();
             staff = entity.getDerivedFrom().getActor();
@@ -88,34 +90,36 @@ public class DnaSamplePreparationPreservationDetailElement extends AbstractCdmDe
      */
     @Override
     public void handleEvent(Object eventSource) {
+        DnaSample entity = (DnaSample)getEntity().innerDerivedUnit();
         if(eventSource==datePreparationDate){
-            if(getEntity().getDerivedFrom()!=null){
-                getEntity().getDerivedFrom().setTimeperiod(datePreparationDate.getTimePeriod());
+            if(entity.getDerivedFrom()!=null){
+                entity.getDerivedFrom().setTimeperiod(datePreparationDate.getTimePeriod());
             }
         }
         else if(eventSource==selectionInstitution){
-            if(getEntity().getDerivedFrom()!=null){
-                getEntity().getDerivedFrom().setInstitution(selectionInstitution.getSelection());
+            if(entity.getDerivedFrom()!=null){
+                entity.getDerivedFrom().setInstitution(selectionInstitution.getSelection());
             }
         }
         else if(eventSource==selectionStaff){
-            if(getEntity().getDerivedFrom()!=null){
-                getEntity().getDerivedFrom().setActor(selectionStaff.getSelection());
+            if(entity.getDerivedFrom()!=null){
+                entity.getDerivedFrom().setActor(selectionStaff.getSelection());
             }
         }
         else if(eventSource==numberPreservationTemperature && numberPreservationTemperature.getText()!=null){
             addPreservationMethod().setTemperature(numberPreservationTemperature.getDouble());
         }
-        else if(eventSource==txtMaterialOrMethods && getEntity().getDerivedFrom()!=null){
-            getEntity().getDerivedFrom().setDescription(txtMaterialOrMethods.getText());
+        else if(eventSource==txtMaterialOrMethods && entity.getDerivedFrom()!=null){
+            entity.getDerivedFrom().setDescription(txtMaterialOrMethods.getText());
         }
     }
 
     private PreservationMethod addPreservationMethod(){
-        PreservationMethod preservationMethod = getEntity().getPreservation();
+        DnaSample entity = (DnaSample)getEntity().innerDerivedUnit();
+        PreservationMethod preservationMethod = entity.getPreservation();
         if(preservationMethod==null){
             preservationMethod = PreservationMethod.NewInstance();
-            getEntity().setPreservation(preservationMethod);
+            entity.setPreservation(preservationMethod);
         }
         return preservationMethod;
     }
index 82b2bcf880e5a2752bba8658ddbe5f466fae61db..bfec88afd07c3e273492b90b76463179547b5ee2 100644 (file)
@@ -11,7 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.molecular.DnaSample;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -22,7 +22,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
  * @date 12.12.2013
  *
  */
-public class DnaSamplePreparationPreservationSection extends AbstractCdmDetailSection<DnaSample> {
+public class DnaSamplePreparationPreservationSection extends AbstractCdmDetailSection<DerivedUnitFacade> {
 
     public DnaSamplePreparationPreservationSection(CdmFormFactory formFactory,
             ConversationHolder conversation, ICdmFormElement parentElement,
@@ -37,7 +37,7 @@ public class DnaSamplePreparationPreservationSection extends AbstractCdmDetailSe
     }
 
     @Override
-    protected AbstractCdmDetailElement<DnaSample> createCdmDetailElement(AbstractCdmDetailSection<DnaSample> parentElement, int style) {
+    protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
         return formFactory.createDnaSamplePreparationPreservationDetailElement(parentElement);
     }
 }
index b7c7047a005c723ecb8e8be9e65492be219553eb..b4cd1cbfeea202805d0182b2d9b43a818843863e 100644 (file)
@@ -9,7 +9,8 @@
 
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
-import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.model.molecular.DnaSample;
 import eu.etaxonomy.taxeditor.store.StoreUtil;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
@@ -22,7 +23,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
  * @date Oct 20, 2014
  *
  */
-public class SampleDesignationDetailElement extends AbstractCdmDetailElement<IdentifiableEntity<?>> {
+public class SampleDesignationDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
 
        private CurrentSampleDesignationDetailSection sectionCurrentSampleDesignation;
 
@@ -42,8 +43,8 @@ public class SampleDesignationDetailElement extends AbstractCdmDetailElement<Ide
         */
        @Override
        protected void createControls(ICdmFormElement formElement,
-               IdentifiableEntity<?> entity, int style) {
-
+               DerivedUnitFacade facade, int style) {
+           DnaSample entity = (DnaSample)getEntity().innerDerivedUnit();
         sectionCurrentSampleDesignation = formFactory.createCurrentSampleDesignationDetailSection(getConversationHolder(), formElement, StoreUtil.getSectionStyle(CurrentSampleDesignationDetailSection.class, entity.getClass().getCanonicalName(), true));
         sectionCurrentSampleDesignation.setLayoutData(LayoutConstants.FILL_HORIZONTALLY(2, 1));
         sectionCurrentSampleDesignation.setEntity(entity);
index 4c061f4db3da0327c6c17c3300f0309361e9b1f7..da688d76bf2f68f4845114f8c7e424e10a45f575 100644 (file)
@@ -12,7 +12,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.common.IdentifiableEntity;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -23,7 +23,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
  * @created May 11, 2011
  * @version 1.0
  */
-public class SampleDesignationDetailSection extends AbstractCdmDetailSection<IdentifiableEntity<?>> {
+public class SampleDesignationDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> {
 
        /**
         * @param formFactory
@@ -56,7 +56,7 @@ public class SampleDesignationDetailSection extends AbstractCdmDetailSection<Ide
         * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
         */
        @Override
-       protected AbstractCdmDetailElement<IdentifiableEntity<?>> createCdmDetailElement(AbstractCdmDetailSection<IdentifiableEntity<?>> parentElement, int style) {
+       protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
            return formFactory.createSampleDesignationDetailElement(parentElement);
        }
 
index 6fc43cb2f557b6712576fff3987177369e0429f4..5aa32225d6172847223079b4ba512953e6ae1199 100644 (file)
@@ -10,17 +10,18 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
 import org.apache.log4j.Logger;
 
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.cdm.api.service.IVocabularyService;
 import eu.etaxonomy.cdm.model.agent.AgentBase;
 import eu.etaxonomy.cdm.model.agent.Institution;
-import eu.etaxonomy.cdm.model.term.DefinedTerm;
-import eu.etaxonomy.cdm.model.term.TermType;
-import eu.etaxonomy.cdm.model.term.TermVocabulary;
 import eu.etaxonomy.cdm.model.common.TimePeriod;
-import eu.etaxonomy.cdm.model.term.VocabularyEnum;
 import eu.etaxonomy.cdm.model.molecular.DnaSample;
 import eu.etaxonomy.cdm.model.occurrence.Collection;
 import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
+import eu.etaxonomy.cdm.model.term.DefinedTerm;
+import eu.etaxonomy.cdm.model.term.TermType;
+import eu.etaxonomy.cdm.model.term.TermVocabulary;
+import eu.etaxonomy.cdm.model.term.VocabularyEnum;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.ui.combo.term.TermComboElement;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
@@ -36,7 +37,7 @@ import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
  * @date 16.12.2013
  *
  */
-public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaSample> {
+public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
 
     private final TermVocabulary plantKindOfUnitVocabulary = CdmStore.getService(IVocabularyService.class).find(VocabularyEnum.PlantKindOfUnit.getUuid());
 
@@ -69,7 +70,9 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
      * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
      */
     @Override
-    protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
+    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade facade, int style) {
+        DnaSample entity = (DnaSample)getEntity().innerDerivedUnit();
+
         comboKindOfTissue = formFactory.createDefinedTermComboElement(plantKindOfUnitVocabulary, formElement, "Kind Of Tissue", entity.getKindOfUnit(), style);
         TimePeriod preparationDate = null;
         DefinedTerm preservationMedium = null;
@@ -106,8 +109,9 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
      */
     @Override
     public void handleEvent(Object eventSource) {
+        DnaSample entity = (DnaSample)getEntity().innerDerivedUnit();
         if(eventSource==comboKindOfTissue) {
-            getEntity().setKindOfUnit(comboKindOfTissue.getSelection());
+            entity.setKindOfUnit(comboKindOfTissue.getSelection());
         }
         else if(eventSource==comboPreservationMedium) {
             addPreservationMethod().setMedium(comboPreservationMedium.getSelection());
@@ -122,31 +126,32 @@ public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<D
             getEntity().setBarcode(textBarcode.getText());
         }
         else if(eventSource==datePreparation){
-            if(getEntity().getDerivedFrom()!=null){
-                getEntity().getDerivedFrom().setTimeperiod(datePreparation.getTimePeriod());
+            if(entity.getDerivedFrom()!=null){
+                entity.getDerivedFrom().setTimeperiod(datePreparation.getTimePeriod());
             }
         }
         else if(eventSource==selectionInstitution){
-            if(getEntity().getDerivedFrom()!=null){
-                getEntity().getDerivedFrom().setInstitution(selectionInstitution.getSelection());
+            if(entity.getDerivedFrom()!=null){
+                entity.getDerivedFrom().setInstitution(selectionInstitution.getSelection());
             }
         }
         else if(eventSource==selectionStaff){
-            if(getEntity().getDerivedFrom()!=null){
-                getEntity().getDerivedFrom().setActor(selectionStaff.getSelection());
+            if(entity.getDerivedFrom()!=null){
+                entity.getDerivedFrom().setActor(selectionStaff.getSelection());
             }
         }
         else if(eventSource==checkIsPublish){
-            getEntity().setPublish(checkIsPublish.getSelection());
+            entity.setPublish(checkIsPublish.getSelection());
         }
     }
 
     private PreservationMethod addPreservationMethod(){
+        DnaSample entity = (DnaSample)getEntity().innerDerivedUnit();
         PreservationMethod preservationMethod = null;
-        preservationMethod = getEntity().getPreservation();
-        if(getEntity().getPreservation()==null){
+        preservationMethod = entity.getPreservation();
+        if(entity.getPreservation()==null){
             preservationMethod = PreservationMethod.NewInstance();
-            getEntity().setPreservation(preservationMethod);
+            entity.setPreservation(preservationMethod);
         }
         return preservationMethod;
     }
index 05eb222ff95ad00d5ac79faeef3a94b35457c590..6293260aad41a1828e10921faabdc7649d36664b 100644 (file)
@@ -11,7 +11,7 @@ package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 import org.eclipse.jface.viewers.ISelectionProvider;
 
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.molecular.DnaSample;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
@@ -22,7 +22,7 @@ import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
  * @date 12.12.2013
  *
  */
-public class TissueSampleGeneralDetailSection extends AbstractCdmDetailSection<DnaSample> {
+public class TissueSampleGeneralDetailSection extends AbstractCdmDetailSection<DerivedUnitFacade> {
 
     /**
      * @param formFactory
@@ -50,7 +50,7 @@ public class TissueSampleGeneralDetailSection extends AbstractCdmDetailSection<D
      * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
      */
     @Override
-    protected AbstractCdmDetailElement<DnaSample> createCdmDetailElement(AbstractCdmDetailSection<DnaSample> parentElement, int style) {
+    protected AbstractCdmDetailElement<DerivedUnitFacade> createCdmDetailElement(AbstractCdmDetailSection<DerivedUnitFacade> parentElement, int style) {
         return formFactory.createTissueSampleGeneralDetailElement(parentElement);
     }