Project

General

Profile

« Previous | Next » 

Revision c35d4c4a

Added by Katja Luther almost 5 years ago

implement get(PrefKey) for exact match of key in preferenceCache

View differences:

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