view geo-backend/ChangeLog @ 1126:fccd2ec85835

Summarized changes for RELEASE 1.1 geo-backend/trunk@1252 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 30 Jun 2010 12:31:01 +0000
parents 959618206b8a
children ebeb56428409
line wrap: on
line source
2010-06-30  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	RELEASE 1.1

	* ChangeLog, Changes, NEWS: Summarized changes.

2010-06-14  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* pom.xml: Write svn revision to MANIFEST file while creating jar archive.

2010-06-04  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java:
	  The ehcache CacheManager and the MBeanServer of the JVM are connected
	  so that the statistics of the sql-cache is available as MBean using
	  JConsole.

2010-06-04  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Uncacheable.java:
	  A new marker interface. It should be implemented by objects that should
	  not be cached.

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/UncacheableSDEResultSet.java:
	  A new SDEResultSet class that implements Uncacheable. Currently, it is
	  used for raster elements returned from ArcSDE.

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java:
	  Raster elements are put into an UncacheableSDEResultSet container. This
	  has the effect that raster elements are not cached.

	* src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java:
	  Only objects that do not implement Uncacheable will be cached.

2010-06-03  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/config/Configuration.java: A
	  global configuration for this geo-backend. Before using the geo-backend,
	  it is now necessary to create an instance of this class and call its
	  initialize(.) method. This method currently takes the following arguments:

	   - conf: an xml document that should contain a node named 'geo-backend'
	     that contains all configurations required by the geo-backend.
	   - configDir: the absolute path to the root configuration directory that
	     might contain further configuration files.
	   - placeholder: the placeholder string that is used in the central config
	     file to replace the path to the configuration directory.

	  Furthermore, this Configuration is used to initialize the so-called
	  'sql-cache' that caches sql statements - it has been configured via system
	  properties until now.

	* src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java:
	  The sql-cache configuration is not read from system properties but from
	  global configuration now.

2010-06-03  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/util/XMLUtils.java: Some
	  functions to handle xml stuff.

2010-05-31  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java:
	  Show the execution time of a database query as INFO log.

2010-04-28  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	RELEASE 1.0

	* Changes, NEWS, ChangeLog: Summarized changes.

2010-04-28  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* src/test/java/de/intevation/gnv/geobackend/base/query/cache/CacheCleanerTestCase.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/cache/CacheCleaner.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutor.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/DatasourceException.java,
	  src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java: Removed
	  trailing whitespace.

2010-04-20  Tim Englich  <tim.englich@intevation.de>

	* src/test/ressources/QueryExecutorTestCase.properties,
	  src/test/java/de/intevation/gnv/geobackend/base/query/cache/CacheCleanerTestCase.java:
	  Integrated Testcase for testing the Basefunctionality of the CacheCleaner.

2010-04-20  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java: 
	  Integrated the initialization of the CacheCleaner if an SQl-Cache is used.
	  Also implemented the Method for CleanUp the SQL-Cache in the extended
	  QueryExecutor.

	* src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorBase.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutor.java: 
	  Extended Interface adding an Method that should do the Cleanup of the
	  SQL-Cache.

	* src/main/java/de/intevation/gnv/geobackend/base/query/cache/package.html: 
	  Added Documentation.

	* src/main/java/de/intevation/gnv/geobackend/base/query/cache/CacheCleaner.java: 
	  Added Threadimplementation that looks every n-Seconds into the Database 
	  if there are Tables that where updated during the Time to the last Cleanup.
	  If there are Tables that has been modified the CacheCleaner will call the
	  used QueryExecutor. The Queryexecutor will clean up it's Cache using the 
	  Names of the affected Tables.
	  It is Possible to configure the Interval between two cleanups. for this 
	  you have to set the Systemproperty -Dcaching.cleaner.interval using Seconds
	  as unit.

2010-04-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ColDefinition.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ResultSet.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/DatasourceException.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/TechnicalException.java,
	  src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java:
	  Using unix line endings only.

2010-04-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainerFactory.java:
	  Removed trailing whitespace.

2010-04-13  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/query/package.html,
	  src/main/java/de/intevation/gnv/geobackend/util/package.html,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/package.html,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/package.html,
	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/package.html,
	  src/main/java/de/intevation/gnv/geobackend/sde/package.html,
	  src/main/java/de/intevation/gnv/geobackend/base/query/exception/package.html,
	  src/main/java/de/intevation/gnv/geobackend/base/query/container/exception/package.html,
	  src/main/java/de/intevation/gnv/geobackend/base/query/container/package.html,
	  src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainerFactory.java, 
	  src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainer.java,
	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/package.html,
	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/package.html,
	  src/main/java/de/intevation/gnv/geobackend/base/package.html: 
	  Added more Javadoc.

2010-04-13  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java,
	  src/main/java/de/intevation/gnv/geobackend/base/Result.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java:
	  Modified some JavaDoc so that the Warnings that where caused by mistakes
	  are removed.

2010-04-13  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java,
	  src/main/java/de/intevation/gnv/geobackend/base/Result.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEConnectionPool.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ResultSet.java,
	  src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java:
	  Modified some JavaDoc so that the Warnings that where caused by mistakes 
	  are removed.

2009-03-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/**/package.html: New.
	  Added package description with text 'DOCUMENT ME!'.

2009-03-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/test/java/de/intevation/gnv/geobackend/**/*.java:
	  Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'

	  find -name \*.java | \
	  xargs sed -i \
	  -e 's/@author[ ]\+\([^(<]\+\)[<(]\([^>)]\+\)[>)]/@author <a href="mailto:\2">\1<\/a>/g' \
	  -e 's@[ ]\+</a>@</a>@g'

2009-03-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/**/*.java:
	  Ordered imports. Removed empty headers.

2009-03-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java,
	  src/test/java/de/intevation/gnv/geobackend/base/query/ToCharSample.java,
	  src/test/java/de/intevation/gnv/geobackend/base/query/GroupBySample.java,
	  src/test/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnectionPoolTestCase.java,
	  src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java,
	  src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorBase.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainerFactory.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainer.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java,
	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/ConnectionPoolFactory.java,
	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/ConnectionPool.java,
	  src/main/java/de/intevation/gnv/geobackend/base/ResultDescriptor.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEConnectionPool.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEResultSetMetaData.java,
	  src/main/java/de/intevation/gnv/geobackend/util/BlockCollection.java,
	  src/main/java/de/intevation/gnv/geobackend/util/RedundancyRemover.java:
	  Removed trailing whitespace.
	  find -name \*.java | xargs sed -i 's/[ \t]\+$//'

2010-03-26  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/*.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/*.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/exception/QueryException.java,
	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java,
	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java,
	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/ConnectionPoolFactory.java,
	  src/main/java/de/intevation/gnv/geobackend/base/*.java:
	  Updated Javadocs to the Listed Classes.
	  Also done some Codecleanup and removed unused Methods from the Code.
	
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnectionParams.java:
	  Removed unused Class ArcSDEConnectionParams.

2010-03-26  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Datasource.java: 
	  Removed unused Class Datasource.

2010-03-26  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/DatasourceConnection.java: 
	  Removed unused Class DatasourceConnection.

2010-03-26  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEQuery.java: 
	  Removed unused Class SDEQuery.

2010-03-16  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java (createPoints): 
	  Now it is also possible to extract Points from a given LineString.
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
	  Added Support for SpatialQueries using LineString as Geometry of Interest.

2010-03-12  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue):
	  Added support for MultiLineString-Geometries. The Points do not belong to one 
	  Geometryelement. We have to lookup if the Geometry is Multiparted.
	  If it is we have to split the Points into several LineStrings which belongs 
	  to one MultiLineString.

2010-03-12  Tim Englich  <tim.englich@intevation.de>
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEResultSetMetaData.java (getColumnClassName): 
	  Added more ClassName identificaton for the different datatypes of the ArcSDE.
	  Now it is possible to distinguish between Integer, Long, String, Date, 
	  Float and Double Objects.
	  This is required to get a valid Shape- and WMS-Export.

2010-03-09  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): 
	  Switched to using asText(...)-Function of SeShapes-Objects for generating 
	  an WKT-String for Polygons. Going this way we are able to produce valid 
	  WKT for all kinds of Polygons deliverd by the ArcSDE.
	  We cannot use this Method for Points and LineStrings because the WKT 
	  which will be produced is invalid e.g. Point Z (...) LineString m (...)
	  I didn't find Invalid WKTs for Polygons which in Database-Rables we are 
	  using right now. 
	  
	  It has to be monitored if there are Polygons in the  Database which will 
	  produce invalid WKT-Strings.

2010-03-08  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): 
	  Implemented Support of MultiPolygons. The Points do not belong to one 
	  Geometryelement. We have to Lookup ifthe Geometry is Multiparted.
	  If it is we have to split the Points into several Polygons which belongs 
	  to one Multipolygon.
	  This Fix solve did not solve any Parsingerros. Some geometries are still 
	  corrupt.
	  
2010-03-08  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): 
	  Added Suport for the Geometrytyp SimpleLine.
	  SimpleLine will be handled as an Line.

2010-02-05  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	  Issue170
	
	* artifact-database/pom.xml: Changed log4j version to 1.2.14 (later version
	  causes errors and breaks while maven build process).

2010-02-05  Tim Englich  <tim.englich@intevation.de>

	* pom.xml: 
	  Changed from ArcSDE version 9.2.5 to Version 9.3
	  You have to Install the required Libraries as described in
	  https://bsh-intern.intevation.de/Mavenbuildprozess

2010-01-27  Hans Plum <hans@intevation.de>

	RELEASE 0.4

	* Changes, NEWS, ChangeLog: Summarized changes.

2009-01-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Fix for gnv/issue107

	* src/main/java/de/intevation/gnv/geobackend/util/RedundancyRemover.java:
	  New. Used to reduce the redundancy of data in SQL result sets. Column
	  values are very distinct so the degree or redundancy is very high. E.g 
	  the SDE produces for each date value a java.util.GregorianCalendar object
	  which are very heavy weighted. We only use them r/o so we can hash each date 
	  value to one unique representative. Same logic applys to integer values 
	  and so on.
	  
	  With this technique we are able to reduce the memory consumption by
	  over 90%. Because it is not very feasible to store the whole history
	  of column we only have a limited number of cached values per column.
	  This is controlled via the system property
	  "de.intevation.gnv.geobackend.util.RedundancyRemover.lookback" which
	  defaults to 1029.

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java:
	  Use RedundancyRemovers to filter the incoming traffic from SDE.

2010-01-26  Tim Englich  <tim.englich@intevation.de>

	* src/test/java/de/intevation/gnv/geobackend/base/query/ToCharSample.java : 
	  Added Sample for bug in ArcSDE 9.3 using to_char-Function with SpatialQuery
	* src/test/java/de/intevation/gnv/geobackend/base/query/GroupBySample.java : 
	  Added Sample for Bug in ArcSDE using group by with SpatialQuery

2009-01-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Another attempt to fix gnv/issue34

	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java:
	  Add a toString() method.

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java:
	  Added an idle time detection mechanism. You can call touch() on
	  a connection to refresh the internal timestamp and ask with isActive()
	  if a constructor given time interval in milliseconds is exceeded.

	* src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java:
	  Added a check of inactivity to validateObject() before relying on SDE logic.
	  This is the last line of defence if the testServer() call is going not to respond.
	  This duplicates the eviction policy of Apache Commons pool a bit but I found
	  this way to be more trustworthy.

	  The idle time is configure with the property 'serverInactiveInterval'.
	  units: seconds. Defaults to 5 minutes.

	  The unit of 'serverRoundtripInterval' (parameter of testServer()) is now
	  in seconds, too. Default: 5 seconds. This is the value used in GeoTools.

2009-01-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEQuery.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
	  Cleanup imports.

2010-01-15  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java (isValid): 
	  Implemented the isValid-method of the ArcSDEConnection for 
	  getting a propper Validation of the used SEConnection.
	  For the Validation the Method testServer of the SEConnection is used.
	
	* src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java (ArcSDEPoolableObjectFactory): 
	  Added Member serverRoundtripInterval to represent the Time in 
	  Milliseconds which is allowed to reused a returned Connection.
	  Also used Connection.isValid Method instead of Connection.isClosed 
	  to validate the Connection befor it could be borrowed from the Pool.

2009-01-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
	  Added bicubic spline interpolation on raster tiles. This
	  should increase the 'virtual' resolution more than the
	  bilinear interpolation. To enable it write 'bicubic' into
	  the configuration file.

	* pom.xml: Added dependency to Apache Common Math 2.0 for
	  the cubic spline interpolation.

2009-01-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
	  Added static method to fetch matching interpolation type for
	  given string. Defaults to nearest neighbor if no string is matching.

2009-01-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
	  Implemented bilinear interpolation.

2009-01-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java:
	  Fixed transformations to figure out the right tile in the SDE.
	  Taking the tile origin into account now and does not do wrong rounding
	  of column and row indices. Simplified the code a lot.

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
	  Fixed access to right right pixel now. Removed the envelope code because
	  its not needed any longer. You can ask a RasterObject directly now if
	  a given coordinate is on the tile now. The tile space is now correctly
	  spanned between (0, 0) and (tile width - 1, tile height - 1) now which
	  allows other access patterns like bilinear interpolation. TODO: implement
	  bilinear interpolation.

2010-01-08  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEQuery.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java, 
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java, 
	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/ConnectionPoolFactory.java (initializeConnectionPool): 
	  Removed Encodingerrors from listed Files. All Files are now UTF-8 compliant.

2010-01-05  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
	  Made it serializable to be cachable beyond reboot.

2010-01-05  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (handleResultSet): 
	  Switched to return the RasterObject instead of the depth in an Rasterquery.
	  This should help to get a better performance.
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java (RasterObject): 
	  Added new Object for Caching Rastertiles and all Informations that are
	  required for calculating the Depth to a given Coordinate.

2010-01-04  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (handleResultSet): 
	  Added Rasterdatasupport to the ARCSDESTATEMENT.
	  Now it is possible to Query the Value of an Pixel like that:
	  SELECT ST_ASTEXT(RASTER) FROM MEDIAN.TOPO_BS_D_6X10SEC where INTERSECTS(RASTER, "POINT( 12.084721594184593 54.35583351483295)")

2009-12-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* contrib/sql-cache.xml: Configured disk storage to survive restarts.

	* src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java:
	  Added explicit shutdown hook.

	* src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java:
	  Fixed spelling of cacheResults() which prevented results to be stored in cache.
	  Added some logging.

2009-12-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	Experimental caching of SQL results via Ehcache

	* pom.xml: Added dependency to Ehcache

	* src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutor.java:
	  Extended interface to support caching by SQL statements as Strings.

	* src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorBase.java:
	  Implements new interface with no caching
	
	* src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainerFactory.java:
	  synchronized access to singleton.

	* src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java:
	  calls caching methods of base class.

	* src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java:
	  When system property 'query.executor.factory' is given the value is used as
	  a class name to be instantiated as a sub class of QueryExecutorFactory.
	  This happens if the singleton of QueryExecutorFactory is created. With the
	  mechanism it is possible to replace the standard behavior of creating QueryExecutors.

	* src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java:
	  New: This class extends QueryExecutorFactory and can be used as replacement for
	  the standard QueryExecutorFactory. Usage: 

	  -Dquery.executor.factory=de.intevation.gnv.geobackend.base.query.CachingQueryExecutorFactory

	  If you pass in another system property 'caching.query.executor.config' you can
	  customize the caching. The value is used as a file name to an XML file with 
	  Ehcache configuration.

	* contrib/sql-cache.xml: Demo configuration for sql caching. Usage:

	  -Dquery.executor.factory=de.intevation.gnv.geobackend.base.query.CachingQueryExecutorFactory
	  -Dcaching.query.executor.config=contrib/sql-cache.xml

2009-12-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	RELEASE 0.3

	* Changes, NEWS, ChangeLog: Summarized changes.

2009-12-17  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java:
	  Fixed bug in DefaultResult when querying an index out of bounds.

2009-12-15  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
	  We have to use a different SpatialFilter for Point in Polygon Queries as 
	  in AreaIntersection Statements.
	  So we have to include a switch which will do that.
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java (createPoints): 
	  Added Support of Point-Objects for the possibility to execute a Point in Pologon 
	  Statement using the ArcSDE.

2009-12-11  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java:
	  DefaultResult will return null if it doesn't contain the specified column
	  name in method getString(String columnName), instead of throwing an
	  exception.

2009-12-11	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java,
	src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainer.java,
	src/main/java/de/intevation/gnv/geobackend/base/query/container/DefaultQueryContainer.java:
	Removed needless imports.

2009-11-30  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java, 
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEResultSetMetaData.java, 
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java: 
	  Added missing Methodstubs for Java 1.6 compability.
	  ###################################################
	  ###### ATTENTION: ONLY USE JAVA 1.6 FOR THIS ######
	  ######         AND ALL USING MODULES.        ######
	  ###################################################

2009-11-27  Tim Englich  <tim.englich@intevation.de>

	* src/test/ressources/QueryExecutorTestCase.properties,
	  src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java: 
	  Revert Changes of the commit of Revision 377 which was unintended
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
	  Changed Splitalgorithm of Statements so that it is Possible to add to_date Colums into a Statement
	  with Spatial-Columns or Spatial-Filters

2009-11-13  Hans Plum <hans@intevation.de>

	RELEASE 0.2

	* Changes, NEWS: Summarized changes.

2009-11-13  Hans Plum <hans@intevation.de>

	* Made some ChangeLog entries a bit clearer.

2009-11-10  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
	  Changed the splitting of the Statements for ARCSDE-Transformation.
	  Now it is possible to use a Select-Statement as an Table.

2009-11-06  Ingo Weinzierl <ingo.weinzierl@intevation.de>

	* target/**: Removed. Should not be in version control.

2009-11-05  Tim Englich  <tim.englich@intevation.de>

	* src/test/ressources/QueryExecutorTestCase.properties,
	  src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (testSpatialQueryWithInnerSelect):
	  Added an Tescase to test the InnerSelect Statments in Spatial-Queries.
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): 
	  Bugfix. An Point could not have an Z-Coordinate-Value
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
	  Added the possibility to execute Spatial-Queries using InnerStatements instead
	  of WKT in Intersects-where-clauses.

2009-11-02  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java (createStatement): 
	  Changed TODO to a question
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
	  CodeCleanup: Removed deprecated TODO
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java (getColumnIndex): 
	  Removed Typo.
	* src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java: 
	  CodeCleanup: Removed deprecated TODOS and replace Tabs with whitespaces.
	* src/main/java/de/intevation/gnv/geobackend/base/query/container/DefaultQueryContainer.java:,
	  src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainer.java:
	  CodeCleanup: Removed unused Method getQueryIds
	* src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEConnectionPool.java (closeConnection): 
	  CodeCleanup: Inspect TODO and ansewerd the Question that the Connection has not to
	  be closed at that position but perhaps insite the ConnectionPool. 

2009-10-30  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): 
	  Added Support for Polygons without interior Rings. This is required for generating
	  Horizontal Cross-Section Outputs.
	  The Z-Value of an Point was also added to the WKT-Represantation.

2009-10-29  Tim Englich  <tim.englich@intevation.de>

	Issue 45: Defintion of gaps in temporal and spatial data

	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java (getInteger): 
	  Added Integer-Support for DoubleValues because the ArcSDE does 
	  not read values like -1 as Integer-values. issue45

2009-10-20  Tim Englich  <tim.englich@intevation.de>

	Issue 57: Improving memory usage of data objects

	* src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorBase.java (QueryExecutorBase),
	  src/main/java/de/intevation/gnv/geobackend/base/ResultDescriptor.java (getColumnClassName),
	  src/main/java/de/intevation/gnv/geobackend/base/Result.java, 
	  src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java (serialVersionUID), 
	  src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java (getDate):
	  Integrated Patch of issue57 to get some Memoryusage-improvements  

2009-10-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java:
	Extends from HashMap directly to avoid one level of indirection and
	do not create so much needless objects.

	TODO: The representation in form of HashMaps is not very efficent!
	Use array with index instead.

2009-10-14  Tim Englich  <tim.englich@intevation.de>

	* src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (testSpatialQueryWithoutIntersects), 
	  src/test/ressources/QueryExecutorTestCase.properties: 
	  Added further Queries for Testing Spatial-Query-Support
	  
2009-10-14  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): 
	  Add WKT-Syntaxt to Shape ReturnValue
	* src/test/ressources/QueryExecutorTestCase.properties: 
	  Changed Test-Query-Statement for Spatial-Queries with INNERJOINS and ORDER BY
	* src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (testSpatialQueryWithoutIntersects): 
	  Changed expected Result-Size because of Changes in the QueryStatement which is used.
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
	  Added INNERJOIN, ORDER BY and GROUP BY support to Spatial Queries

2009-10-13  Tim Englich  <tim.englich@intevation.de>

	* src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (testSpatialQueryWithoutIntersects): 
	  Added an TaesCase for Querying spatial Data without an spatial restriction
	* src/test/ressources/QueryExecutorTestCase.properties: 
	  Added TestQuery with no spatial restriction
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
	  Now it is possible to send spatial Quieries without an spatial restriction in the where clause.
	
2009-10-13  Tim Englich  <tim.englich@intevation.de>

	Issue 34: SQL Exception in REST Server when accessing geo-backend

	* src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java (validateObject) Edited:
	  Added Tests if the Object is Closed. And add propper instance Tests 
	* src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEConnectionPool.java (initialize):
	  Added further ConfigurationParameters that could be  set in the *.properties-File.
	  maxWait, maxIdle, minIdle, testOnBorrow, testOnReturn, testWhileIdle, numTestsPerEvictionRun, 
	  timeBetweenEvictionRunsMillis, testWhileIdle 
	* src/test/ressources/ArcSDEConnectionPoolTestCase.properties: 
	  Added som Configurationproperties for testing.
	  
	  
2009-10-13  Tim Englich  <tim.englich@intevation.de>
	* src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java (QueryExecutorTestCase):
	  Changed expected Result of Spatial-Query-TestCase because of Changes to the used Query 
	* src/test/ressources/QueryExecutorTestCase.properties: 
	  Added SFS-Conformal Query
	* pom.xml:
	  Added dependency to JTS 1.9
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
	  Added Spatial-Query-Support for ArcSDE
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java (createPoints): 
	  Switched Method Signature to JTS-Geometry-Support
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getStringValue): 
	  Added String-Support for GeometryObjects

2009-10-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	RELEASE 0.1

	* Changes, NEWS: Summarized changes.

2009-10-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>

	* Changelog -> ChangeLog: Renamed to make eclipse happy. Unified changelog style.

	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEQuery.java,
	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java:
	  Removed needless imports.

	* pom.xml: xmllint-ed

2009-09-29	Tim Englich	<tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java (DATE_PATTERN) Edited:
	  Make the Constants assessible for other Parts of the Project to reduce the TouchPoints for
	  Dateformats.

2009-09-24  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/ResultDescriptor.java Edited, 
	  src/main/java/de/intevation/gnv/geobackend/base/Result.java Edited, 
	  src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java Edited,  
	  src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java Edited:
	  Make Classes Serializable for Storing in ArtifactDatabase 

2009-09-21  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java: 
	  Added formatted Date Handling in getString Method
	* src/test/ressources/QueryExecutorTestCase.properties Edited, 
	  src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java Edited:
	  Some tests for Spatialqueries added 
	* src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java Edited: 
	  Put the final Querystring into a Logmessage

2009-09-09  Tim Englich  <tim.englich@intevation.de>

	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java (getDate):
	 . Intance Check for DateValues
	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java (next):
	  Logging removed because the performance slowdown fetching many ResultSets 

2009-09-04  Tim Englich  <tim.englich@intevation.de>

	* pom.xml: 

http://dive4elements.wald.intevation.org