Project

General

Profile

« Previous | Next » 

Revision c0c6e635

Added by Patrick Plitzner over 8 years ago

  • split off "Preparation/Preservation section" from dna sample general section

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
255 255
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaQualityDetailSection;
256 256
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSampleGeneralDetailElement;
257 257
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSampleGeneralDetailSection;
258
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSamplePreparationPreservationDetailElement;
259
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSamplePreparationPreservationSection;
258 260
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.PrimerGeneralDetailElement;
259 261
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SampleDesignationDetailElement;
260 262
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SampleDesignationDetailSection;
......
1660 1662
        return section;
1661 1663
    }
1662 1664

  
1665
    public DnaSamplePreparationPreservationSection createDnaSamplePreparationPreservationSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
1666
        DnaSamplePreparationPreservationSection section = new DnaSamplePreparationPreservationSection(this, conversation, parentElement, selectionProvider, style);
1667
        addAndAdaptSection(parentElement, section);
1668
        return section;
1669
    }
1670

  
1663 1671
    public DnaQualityDetailSection createDnaQualityDetailSection(ConversationHolder conversation, ICdmFormElement parentElement, ISelectionProvider selectionProvider, int style){
1664 1672
        DnaQualityDetailSection section = new DnaQualityDetailSection(this, conversation, parentElement, selectionProvider, style);
1665 1673
        addAndAdaptSection(parentElement, section);
......
2010 2018
        return element;
2011 2019
    }
2012 2020

  
2021
    public DnaSamplePreparationPreservationDetailElement createDnaSamplePreparationPreservationDetailElement(ICdmFormElement parentElement){
2022
        DnaSamplePreparationPreservationDetailElement element = new DnaSamplePreparationPreservationDetailElement(this, parentElement);
2023
        addAndAdaptElement(parentElement, element);
2024
        return element;
2025
    }
2026

  
2013 2027
    public DnaQualityDetailElement createDnaQualityDetailElement(ICdmFormElement parentElement){
2014 2028
        DnaQualityDetailElement element = new DnaQualityDetailElement(this, parentElement);
2015 2029
        addAndAdaptElement(parentElement, element);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailElement.java
9 9
*/
10 10
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
11 11

  
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 12
import eu.etaxonomy.cdm.model.molecular.DnaSample;
18
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
19
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
13
import eu.etaxonomy.cdm.model.occurrence.Collection;
20 14
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
21 15
import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;
22 16
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
23
import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
24 17
import eu.etaxonomy.taxeditor.ui.element.TextWithLabelElement;
25
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
26 18
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
27 19
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
28 20

  
......
33 25
 */
34 26
public class DnaSampleGeneralDetailElement extends AbstractCdmDetailElement<DnaSample> {
35 27

  
36
    private EntitySelectionElement<Institution> selectionInstitution;
37
    private EntitySelectionElement<AgentBase> selectionStaff;
38
    private TimePeriodElement datePreparationDate;
39
    private NumberWithLabelElement numberPreservationTemperature;
40
    private TermComboElement<DefinedTerm> comboMaterialOrMethods;
28

  
29
    private EntitySelectionElement<Collection> selection_collection;
41 30
    private TextWithLabelElement textBarcode;
42 31
    private CheckboxElement checkIsPublish;
43 32

  
44
    /**
45
     * @param formFactory
46
     * @param formElement
47
     */
48 33
    public DnaSampleGeneralDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
49 34
        super(formFactory, formElement);
50 35
    }
51 36

  
52
    /*
53
     * (non-Javadoc)
54
     *
55
     * @see
56
     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
57
     * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
58
     */
59 37
    @Override
60 38
    protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
61
        Institution institution = null;
62
        AgentBase<?> staff = null;
63
        TimePeriod preparationDate = null;
64
        if(entity.getDerivedFrom()!=null){
65
            institution = entity.getDerivedFrom().getInstitution();
66
            staff = entity.getDerivedFrom().getActor();
67
            preparationDate = entity.getDerivedFrom().getTimeperiod();
68
        }
69

  
70
        Double temperature = null;
71
        DefinedTerm definedMaterialOrMethod = null;
72
        if(entity.getPreservation()!=null){
73
            temperature = entity.getPreservation().getTemperature();
74
            definedMaterialOrMethod = entity.getPreservation().getDefinedMaterialOrMethod();
75
        }
76
        selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", institution, EntitySelectionElement.ALL, style);
77
        selectionStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Staff", staff, EntitySelectionElement.ALL, style);
78
        datePreparationDate = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
79
        numberPreservationTemperature = formFactory.createNumberTextWithLabelElement(formElement, "Preservation Temp. [C°]", temperature, style);
80
        comboMaterialOrMethods = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Materials & Methods", definedMaterialOrMethod, style);
39
        selection_collection = formFactory
40
                .createSelectionElement(Collection.class,
41
                        getConversationHolder(), formElement, "Collection",
42
                        entity.getCollection(),
43
                        EntitySelectionElement.ALL, style);
81 44
        textBarcode = formFactory.createTextWithLabelElement(formElement, "Barcode", entity.getBarcode(), style);
82 45
        checkIsPublish = formFactory.createCheckbox(formElement, "Publish", entity.isPublish(), style);
83 46

  
84 47
    }
85 48

  
86
    /*
87
     * (non-Javadoc)
88
     *
89
     * @see
90
     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
91
     * .lang.Object)
92
     */
93 49
    @Override
94 50
    public void handleEvent(Object eventSource) {
95
        if(eventSource==datePreparationDate){
96
            if(getEntity().getDerivedFrom()!=null){
97
                getEntity().getDerivedFrom().setTimeperiod(datePreparationDate.getTimePeriod());
98
            }
99
        }
100
        else if(eventSource==selectionInstitution){
101
            if(getEntity().getDerivedFrom()!=null){
102
                getEntity().getDerivedFrom().setInstitution(selectionInstitution.getSelection());
103
            }
104
        }
105
        else if(eventSource==selectionStaff){
106
            if(getEntity().getDerivedFrom()!=null){
107
                getEntity().getDerivedFrom().setActor(selectionStaff.getSelection());
108
            }
109
        }
110
        else if(eventSource==numberPreservationTemperature){
111
            addPreservationMethod().setTemperature(numberPreservationTemperature.getDouble());
112
        }
113
        else if(eventSource==comboMaterialOrMethods){
114
            addPreservationMethod().setDefinedMaterialOrMethod(comboMaterialOrMethods.getSelection());
115
        }
116
        else if(eventSource==textBarcode){
51
        if(eventSource==textBarcode){
117 52
            getEntity().setBarcode(textBarcode.getText());
118 53
        }
119 54
        else if(eventSource==checkIsPublish){
120 55
            getEntity().setPublish(checkIsPublish.getSelection());
56
        } else if (eventSource == selection_collection) {
57
            getEntity().setCollection(selection_collection.getSelection());
121 58
        }
122 59
    }
123 60

  
124
    private PreservationMethod addPreservationMethod(){
125
        PreservationMethod preservationMethod = getEntity().getPreservation();
126
        if(preservationMethod==null){
127
            preservationMethod = PreservationMethod.NewInstance();
128
            getEntity().setPreservation(preservationMethod);
129
        }
130
        return preservationMethod;
131
    }
132 61
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSampleGeneralDetailSection.java
25 25
 */
26 26
public class DnaSampleGeneralDetailSection extends AbstractCdmDetailSection<DnaSample> {
27 27

  
28
    /**
29
     * @param formFactory
30
     * @param conversation
31
     * @param parentElement
32
     * @param selectionProvider
33
     * @param style
34
     */
35 28
    public DnaSampleGeneralDetailSection(CdmFormFactory formFactory,
36 29
            ConversationHolder conversation, ICdmFormElement parentElement,
37 30
            ISelectionProvider selectionProvider, int style) {
......
39 32
    }
40 33

  
41 34

  
42
    /* (non-Javadoc)
43
     * @see eu.etaxonomy.taxeditor.section.AbstractCdmDetailSection#getHeading()
44
     */
45 35
    @Override
46 36
    public String getHeading() {
47 37
        return "General";
48 38
    }
49 39

  
50
    /* (non-Javadoc)
51
     * @see eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection#createCdmDetailElement(eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection, int)
52
     */
53 40
    @Override
54 41
    protected AbstractCdmDetailElement<DnaSample> createCdmDetailElement(AbstractCdmDetailSection<DnaSample> parentElement, int style) {
55 42
        return formFactory.createDnaSampleGeneralDetailElement(parentElement);
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSamplePreparationPreservationDetailElement.java
1

  
2
// $Id$
3
/**
4
 * Copyright (C) 2013 EDIT
5
 * European Distributed Institute of Taxonomy
6
 * http://www.e-taxonomy.eu
7
 *
8
 * The contents of this file are subject to the Mozilla Public License Version 1.1
9
 * See LICENSE.TXT at the top of this package for the full license terms.
10
 */
11
package eu.etaxonomy.taxeditor.ui.section.occurrence.dna;
12

  
13
import eu.etaxonomy.cdm.model.agent.AgentBase;
14
import eu.etaxonomy.cdm.model.agent.Institution;
15
import eu.etaxonomy.cdm.model.common.DefinedTerm;
16
import eu.etaxonomy.cdm.model.common.TermType;
17
import eu.etaxonomy.cdm.model.common.TimePeriod;
18
import eu.etaxonomy.cdm.model.molecular.DnaSample;
19
import eu.etaxonomy.cdm.model.occurrence.PreservationMethod;
20
import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;
21
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
22
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
23
import eu.etaxonomy.taxeditor.ui.element.NumberWithLabelElement;
24
import eu.etaxonomy.taxeditor.ui.element.TimePeriodElement;
25
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
26
import eu.etaxonomy.taxeditor.ui.selection.EntitySelectionElement;
27

  
28
/**
29
 * @author pplitzner
30
 * @date 16.12.2013
31
 *
32
 */
33
public class DnaSamplePreparationPreservationDetailElement extends AbstractCdmDetailElement<DnaSample> {
34

  
35
    private EntitySelectionElement<Institution> selectionInstitution;
36
    private EntitySelectionElement<AgentBase> selectionStaff;
37
    private TimePeriodElement datePreparationDate;
38
    private NumberWithLabelElement numberPreservationTemperature;
39
    private TermComboElement<DefinedTerm> comboMaterialOrMethods;
40

  
41
    /**
42
     * @param formFactory
43
     * @param formElement
44
     */
45
    public DnaSamplePreparationPreservationDetailElement(CdmFormFactory formFactory, ICdmFormElement formElement) {
46
        super(formFactory, formElement);
47
    }
48

  
49
    /*
50
     * (non-Javadoc)
51
     *
52
     * @see
53
     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#createControls
54
     * (eu.etaxonomy.taxeditor.forms.ICdmFormElement, java.lang.Object, int)
55
     */
56
    @Override
57
    protected void createControls(ICdmFormElement formElement, DnaSample entity, int style) {
58
        Institution institution = null;
59
        AgentBase<?> staff = null;
60
        TimePeriod preparationDate = null;
61
        if(entity.getDerivedFrom()!=null){
62
            institution = entity.getDerivedFrom().getInstitution();
63
            staff = entity.getDerivedFrom().getActor();
64
            preparationDate = entity.getDerivedFrom().getTimeperiod();
65
        }
66

  
67
        Double temperature = null;
68
        DefinedTerm definedMaterialOrMethod = null;
69
        if(entity.getPreservation()!=null){
70
            temperature = entity.getPreservation().getTemperature();
71
            definedMaterialOrMethod = entity.getPreservation().getDefinedMaterialOrMethod();
72
        }
73
        selectionInstitution = formFactory.createSelectionElement(Institution.class, getConversationHolder(), formElement, "Institution", institution, EntitySelectionElement.ALL, style);
74
        selectionStaff = formFactory.createSelectionElement(AgentBase.class, getConversationHolder(), formElement, "Staff", staff, EntitySelectionElement.ALL, style);
75
        datePreparationDate = formFactory.createTimePeriodElement(formElement, "Preparation date", preparationDate, style);
76
        numberPreservationTemperature = formFactory.createNumberTextWithLabelElement(formElement, "Preservation Temp. [C°]", temperature, style);
77
        comboMaterialOrMethods = formFactory.createDefinedTermComboElement(TermType.MaterialOrMethod, formElement, "Materials & Methods", definedMaterialOrMethod, style);
78

  
79
    }
80

  
81
    /*
82
     * (non-Javadoc)
83
     *
84
     * @see
85
     * eu.etaxonomy.taxeditor.section.AbstractCdmDetailElement#handleEvent(java
86
     * .lang.Object)
87
     */
88
    @Override
89
    public void handleEvent(Object eventSource) {
90
        if(eventSource==datePreparationDate){
91
            if(getEntity().getDerivedFrom()!=null){
92
                getEntity().getDerivedFrom().setTimeperiod(datePreparationDate.getTimePeriod());
93
            }
94
        }
95
        else if(eventSource==selectionInstitution){
96
            if(getEntity().getDerivedFrom()!=null){
97
                getEntity().getDerivedFrom().setInstitution(selectionInstitution.getSelection());
98
            }
99
        }
100
        else if(eventSource==selectionStaff){
101
            if(getEntity().getDerivedFrom()!=null){
102
                getEntity().getDerivedFrom().setActor(selectionStaff.getSelection());
103
            }
104
        }
105
        else if(eventSource==numberPreservationTemperature){
106
            addPreservationMethod().setTemperature(numberPreservationTemperature.getDouble());
107
        }
108
        else if(eventSource==comboMaterialOrMethods){
109
            addPreservationMethod().setDefinedMaterialOrMethod(comboMaterialOrMethods.getSelection());
110
        }
111
    }
112

  
113
    private PreservationMethod addPreservationMethod(){
114
        PreservationMethod preservationMethod = getEntity().getPreservation();
115
        if(preservationMethod==null){
116
            preservationMethod = PreservationMethod.NewInstance();
117
            getEntity().setPreservation(preservationMethod);
118
        }
119
        return preservationMethod;
120
    }
121
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/occurrence/dna/DnaSamplePreparationPreservationSection.java
1
// $Id$
2
/**
3
* Copyright (C) 2013 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.dna;
11

  
12
import org.eclipse.jface.viewers.ISelectionProvider;
13

  
14
import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
15
import eu.etaxonomy.cdm.model.molecular.DnaSample;
16
import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;
17
import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;
18
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;
19
import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;
20

  
21
/**
22
 * @author pplitzner
23
 * @date 12.12.2013
24
 *
25
 */
26
public class DnaSamplePreparationPreservationSection extends AbstractCdmDetailSection<DnaSample> {
27

  
28
    public DnaSamplePreparationPreservationSection(CdmFormFactory formFactory,
29
            ConversationHolder conversation, ICdmFormElement parentElement,
30
            ISelectionProvider selectionProvider, int style) {
31
        super(formFactory, conversation, parentElement, selectionProvider, style);
32
    }
33

  
34

  
35
    @Override
36
    public String getHeading() {
37
        return "Preparation/Preservation";
38
    }
39

  
40
    @Override
41
    protected AbstractCdmDetailElement<DnaSample> createCdmDetailElement(AbstractCdmDetailSection<DnaSample> parentElement, int style) {
42
        return formFactory.createDnaSamplePreparationPreservationDetailElement(parentElement);
43
    }
44
}
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/detail/DetailsViewer.java
94 94
import eu.etaxonomy.taxeditor.ui.section.occurrence.association.TaxonAssociationDetailSection;
95 95
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaQualityDetailSection;
96 96
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSampleGeneralDetailSection;
97
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.DnaSamplePreparationPreservationSection;
97 98
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SampleDesignationDetailSection;
98 99
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SequenceContigFileCollectionDetailSection;
99 100
import eu.etaxonomy.taxeditor.ui.section.occurrence.dna.SequenceGeneralDetailSection;
......
722 723

  
723 724
        formFactory.createHorizontalSeparator(parent, SWT.BORDER);
724 725

  
726
        DnaSamplePreparationPreservationSection preparationPreservationSection = formFactory.createDnaSamplePreparationPreservationSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
727

  
728
        formFactory.createHorizontalSeparator(parent, SWT.BORDER);
729

  
725 730
        DnaQualityDetailSection qualitySection = formFactory.createDnaQualityDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
726 731

  
727 732
        formFactory.createHorizontalSeparator(parent, SWT.BORDER);
......
729 734
        SampleDesignationDetailSection sampleDesignationDetailSection = formFactory.createSampleDesignationDetailSection(getConversationHolder(), parent, this, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
730 735

  
731 736
        addPart(section);
737
        addPart(preparationPreservationSection);
732 738
        addPart(qualitySection);
733 739
        addPart(sampleDesignationDetailSection);
734 740
    }

Also available in: Unified diff