Mercurial > dive4elements > gnv-client
diff geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java @ 1123:f76541120bcb
Raster elements returned from ArcSDE are put into an UncacheableSDEResultSet container that is NOT cached.
geo-backend/trunk@1154 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 04 Jun 2010 08:19:38 +0000 |
parents | d387a97807a3 |
children | ebeb56428409 |
line wrap: on
line diff
--- a/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java Thu Jun 03 13:31:07 2010 +0000 +++ b/geo-backend/src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java Fri Jun 04 08:19:38 2010 +0000 @@ -13,6 +13,8 @@ import de.intevation.gnv.geobackend.base.query.exception.QueryException; +import de.intevation.gnv.geobackend.sde.datasources.Uncacheable; + import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; @@ -74,7 +76,8 @@ return returnValue; } - Connection connection = null; + boolean cacheable = true; + Connection connection = null; ConnectionPool connectionPool = ConnectionPoolFactory.getInstance().getConnectionPool(); try { // Submit the Query @@ -86,13 +89,22 @@ Date end = new Date(); log.info("-> Database query took " + (end.getTime() - start.getTime()) + " ms."); + + cacheable = rs instanceof Uncacheable ? false : true; + returnValue = super.createResultCollection(rs); }else{ log.error("Could not establish Databaseconnection."); throw new QueryException("Could not establish Databaseconnection."); } - cacheResults(queryString, returnValue); + if (cacheable) { + log.debug("Elements are cacheable."); + cacheResults(queryString, returnValue); + } + else { + log.debug("Elements are NOT cacheable."); + } } catch (ConnectionException e) { log.error(e,e);