latest changes from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / dna / DnaQualityDetailElement.java
1 // $Id$
2 /**
3 * Copyright (C) 2014 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
6 *
7 * The contents of this file are subject to the Mozilla Public License Version 1.1
8 * See LICENSE.TXT at the top of this package for the full license terms.
9 */
10 package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
11
12 import org.joda.time.DateTime;
13
14 import eu.etaxonomy.cdm.model.common.OrderedTerm;
15 import eu.etaxonomy.cdm.model.common.TermType;
16 import eu.etaxonomy.cdm.model.molecular.DnaQuality;
17 import eu.etaxonomy.cdm.model.molecular.DnaSample;
18 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
19 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
20 import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
21 import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
22 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
23 import eu.etaxonomy.taxeditor.ui.mvc.element.DateElement;
24 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
25
26 /**
27 * @author pplitzner
28 * @date 05.03.2014
29 *
30 */
31 public class DnaQualityDetailElement extends AbstractCdmDetailElement<DnaSample> {
32
33 private TextWithLabelElement textPurificationMethod;
34 private NumberWithLabelElement numberRatioOfAbsorbance260_280;
35 private NumberWithLabelElement numberRatioOfAbsorbance260_230;
36 private NumberWithLabelElement numberConcentration;
37 private TermComboElement<OrderedTerm> comboQualityTerm;
38 private DateElement dateQualityCheck;
39
40 /**
41 * @param formFactory
42 * @param formElement
43 */
44 public DnaQualityDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
45 super(formFactory, formElement);
46 }
47
48 /*
49 * (non-Javadoc)
50 *
51 * @see
52 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
53 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
54 */
55 @Override
56 protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
57 DnaQuality dnaQuality = entity.getDnaQuality();
58 if(dnaQuality==null){
59 dnaQuality = DnaQuality.NewInstance();
60 entity.setDnaQuality(dnaQuality);
61 }
62 Double ratioOfAbsorbance260_230 = dnaQuality.getRatioOfAbsorbance260_230();
63 Double ratioOfAbsorbance260_280 = dnaQuality.getRatioOfAbsorbance260_280();
64 Double concentration = dnaQuality.getConcentration();
65 OrderedTerm qualityTerm = dnaQuality.getQualityTerm();
66
67 textPurificationMethod = formFactory.createTextWithLabelElement(formElement, "DNA Purification Details", dnaQuality.getPurificationMethod(), style);
68 numberRatioOfAbsorbance260_280 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-280", ratioOfAbsorbance260_280, style);
69 numberRatioOfAbsorbance260_230 = formFactory.createNumberTextWithLabelElement(formElement, "Ratio of absorbance 260-230", ratioOfAbsorbance260_230, style);
70 numberConcentration = formFactory.createNumberTextWithLabelElement(formElement, "Concentration", concentration, style);
71 comboQualityTerm = formFactory.createDefinedTermComboElement(TermType.DnaQualityType, formElement, "Quality Term", qualityTerm, style);
72 dateQualityCheck = formFactory.createDateElement(formElement, "Quality Check", dnaQuality.getQualityCheckDate(), style);
73 }
74
75 /*
76 * (non-Javadoc)
77 *
78 * @see
79 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
80 * .lang.Object)
81 */
82 @Override
83 public void handleEvent(Object eventSource) {
84 DnaQuality dnaQuality = getEntity().getDnaQuality();
85 if(eventSource==textPurificationMethod){
86 dnaQuality.setPurificationMethod(textPurificationMethod.getText());
87 }
88 else if(eventSource==numberRatioOfAbsorbance260_230){
89 dnaQuality.setRatioOfAbsorbance260_230(numberRatioOfAbsorbance260_230.getDouble());
90 }
91 else if(eventSource==numberRatioOfAbsorbance260_280){
92 dnaQuality.setRatioOfAbsorbance260_280(numberRatioOfAbsorbance260_280.getDouble());
93 }
94 else if(eventSource==numberConcentration){
95 dnaQuality.setConcentration(numberConcentration.getDouble());
96 }
97 else if(eventSource==comboQualityTerm){
98 dnaQuality.setQualityTerm(comboQualityTerm.getSelection());
99 }
100 else if(eventSource==dateQualityCheck.getController()){
101 DateTime dateTime = dateQualityCheck.getController().getDateTime();
102 dnaQuality.setQualityCheckDate(dateTime);
103 }
104 }
105 }