merge-update from trunk
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / occurrence / AmplificationCloningDetailElement.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;
11
12 import eu.etaxonomy.cdm.model.agent.AgentBase;
13 import eu.etaxonomy.cdm.model.common.DefinedTerm;
14 import eu.etaxonomy.cdm.model.molecular.Amplification;
15 import eu.etaxonomy.cdm.model.molecular.Cloning;
16 import eu.etaxonomy.taxeditor.ui.campanula.compatibility.ICdmFormElement;
17 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
18 import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
19 import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
20 import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
21 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
22 import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
23
24 /**
25 * @author pplitzner
26 * @date 15.01.2014
27 *
28 */
29 public class AmplificationCloningDetailElement extends AbstractCdmDetailElement<Amplification> {
30 private TextWithLabelElement textCloningStrain;
31 private TimePeriodElement dateCloning;
32 private EntitySelectionElement<AgentBase> selectionCloningStaff;
33 private TermComboElement<DefinedTerm> comboCloningMaterialOrMethod;
34
35
36 /**
37 * @param formFactory
38 * @param formElement
39 */
40 public AmplificationCloningDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
41 super(formFactory, formElement);
42 }
43
44 /*
45 * (non-Javadoc)
46 *
47 * @see
48 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
49 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
50 */
51 @Override
52 protected void createControls(ICdmFormElement formElement, Amplification entity, int style) {
53 Cloning cloning = entity.getCloning();
54 textCloningStrain = formFactory.createTextWithLabelElement(formElement, "Cloning Strain", cloning==null?"":cloning.getStrain(), style);
55 dateCloning = formFactory.createTimePeriodElement(formElement, "Cloning Date", cloning==null?null:cloning.getTimeperiod(), style);
56 selectionCloningStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Cloning Staff", cloning==null?null:cloning.getActor(), EntitySelectionElement.ALL, style);
57 comboCloningMaterialOrMethod = formFactory.createTermComboElement(DefinedTerm.class, formElement, "Cloning Mat. & Meth.", cloning==null?null:cloning.getDefinedMaterialOrMethod(), style);
58 }
59
60 /*
61 * (non-Javadoc)
62 *
63 * @see
64 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
65 * .lang.Object)
66 */
67 @Override
68 public void handleEvent(Object eventSource) {
69 if(eventSource==textCloningStrain || eventSource==dateCloning|| eventSource==selectionCloningStaff || eventSource==comboCloningMaterialOrMethod){
70 Cloning cloning = getEntity().getCloning();
71 if(cloning==null){
72 cloning = Cloning.NewInstance();
73 getEntity().setCloning(cloning);
74 }
75 if(eventSource==textCloningStrain){
76 cloning.setStrain(textCloningStrain.getText());
77 }
78 else if(eventSource==dateCloning){
79 cloning.setTimeperiod(dateCloning.getTimePeriod());
80 }
81 else if(eventSource==selectionCloningStaff){
82 cloning.setActor(selectionCloningStaff.getSelection());
83 }
84 else if(eventSource==comboCloningMaterialOrMethod){
85 cloning.setDefinedMaterialOrMethod(comboCloningMaterialOrMethod.getSelection());
86 }
87 }
88 }
89
90 }