Revision 4d76d7eb
Added by Fabian Reimeier over 6 years ago
src/main/java/eu/etaxonomy/cdm/vaadin/container/PresenceAbsenceTermContainer.java | ||
---|---|---|
10 | 10 |
import com.vaadin.data.util.BeanItemContainer; |
11 | 11 |
import com.vaadin.server.VaadinSession; |
12 | 12 |
|
13 |
import eu.etaxonomy.cdm.model.common.TermType; |
|
14 | 13 |
import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm; |
15 | 14 |
import eu.etaxonomy.cdm.model.metadata.CdmPreference; |
16 | 15 |
import eu.etaxonomy.cdm.model.metadata.PreferencePredicate; |
... | ... | |
34 | 33 |
|
35 | 34 |
private void initDataModel() { |
36 | 35 |
Collection<PresenceAbsenceTerm> distributionStatus = getDistributionStatusList(TERMS_INIT_STRATEGY); |
37 |
|
|
38 | 36 |
defaultDistributionStatus = distributionStatus; |
39 |
TermCacher termCacher = TermCacher.getInstance(); |
|
40 | 37 |
addAll(distributionStatus); |
41 |
for (PresenceAbsenceTerm presenceAbsenceTerm : distributionStatus) { |
|
42 |
termCacher.addPresenceAbsenceTerm(presenceAbsenceTerm); |
|
43 |
} |
|
44 | 38 |
} |
45 | 39 |
|
46 | 40 |
public static PresenceAbsenceTermContainer getInstance(){ |
... | ... | |
66 | 60 |
List<UUID> uuidList = statusPref.getValueUuidList(); |
67 | 61 |
return (List)CdmSpringContextHelper.getTermService().load(uuidList, propertyPath); |
68 | 62 |
}else{ |
69 |
return CdmSpringContextHelper.getTermService().listByTermType( |
|
70 |
TermType.PresenceAbsenceTerm, null, null, null, propertyPath); |
|
63 |
return TermCacher.getInstance().getDistributionStatusTermList(); |
|
71 | 64 |
} |
72 | 65 |
} |
73 | 66 |
|
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 |
} |
src/main/java/eu/etaxonomy/cdm/vaadin/view/distributionStatus/DistributionTableViewBean.java | ||
---|---|---|
317 | 317 |
*/ |
318 | 318 |
@Override |
319 | 319 |
protected void initContent() { |
320 |
// initialize term cacher for table formatting |
|
321 |
getPresenter().getPresenceAbsenceTermContainer(); |
|
322 | 320 |
// initialize layout |
323 | 321 |
AbsoluteLayout mainLayout = initLayout(); |
324 | 322 |
setCompositionRoot(mainLayout); |
Also available in: Unified diff
ref #6903 TermCacher reorganisation