Project

General

Profile

Download (4.65 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2014 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
10

    
11
import org.joda.time.DateTime;
12

    
13
import eu.etaxonomy.cdm.model.common.OrderedTerm;
14
import eu.etaxonomy.cdm.model.common.TermType;
15
import eu.etaxonomy.cdm.model.molecular.DnaQuality;
16
import eu.etaxonomy.cdm.model.molecular.DnaSample;
17
import eu.etaxonomy.taxeditor.model.DateConverter;
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", DateConverter.convertJoda2ZonedDateTime(dnaQuality.getQualityCheckDate()), style, false);
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 = DateConverter.convertZonedDateTime2Joda(dateQualityCheck.getController().getDateTime());
102
            
103
            dnaQuality.setQualityCheckDate(dateTime);
104
        }
105
    }
106
}
(12-12/32)