ingo@898: 2010-04-28  Ingo Weinzierl <ingo.weinzierl@intevation.de>
ingo@898: 
ingo@898: 	* Changes, NEWS, ChangeLog: Summarized changes.
ingo@898: 
ingo@897: 2010-04-28  Ingo Weinzierl <ingo.weinzierl@intevation.de>
ingo@897: 
ingo@897: 	* src/test/java/de/intevation/gnv/geobackend/base/query/cache/CacheCleanerTestCase.java,
ingo@897: 	  src/main/java/de/intevation/gnv/geobackend/base/query/cache/CacheCleaner.java,
ingo@897: 	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutor.java,
ingo@897: 	  src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java,
ingo@897: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java,
ingo@897: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java,
ingo@897: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java,
ingo@897: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/DatasourceException.java,
ingo@897: 	  src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java: Removed
ingo@897: 	  trailing whitespace.
ingo@897: 
tim@896: 2010-04-20  Tim Englich  <tim.englich@intevation.de>
tim@896: 
tim@896: 	* src/test/ressources/QueryExecutorTestCase.properties,
tim@896: 	  src/test/java/de/intevation/gnv/geobackend/base/query/cache/CacheCleanerTestCase.java:
tim@896: 	  Integrated Testcase for testing the Basefunctionality of the CacheCleaner.
tim@896: 
tim@895: 2010-04-20  Tim Englich  <tim.englich@intevation.de>
tim@895: 
tim@895: 	* src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java: 
tim@895: 	  Integrated the initialization of the CacheCleaner if an SQl-Cache is used.
tim@895: 	  Also implemented the Method for CleanUp the SQL-Cache in the extended
tim@895: 	  QueryExecutor.
tim@895: 
tim@895: 	* src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorBase.java,
tim@895: 	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutor.java: 
tim@895: 	  Extended Interface adding an Method that should do the Cleanup of the
tim@895: 	  SQL-Cache.
tim@895: 
tim@895: 	* src/main/java/de/intevation/gnv/geobackend/base/query/cache/package.html: 
tim@895: 	  Added Documentation.
tim@895: 
tim@895: 	* src/main/java/de/intevation/gnv/geobackend/base/query/cache/CacheCleaner.java: 
tim@895: 	  Added Threadimplementation that looks every n-Seconds into the Database 
tim@895: 	  if there are Tables that where updated during the Time to the last Cleanup.
tim@895: 	  If there are Tables that has been modified the CacheCleaner will call the
tim@895: 	  used QueryExecutor. The Queryexecutor will clean up it's Cache using the 
tim@895: 	  Names of the affected Tables.
tim@895: 	  It is Possible to configure the Interval between two cleanups. for this 
tim@895: 	  you have to set the Systemproperty -Dcaching.cleaner.interval using Seconds
tim@895: 	  as unit.
tim@895: 
sascha@894: 2010-04-16	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@894: 
sascha@894: 	* src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java,
sascha@894: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java,
sascha@894: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ColDefinition.java,
sascha@894: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEResultSet.java,
sascha@894: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java,
sascha@894: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ResultSet.java,
sascha@894: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/DatasourceException.java,
sascha@894: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/TechnicalException.java,
sascha@894: 	  src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java:
sascha@894: 	  Using unix line endings only.
sascha@894: 
sascha@893: 2010-04-17	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@893: 
sascha@893: 	* src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainerFactory.java:
sascha@893: 	  Removed trailing whitespace.
sascha@893: 
tim@891: 2010-04-13  Tim Englich  <tim.englich@intevation.de>
tim@891: 
tim@892: 	* src/main/java/de/intevation/gnv/geobackend/base/query/package.html,
tim@892: 	  src/main/java/de/intevation/gnv/geobackend/util/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/sde/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/base/query/exception/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/base/query/container/exception/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/base/query/container/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainerFactory.java, 
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainer.java,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/package.html,
tim@891: 	  src/main/java/de/intevation/gnv/geobackend/base/package.html: 
tim@891: 	  Added more Javadoc.
tim@891: 
tim@890: 2010-04-13  Tim Englich  <tim.englich@intevation.de>
tim@890: 
tim@890: 	* src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java,
tim@890: 	  src/main/java/de/intevation/gnv/geobackend/base/Result.java,
tim@890: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java:
tim@890: 	  Modified some JavaDoc so that the Warnings that where caused by mistakes
tim@890: 	  are removed.
tim@890: 
tim@889: 2010-04-13  Tim Englich  <tim.englich@intevation.de>
tim@889: 
tim@889: 	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java,
tim@889: 	  src/main/java/de/intevation/gnv/geobackend/base/Result.java,
tim@889: 	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEConnectionPool.java,
tim@889: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ResultSet.java,
tim@889: 	  src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java:
tim@889: 	  Modified some JavaDoc so that the Warnings that where caused by mistakes 
tim@889: 	  are removed.
tim@889: 
sascha@888: 2009-03-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@888: 
sascha@888: 	* src/main/java/de/intevation/gnv/geobackend/**/package.html: New.
sascha@888: 	  Added package description with text 'DOCUMENT ME!'.
sascha@888: 
sascha@887: 2009-03-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@887: 
sascha@887: 	* src/test/java/de/intevation/gnv/geobackend/**/*.java:
sascha@887: 	  Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
sascha@887: 
sascha@887: 	  find -name \*.java | \
sascha@887: 	  xargs sed -i \
sascha@887: 	  -e 's/@author[ ]\+\([^(<]\+\)[<(]\([^>)]\+\)[>)]/@author <a href="mailto:\2">\1<\/a>/g' \
sascha@887: 	  -e 's@[ ]\+</a>@</a>@g'
sascha@887: 
sascha@885: 2009-03-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@886: 
sascha@886: 	* src/main/java/de/intevation/gnv/geobackend/**/*.java:
sascha@886: 	  Ordered imports. Removed empty headers.
sascha@886: 
sascha@886: 2009-03-29	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@886: 
sascha@885: 	* src/test/java/de/intevation/gnv/geobackend/base/query/QueryExecutorTestCase.java,
sascha@885: 	  src/test/java/de/intevation/gnv/geobackend/base/query/ToCharSample.java,
sascha@885: 	  src/test/java/de/intevation/gnv/geobackend/base/query/GroupBySample.java,
sascha@885: 	  src/test/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnectionPoolTestCase.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/DefaultResult.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorBase.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainerFactory.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/query/container/QueryContainer.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/query/DefaultQueryExceutor.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/ConnectionPoolFactory.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/ConnectionPool.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/base/ResultDescriptor.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEConnectionPool.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEResultSetMetaData.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/util/BlockCollection.java,
sascha@885: 	  src/main/java/de/intevation/gnv/geobackend/util/RedundancyRemover.java:
sascha@885: 	  Removed trailing whitespace.
sascha@885: 	  find -name \*.java | xargs sed -i 's/[ \t]\+$//'
sascha@885: 
tim@883: 2010-03-26  Tim Englich  <tim.englich@intevation.de>
tim@883: 
tim@884: 	* src/main/java/de/intevation/gnv/geobackend/util/DateUtils.java,
tim@884: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/exception/*.java,
tim@884: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/*.java,
tim@884: 	  src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java,
tim@884: 	  src/main/java/de/intevation/gnv/geobackend/base/query/exception/QueryException.java,
tim@884: 	  src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java,
tim@884: 	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/exception/ConnectionException.java,
tim@884: 	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/ConnectionPoolFactory.java,
tim@884: 	  src/main/java/de/intevation/gnv/geobackend/base/*.java:
tim@884: 	  Updated Javadocs to the Listed Classes.
tim@884: 	  Also done some Codecleanup and removed unused Methods from the Code.
tim@884: 	
tim@883: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnectionParams.java:
tim@883: 	  Removed unused Class ArcSDEConnectionParams.
tim@883: 
tim@882: 2010-03-26  Tim Englich  <tim.englich@intevation.de>
tim@882: 
tim@882: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Datasource.java: 
tim@882: 	  Removed unused Class Datasource.
tim@882: 
tim@881: 2010-03-26  Tim Englich  <tim.englich@intevation.de>
tim@881: 
tim@881: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/DatasourceConnection.java: 
tim@881: 	  Removed unused Class DatasourceConnection.
tim@881: 
tim@880: 2010-03-26  Tim Englich  <tim.englich@intevation.de>
tim@880: 
tim@880: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEQuery.java: 
tim@880: 	  Removed unused Class SDEQuery.
tim@880: 
tim@879: 2010-03-16  Tim Englich  <tim.englich@intevation.de>
tim@879: 
tim@879: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEUtils.java (createPoints): 
tim@879: 	  Now it is also possible to extract Points from a given LineString.
tim@879: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (executeQuery): 
tim@879: 	  Added Support for SpatialQueries using LineString as Geometry of Interest.
tim@879: 
tim@877: 2010-03-12  Tim Englich  <tim.englich@intevation.de>
tim@877: 
tim@878: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue):
tim@878: 	  Added support for MultiLineString-Geometries. The Points do not belong to one 
tim@878: 	  Geometryelement. We have to lookup if the Geometry is Multiparted.
tim@878: 	  If it is we have to split the Points into several LineStrings which belongs 
tim@878: 	  to one MultiLineString.
tim@878: 
tim@878: 2010-03-12  Tim Englich  <tim.englich@intevation.de>
tim@877: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEResultSetMetaData.java (getColumnClassName): 
tim@877: 	  Added more ClassName identificaton for the different datatypes of the ArcSDE.
tim@877: 	  Now it is possible to distinguish between Integer, Long, String, Date, 
tim@877: 	  Float and Double Objects.
tim@877: 	  This is required to get a valid Shape- and WMS-Export.
tim@877: 
tim@876: 2010-03-09  Tim Englich  <tim.englich@intevation.de>
tim@876: 
tim@876: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): 
tim@876: 	  Switched to using asText(...)-Function of SeShapes-Objects for generating 
tim@876: 	  an WKT-String for Polygons. Going this way we are able to produce valid 
tim@876: 	  WKT for all kinds of Polygons deliverd by the ArcSDE.
tim@876: 	  We cannot use this Method for Points and LineStrings because the WKT 
tim@876: 	  which will be produced is invalid e.g. Point Z (...) LineString m (...)
tim@876: 	  I didn't find Invalid WKTs for Polygons which in Database-Rables we are 
tim@876: 	  using right now. 
tim@876: 	  
tim@876: 	  It has to be monitored if there are Polygons in the  Database which will 
tim@876: 	  produce invalid WKT-Strings.
tim@876: 
tim@661: 2010-03-08  Tim Englich  <tim.englich@intevation.de>
tim@661: 
tim@661: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): 
tim@661: 	  Implemented Support of MultiPolygons. The Points do not belong to one 
tim@661: 	  Geometryelement. We have to Lookup ifthe Geometry is Multiparted.
tim@661: 	  If it is we have to split the Points into several Polygons which belongs 
tim@661: 	  to one Multipolygon.
tim@661: 	  This Fix solve did not solve any Parsingerros. Some geometries are still 
tim@661: 	  corrupt.
tim@661: 	  
tim@660: 2010-03-08  Tim Englich  <tim.englich@intevation.de>
tim@660: 
tim@660: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java (getPosValue): 
tim@660: 	  Added Suport for the Geometrytyp SimpleLine.
tim@660: 	  SimpleLine will be handled as an Line.
tim@660: 
ingo@659: 2010-02-05  Ingo Weinzierl <ingo.weinzierl@intevation.de>
ingo@659: 
ingo@659: 	  Issue170
ingo@659: 	
ingo@659: 	* artifact-database/pom.xml: Changed log4j version to 1.2.14 (later version
ingo@659: 	  causes errors and breaks while maven build process).
ingo@659: 
tim@658: 2010-02-05  Tim Englich  <tim.englich@intevation.de>
tim@658: 
tim@658: 	* pom.xml: 
tim@658: 	  Changed from ArcSDE version 9.2.5 to Version 9.3
tim@658: 	  You have to Install the required Libraries as described in
tim@658: 	  https://bsh-intern.intevation.de/Mavenbuildprozess
tim@658: 
hans@556: 2010-01-27  Hans Plum <hans@intevation.de>
hans@556: 
hans@556: 	RELEASE 0.4
hans@556: 
hans@556: 	* Changes, NEWS, ChangeLog: Summarized changes.
hans@556: 
sascha@555: 2009-01-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@555: 
sascha@555: 	Fix for gnv/issue107
sascha@555: 
sascha@555: 	* src/main/java/de/intevation/gnv/geobackend/util/RedundancyRemover.java:
sascha@555: 	  New. Used to reduce the redundancy of data in SQL result sets. Column
sascha@555: 	  values are very distinct so the degree or redundancy is very high. E.g 
sascha@555: 	  the SDE produces for each date value a java.util.GregorianCalendar object
sascha@555: 	  which are very heavy weighted. We only use them r/o so we can hash each date 
sascha@555: 	  value to one unique representative. Same logic applys to integer values 
sascha@555: 	  and so on.
sascha@555: 	  
sascha@555: 	  With this technique we are able to reduce the memory consumption by
sascha@555: 	  over 90%. Because it is not very feasible to store the whole history
sascha@555: 	  of column we only have a limited number of cached values per column.
sascha@555: 	  This is controlled via the system property
sascha@555: 	  "de.intevation.gnv.geobackend.util.RedundancyRemover.lookback" which
sascha@555: 	  defaults to 1029.
sascha@555: 
sascha@555: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java:
sascha@555: 	  Use RedundancyRemovers to filter the incoming traffic from SDE.
sascha@555: 
tim@554: 2010-01-26  Tim Englich  <tim.englich@intevation.de>
tim@554: 
tim@554: 	* src/test/java/de/intevation/gnv/geobackend/base/query/ToCharSample.java : 
tim@554: 	  Added Sample for bug in ArcSDE 9.3 using to_char-Function with SpatialQuery
tim@554: 	* src/test/java/de/intevation/gnv/geobackend/base/query/GroupBySample.java : 
tim@554: 	  Added Sample for Bug in ArcSDE using group by with SpatialQuery
tim@554: 
sascha@553: 2009-01-25	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@553: 
sascha@553: 	Another attempt to fix gnv/issue34
sascha@553: 
sascha@553: 	* src/main/java/de/intevation/gnv/geobackend/base/DefaultResultDescriptor.java:
sascha@553: 	  Add a toString() method.
sascha@553: 
sascha@553: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java:
sascha@553: 	  Added an idle time detection mechanism. You can call touch() on
sascha@553: 	  a connection to refresh the internal timestamp and ask with isActive()
sascha@553: 	  if a constructor given time interval in milliseconds is exceeded.
sascha@553: 
sascha@553: 	* src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java:
sascha@553: 	  Added a check of inactivity to validateObject() before relying on SDE logic.
sascha@553: 	  This is the last line of defence if the testServer() call is going not to respond.
sascha@553: 	  This duplicates the eviction policy of Apache Commons pool a bit but I found
sascha@553: 	  this way to be more trustworthy.
sascha@553: 
sascha@553: 	  The idle time is configure with the property 'serverInactiveInterval'.
sascha@553: 	  units: seconds. Defaults to 5 minutes.
sascha@553: 
sascha@553: 	  The unit of 'serverRoundtripInterval' (parameter of testServer()) is now
sascha@553: 	  in seconds, too. Default: 5 seconds. This is the value used in GeoTools.
sascha@553: 
sascha@552: 2009-01-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@552: 
sascha@552: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEQuery.java,
sascha@552: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java,
sascha@552: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
sascha@552: 	  Cleanup imports.
sascha@552: 
tim@551: 2010-01-15  Tim Englich  <tim.englich@intevation.de>
tim@551: 
tim@551: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java (isValid): 
tim@551: 	  Implemented the isValid-method of the ArcSDEConnection for 
tim@551: 	  getting a propper Validation of the used SEConnection.
tim@551: 	  For the Validation the Method testServer of the SEConnection is used.
tim@551: 	
tim@551: 	* src/main/java/de/intevation/gnv/geobackend/sde/connectionpool/ArcSDEPoolableObjectFactory.java (ArcSDEPoolableObjectFactory): 
tim@551: 	  Added Member serverRoundtripInterval to represent the Time in 
tim@551: 	  Milliseconds which is allowed to reused a returned Connection.
tim@551: 	  Also used Connection.isValid Method instead of Connection.isClosed 
tim@551: 	  to validate the Connection befor it could be borrowed from the Pool.
tim@551: 
sascha@550: 2009-01-12	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@550: 
sascha@550: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
sascha@550: 	  Added bicubic spline interpolation on raster tiles. This
sascha@550: 	  should increase the 'virtual' resolution more than the
sascha@550: 	  bilinear interpolation. To enable it write 'bicubic' into
sascha@550: 	  the configuration file.
sascha@550: 
sascha@550: 	* pom.xml: Added dependency to Apache Common Math 2.0 for
sascha@550: 	  the cubic spline interpolation.
sascha@550: 
sascha@549: 2009-01-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@549: 
sascha@549: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
sascha@549: 	  Added static method to fetch matching interpolation type for
sascha@549: 	  given string. Defaults to nearest neighbor if no string is matching.
sascha@549: 
sascha@548: 2009-01-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@548: 
sascha@548: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
sascha@548: 	  Implemented bilinear interpolation.
sascha@548: 
sascha@547: 2009-01-09	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@547: 
sascha@547: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java:
sascha@547: 	  Fixed transformations to figure out the right tile in the SDE.
sascha@547: 	  Taking the tile origin into account now and does not do wrong rounding
sascha@547: 	  of column and row indices. Simplified the code a lot.
sascha@547: 
sascha@547: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
sascha@547: 	  Fixed access to right right pixel now. Removed the envelope code because
sascha@547: 	  its not needed any longer. You can ask a RasterObject directly now if
sascha@547: 	  a given coordinate is on the tile now. The tile space is now correctly
sascha@547: 	  spanned between (0, 0) and (tile width - 1, tile height - 1) now which
sascha@547: 	  allows other access patterns like bilinear interpolation. TODO: implement
sascha@547: 	  bilinear interpolation.
sascha@547: 
tim@546: 2010-01-08  Tim Englich  <tim.englich@intevation.de>
tim@546: 
tim@546: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/SDEQuery.java,
tim@546: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/Row.java,
tim@546: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java, 
tim@546: 	  src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEConnection.java, 
tim@546: 	  src/main/java/de/intevation/gnv/geobackend/base/connectionpool/ConnectionPoolFactory.java (initializeConnectionPool): 
tim@546: 	  Removed Encodingerrors from listed Files. All Files are now UTF-8 compliant.
tim@546: 
sascha@545: 2010-01-05  Tim Englich  <tim.englich@intevation.de>
sascha@545: 
sascha@545: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java:
sascha@545: 	  Made it serializable to be cachable beyond reboot.
sascha@545: 
tim@544: 2010-01-05  Tim Englich  <tim.englich@intevation.de>
tim@544: 
tim@544: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (handleResultSet): 
tim@544: 	  Switched to return the RasterObject instead of the depth in an Rasterquery.
tim@544: 	  This should help to get a better performance.
tim@544: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/RasterObject.java (RasterObject): 
tim@544: 	  Added new Object for Caching Rastertiles and all Informations that are
tim@544: 	  required for calculating the Depth to a given Coordinate.
tim@544: 
tim@543: 2010-01-04  Tim Englich  <tim.englich@intevation.de>
tim@543: 
tim@543: 	* src/main/java/de/intevation/gnv/geobackend/sde/datasources/ArcSDEStatement.java (handleResultSet): 
tim@543: 	  Added Rasterdatasupport to the ARCSDESTATEMENT.
tim@543: 	  Now it is possible to Query the Value of an Pixel like that:
tim@543: 	  SELECT ST_ASTEXT(RASTER) FROM MEDIAN.TOPO_BS_D_6X10SEC where INTERSECTS(RASTER, "POINT( 12.084721594184593 54.35583351483295)")
tim@543: 
sascha@542: 2009-12-19	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@542: 
sascha@542: 	* contrib/sql-cache.xml: Configured disk storage to survive restarts.
sascha@542: 
sascha@542: 	* src/main/java/de/intevation/gnv/geobackend/base/query/QueryExecutorFactory.java:
sascha@542: 	  Added explicit shutdown hook.
sascha@542: 
sascha@542: 	* src/main/java/de/intevation/gnv/geobackend/base/query/CachingQueryExecutorFactory.java:
sascha@542: 	  Fixed spelling of cacheResults() which prevented results to be stored in cache.
sascha@542: 	  Added some logging.
sascha@542: 
sascha@541: 2009-12-18	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@541: 
sascha@542: 	Experimental caching of SQL results via Ehcache
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.teichmann@intevation.de>
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.weinzierl@intevation.de>
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.englich@intevation.de>
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.weinzierl@intevation.de>
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.teichmann@intevation.de>
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.englich@intevation.de>
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.englich@intevation.de>
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@intevation.de>
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@intevation.de>
hans@278: 
hans@278: 	* Made some ChangeLog entries a bit clearer.
hans@278: 
tim@277: 2009-11-10  Tim Englich  <tim.englich@intevation.de>
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.weinzierl@intevation.de>
ingo@276: 
ingo@276: 	* target/**: Removed. Should not be in version control.
ingo@276: 
tim@275: 2009-11-05  Tim Englich  <tim.englich@intevation.de>
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.englich@intevation.de>
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.englich@intevation.de>
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.englich@intevation.de>
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.englich@intevation.de>
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.teichmann@intevation.de>
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.englich@intevation.de>
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.englich@intevation.de>
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.englich@intevation.de>
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  <tim.englich@intevation.de>
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.englich@intevation.de>
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.teichmann@intevation.de>
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.teichmann@intevation.de>
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	<tim.englich@intevation.de>
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  <tim.englich@intevation.de>
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  <tim.englich@intevation.de>
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  <tim.englich@intevation.de>
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  <tim.englich@intevation.de>
sascha@143: 
sascha@270: 	* pom.xml: