comparison ChangeLog @ 52:9293af6b0a0f

Renamed Changelog to ChangeLog to make eclipse happy. artifacts/trunk@197 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 06 Oct 2009 14:51:28 +0000
parents
children fecd142b6856
comparison
equal deleted inserted replaced
51:3a668da76463 52:9293af6b0a0f
1 2009-10-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2
3 * Changelog -> ChangeLog: Renamed to make eclipse happy.
4
5 2009-10-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
6
7 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java:
8 Initial instance variable with given languages in constructor.
9
10 2009-10-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
11
12 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java:
13 Better implementation for fetching the preferred locale.
14
15 2009-10-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
16
17 * artifacts/src/main/java/de/intevation/artifacts/CallMeta.java:
18 Added method to fetch preferred locale.
19
20 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java:
21 Trivial (and incorrect!) implementation.
22
23 2009-10-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
24
25 Add i18n support via "Accept-Language" HTTP headers.
26
27 * artifact-database/pom.xml: Using restlet 2.0 snapshot.
28 M3 does not implement the required API, M4 is not in maven repo yet.
29 TODO: Bring to M4 as soon it is released in maven repository.
30
31 * contrib/run.sh: Adjusted to use the snapshot.
32
33 * artifacts/src/main/java/de/intevation/artifacts/CallMeta.java:
34 New. Meta information of a call, languages, e.g.
35
36 * artifacts/src/main/java/de/intevation/artifacts/PreferredLocale.java:
37 New. Model preferred languages.
38
39 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java:
40 Has now a reference to the meta information.
41
42 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
43 describe, feed, advance and out call contexts are now enriched with
44 external meta data.
45
46 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
47 Additional debug output how long the cleaner slept between cleanups.
48
49 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultPreferredLocale.java:
50 New. Default implementation of PreferredLocale.
51
52 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java:
53 New. Default implementation of CallMeta.
54
55 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
56 Adjusted to take the additional meta information.
57
58 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java:
59 Added a method to create a CallMeta object from web client information.
60
61 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
62 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
63 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
64 Call the artifact database with the meta data from there base class BaseResoure.
65
66 2009-10-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
67
68 * artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
69 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
70 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
71 artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java,
72 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
73 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java,
74 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
75 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java,
76 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java,
77 artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java,
78 artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
79 Removed trailing whitespace.
80
81 2009-10-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
82
83 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
84 Removed needless imports.
85
86 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
87 Be more verbose on output on which host the REST server is bound.
88
89 2009-09-30 Hans Plum <hans@intevation.de>
90
91 * artifact-database/doc/example-conf/conf.xml, README:
92 Fixed inconsistencies after changes in h2-configuraton.
93
94 2009-09-29 Sascha L. Teichmann <sascha.teichmann@intevation.de>
95
96 * pom.xml, artifacts/pom.xml, artifact-database/pom.xml:
97 Set source encoding to UTF-8.
98
99 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
100 If '/artifact-database/rest-server/listen/text()' is given in conf.xml
101 the value is used to bind REST server to that interface.
102
103 * artifact-database/doc/example-conf/conf.xml: Added 'listen' to
104 demo configuration.
105
106 2009-09-24 Sascha L. Teichmann <sascha.teichmann@intevation.de>
107
108 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
109 Time delta calculation in SQL statement to figure out outdated artifacts
110 was broken.
111
112 2009-09-24 Sascha L. Teichmann <sascha.teichmann@intevation.de>
113
114 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
115 Added debug output to make tracing of artifact lifecyle easier.
116
117 2009-09-23 Sascha L. Teichmann <sascha.teichmann@intevation.de>
118
119 * artifact-database/doc/schema-pg.sql, artifact-database/doc/schema-h2.sql:
120 Added column 'factory' to artifacts table to store the name of the
121 creating factory.
122
123 !!!
124 !!! THIS BREAKS OLD ARTIFACT DATABASES!
125 !!!
126 !!! To update old databases issue at database prompt:
127 !!! ALTER TABLE artifacts ADD COLUMN factory VARCHAR(256) NOT NULL;
128 !!!
129
130 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
131 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
132 Fixed issue in SQL statements for touching artifacts. Fill factory name
133 into artifact relation.
134
135 * artifacts/src/main/java/de/intevation/artifacts/ArtifactSerializer.java:
136 To allow different serialization models each ArtifactFactory has
137 serializer for the artifacts.
138
139 * artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java:
140 Add method to return ArtifactSerializer.
141
142 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactSerializer.java:
143 Uses Java standard object serialisation.
144
145 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
146 Uses th DefaultArtifactSerializer as ArtifactSerializer
147
148 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
149 The serialisation method is select via the 'factory' column of the 'artifacts'
150 table.
151
152 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
153 artifact-database/src/main/java/de/intevation/artifactdatabase/App.java,
154 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
155 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
156 Adjusted to fit the new serialisation model.
157
158 2009-09-23 Sascha L. Teichmann <sascha.teichmann@intevation.de>
159
160 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java:
161 New. Base class to log RuntimeExceptions to log4j error log.
162
163 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
164 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
165 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
166 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
167 Adjusted to extend from BaseResource.
168
169 2009-09-21 Tim Englich <tim.englich@intevation.de>
170
171 * Added some IDE-specific files to the Ignorelist.
172
173 2009-09-18 Sascha L. Teichmann <sascha.teichmann@intevation.de>
174
175 * artifact-database/doc/schema.sql: removed.
176 * artifact-database/doc/schema-h2.sql: re-added here. It is H2 specific.
177
178 * artifact-database/doc/schema-pg.sql: New. Schema for PostgreSQL 8.3 +
179
180 * artifact-database/src/main/resources/sql/org-postgresql-driver.properties: New.
181 SQL statements for PostgreSQL.
182
183 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
184 XPath expressions to access config were wrong. Added some debug logging.
185
186 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
187 Added some debug logging.
188
189 * artifact-database/pom.xml: Added dependency to postgresql JDBC driver
190
191 * contrib/run.sh: Added postgresql JDBC to CLASSPATH.
192
193 2009-09-16 Tim Englich <tim.englich@intevation.de>
194
195 * src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java (represent) Edited:
196 Switched from Get to Post communication.
197
198 2009-09-16 Tim Englich <tim.englich@intevation.de>
199
200 * src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java (feed) Edited:
201 Bug fixed: Now the method will call the feed Method of the used Artifact instead
202 of the advance Method.
203
204 2009-09-15 Sascha L. Teichmann <sascha.teichmann@intevation.de>
205
206 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
207 More warning log output in POST case.
208
209 2009-09-15 Tim Englich <tim.englich@intevation.de>
210
211 * src/main/java/de/intevation/artifactdatabase/Backend.java:
212 Bug Fixed: Comparation for outdated Artifacts was Wrong.
213
214 * src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java (represent):
215 Warn-Logging Integrated for Exception analysys.
216
217 2009-09-14 Tim Englich <tim.englich@intevation.de>
218
219 * src/main/java/de/intevation/artifacts/ArtifactFactory.java Edited:
220 Make Objects Serializable
221
222 * src/main/resources/sql/org-h2-driver.properties:
223 Bug Fixed in SQL-Query
224
225 2009-09-13 Sascha L. Teichmann <sascha.teichmann@intevation.de>
226
227 Refactored the persistent handling of the artifacts in the
228 artifact database. When an artifact is called (describe, feed,
229 advance, out) a new CallContext is given instead of the
230 old Object context. CallContext.globalContext() returns the
231 old Object context now. CallContext.afterCall() may be
232 called from inside describe, feed, advance and out to tell
233 the artifact database what to do after the processing of
234 the specific call.
235
236 The accepted values are:
237 - NOTHING for doing nothing
238 - TOUCH for just update the last access time
239 - STORE for persisting the artifact.
240 - BACKGROUND to signal that the artifact has started
241 a background operation.
242
243 After the background operation the artifact has to call
244 CallContext.fromBackground() to signal the artifact
245 database that the artifact needs to be touched or stored.
246
247 !!! Without this call the artifact database assumes there
248 !!! is still some background operation on this artifact
249 !!! which prevents reclaiming resources
250
251 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java:
252 New. New API to cope with background processing.
253
254 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
255 Replaced old Object context with CallContext context.
256
257 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
258 Adjusted.
259
260 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
261 For a better encapsulation of the persistence operations of the
262 artifacts the database does not return artifacts any more. It delegates
263 the describe, feed, advance and out call to internal structures.
264
265 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabaseException.java:
266 New. Simplifies handling of error conditions inside of artifact database.
267
268 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
269 Adjusted to new interface. Internally it handles the background API.
270
271 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
272 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
273 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java,
274 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
275 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
276 Adjusted to new artifact database interface (which greatly simplifies things)
277
278 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
279 Artifacts in background are not removed from database any longer.
280
281 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java: Little
282 re-wirering need for new cleanup.
283
284 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
285 Simplified to do the SQL stuff only. The most infrastructure stuff is now done
286 in ArtifactDatabaseImpl.
287
288 * artifact-database/src/main/java/de/intevation/artifactdatabase/Id.java:
289 New. Helper base class to enable filtering of background artifacts by there
290 database id.
291
292 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
293 Modified the INSERT statement to write the serialized artifact, too.
294
295 2009-09-12 Sascha L. Teichmann <sascha.teichmann@intevation.de>
296
297 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java(out):
298 out() is now called with an java.io.Outputstream to place
299 the output.
300
301 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
302 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
303 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java:
304 Adjusted.
305
306 2009-09-11 Sascha L. Teichmann <sascha.teichmann@intevation.de>
307
308 * artifact-database/doc/example-conf/conf.xml: Added
309 sleep time for cleanup thread.
310
311 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
312 Start cleanup thread at startup.
313
314 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
315 Make artifact restoring bit more robust, added ref to
316 cleanup thread to do an immediate cleanup when dead artifact
317 is found by lookup.
318
319 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
320 New. The cleanup thread. It cleans up the artifact database
321 perodically and calls the endOfLife() methods of the dead
322 artifacts. Default cleanup interval is 5 minutes.
323
324 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
325 Tuned SQL a bit to fetch only a 50 artifacts in search for
326 outdated artifacts to avoid too much memory consumption.
327
328 * contrib/run.sh: Little tweak to work with more than one
329 commons-pool version installed.
330
331 * TODO: Removed remarks about the now implemented killer
332 thread and the moves XML stuff.
333
334 * README: Changed text how to create a H2 database from
335 command line only. XXX: This is still broken. The best
336 way to set up the database by now is to start the Console
337 client, connect to the database, c&p the schema.sql
338 into the SQL text area and execute it.
339
340 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
341
342 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
343 New. Handler for 'out'. Reachable via HTTP GET '/artifact/{uuid}/{type}'.
344
345 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java:
346 New. Special representation for out. TODO: use streaming API.
347
348 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
349 Regrouped imports.
350
351 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java: Added
352 handler for 'out' to routing table.
353
354 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
355
356 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
357 Added handler for 'advance' and 'feed' to be called by HTTP POST '/artifact/{uuid}'.
358
359 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
360
361 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
362 Added handler for 'describe' to be fetched by HTTP GET '/artifact/{uuid}'.
363
364 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
365 Add route to new describe handler.
366
367 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java: Fixed
368 problems with serialization of artifacts to backing database.
369
370 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
371
372 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
373 Added method to get strings from XML documents via XPath.
374
375 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
376 Used XMLUtils to create new XML documents.
377
378 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
379 Forgot to store backend in instance variable.
380
381 * artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java:
382 Added static instance of this class.
383
384 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java:
385 Forward call to ArtifactDatabase, do some error handling.
386
387 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
388 Treat problems with database errors more gracefully.
389
390 * contrib/run.sh: Added dependencies to common-pool and common-dbcp.
391
392 * artifact-database/doc/data/create-artifact.xml: New. example data set to
393 create an artifact. Usage
394
395 $ curl --data-binary @doc/data/create-artifact.xml -D - http://localhost:8181/create
396
397 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
398
399 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java:
400 Removed needless import.
401
402 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java,
403 artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
404 Moved some XPath stuff from Config into XMLUtils.
405
406 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
407
408 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java(setup): Added
409 callback parameter in form of the creating factory.
410
411 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
412 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
413 Adjusted to match new Artifact interface.
414
415 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
416 Call artifact.setup() with this.
417
418 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
419 Removed namespace stuff.
420
421 * artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java:
422 Created namespace stuff, need for XPath for e.g.
423
424 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java:
425 Use new namespace stuff.
426
427 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
428 Added author.
429
430 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
431
432 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
433 Added method newXPath() to create XPaths with namespace binding.
434
435 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
436 Uses new method from XMLUtils.
437
438 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
439
440 * trunk/artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
441 trunk/artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java:
442 Removed meta data from resources. They prevented serving the right results.
443
444 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
445 Removed needless import.
446
447 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
448
449 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java:
450 New. Resource to create an artifact. Not working on artifact database yet.
451
452 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
453 Attached create to web server.
454
455 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java:
456 Added meta data to Get annotation.
457
458 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
459
460 * artifact-database/pom.xml: Added dependency to restlet.ext.xml
461 for XML handling in representations.
462
463 * contrib/run.sh: Adjusted to fit new dependency.
464
465 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
466 New. Handle some boiler plate XML stuff. Move more stuff of this kind
467 into this file.
468
469 * TODO: Added remark to move more XML stuff into XMLUtils.
470
471 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
472 Tell at startup on which port we are listing.
473
474 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java:
475 Representation to list the available factories.
476
477 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
478 Attach new factory listing to web app.
479
480 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
481
482 * artifact-database/doc/artifactdb-example-conf.xml: removed
483 * artifact-database/doc/example-conf/conf.xml: Re-added here.
484
485 The configuration is now found in a subdirectory set by the
486 system property 'artifact.database.dir'. If this property is
487 not set '~/.artitactdb' is used. This directory should contain
488 a file 'conf.xml' with the configuration details.
489 If the artifact database is started as a standalone the config
490 directory is searched for 'log4j.properties' to configure the
491 logging.
492 The H2 database is also search in this directory with the
493 name 'artifacts.db' if the connection url in config.xml is
494 not overwritten.
495
496 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
497 Refactored a bit to follow the new configuration policy.
498
499 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
500 Build default connection url as described.
501
502 * artifact-database/doc/example-conf/log4j.properties: New.
503 example logging config
504
505 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
506 Added some more logging infos.
507
508 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
509 Load the log4j configuration at startup and starts a REST standalone web server.
510
511 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest: New.
512 Package for REST binding.
513
514 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
515 Convenience wrapper to start a standalone REST web server.
516
517 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
518 Concrete REST application. TODO: attach restlets to interact with artifact database.
519
520 * contrib/run.sh: Little start script to launch artifact database for test
521 purpose from classes without the need to build packages.
522 Background: The maven exec:exec goal does not work consistently for me (slt).
523 At home it does, at work it doe not. Anyway. Usage:
524
525 $ ./contrib/run.sh \
526 -Dartifact.database.dir=artifact-database/doc/example-conf/ \
527 de.intevation.artifactdatabase.App
528
529 2009-09-08 Tim Englich <tim.englich@intevation.de>
530
531 * src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java : Edited
532 Constants for Namespace-URL and Namespace-Prefix added
533
534 2009-09-08 Sascha L. Teichmann <sascha.teichmann@intevation.de>
535
536 * artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
537 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
538 artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java,
539 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java,
540 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
541 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
542 Integrated log4j
543
544 * artifact-database/pom.xml: Added dependency to log4j
545
546 * TODO: Removed remark to integrate logging.
547
548 2009-09-07 Tim Englich <tim.englich@intevation.de>
549
550 * src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java: edited
551 Bug fixed in XPath Expression. Now the Nodes and not the Text of the Nodes will
552 be used instantiating the ArtifactFactory.
553
554 2009-09-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
555
556 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
557 Implemented loading of artifacts from database. If the last access of an
558 artifact is too long ago for its time to life, null is returned.
559
560 * TODO: Added remark to implement a "killer" thread which periodically cleans the
561 database from outdated artifacts and calls the endOfLife() method on those.
562
563 2009-09-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
564
565 * artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java:
566 Properties wrapper for SQL statements. The properties are looked up
567 in resorces /sql/DRIVER.properties (DRIVER is the name of the db driver class,
568 lowercased and '.' replaced by '-'. 'org.h2.Driver' turns to
569 'org-h2-driver.properties', e.g.
570
571 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
572 SQL statements for H2 database.
573
574 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
575 Artifacts are proxies/wrapped by an special Artifact implementation
576 to bound db activities transparentely to the Artifact. XXX: It has
577 to be evaluated if a more direct concept like extending the Artifact API
578 to store itself would be more robust for future implementations.
579 TODO: Loading Artifact from db is not implemented yet.
580
581 2009-09-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
582
583 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
584 New. Used to wrap database presentations of artifacts into artifacts.
585
586 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
587 New. Implements a ArtifactDatabase backed by Backend.
588
589 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
590 Removed empty last line.
591
592 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
593 Wired together Backend, ArtifactDatabaseImpl and FactoryBootstrap.
594
595 2009-09-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
596
597 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
598 Typo in XPath expression.
599
600 2009-09-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
601
602 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java(setup):
603 Added the setup() method to have symmetric counter part to endOfLife().
604
605 * artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java(timeToLiveUntouched):
606 Added this method to let the factory decide how long an artifact should live in ms.
607 This is not a part of the Artifact itself because this is only evaluated once when
608 the artifact is created.
609
610 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
611 New. Simple base class implementation of the Artifact interface.
612
613 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
614 New. Simple base class implementation of the ArtifactFactory interface. When setup()
615 on instances of this class is called, it pull ttl, name, description and
616 the artifact class name from the node given. See artifactdb-example-conf.xml
617 for examples.
618
619 * artifact-database/pom.xml: Cleaned up XML.
620 Introduced dependency to apache commons dbcp, used for pooling of the
621 database connections to artifact db.
622 Added parameters for the exec:exec goal to make the project
623 startable without building packages.
624
625 * artifact-database/doc/schema.sql: Removed AUTO_INCREMENT from primary key
626 to avoid compatibility issues with other non-H2 databases (PostgreSQL, Oracle, ...)
627 which have no or limited support for generated keys in the JDBC driver. Now
628 using an explicit sequence. TTL ist now big int to bring the resolution to ms.
629
630 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
631 Refactored a bit to make the XPath access function usable on arbitrary XML
632 documents and parts of.
633
634 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
635 New. Exposes DataSource from a apache dbcp connection pool configured by the
636 global configuration file. See artifactdb-example-conf.xml for examples.
637 TODO: Write some documentation about this.
638
639 * artifact-database/doc/artifactdb-example-conf.xml: Adjusted to be a more realistic
640 example config file. Added references to DefaultArtifact/DefaultArtifactFactory and
641 demonstrate how to configure the connection pool.
642
643 * TODO: Add remark to document the connection file.
644
645 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
646 Do not crash when config does not contain any factories.
647
648 2009-09-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
649
650 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java (getNodeXPath):
651 New method to get a single node from configuration.
652
653 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java (endOfLife):
654 New method called when artifact is going to be removed from artifact data base.
655
656 2009-09-04 Tim Englich <tim.englich@intevation.de>
657
658 * src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java (loa,
659 * src/main/java/de/intevation/artifacts/ArtifactFactory.java (setup):
660 New Parameter for Setop to put the ArtifactFactoryNode into the setup routine.
661
662 2009-09-04 Tim Englich <tim.englich@intevation.de>
663
664 * pom.xml: Edited
665 Buildplugins for Maven-Compiler and Maven-Eclipse Plugin integrated.
666
667 2009-09-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
668
669 * artifact-database/doc/artifactdb-example-conf.xml: Example for artifact db
670 configuration.
671
672 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContextFactory.java:
673 New. Default implementation of ArtifactContextFactory. Creates a DefaultArtifactContext.
674
675 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContext.java:
676 New. Default implementation of ArtifactContext.
677
678 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
679 New. Class to bootstrap the context and the artifact factories.
680
681 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java: Bootstrap
682 factories.
683
684 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java: New.
685 Loads configuration as XML from a file. The file is specified by the system
686 property "artifact.database.config" and defaults to "artifactdb-conf.xml".
687 The configuration can be searched via XPath.
688
689 * artifact-database/pom.xml: Made de.intevation.artifactdatabase.App the main
690 class for start up.
691
692 * TODO: Added remark to add logging to artifact database.
693
694 2009-09-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
695
696 * artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java:
697 New. Factory for a global context in the artifact data base. Useful to
698 create shared ressources for artifacts like caches et al.
699
700 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
701 artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java,
702 artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java,
703 artifacts/src/main/java/de/intevation/artifacts/Artifact.java: Uses the
704 global context more consistent.
705
706 * artifact-database/doc/schema.sql: Using BINARY instead of BLOB to
707 avoid external files for each artifact blob. See H2 documentation
708 for details.
709
710 2009-09-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
711
712 * artifact-database/doc/schema.sql: Schema to store artifacts
713 in H2 databases.
714
715 * artifact-database/pom.xml: Added dependencies to H2 and
716 restlet.
717
718 * pom.xml: Added repository to fetch restlet.
719
720 * README: Describe how to create a H2 database to store artifacts.
721 TODO: Make it more general because description assumes usage of
722 a unixoid system.
723
724 2009-09-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
725
726 * artifact-database/**: created new sub project for the artefact
727 database server.
728
729 * pom.xml: Registered new sub project and made artifacts a
730 sub project, too.
731
732 * artifacts/pom.xml: Adjusted to make a artifacts a sub project.
733
734 2009-09-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
735
736 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
737 Interface of the central component of the system.
738
739 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
740 Central place to store artifacts in.
741
742 * artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java:
743 Factory to build artifacts. Works together with ArtifactDatabase.
744
745 * artifacts/pom.xml: Simple maven file to compile the project.
746
747 2009-09-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
748
749 * README, Changelog, Changes, NEWS, TODO: New. Initial setup

http://dive4elements.wald.intevation.org