Revision c35d4c4a
Added by Katja Luther almost 5 years ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmPreferenceCache.java | ||
---|---|---|
51 | 51 |
|
52 | 52 |
public CdmPreference get(String predicate){ |
53 | 53 |
if (preferenceCache.get(predicate) != null){ |
54 |
List<CdmPreference> preferences = preferenceCache.get(predicate); |
|
54 | 55 |
if (preferenceCache.get(predicate).size() > 1){ |
55 |
return findBestMatching(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.getByKey(predicate))); |
|
56 |
CdmPreference pref = PreferenceResolver.resolve(preferenceCache.get(predicate), CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.getByKey(predicate))); |
|
57 |
return pref; |
|
56 | 58 |
} |
57 | 59 |
return preferenceCache.get(predicate).get(0); |
58 | 60 |
} |
59 | 61 |
return null; |
60 | 62 |
} |
61 |
// public Collection<CdmPreference> get(PrefKey key){ |
|
62 |
// if (preferenceCache.containsKey(key.getPredicate())){ |
|
63 |
// if (key.getSubject() != null){ |
|
64 |
// Set<CdmPreference> result = new HashSet(); |
|
65 |
// result.add(preferenceCache.get(key.getPredicate()).get(key.getSubject())); |
|
66 |
// return result; |
|
67 |
// }else{ |
|
68 |
// if (!preferenceCache.get(key.getPredicate()).values().isEmpty()){ |
|
69 |
// return preferenceCache.get(key.getPredicate()).values(); |
|
70 |
// } |
|
71 |
// } |
|
72 |
// } |
|
73 |
// return null; |
|
74 |
// } |
|
63 |
|
|
64 |
//looking for the equal prefkey |
|
65 |
public CdmPreference get(PrefKey key){ |
|
66 |
if (preferenceCache.containsKey(key.getPredicate())){ |
|
67 |
for (CdmPreference pref: preferenceCache.get(key.getPredicate())){ |
|
68 |
if (pref.getKey().equals(key)){ |
|
69 |
return pref; |
|
70 |
} |
|
71 |
} |
|
72 |
|
|
73 |
} |
|
74 |
return null; |
|
75 |
} |
|
75 | 76 |
|
76 | 77 |
public void put(CdmPreference pref){ |
77 | 78 |
if (preferenceCache.containsKey(pref.getPredicate())){ |
Also available in: Unified diff
implement get(PrefKey) for exact match of key in preferenceCache