Mercurial > dive4elements > gnv-client
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();