public CdmPreference get(String predicate){
if (preferenceCache.get(predicate) != null){
+ List<CdmPreference> preferences = preferenceCache.get(predicate);
if (preferenceCache.get(predicate).size() > 1){
- return findBestMatching(CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.getByKey(predicate)));
+ CdmPreference pref = PreferenceResolver.resolve(preferenceCache.get(predicate), CdmPreference.NewKey(PreferenceSubject.NewTaxEditorInstance(), PreferencePredicate.getByKey(predicate)));
+ return pref;
}
return preferenceCache.get(predicate).get(0);
}
return null;
}
-// public Collection<CdmPreference> get(PrefKey key){
-// if (preferenceCache.containsKey(key.getPredicate())){
-// if (key.getSubject() != null){
-// Set<CdmPreference> result = new HashSet();
-// result.add(preferenceCache.get(key.getPredicate()).get(key.getSubject()));
-// return result;
-// }else{
-// if (!preferenceCache.get(key.getPredicate()).values().isEmpty()){
-// return preferenceCache.get(key.getPredicate()).values();
-// }
-// }
-// }
-// return null;
-// }
+
+ //looking for the equal prefkey
+ public CdmPreference get(PrefKey key){
+ if (preferenceCache.containsKey(key.getPredicate())){
+ for (CdmPreference pref: preferenceCache.get(key.getPredicate())){
+ if (pref.getKey().equals(key)){
+ return pref;
+ }
+ }
+
+ }
+ return null;
+ }
public void put(CdmPreference pref){
if (preferenceCache.containsKey(pref.getPredicate())){