sascha@541: 2009-12-18 Sascha L. Teichmann sascha@541: sascha@541: Experimental caching of SQL results via Ehache sascha@541: sascha@541: * pom.xml: Added dependency to Ehcache sascha@541: sascha@541: * src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutor.java: sascha@541: Extended interface to support caching by SQL statements as Strings. sascha@541: sascha@541: * src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorBase.java: sascha@541: Implements new interface with no caching sascha@541: sascha@541: * src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainerFactory.java: sascha@541: synchronized access to singleton. sascha@541: sascha@541: * src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java: sascha@541: calls caching methods of base class. sascha@541: sascha@541: * src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java: sascha@541: When system property 'query.executor.factory' is given the value is used as sascha@541: a class name to be instantiated as a sub class of QueryExecutorFactory. sascha@541: This happens if the singleton of QueryExecutorFactory is created. With the sascha@541: mechanism it is possible to replace the standard behavior of creating QueryExecutors. sascha@541: sascha@541: * src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java: sascha@541: New: This class extends QueryExecutorFactory and can be used as replacement for sascha@541: the standard QueryExecutorFactory. Usage: sascha@541: sascha@541: -Dquery.executor.factory=de.intevation.gnv.geobackend.base.query.CachingQueryExecutorFactory sascha@541: sascha@541: If you pass in another system property 'caching.query.executor.config' you can sascha@541: customize the caching. The value is used as a file name to an XML file with sascha@541: Ehcache configuration. sascha@541: sascha@541: * contrib/sql-cache.xml: Demo configuration for sql caching. Usage: sascha@541: sascha@541: -Dquery.executor.factory=de.intevation.gnv.geobackend.base.query.CachingQueryExecutorFactory sascha@541: -Dcaching.query.executor.config=contrib/sql-cache.xml sascha@541: sascha@541: 2009-12-17 Sascha L. Teichmann sascha@385: sascha@385: RELEASE 0.3 sascha@385: sascha@385: * Changes, NEWS, ChangeLog: Summarized changes. sascha@385: ingo@384: 2009-12-17 Ingo Weinzierl ingo@384: ingo@384: * src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java: ingo@384: Fixed bug in DefaultResult when querying an index out of bounds. ingo@384: tim@383: 2009-12-15 Tim Englich tim@383: tim@383: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): tim@383: We have to use a different SpatialFilter for Point in Polygon Queries as tim@383: in AreaIntersection Statements. tim@383: So we have to include a switch which will do that. tim@383: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java (createPoints): tim@383: Added Support of Point-Objects for the possibility to execute a Point in Pologon tim@383: Statement using the ArcSDE. tim@383: ingo@382: 2009-12-11 Ingo Weinzierl ingo@382: ingo@382: * src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java: ingo@382: DefaultResult will return null if it doesn't contain the specified column ingo@382: name in method getString(String columnName), instead of throwing an ingo@382: exception. ingo@382: sascha@381: 2009-12-11 Sascha L. Teichmann sascha@381: sascha@381: * src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java, sascha@381: src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainer.java, sascha@381: src/main/java/de/intevation/gnv/geobackend/base/query/container/DefaultQueryContainer.java: sascha@381: Removed needless imports. sascha@381: tim@380: 2009-11-30 Tim Englich tim@380: tim@380: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java, tim@380: src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java, tim@380: src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEResultSetMetaData.java, tim@380: src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java: tim@380: Added missing Methodstubs for Java 1.6 compability. tim@380: ################################################### tim@380: ###### ATTENTION: ONLY USE JAVA 1.6 FOR THIS ###### tim@380: ###### AND ALL USING MODULES. ###### tim@380: ################################################### tim@380: tim@378: 2009-11-27 Tim Englich tim@378: tim@378: * src/test/ressources/QueryExecutorTestCase.properties, tim@378: src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java: tim@379: Revert Changes of the commit of Revision 377 which was unintended tim@378: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): tim@378: Changed Splitalgorithm of Statements so that it is Possible to add to_date Colums into a Statement tim@378: with Spatial-Columns or Spatial-Filters tim@378: hans@279: 2009-11-13 Hans Plum hans@279: hans@279: RELEASE 0.2 hans@279: hans@279: * Changes, NEWS: Summarized changes. hans@279: hans@278: 2009-11-13 Hans Plum hans@278: hans@278: * Made some ChangeLog entries a bit clearer. hans@278: tim@277: 2009-11-10 Tim Englich tim@277: tim@277: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): tim@277: Changed the splitting of the Statements for ARCSDE-Transformation. tim@277: Now it is possible to use a Select-Statement as an Table. tim@277: ingo@276: 2009-11-06 Ingo Weinzierl ingo@276: ingo@276: * target/**: Removed. Should not be in version control. ingo@276: tim@275: 2009-11-05 Tim Englich tim@275: tim@275: * src/test/ressources/QueryExecutorTestCase.properties, tim@275: src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (testSpatialQueryWithInnerSelect): tim@275: Added an Tescase to test the InnerSelect Statments in Spatial-Queries. tim@275: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): tim@275: Bugfix. An Point could not have an Z-Coordinate-Value tim@275: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): tim@275: Added the possibility to execute Spatial-Queries using InnerStatements instead tim@275: of WKT in Intersects-where-clauses. tim@275: tim@274: 2009-11-02 Tim Englich tim@274: tim@274: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java (createStatement): tim@274: Changed TODO to a question tim@274: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): tim@274: CodeCleanup: Removed deprecated TODO tim@274: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java (getColumnIndex): tim@274: Removed Typo. tim@274: * src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java: tim@274: CodeCleanup: Removed deprecated TODOS and replace Tabs with whitespaces. tim@274: * src/main/java/de/intevation/gnv/geobackend/base/query/container/DefaultQueryContainer.java:, tim@274: src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainer.java: tim@274: CodeCleanup: Removed unused Method getQueryIds tim@274: * src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEConnectionPool.java (closeConnection): tim@274: CodeCleanup: Inspect TODO and ansewerd the Question that the Connection has not to tim@274: be closed at that position but perhaps insite the ConnectionPool. tim@274: tim@273: 2009-10-30 Tim Englich tim@273: tim@273: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): tim@273: Added Support for Polygons without interior Rings. This is required for generating tim@273: Horizontal Cross-Section Outputs. tim@273: The Z-Value of an Point was also added to the WKT-Represantation. tim@273: tim@272: 2009-10-29 Tim Englich tim@272: hans@278: Issue 45: Defintion of gaps in temporal and spatial data hans@278: tim@272: * src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java (getInteger): tim@272: Added Integer-Support for DoubleValues because the ArcSDE does tim@272: not read values like -1 as Integer-values. issue45 tim@272: tim@271: 2009-10-20 Tim Englich tim@271: hans@278: Issue 57: Improving memory usage of data objects hans@278: tim@271: * src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorBase.java (QueryExecutorBase), tim@271: src/main/java/de/intevation/gnv/geobackend/base/ResultDescriptor.java (getColumnClassName), tim@271: src/main/java/de/intevation/gnv/geobackend/base/Result.java, tim@271: src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java (serialVersionUID), tim@271: src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java (getDate): tim@271: Integrated Patch of issue57 to get some Memoryusage-improvements tim@271: sascha@270: 2009-10-19 Sascha L. Teichmann sascha@270: sascha@270: * src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java: sascha@270: Extends from HashMap directly to avoid one level of indirection and sascha@270: do not create so much needless objects. sascha@270: sascha@270: TODO: The representation in form of HashMaps is not very efficent! sascha@270: Use array with index instead. sascha@270: tim@269: 2009-10-14 Tim Englich tim@269: tim@269: * src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (testSpatialQueryWithoutIntersects), tim@269: src/test/ressources/QueryExecutorTestCase.properties: tim@269: Added further Queries for Testing Spatial-Query-Support tim@269: tim@267: 2009-10-14 Tim Englich tim@267: tim@268: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): tim@268: Add WKT-Syntaxt to Shape ReturnValue tim@267: * src/test/ressources/QueryExecutorTestCase.properties: tim@267: Changed Test-Query-Statement for Spatial-Queries with INNERJOINS and ORDER BY tim@267: * src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (testSpatialQueryWithoutIntersects): tim@267: Changed expected Result-Size because of Changes in the QueryStatement which is used. tim@267: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): tim@267: Added INNERJOIN, ORDER BY and GROUP BY support to Spatial Queries tim@267: tim@263: 2009-10-13 Tim Englich tim@263: tim@266: * src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (testSpatialQueryWithoutIntersects): tim@266: Added an TaesCase for Querying spatial Data without an spatial restriction tim@266: * src/test/ressources/QueryExecutorTestCase.properties: tim@266: Added TestQuery with no spatial restriction tim@266: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): tim@266: Now it is possible to send spatial Quieries without an spatial restriction in the where clause. tim@266: tim@266: 2009-10-13 Tim Englich hans@278: hans@278: Issue 34: SQL Exception in REST Server when accessing geo-backend hans@278: tim@265: * src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java (validateObject) Edited: tim@265: Added Tests if the Object is Closed. And add propper instance Tests tim@265: * src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEConnectionPool.java (initialize): tim@265: Added further ConfigurationParameters that could be set in the *.properties-File. tim@265: maxWait, maxIdle, minIdle, testOnBorrow, testOnReturn, testWhileIdle, numTestsPerEvictionRun, tim@265: timeBetweenEvictionRunsMillis, testWhileIdle tim@265: * src/test/ressources/ArcSDEConnectionPoolTestCase.properties: tim@265: Added som Configurationproperties for testing. tim@265: tim@265: tim@265: 2009-10-13 Tim Englich tim@264: * src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (QueryExecutorTestCase): tim@264: Changed expected Result of Spatial-Query-TestCase because of Changes to the used Query tim@263: * src/test/ressources/QueryExecutorTestCase.properties: tim@263: Added SFS-Conformal Query tim@263: * pom.xml: tim@263: Added dependency to JTS 1.9 tim@263: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): tim@263: Added Spatial-Query-Support for ArcSDE tim@263: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java (createPoints): tim@263: Switched Method Signature to JTS-Geometry-Support tim@263: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getStringValue): tim@263: Added String-Support for GeometryObjects tim@263: sascha@144: 2009-10-07 Sascha L. Teichmann sascha@144: sascha@144: RELEASE 0.1 sascha@144: sascha@144: * Changes, NEWS: Summarized changes. sascha@144: sascha@143: 2009-10-06 Sascha L. Teichmann sascha@143: sascha@143: * Changelog -> ChangeLog: Renamed to make eclipse happy. Unified changelog style. sascha@143: sascha@143: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEQuery.java, sascha@143: src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java: sascha@143: Removed needless imports. sascha@143: sascha@143: * pom.xml: xmllint-ed sascha@143: sascha@143: 2009-09-29 Tim Englich sascha@143: sascha@143: * src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java (DATE_PATTERN) Edited: sascha@143: Make the Constants assessible for other Parts of the Project to reduce the TouchPoints for sascha@143: Dateformats. tim@263: tim@263: 2009-09-24 Tim Englich sascha@143: sascha@143: * src/main/java/de/intevation/gnv/geobackend/base/ResultDescriptor.java Edited, sascha@143: src/main/java/de/intevation/gnv/geobackend/base/Result.java Edited, sascha@143: src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java Edited, sascha@143: src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java Edited: sascha@143: Make Classes Serializable for Storing in ArtifactDatabase tim@263: tim@263: 2009-09-21 Tim Englich sascha@143: sascha@143: * src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java: tim@263: Added formatted Date Handling in getString Method sascha@143: * src/test/ressources/QueryExecutorTestCase.properties Edited, sascha@143: src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java Edited: sascha@143: Some tests for Spatialqueries added sascha@143: * src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java Edited: sascha@143: Put the final Querystring into a Logmessage sascha@143: tim@263: 2009-09-09 Tim Englich sascha@143: sascha@143: * src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java (getDate): tim@263: . Intance Check for DateValues sascha@143: * src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java (next): sascha@143: Logging removed because the performance slowdown fetching many ResultSets sascha@143: tim@263: 2009-09-04 Tim Englich sascha@143: sascha@270: * pom.xml: