ref #7932: add getBestMatching method using preferenceResolver in preferenceCache
authorKatja Luther <k.luther@bgbm.org>
Fri, 29 Mar 2019 11:47:49 +0000 (12:47 +0100)
committerKatja Luther <k.luther@bgbm.org>
Fri, 29 Mar 2019 11:50:44 +0000 (12:50 +0100)
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/preference/CdmPreferenceCache.java

index 5b0941fbb362eb674b31675dfa293ddc2370cc91..48d7a43a7deaf9541ba7e145e49bc2f8303382b4 100755 (executable)
@@ -18,12 +18,13 @@ import org.apache.log4j.Logger;
 
 import eu.etaxonomy.cdm.api.application.ICdmRepository;
 import eu.etaxonomy.cdm.api.service.ITermService;
-import eu.etaxonomy.cdm.model.term.DefinedTermBase;
-import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference;
 import eu.etaxonomy.cdm.model.metadata.CdmPreference.PrefKey;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
+import eu.etaxonomy.cdm.model.metadata.PreferenceResolver;
 import eu.etaxonomy.cdm.model.metadata.PreferenceSubject;
+import eu.etaxonomy.cdm.model.term.DefinedTermBase;
+import eu.etaxonomy.cdm.model.term.TermType;
 import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.store.TermStore;
 
@@ -39,6 +40,8 @@ public class CdmPreferenceCache {
 
     private final static Logger logger = Logger.getLogger(CdmPreferenceCache.class);
 
+    PreferenceResolver resolver = new PreferenceResolver();
+
     public static CdmPreferenceCache instance(){
         if(instance == null){
             instance = new CdmPreferenceCache();
@@ -180,4 +183,10 @@ public class CdmPreferenceCache {
         }
     }
 
+    private CdmPreference findBestMatching(PrefKey key) {
+
+        return resolver.resolve(new ArrayList(this.preferenceCache.values()), key);
+
+    }
+
 }