3 * Copyright (C) 2013 EDIT
4 * European Distributed Institute of Taxonomy
5 * http://www.e-taxonomy.eu
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.
10 package eu
.etaxonomy
.taxeditor
.ui
.section
.occurrence
.dna
;
12 import eu
.etaxonomy
.cdm
.model
.agent
.AgentBase
;
13 import eu
.etaxonomy
.cdm
.model
.agent
.Institution
;
14 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTerm
;
15 import eu
.etaxonomy
.cdm
.model
.common
.TermType
;
16 import eu
.etaxonomy
.cdm
.model
.common
.TimePeriod
;
17 import eu
.etaxonomy
.cdm
.model
.molecular
.Amplification
;
18 import eu
.etaxonomy
.cdm
.model
.molecular
.Primer
;
19 import eu
.etaxonomy
.taxeditor
.ui
.combo
.TermComboElement
;
20 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
21 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
22 import eu
.etaxonomy
.taxeditor
.ui
.element
.TextWithLabelElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.element
.TimePeriodElement
;
24 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
25 import eu
.etaxonomy
.taxeditor
.ui
.selection
.EntitySelectionElement
;
32 public class AmplificationGeneralDetailElement
extends AbstractCdmDetailElement
<Amplification
> {
34 private TextWithLabelElement textDesignation
;
35 private TextWithLabelElement textNotes
;
36 private TermComboElement
<DefinedTerm
> comboMarker
;
37 private TimePeriodElement dateAmplification
;
38 private EntitySelectionElement
<Institution
> selectionInstitution
;
39 private EntitySelectionElement
<AgentBase
> selectionAmplificationStaff
;
40 private EntitySelectionElement
<Primer
> selectionPrimerFW
;
41 private EntitySelectionElement
<Primer
> selectionPrimerRW
;
42 // private CheckboxElement checkBoxAmplificationSuccess;
43 // private TextWithLabelElement textAmplificationSuccessDetails;
44 // private TermComboElement<DefinedTerm> comboAmplificationMaterialOrMethod;
46 // private NumberWithLabelElement numberGelVoltage;
47 // private NumberWithLabelElement numberGelConcentration;
48 // private NumberWithLabelElement numberGelRunningTime;
49 // private TextWithLabelElement textLadderUsed;
51 // private TermComboElement<DefinedTerm> comboPurificationMaterialOrMethod;
58 public AmplificationGeneralDetailElement(CdmFormFactory formFactory
, ICdmFormElement formElement
) {
59 super(formFactory
, formElement
);
66 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
67 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
70 protected void createControls(ICdmFormElement formElement
, Amplification entity
, int style
) {
71 textDesignation
= formFactory
.createTextWithLabelElement(formElement
, "Designation", entity
.getDescription(), style
);
72 textDesignation
.setEnabled(false);
74 selectionAmplificationStaff
= formFactory
.createSelectionElement(AgentBase
.class, getConversationHolder(), formElement
, "Amplification staff", entity
.getActor(), EntitySelectionElement
.ALL
, style
);
75 dateAmplification
= formFactory
.createTimePeriodElement(formElement
, "Date", entity
.getTimeperiod(), style
);
76 comboMarker
= formFactory
.createDefinedTermComboElement(TermType
.DnaMarker
, formElement
, "DNA Marker", entity
.getDnaMarker(), style
);
77 selectionPrimerFW
= formFactory
.createSelectionElement(Primer
.class, getConversationHolder(), formElement
, "Primer FW", entity
.getForwardPrimer(), EntitySelectionElement
.ALL
, style
);
78 selectionPrimerRW
= formFactory
.createSelectionElement(Primer
.class, getConversationHolder(), formElement
, "Primer RW", entity
.getReversePrimer(), EntitySelectionElement
.ALL
, style
);
79 // checkBoxAmplificationSuccess = formFactory.createCheckbox(formElement, "Amplification Success", entity.getSuccessful(), style);
80 // textAmplificationSuccessDetails = formFactory.createTextWithLabelElement(formElement, "Ampl. Success Details", entity.getSuccessText(), style);
81 // comboAmplificationMaterialOrMethod = formFactory.createTermComboElement(DefinedTerm.class, formElement, "Ampl. Mat. & Meth.", entity.get, style)
82 // numberGelVoltage = formFactory.createNumberTextWithLabelElement(formElement, "Gel Voltage (V)", entity.getElectrophoresisVoltage(), style);
83 // numberGelConcentration = formFactory.createNumberTextWithLabelElement(formElement, "Gel Concentration", entity.getGelConcentration(), style);
84 // numberGelRunningTime = formFactory.createNumberTextWithLabelElement(formElement, "Gel Ruinning Time (Min)", entity.getGelRunningTime(), style);
85 // textLadderUsed = formFactory.createTextWithLabelElement(formElement, "Ladder Used", entity.getLadderUsed(), style);
86 // comboPurificationMaterialOrMethod = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Purification Mat. & Meth.",
87 // entity.getPurification()==null?null:entity.getPurification().getDefinedMaterialOrMethod(), style);
89 updateDesignationText();
92 private void updateDesignationText(){
93 String institutionName
= "";
94 String staffName
= "";
95 String dateString
= "";
97 // Institution selection = selectionInstitution.getSelection();
98 // if(selection!=null){
99 // institutionName = selection.getName();
101 AgentBase staff
= selectionAmplificationStaff
.getSelection();
103 staffName
= staff
.getTitleCache();
105 TimePeriod timePeriod
= dateAmplification
.getTimePeriod();
106 if(timePeriod
!=null){
107 dateString
= timePeriod
.toString()!=null?timePeriod
.toString():"";
109 String designation
= "";
110 if(!institutionName
.equals("")){
111 designation
+= institutionName
;
113 if(!staffName
.equals("")){
114 if(!designation
.equals("")){
117 designation
+= staffName
;
119 if(!dateString
.equals("")){
120 if(!designation
.equals("")){
123 designation
+= dateString
;
125 textDesignation
.setText(designation
);
126 getEntity().setDescription(designation
);
133 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
137 public void handleEvent(Object eventSource
) {
138 if(eventSource
==textNotes
){
139 getEntity().setDescription(textNotes
.getText());
141 else if(eventSource
==comboMarker
){
142 getEntity().setDnaMarker(comboMarker
.getSelection());
144 else if(eventSource
==dateAmplification
){
145 getEntity().setTimeperiod(dateAmplification
.getTimePeriod());
146 updateDesignationText();
148 else if(eventSource
==selectionAmplificationStaff
){
149 getEntity().setActor(selectionAmplificationStaff
.getEntity());
150 updateDesignationText();
152 else if(eventSource
==selectionInstitution
){
154 updateDesignationText();
156 else if(eventSource
==selectionPrimerFW
){
157 getEntity().setForwardPrimer(selectionPrimerFW
.getSelection());
159 else if(eventSource
==selectionPrimerRW
){
160 getEntity().setReversePrimer(selectionPrimerRW
.getSelection());
162 // else if(eventSource==checkBoxAmplificationSuccess){
163 // getEntity().setSuccessful(checkBoxAmplificationSuccess.getSelection());
165 // else if(eventSource==textAmplificationSuccessDetails){
166 // getEntity().setSuccessText(textAmplificationSuccessDetails.getText());
168 // else if(eventSource==comboAmplificationMaterialOrMethod){
171 // else if(eventSource==numberGelVoltage){
172 // getEntity().setElectrophoresisVoltage(numberGelVoltage.getDouble());
174 // else if(eventSource==numberGelConcentration){
175 // getEntity().setGelConcentration(numberGelConcentration.getDouble());
177 // else if(eventSource==numberGelRunningTime){
178 // getEntity().setGelRunningTime(numberGelRunningTime.getDouble());
180 // else if(eventSource==textLadderUsed){
181 // getEntity().setLadderUsed(textLadderUsed.getText());
183 // else if(eventSource==comboPurificationMaterialOrMethod){
184 // MaterialOrMethodEvent purification = getEntity().getPurification();
185 // if(purification==null){
186 // purification = MaterialOrMethodEvent.NewInstance();
187 // getEntity().setPurification(purification);
189 // purification.setDefinedMaterialOrMethod(comboPurificationMaterialOrMethod.getSelection());