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 org
.apache
.log4j
.Logger
;
14 import eu
.etaxonomy
.cdm
.api
.facade
.DerivedUnitFacade
;
15 import eu
.etaxonomy
.cdm
.api
.facade
.MethodNotSupportedByDerivedUnitTypeException
;
16 import eu
.etaxonomy
.cdm
.model
.agent
.AgentBase
;
17 import eu
.etaxonomy
.cdm
.model
.common
.DefinedTerm
;
18 import eu
.etaxonomy
.cdm
.model
.common
.TimePeriod
;
19 import eu
.etaxonomy
.cdm
.model
.occurrence
.Collection
;
20 import eu
.etaxonomy
.cdm
.model
.occurrence
.PreservationMethod
;
21 import eu
.etaxonomy
.taxeditor
.model
.AbstractUtility
;
22 import eu
.etaxonomy
.taxeditor
.ui
.combo
.TermComboElement
;
23 import eu
.etaxonomy
.taxeditor
.ui
.element
.CdmFormFactory
;
24 import eu
.etaxonomy
.taxeditor
.ui
.element
.ICdmFormElement
;
25 import eu
.etaxonomy
.taxeditor
.ui
.element
.TextWithLabelElement
;
26 import eu
.etaxonomy
.taxeditor
.ui
.element
.TimePeriodElement
;
27 import eu
.etaxonomy
.taxeditor
.ui
.section
.AbstractCdmDetailElement
;
28 import eu
.etaxonomy
.taxeditor
.ui
.selection
.EntitySelectionElement
;
35 public class TissueSampleGeneralDetailElement
extends AbstractCdmDetailElement
<DerivedUnitFacade
> {
37 static private final Logger logger
= Logger
.getLogger(TissueSampleGeneralDetailElement
.class);
41 private TimePeriodElement datePreparation
;
42 private EntitySelectionElement
<AgentBase
> selectionPreparedBy
;
43 private TermComboElement
<DefinedTerm
> comboPreservationMedium
;
44 private TimePeriodElement datePreservation
;
45 private EntitySelectionElement
<AgentBase
> selectionStoredAt
;
46 private EntitySelectionElement
<Collection
> selectionCollection
;
47 private TextWithLabelElement textAccessionNumber
;
48 private TextWithLabelElement textBarcode
;
55 public TissueSampleGeneralDetailElement(CdmFormFactory formFactory
, ICdmFormElement formElement
) {
56 super(formFactory
, formElement
);
63 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
64 * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
67 protected void createControls(ICdmFormElement formElement
, DerivedUnitFacade entity
, int style
) {
68 //FIXME handle all parameters here and in handleEvent()
69 datePreparation
= formFactory
.createTimePeriodElement(formElement
, "Preparation date", null, style
);
70 selectionPreparedBy
= formFactory
.createSelectionElement(AgentBase
.class, getConversationHolder(), formElement
, "Prepared By", null, EntitySelectionElement
.ALL
, style
);
71 TimePeriod preservationDate
= null;
72 DefinedTerm preservationMedium
= null;
74 if(entity
.getPreservationMethod()!=null){
75 preservationDate
= entity
.getPreservationMethod().getTimeperiod();
76 preservationMedium
= entity
.getPreservationMethod().getMedium();
78 } catch (MethodNotSupportedByDerivedUnitTypeException e
) {
80 AbstractUtility
.info(e
.getMessage());
82 comboPreservationMedium
= formFactory
.createTermComboElement(DefinedTerm
.class, formElement
, "Preservation medium", preservationMedium
, style
);
83 datePreservation
= formFactory
.createTimePeriodElement(formElement
, "Preservation date", preservationDate
, style
);
84 selectionStoredAt
= formFactory
.createSelectionElement(AgentBase
.class, getConversationHolder(), formElement
, "Stored at", null, EntitySelectionElement
.ALL
, style
);
85 selectionCollection
= formFactory
.createSelectionElement(Collection
.class, getConversationHolder(), formElement
, "Collection", entity
.getCollection(), EntitySelectionElement
.ALL
, style
);
86 textAccessionNumber
= formFactory
.createTextWithLabelElement(formElement
, "Accession Number", entity
.getAccessionNumber(), style
);
87 textBarcode
= formFactory
.createTextWithLabelElement(formElement
, "Barcode", entity
.getBarcode(), style
);
95 * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
99 public void handleEvent(Object eventSource
) {
100 // if (eventSource==comboPreservationMedium) {
101 // addPreservationMethod().setMedium(comboPreservationMedium.getSelection());
103 // else if (eventSource==datePreservation) {
104 // addPreservationMethod().setTimeperiod(datePreservation.getTimePeriod());
106 // else if(eventSource==selectionCollection){
107 // getEntity().setCollection(selectionCollection.getSelection());
109 // else if(eventSource==textAccessionNumber){
110 // getEntity().setAccessionNumber(textAccessionNumber.getText());
112 // else if(eventSource==textBarcode){
113 // getEntity().setBarcode(textBarcode.getText());
117 private PreservationMethod
addPreservationMethod(){
118 PreservationMethod preservationMethod
= null;
120 preservationMethod
= getEntity().getPreservationMethod();
121 if(getEntity().getPreservationMethod()==null){
122 preservationMethod
= PreservationMethod
.NewInstance();
123 getEntity().setPreservationMethod(preservationMethod
);
125 } catch (MethodNotSupportedByDerivedUnitTypeException e
) {
126 // TODO Auto-generated catch block
129 return preservationMethod
;