Project

General

Profile

« Previous | Next » 

Revision 8f0f3832

Added by Patrick Plitzner about 10 years ago

  • partially added handling of input fields

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/TissueSampleGeneralDetailElement.java
9 9
*/
10 10
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
11 11

  
12
import org.apache.log4j.Logger;
13

  
12 14
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
15
import eu.etaxonomy.cdm.api.facade.MethodNotSupportedByDerivedUnitTypeException;
13 16
import eu.etaxonomy.cdm.model.agent.AgentBase;
17
import eu.etaxonomy.cdm.model.common.DefinedTerm;
18
import eu.etaxonomy.cdm.model.common.TimePeriod;
14 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;
15 23
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
16 24
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
17 25
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
......
26 34
 */
27 35
public class TissueSampleGeneralDetailElement extends AbstractCdmDetailElement<DerivedUnitFacade> {
28 36

  
37
    static private final Logger logger = Logger.getLogger(TissueSampleGeneralDetailElement.class);
38

  
29 39
    //title cache
30 40
    //sample designation
31 41
    private TimePeriodElement datePreparation;
32 42
    private EntitySelectionElement<AgentBase> selectionPreparedBy;
33
    private TextWithLabelElement textPreservationMedium;
43
    private TermComboElement<DefinedTerm> comboPreservationMedium;
34 44
    private TimePeriodElement datePreservation;
35 45
    private EntitySelectionElement<AgentBase> selectionStoredAt;
36 46
    private EntitySelectionElement<Collection> selectionCollection;
......
55 65
     */
56 66
    @Override
57 67
    protected void createControls(ICdmFormElement formElement, DerivedUnitFacade entity, int style) {
68
        //FIXME handle all parameters here and in handleEvent()
58 69
        datePreparation = formFactory.createTimePeriodElement(formElement, "Preparation date", null, style);
59 70
        selectionPreparedBy = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Prepared By", null, EntitySelectionElement.ALL, style);
60
        textPreservationMedium = formFactory.createTextWithLabelElement(formElement, "Preservation medium", null, style);
61
        datePreservation = formFactory.createTimePeriodElement(formElement, "Preservation date", null, style);
71
        TimePeriod preservationDate = null;
72
        DefinedTerm preservationMedium = null;
73
        try {
74
            if(entity.getPreservationMethod()!=null){
75
                preservationDate = entity.getPreservationMethod().getTimeperiod();
76
                preservationMedium = entity.getPreservationMethod().getMedium();
77
            }
78
        } catch (MethodNotSupportedByDerivedUnitTypeException e) {
79
            // we ignore this
80
            AbstractUtility.info(e.getMessage());
81
        }
82
        comboPreservationMedium = formFactory.createTermComboElement(DefinedTerm.class, formElement, "Preservation medium", preservationMedium, style);
83
        datePreservation = formFactory.createTimePeriodElement(formElement, "Preservation date", preservationDate, style);
62 84
        selectionStoredAt = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Stored at", null, EntitySelectionElement.ALL, style);
63
        selectionCollection = formFactory.createSelectionElement(Collection.class, getConversationHolder(), formElement, "Collection", null, EntitySelectionElement.ALL, style);
64
        textAccessionNumber = formFactory.createTextWithLabelElement(formElement, "Accession Number", null, style);
65
        textBarcode = formFactory.createTextWithLabelElement(formElement, "Barcode", null, 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);
66 88

  
67 89
    }
68 90

  
......
75 97
     */
76 98
    @Override
77 99
    public void handleEvent(Object eventSource) {
78
    }
100
        try {
101
            if (eventSource==comboPreservationMedium) {
102
                PreservationMethod preservationMethod = getEntity().getPreservationMethod();
103
                if(preservationMethod==null){
104
                    preservationMethod = PreservationMethod.NewInstance();
105
                    getEntity().setPreservationMethod(preservationMethod);
106
                }
107
                preservationMethod.setMedium(comboPreservationMedium.getSelection());
108
            }
109
            else if (eventSource==datePreservation) {
110
                PreservationMethod preservationMethod = getEntity().getPreservationMethod();
111
                if(preservationMethod==null){
112
                    preservationMethod = PreservationMethod.NewInstance();
113
                    getEntity().setPreservationMethod(preservationMethod);
114
                }
115
                preservationMethod.setTimeperiod(datePreservation.getTimePeriod());
116
            }
117
        }catch (MethodNotSupportedByDerivedUnitTypeException e) {
118
            AbstractUtility.errorDialog("Parameter not available", this, "Could not set preservation parameter!", e);
119
        }
120
        if(eventSource==selectionCollection){
121
            getEntity().setCollection(selectionCollection.getSelection());
122
        }
123
        else if(eventSource==textAccessionNumber){
124
            getEntity().setAccessionNumber(textAccessionNumber.getText());
125
        }
126
        else if(eventSource==textBarcode){
127
            getEntity().setBarcode(textBarcode.getText());
128
        }
79 129

  
130
    }
80 131
}

Also available in: Unified diff