sascha@14: 2009-09-07	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@14: 
sascha@14: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java:
sascha@14: 	Properties wrapper for SQL statements. The properties are looked up
sascha@14: 	in resorces /sql/DRIVER.properties (DRIVER is the name of the db driver class,
sascha@14: 	lowercased and '.' replaced by '-'. 'org.h2.Driver' turns to
sascha@14: 	'org-h2-driver.properties', e.g.
sascha@14: 
sascha@14: 	* artifact-database/src/main/resources/sql/org-h2-driver.properties:
sascha@14: 	SQL statements for H2 database.
sascha@14: 
sascha@14: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
sascha@14: 	Artifacts are proxies/wrapped by an special Artifact implementation
sascha@14: 	to bound db activities transparentely to the Artifact. XXX: It has
sascha@14: 	to be evaluated if a more direct concept like extending the Artifact API
sascha@14: 	to store itself would be more robust for future implementations.
sascha@14: 	TODO: Loading Artifact from db is not implemented yet.
sascha@14: 
sascha@13: 2009-09-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@13: 
sascha@13: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
sascha@13: 	New. Used to wrap database presentations of artifacts into artifacts.
sascha@13: 
sascha@13: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
sascha@13: 	New. Implements a ArtifactDatabase backed by Backend.
sascha@13: 
sascha@13: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
sascha@13: 	Removed empty last line.
sascha@13: 	
sascha@13: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
sascha@13: 	Wired together Backend, ArtifactDatabaseImpl and FactoryBootstrap.
sascha@13: 
sascha@11: 2009-09-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@11: 
sascha@11: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
sascha@11: 	Typo in XPath expression.
sascha@11: 
sascha@10: 2009-09-06	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@10: 
sascha@10: 	* artifacts/src/main/java/de/intevation/artifacts/Artifact.java(setup):
sascha@10: 	Added the setup() method to have symmetric counter part to endOfLife().
sascha@10: 
sascha@10: 	* artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java(timeToLiveUntouched):
sascha@10: 	Added this method to let the factory decide how long an artifact should live in ms.
sascha@10: 	This is not a part of the Artifact itself because this is only evaluated once when
sascha@10: 	the artifact is created.
sascha@10: 
sascha@10: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
sascha@10: 	New. Simple base class implementation of the Artifact interface.
sascha@10: 
sascha@10: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
sascha@10: 	New. Simple base class implementation of the ArtifactFactory interface. When setup()
sascha@10: 	on instances of this class is called, it pull ttl, name, description and
sascha@10: 	the artifact class name from the node given. See artifactdb-example-conf.xml
sascha@10: 	for examples.
sascha@10: 
sascha@10: 	* artifact-database/pom.xml: Cleaned up XML. 
sascha@10: 	Introduced dependency to apache commons dbcp, used for pooling of the 
sascha@10: 	database connections to artifact db. 
sascha@10: 	Added parameters for the exec:exec goal to make the project
sascha@10: 	startable without building packages.
sascha@10: 
sascha@10: 	* artifact-database/doc/schema.sql: Removed AUTO_INCREMENT from primary key
sascha@10: 	to avoid compatibility issues with other non-H2 databases (PostgreSQL, Oracle, ...)
sascha@10: 	which have no or limited support for generated keys in the JDBC driver. Now
sascha@10: 	using an explicit sequence. TTL ist now big int to bring the resolution to ms.
sascha@10: 
sascha@10: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
sascha@10: 	Refactored a bit to make the XPath access function usable on arbitrary XML
sascha@10: 	documents and parts of.
sascha@10: 
sascha@10: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
sascha@10: 	New. Exposes DataSource from a apache dbcp connection pool configured by the
sascha@10: 	global configuration file. See artifactdb-example-conf.xml for examples.
sascha@10: 	TODO: Write some documentation about this.
sascha@10: 
sascha@10: 	* artifact-database/doc/artifactdb-example-conf.xml: Adjusted to be a more realistic
sascha@10: 	example config file. Added references to DefaultArtifact/DefaultArtifactFactory and
sascha@10: 	demonstrate how to configure the connection pool.
sascha@10: 
sascha@10: 	* TODO: Add remark to document the connection file.
sascha@10: 
sascha@10: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
sascha@10: 	Do not crash when config does not contain any factories.
sascha@10: 
sascha@9: 2009-09-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
tim@7: 
sascha@9: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java (getNodeXPath):
sascha@9: 	New method to get a single node from configuration.
tim@7: 
sascha@9: 	* artifacts/src/main/java/de/intevation/artifacts/Artifact.java (endOfLife):
sascha@9: 	New method called when artifact is going to be removed from artifact data base.
tim@6: 
sascha@9: 2009-09-04	Tim Englich	<tim.englich@intevation.de>
sascha@9: 
sascha@9: 	* src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java (loa,
sascha@9: 	* src/main/java/de/intevation/artifacts/ArtifactFactory.java (setup):
sascha@9: 	New Parameter for Setop to put the ArtifactFactoryNode into the setup routine.
sascha@9: 
sascha@9: 2009-09-04	Tim Englich	<tim.englich@intevation.de>
sascha@9: 
sascha@9: 	* pom.xml: Edited
sascha@9: 	Buildplugins for Maven-Compiler and Maven-Eclipse Plugin integrated.
tim@6: 
sascha@5: 2009-09-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@5: 
sascha@5: 	* artifact-database/doc/artifactdb-example-conf.xml: Example for artifact db
sascha@5: 	configuration.
sascha@5: 
sascha@5: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContextFactory.java:
sascha@5: 	New. Default implementation of ArtifactContextFactory. Creates a DefaultArtifactContext.
sascha@5: 
sascha@5: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContext.java:
sascha@5: 	New. Default implementation of ArtifactContext.
sascha@5: 
sascha@5: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
sascha@5: 	New. Class to bootstrap the context and the artifact factories.
sascha@5: 
sascha@5: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/App.java: Bootstrap
sascha@5: 	factories.
sascha@5: 
sascha@5: 	* artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java: New.
sascha@5: 	Loads configuration as XML from a file. The file is specified by the system
sascha@5: 	property "artifact.database.config" and defaults to "artifactdb-conf.xml".
sascha@5: 	The configuration can be searched via XPath.
sascha@5: 
sascha@5: 	* artifact-database/pom.xml: Made de.intevation.artifactdatabase.App the main
sascha@5: 	class for start up.
sascha@5: 
sascha@5: 	* TODO: Added remark to add logging to artifact database.
sascha@5: 
sascha@4: 2009-09-04	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@4: 
sascha@4: 	* artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java:
sascha@4: 	New. Factory for a global context in the artifact data base. Useful to
sascha@4: 	create shared ressources for artifacts like caches et al.
sascha@4: 
sascha@4: 	* artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
sascha@4: 	artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java,
sascha@4: 	artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java,
sascha@4: 	artifacts/src/main/java/de/intevation/artifacts/Artifact.java: Uses the
sascha@4: 	global context more consistent.
sascha@4: 
sascha@4: 	* artifact-database/doc/schema.sql: Using BINARY instead of BLOB to
sascha@4: 	avoid external files for each artifact blob. See H2 documentation
sascha@4: 	for details.
sascha@4: 
sascha@3: 2009-09-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@3: 
sascha@3: 	* artifact-database/doc/schema.sql: Schema to store artifacts
sascha@3: 	in H2 databases.
sascha@3: 
sascha@3: 	* artifact-database/pom.xml: Added dependencies to H2 and
sascha@3: 	restlet.
sascha@3: 
sascha@3: 	* pom.xml: Added repository to fetch restlet.
sascha@3: 
sascha@3: 	* README: Describe how to create a H2 database to store artifacts.
sascha@3: 	TODO: Make it more general because description assumes usage of
sascha@3: 	a unixoid system.
sascha@3: 
sascha@2: 2009-09-03	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@2: 
sascha@2: 	* artifact-database/**: created new sub project for the artefact 
sascha@2: 	database server.
sascha@2: 
sascha@2: 	* pom.xml: Registered new sub project and made artifacts a
sascha@2: 	sub project, too.
sascha@2: 
sascha@2: 	* artifacts/pom.xml: Adjusted to make a artifacts a sub project.
sascha@2: 
sascha@1: 2009-09-02	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@1: 
sascha@1: 	* artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
sascha@1: 	Interface of the central component of the system.
sascha@1: 
sascha@1: 	* artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
sascha@1: 	Central place to store artifacts in.
sascha@1: 
sascha@1: 	* artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java:
sascha@1: 	Factory to build artifacts. Works together with ArtifactDatabase.
sascha@1: 
sascha@1: 	* artifacts/pom.xml: Simple maven file to compile the project.
sascha@1: 
sascha@0: 2009-09-01	Sascha L. Teichmann	<sascha.teichmann@intevation.de>
sascha@0: 
sascha@0: 	* README, Changelog, Changes, NEWS, TODO: New. Initial setup