Project

General

Profile

Download (4.51 KB) Statistics
| Branch: | Tag: | Revision:
1
/**
2
* Copyright (C) 2015 EDIT
3
* European Distributed Institute of Taxonomy
4
* http://www.e-taxonomy.eu
5
*
6
* The contents of this file are subject to the Mozilla Public License Version 1.1
7
* See LICENSE.TXT at the top of this package for the full license terms.
8
*/
9
package eu.etaxonomy.cdm.api.service.dto;
10

    
11
import java.net.URI;
12
import java.util.ArrayList;
13
import java.util.HashMap;
14
import java.util.List;
15
import java.util.Map;
16
import java.util.UUID;
17

    
18
import org.hibernate.envers.tools.Pair;
19

    
20
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
21
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
22
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
23
import eu.etaxonomy.cdm.model.taxon.Taxon;
24

    
25

    
26
/**
27
 * @author pplitzner
28
 * @since Mar 26, 2015
29
 *
30
 */
31
public class PreservedSpecimenDTO extends DerivateDTO{
32

    
33
    private String accessionNumber;
34
    private URI preferredStableUri;
35

    
36
    private List<Pair<UUID, String>> associatedTaxa;
37
    private Map<String, List<String>> types;
38

    
39

    
40

    
41

    
42

    
43
//    public PreservedSpecimenDTO(DerivedUnit derivedUnit){
44
//        super();
45
//        this.setUuid(derivedUnit.getUuid());
46
//        this.setTitleCache(derivedUnit.getTitleCache());
47
//        this.setAccessionNumber(derivedUnit.getAccessionNumber());
48
//        this.setPreferredStableUri(derivedUnit.getPreferredStableUri());
49
//
50
//        this.setCollectioDTo(new CollectionDTO(HibernateProxyHelper.deproxy(derivedUnit.getCollection())));
51
//        this.setBarcode(derivedUnit.getBarcode());
52
//        this.setCatalogNumber(derivedUnit.getCatalogNumber());
53
//        this.setCollectorsNumber(derivedUnit.getCollectorsNumber());
54
//        if (derivedUnit.getDerivedFrom() != null){
55
//            this.setDerivationEvent(new DerivationEventDTO(derivedUnit.getDerivedFrom() ));
56
//        }
57
//        if (derivedUnit.getPreservation()!= null){
58
//            this.setPreservationMethod(derivedUnit.getPreservation().getMaterialMethodText());
59
//        }
60
//        this.setRecordBase(derivedUnit.getRecordBasis().getMessage());
61
//        this.setSources(derivedUnit.getSources());
62
//        this.setSpecimenTypeDesignations(derivedUnit.getSpecimenTypeDesignations());
63
//
64
//    }
65
//
66
//    public static PreservedSpecimenDTO newInstance(DerivedUnit derivedUnit ){
67
//        PreservedSpecimenDTO newInstance = new PreservedSpecimenDTO(derivedUnit);
68
//
69
//        return newInstance;
70
//    }
71

    
72

    
73
    /**
74
     * @param derivedUnit
75
     */
76
    public PreservedSpecimenDTO(DerivedUnit derivedUnit) {
77
        super(derivedUnit);
78
        accessionNumber = derivedUnit.getAccessionNumber();
79
        preferredStableUri = derivedUnit.getPreferredStableUri();
80
        if (derivedUnit.getCollection() != null){
81
            setCollectioDTo(new CollectionDTO(HibernateProxyHelper.deproxy(derivedUnit.getCollection())));
82
        }
83
        setBarcode(derivedUnit.getBarcode());
84
        setCatalogNumber(derivedUnit.getCatalogNumber());
85
        listLabel = derivedUnit.getCatalogNumber();
86
        setCollectorsNumber(derivedUnit.getCollectorsNumber());
87
        if (derivedUnit.getDerivedFrom() != null){
88
            setDerivationEvent(new DerivationEventDTO(HibernateProxyHelper.deproxy(derivedUnit.getDerivedFrom(), DerivationEvent.class )));
89
        }
90
        if (derivedUnit.getPreservation()!= null){
91
            setPreservationMethod(derivedUnit.getPreservation().getMaterialMethodText());
92
        }
93
        setRecordBase(derivedUnit.getRecordBasis().getMessage());
94
        setSources(derivedUnit.getSources());
95
        setSpecimenTypeDesignations(derivedUnit.getSpecimenTypeDesignations());
96
    }
97

    
98

    
99

    
100
    public String getAccessionNumber() {
101
        return accessionNumber;
102
    }
103
    public void setAccessionNumber(String accessionNumber) {
104
        this.accessionNumber = accessionNumber;
105
    }
106

    
107
    public Map<String, List<String>> getTypes() {
108
        return types;
109
    }
110
    public void addTypes(String typeStatus, List<String> typedTaxa){
111
        if(types==null){
112
            types = new HashMap<String, List<String>>();
113
        }
114
        types.put(typeStatus, typedTaxa);
115
    }
116

    
117
    public List<Pair<UUID, String>> getAssociatedTaxa() {
118
        return associatedTaxa;
119
    }
120
    public void addAssociatedTaxon(Taxon taxon){
121
        if(associatedTaxa==null){
122
            associatedTaxa = new ArrayList<Pair<UUID, String>>();
123
        }
124
        associatedTaxa.add(new Pair<UUID, String>(taxon.getUuid(), taxon.getTitleCache()));
125
    }
126

    
127
    public void setPreferredStableUri(URI preferredStableUri) {
128
        this.preferredStableUri = preferredStableUri;
129
    }
130

    
131
    public URI getPreferredStableUri() {
132
        return preferredStableUri;
133
    }
134

    
135
}
(18-18/30)