diff geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.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 b757def3ff55
children ebeb56428409
line wrap: on
line diff
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java	Thu Jun 03 12:35:35 2010 +0000
+++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java	Thu Jun 03 13:31:07 2010 +0000
@@ -1,5 +1,7 @@
 package de.intevation.gnv.geobackend.base.query;
 
+import de.intevation.gnv.geobackend.config.Configuration;
+
 import org.apache.log4j.Logger;
 
 /**
@@ -34,32 +36,18 @@
      */
     public static synchronized QueryExecutorFactory getInstance(){
         if (instance == null) {
-            String className = System.getProperty(QUERY_EXECUTOR_FACTORY);
-            if (className != null) {
-                try {
-                    Class clazz = Class.forName(className);
-                    final QueryExecutorFactory factory =
-                        (QueryExecutorFactory)clazz.newInstance();
-                    Runtime.getRuntime().addShutdownHook(new Thread() {
-                        @Override
-                        public void run() {
-                            factory.shutdown();
-                        }
-                    });
-                    return instance = factory;
-                }
-                catch (ClassNotFoundException cnfe) {
-                    log.error(cnfe);
-                }
-                catch (InstantiationException ie) {
-                    log.error(ie);
-                }
-                catch(IllegalAccessException iae) {
-                    log.error(iae);
-                }
-                catch (ClassCastException cce) {
-                    log.error(cce);
-                }
+            Configuration config = Configuration.getInstance();
+
+            if (config.isCacheEnabled()) {
+                final QueryExecutorFactory factory =
+                    new CachingQueryExecutorFactory();
+                Runtime.getRuntime().addShutdownHook(new Thread() {
+                    @Override
+                    public void run() {
+                        factory.shutdown();
+                    }
+                });
+                return instance = factory;
             }
 
             instance = new QueryExecutorFactory();

http://dive4elements.wald.intevation.org