Revision 4d76d7eb
Added by Fabian Reimeier over 6 years ago
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
ref #6903 TermCacher reorganisation