Project

General

Profile

« Previous | Next » 

Revision 4d76d7eb

Added by Fabian Reimeier over 6 years ago

ref #6903 TermCacher reorganisation

View differences:

src/main/java/eu/etaxonomy/cdm/vaadin/util/TermCacher.java
8 8
*/
9 9
package eu.etaxonomy.cdm.vaadin.util;
10 10

  
11
import java.util.ArrayList;
12
import java.util.Arrays;
11 13
import java.util.HashMap;
14
import java.util.List;
12 15
import java.util.Map;
13 16

  
17
import eu.etaxonomy.cdm.model.common.TermType;
14 18
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
15 19
import eu.etaxonomy.cdm.model.location.NamedArea;
16 20

  
......
38 42
        return instance;
39 43
    }
40 44

  
45

  
41 46
    public void addNamedArea(NamedArea namedArea){
42 47
        titleToNamedAreaMap.put(namedArea.getTitleCache(), namedArea);
43 48
    }
44 49

  
50
//    private void loadNamedAreaTerms() {
51
//        List<NamedArea> naTerms = CdmSpringContextHelper.getTermService().listByTermType(TermType.NamedArea,
52
//                                                                     null, null, null, TERMS_INIT_STRATEGY);
53
//        for(NamedArea naTerm : naTerms) {
54
//            this.addNamedArea(naTerm);
55
//        }
56
//    }
57

  
45 58
    public NamedArea getNamedArea(String title){
59
//        // TODO: Only load single area if not already cached.
60
//        if(titleToNamedAreaMap.isEmpty()) {
61
//            loadNamedAreaTerms();
62
//        }
46 63
        return titleToNamedAreaMap.get(title);
47 64
    }
48 65

  
66
//    // Performance Issue
67
//    public List<NamedArea> getNamedAreaTermList(){
68
//        if (titleToNamedAreaMap.isEmpty()) {
69
//            loadNamedAreaTerms();
70
//        }
71
//        List<NamedArea> naList = new ArrayList<>();
72
//        naList.addAll(titleToNamedAreaMap.values());
73
//        return naList;
74
//    }
75

  
49 76
    public void addPresenceAbsenceTerm(PresenceAbsenceTerm presenceAbsenceTerm){
50 77
        titleToPresenceAbsenceTermMap.put(presenceAbsenceTerm.getTitleCache(), presenceAbsenceTerm);
51 78
    }
52 79

  
80
    private void loadDistributionStatusTerms() {
81
        List<PresenceAbsenceTerm> paTerms = CdmSpringContextHelper.getTermService().listByTermType(
82
                                                TermType.PresenceAbsenceTerm, null, null, null,
83
                                                TERMS_INIT_STRATEGY);
84
        for(PresenceAbsenceTerm paTerm : paTerms) {
85
            this.addPresenceAbsenceTerm(paTerm);
86
        }
87
    }
88

  
53 89
    public PresenceAbsenceTerm getPresenceAbsenceTerm(String title){
90
        if(titleToPresenceAbsenceTermMap.isEmpty()) {
91
            loadDistributionStatusTerms();
92
        }
54 93
        return titleToPresenceAbsenceTermMap.get(title);
55 94
    }
95

  
96
    public List<PresenceAbsenceTerm> getDistributionStatusTermList(){
97
        if (titleToPresenceAbsenceTermMap.isEmpty()) {
98
            loadDistributionStatusTerms();
99
        }
100
        List<PresenceAbsenceTerm> paList = new ArrayList<>();
101
        paList.addAll(titleToPresenceAbsenceTermMap.values());
102
        return paList;
103
    }
104

  
105
    protected static final List<String> TERMS_INIT_STRATEGY = Arrays.asList(new String []{
106
            "$",
107
            "representations",
108
    });
56 109
}

Also available in: Unified diff