- extended DnaQuality details view
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / dna / DnaQualityDetailElement.java
index a7a775c58d388b34aa6ed3a07a24266676a468e3..071e07c5c15ef7022ee75233779a9be410ac2eee 100644 (file)
@@ -9,6 +9,8 @@
 */
 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
 
+import org.joda.time.DateTime;
+
 import eu.etaxonomy.cdm.model.common.DefinedTerm;
 import eu.etaxonomy.cdm.model.molecular.DnaQuality;
 import eu.etaxonomy.cdm.model.molecular.DnaSample;
@@ -16,6 +18,7 @@ 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.NumberWithLabelElement;
+import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
 import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement;
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
 
@@ -28,12 +31,12 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample>
 
 //    private final TermType qualityTermVocabulary = CdmStore.getService(IVocabularyService.class).find(VocabularyEnum.DnaQualityTerm.getUuid());
 
+    private TextWithLabelElement textPurificationMethod;
     private NumberWithLabelElement numberRatioOfAbsorbance260_280;
-    private NumberWithLabelElement numberRatioOfAbsorbance230_260;
+    private NumberWithLabelElement numberRatioOfAbsorbance260_230;
     private NumberWithLabelElement numberConcentration;
     private TermComboElement<DefinedTerm> comboQualityTerm;
     private DateElement dateQualityCheck;
-    private DateElement dateNanoDrop;
 
     /**
      * @param formFactory
@@ -56,21 +59,17 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample>
         if(dnaQuality==null){
             dnaQuality = DnaQuality.NewInstance();
         }
-        Double ratioOfAbsorbance230_260 = dnaQuality.getRatioOfAbsorbance230_260();
+        Double ratioOfAbsorbance260_230 = dnaQuality.getRatioOfAbsorbance260_230();
         Double ratioOfAbsorbance260_280 = dnaQuality.getRatioOfAbsorbance260_280();
         Double concentration = dnaQuality.getConcentration();
         DefinedTerm qualityTerm = dnaQuality.getQualityTerm();
 
-        numberRatioOfAbsorbance230_260 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 230-260", ratioOfAbsorbance230_260, style);
+//        textPurificationMethod = formFactory.createTextWithLabelElement(formElement, "Purification Method", dnaQuality.getPurificationMethod(), style);
         numberRatioOfAbsorbance260_280 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-280", ratioOfAbsorbance260_280, style);
+        numberRatioOfAbsorbance260_230 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-230", ratioOfAbsorbance260_230, style);
         numberConcentration = formFactory.createNumberTextWithLabelElement(formElement, "Concentration", concentration, style);
 //        comboQualityTerm = formFactory.createDefinedTermComboElement(qualityTermVocabulary, formElement, "Quality Term", qualityTerm, style);
-
-        //TODO DNA purification details
-        //TODO concentration unit
-        //TODO DNA quality
-        //TODO Quality check date
-        //TODO Description
+        dateQualityCheck = formFactory.createDateElement(formElement, "Quality Check", dnaQuality.getQualityCheckDate(), style);
     }
 
     /*
@@ -82,14 +81,26 @@ public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample>
      */
     @Override
     public void handleEvent(Object eventSource) {
-        if(eventSource==numberRatioOfAbsorbance230_260){
-            getEntity().getDnaQuality().setRatioOfAbsorbance230_260(numberRatioOfAbsorbance230_260.getDouble());
+        DnaQuality dnaQuality = getEntity().getDnaQuality();
+        if(eventSource==textPurificationMethod){
+            //TODO
+//            dnaQuality.setPurificationMethod(textPurificationMethod.getText());
+        }
+        else if(eventSource==numberRatioOfAbsorbance260_230){
+            dnaQuality.setRatioOfAbsorbance260_230(numberRatioOfAbsorbance260_230.getDouble());
         }
         else if(eventSource==numberRatioOfAbsorbance260_280){
-            getEntity().getDnaQuality().setRatioOfAbsorbance260_280(numberRatioOfAbsorbance260_280.getDouble());
+            dnaQuality.setRatioOfAbsorbance260_280(numberRatioOfAbsorbance260_280.getDouble());
         }
         else if(eventSource==numberConcentration){
-            getEntity().getDnaQuality().setConcentration(numberConcentration.getDouble());
+            dnaQuality.setConcentration(numberConcentration.getDouble());
+        }
+        else if(eventSource==comboQualityTerm){
+            dnaQuality.setQualityTerm(comboQualityTerm.getSelection());
+        }
+        else if(eventSource==dateQualityCheck.getController()){
+            DateTime dateTime = dateQualityCheck.getController().getDateTime();
+            dnaQuality.setQualityCheckDate(dateTime);
         }
     }
 }