diff geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java @ 1122:1985d5db0feb

Implemented a global configuration that should be used to initialize the geobackend. geo-backend/trunk@1149 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 03 Jun 2010 13:31:07 +0000
parents 02cd2935b5fa
children f3fdbeef1c68
line wrap: on
line diff
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java	Thu Jun 03 12:35:35 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java	Thu Jun 03 13:31:07 2010 +0000
@@ -11,6 +11,7 @@
 
 import de.intevation.gnv.geobackend.base.Result;
 import de.intevation.gnv.geobackend.base.query.cache.CacheCleaner;
+import de.intevation.gnv.geobackend.config.Configuration;
 
 /**
  * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a>
@@ -18,7 +19,6 @@
 public class CachingQueryExecutorFactory
 extends      QueryExecutorFactory
 {
-    public static final String QUERY_EXECUTOR_FACTORY = "caching.query.executor.config";
     public static final String CACHE_NAME             = "sql.cache";
 
     private static Logger log = Logger.getLogger(CachingQueryExecutorFactory.class);
@@ -27,13 +27,27 @@
 
     public CachingQueryExecutorFactory() {
         log.info("using SQL cache");
-        String configFile = System.getProperty(QUERY_EXECUTOR_FACTORY);
-        manager = configFile != null
-            ? new CacheManager(configFile)
-            : new CacheManager();
-        manager.addCache(CACHE_NAME);
-        CacheCleaner cc = new CacheCleaner();
-        cc.start();
+
+        init();
+    }
+
+    private void init() {
+        Configuration config = Configuration.getInstance();
+
+        if (config == null) {
+            log.error("No geobackend configuration found. " +
+                "Wasn't able to initialize cache.");
+            return;
+        }
+        else {
+            String configFile = config.getCacheConfiguration();
+            manager = configFile != null
+                ? new CacheManager(configFile)
+                : new CacheManager();
+            manager.addCache(CACHE_NAME);
+            CacheCleaner cc = new CacheCleaner();
+            cc.start();
+        }
     }
 
     public QueryExecutor getQueryExecutor() {

http://dive4elements.wald.intevation.org