comparison ChangeLog-before-20121017 @ 441:822a0c13fb2e

Moved now obsolete ChangeLog to ChangeLog-before-20121017 .
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Wed, 17 Oct 2012 22:25:47 +0200
parents ChangeLog@f3bf22423c95
children
comparison
equal deleted inserted replaced
440:b8e19b790b92 441:822a0c13fb2e
1 2012-10-17 Felix Wolfsteller <felix.wolfsteller@intevation.de>
2
3 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/FacetActivity.java:
4 More documentation and debugging output.
5
6 2012-10-16 Felix Wolfsteller <felix.wolfsteller@intevation.de>
7
8 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/FacetActivity.java:
9 Documentation of a somewhat important part.
10
11 2012-10-08 Felix Wolfsteller <felix.wolfsteller@intevation.de>
12
13 * flys-artifacts/src/main/java/de/intevation/flys/artifacts/access/ExtremeAccess.java,
14 flys-artifacts/src/main/java/de/intevation/flys/artifacts/charts/TimeseriesStepChart.java,
15 flys-artifacts/src/main/java/de/intevation/flys/utils/DoubleUtil.java:
16 Doc.
17
18 2012-10-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
19
20 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/FileTools.java:
21 Made extracting of zip archives more robust, lose file handles in case
22 of error and fix a bug when creating sub dirs.
23
24 2012-09-30 Björn Ricks <bjoern.ricks@intevation.de>
25
26 * pom.xml: Comment out build number plugin
27 * .hgignore: First hgignore.
28
29 2012-09-29 Björn Ricks <bjoern.ricks@intevation.de>
30
31 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
32 Check if roles from database is null. Fix for issue849.
33
34 2012-09-26 Björn Ricks <bjoern.ricks@intevation.de>
35
36 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
37 New method addOutput to allow subclasses to add Output object manually.
38
39 2012-09-17 Ingo Weinzierl <ingo@intevation.de>
40
41 Tagged RELEASE 2.9.1
42
43 2012-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
44
45 * artifacts/pom.xml, pom.xml: source 1.5 -> 1.6
46 (@Override annotations for interface implementations is 1.6).
47
48 2012-09-07 Björn Ricks <bjoern.ricks@intevation.de>
49
50 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
51 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
52 Fix queries for finding a user.
53
54 2012-09-07 Ingo Weinzierl <ingo@intevation.de>
55
56 Tagged RELEASE 2.9
57
58 2012-08-30 Felix Wolfsteller <felix.wolfsteller@intevation.de>
59
60 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultSection.java:
61 Use LinkedHashMap to keep insertion order of attributes.
62
63 2012-08-27 Christian Lins <christian.lins@intevation.de>
64
65 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
66 artifacts/src/main/java/de/intevation/artifacts/CallContext.java:
67 Fix for NPE on empty user database.
68
69 2012-08-24 Björn Ricks <bjoern.ricks@intevation.de>
70
71 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java,
72 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FindUserResource.java:
73 Add REST service to be able to find a user by its account name.
74
75 2012-08-24 Björn Ricks <bjoern.ricks@intevation.de>
76
77 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
78 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
79 Implement findUser method. The findUser method in ArtifactDatabase
80 converts a User object into its XML representation.
81
82 2012-08-24 Björn Ricks <bjoern.ricks@intevation.de>
83
84 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
85 artifact-database/src/main/resources/sql/org-h2-driver.properties,
86 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
87 Implement method to find/get a user by its account name.
88
89 2012-08-23 Björn Ricks <bjoern.ricks@intevation.de>
90
91 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
92 Also add the account information when listing users.
93
94 2012-08-23 Björn Ricks <bjoern.ricks@intevation.de>
95
96 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
97 Add account information to createUser
98
99 2012-08-23 Björn Ricks <bjoern.ricks@intevation.de>
100
101 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
102 Read the account information from the database.
103
104 2012-08-23 Björn Ricks <bjoern.ricks@intevation.de>
105
106 * artifact-database/src/main/java/de/intevation/artifactdatabase/LazyBackendUser.java,
107 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUserFactory.java,
108 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUser.java:
109 Extend user class implementations to handle account information.
110
111 2012-08-23 Björn Ricks <bjoern.ricks@intevation.de>
112
113 * artifacts/src/main/java/de/intevation/artifacts/UserFactory.java,
114 artifacts/src/main/java/de/intevation/artifacts/User.java:
115 Extend user interfaces to handle account information.
116
117 2012-08-23 Björn Ricks <bjoern.ricks@intevation.de>
118
119 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
120 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
121 Update sql user queries to add the account column.
122
123 2012-08-23 Björn Ricks <bjoern.ricks@intevation.de>
124
125 * artifact-database/doc/schema-pg.sql,
126 artifact-database/doc/schema-h2.sql:
127 Add a account column to the users table.
128
129 2012-07-29 Sascha L. Teichmann <sascha.teichmann@intevation.de>
130
131 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/FacetActivity.java:
132 Refactored registry to use a Chain-of-responsibility pattern. This allows
133 de-centralized facet activity treatment like in the facet producing states.
134
135 2012-07-29 Sascha L. Teichmann <sascha.teichmann@intevation.de>
136
137 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/FacetActivity.java:
138 Made Registry.getInstance() access static.
139
140 2012-07-29 Sascha L. Teichmann <sascha.teichmann@intevation.de>
141
142 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/FacetActivity.java:
143 New. Implementors of this interface can decide if a facet should be initially
144 active or not. Contains a registry singleton.
145
146 2012-07-27 Ingo Weinzierl <ingo@intevation.de>
147
148 Tagged trunk as '2.8.1'
149
150 2012-07-19 Sascha L. Teichmann <sascha.teichmann@intevation.de>
151
152 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/StringUtils.java:
153 Added concat() to join two String arrays.
154
155 2012-07-17 Felix Wolfsteller <felix.wolfsteller@intevation.de>
156
157 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java,
158 artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java,
159 artifact-database/src/main/java/de/intevation/artifactdatabase/AbstractCallContext.java,
160 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollectionFactory.java,
161 artifact-database/src/main/java/de/intevation/artifactdatabase/transition/TransitionEngine.java,
162 artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java,
163 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
164 Doc fixes.
165
166 2012-07-16 Ingo Weinzierl <ingo@intevation.de>
167
168 Tagged trunk as '2.8'
169
170 2012-07-19 Sascha L. Teichmann <sascha.teichmann@intevation.de>
171
172 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/StringUtils.java:
173 Added concat() to join two String arrays.
174
175 2012-07-17 Felix Wolfsteller <felix.wolfsteller@intevation.de>
176
177 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java,
178 artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java,
179 artifact-database/src/main/java/de/intevation/artifactdatabase/AbstractCallContext.java,
180 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollectionFactory.java,
181 artifact-database/src/main/java/de/intevation/artifactdatabase/transition/TransitionEngine.java,
182 artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java,
183 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
184 Doc fixes.
185
186 2012-07-16 Ingo Weinzierl <ingo@intevation.de>
187
188 Tagged trunk as '2.8'
189
190 2012-07-15 Sascha L. Teichmann <sascha.teichmann@intevation.de>
191
192 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultSettings.java,
193 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultSection.java,
194 artifacts/src/main/java/de/intevation/artifacts/DataProvider.java,
195 artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java:
196 Removed same package imports.
197
198 2012-07-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
199
200 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/StringUtils.java:
201 Added contains(String needle, String [] haystack) method.
202
203 2012-07-03 Ingo Weinzierl <ingo@intevation.de>
204
205 * artifact-database/.settings/org.eclipse.jdt.core.prefs: Removed from
206 version control (Eclipse configurations should not be in SVN!).
207
208 2012-02-26 Felix Wolfsteller <felix.wolfsteller@intevation.de>
209
210 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
211 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/UserResource.java,
212 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContext.java:
213 Cosmetics, doc.
214
215 2012-06-23 Sascha L. Teichmann <sascha.teichmann@intevation.de>
216
217 * artifact-database/src/main/java/de/intevation/**/*.java:
218 Removed trailing whitespace.
219
220 2012-06-05 Ingo Weinzierl <ingo@intevation.de>
221
222 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
223 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
224 Added some more debug output during the process of removing Artifacts
225 and Collections with the DatabaseCleaner.
226
227 2012-06-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
228
229 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
230 Remove extra <map></map> from the XML generated by JSON lists containing only
231 objects.
232
233 2012-05-27 Ingo Weinzierl <ingo@intevation.de>
234
235 Tagged trunk as '2.7'
236
237 2012-05-18 Ingo Weinzierl <ingo@intevation.de>
238
239 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/DateUtils.java:
240 New utility class that provides functions that helps working with dates.
241
242 2012-05-15 Ingo Weinzierl <ingo@intevation.de>
243
244 * artifacts-common/src/main/java/de/intevation/artifacts/common/model/KVP.java:
245 New class to store generic keys and values.
246
247 2012-05-07 Raimund Renkert <raimund.renkert@intevation.de>
248
249 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
250 Added method to create a document from string.
251
252 2012-05-03 Ingo Weinzierl <ingo@intevation.de>
253
254 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java,
255 artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
256 Defined and implemented a method getHelpText().
257
258 2012-05-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
259
260 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XSLTransformer.java:
261 Widen parameters to store more than strings.
262
263 2012-04-27 Sascha L. Teichmann <sascha.teichmann@intevation.de>
264
265 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/JSON.java:
266 Added toJSONString() method.
267
268 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
269 Fixed building XML documents from JSON strings.
270
271 2012-04-25 Raimund Renkert <raimund.renkert@intevation.de>
272
273 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/FileTools.java:
274 Added method to extract zip archives to a specified directory.
275
276 2012-04-19 Sascha L. Teichmann <sascha.teichmann@intevation.de>
277
278 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XSLTransformer.java:
279 New. Added new XSLT processor similiar to old GNV one.
280
281 2012-04-18 Sascha L. Teichmann <sascha.teichmann@intevation.de>
282
283 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/JSON.java:
284 New. JSON parser from Artefact Server NG (which relies on JSON more heavily).
285
286 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
287 Added method to convert JSON to XML. This is needed by the client which
288 internally uses JSON to talk to the server which services only understands
289 XML atm.
290
291 2012-04-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
292
293 Modified services so that they are now able to return more than just
294 XML documents. Needed if you want to return e.g. a PNG image from a service.
295
296 * artifacts/src/main/java/de/intevation/artifacts/Service.java:
297 A service now returns a tuple (data, MIME type).
298
299 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
300 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
301 Adjusted calls.
302
303 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultService.java:
304 Returns a DefaultService.Output by default.
305
306 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLService.java: New.
307 Convenience sub class if DefaultService to produce XML documents. Old
308 Services should derive from this class now to main compatibility.
309
310 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServiceResource.java:
311 Adjusted to handle the new Output tuples.
312
313 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ByteArrayRepresentation.java:
314 New. Wraps a byte array as a Restlet representation.
315
316 2012-03-30 Ingo Weinzierl <ingo@intevation.de>
317
318 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultOutput.java:
319 Avoid adding duplicated facets into the output in addFacet().
320
321 2012-02-10 Felix Wolfsteller <felix.wolfsteller@intevation.de>
322
323 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java,
324 artifact-database/src/main/java/de/intevation/artifactdatabase/state/ArtifactAndFacet.java,
325 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java:
326 Pass context when asking facet for keys to write on 'blackboard'.
327
328 2012-02-09 Ingo Weinzierl <ingo@intevation.de>
329
330 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/ArtifactAndFacet.java:
331 Added a method setFacetDescription() which sets an alternative
332 description for the facet. getFacetDescription() will now return the
333 Facet's descritpion itself if no alternative description has been set;
334 otherwise the alternative description.
335
336 012-02-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
337
338 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/StringUtils.java(join):
339 Added static method to join strings with a separator.
340
341 012-01-30 Sascha L. Teichmann <sascha.teichmann@intevation.de>
342
343 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/ArtifactAndFacet.java:
344 Added Override annotations.
345
346 2012-01-30 Ingo Weinzierl <ingo@intevation.de>
347
348 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/StateEngine.java:
349 Added a method that returns a StateData objects of a specific Artifact
350 based on the Artifact's StateData's name.
351
352 2012-01-30 Ingo Weinzierl <ingo@intevation.de>
353
354 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
355 Bugfix: search for StateData objects by name only the State has
356 StateData objects set.
357
358 2012-01-30 Ingo Weinzierl <ingo@intevation.de>
359
360 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
361 Added methods to extract the default value for a min and max item.
362
363 2012-01-18 Ingo Weinzierl <ingo@intevation.de>
364
365 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
366 Added methods to retrieve the min and max values of a data item.
367
368 2012-01-16 Sascha L. Teichmann <sascha.teichmann@intevation.de>
369
370 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/FileTools.java:
371 Replaced legacy java.util.Stack with java.util.Deque.
372
373 2012-01-16 Felix Wolfsteller <felix.wolfsteller@intevation.de>
374
375 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java,
376 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java,
377 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
378 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollectionFactory.java,
379 artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java,
380 artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
381 Cosmetics.
382
383 2012-01-11 Sascha L. Teichmann <sascha.teichmann@intevation.de>
384
385 * artifact-database/src/main/java/de/intevation/artifactdatabase/AbstractCallContext.java:
386 Instance vars customValues and dataProviders are now of type Map
387 and not HashMap.
388
389 2012-01-09 Ingo Weinzierl <ingo@intevation.de>
390
391 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java,
392 artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
393 Added the owner Artifact as further parameter to initialize().
394
395 2012-01-09 Ingo Weinzierl <ingo@intevation.de>
396
397 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/FileTools.java:
398 Added new functions to copy files (copyFile()) and to copy directories
399 (copyDirectory()).
400
401 2012-01-09 Ingo Weinzierl <ingo@intevation.de>
402
403 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java,
404 artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
405 Added an initialize() method which might be used to initialize the State
406 based on model Artifact.
407
408 2011-12-16 Felix Wolfsteller <felix.wolfsteller@intevation.de>
409
410 * artifact-database/src/main/java/de/intevation/artifactdatabase/AbstractCallContext.java:
411 (getDataProvider): Never return null.
412
413 2011-12-16 Ingo Weinzierl <ingo@intevation.de>
414
415 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Output.java,
416 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultOutput.java:
417 Added a new method setFacets(List<Facet>) to replace an existing list of
418 Facets.
419
420 2011-12-14 Ingo Weinzierl <ingo@intevation.de>
421
422 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Attribute.java:
423 Added a setValue(Object) method and modified the signature of toXML()
424 which now returns a Node.
425
426 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultAttribute.java:
427 New. A default implementation of Attribute.
428
429 2011-12-14 Ingo Weinzierl <ingo@intevation.de>
430
431 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Settings.java:
432 Added a removeSection(Section) method.
433
434 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Section.java:
435 Improved the interface to allow section having subsections. Therefore,
436 addSubsection(Section), getSubsectionCount() and getSubsection(int) have
437 been added. In addition, a getId() method has been added which is used
438 in toXML() to create a new DOM Node. The Node name is the result of
439 getId().
440
441 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultSettings.java,
442 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultSection.java:
443 Default implementations for Settings and Section.
444
445 2011-12-14 Ingo Weinzierl <ingo@intevation.de>
446
447 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Settings.java:
448 An interface that describes a flat API for specifying settings for
449 something. A Settings object can store one or more Section instances and
450 defines a toXML() operation that should append a XML representation of
451 itself to a given parent Node.
452
453 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Section.java:
454 This interface is used to describe an API for storing and retrieving
455 Attribute objects. Just as the Settings interface, it defines a toXML()
456 operation that should append a XML representation of itself to a given
457 parent Node.
458
459 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Attribute.java:
460 The interface for concrete attributes in a Section instance. An Attribute
461 is the placed on the lowest level of the Settings hierachy and should be
462 used to save concrete key value pairs. Even the Attribute defines the
463 toXML() operation described above.
464
465 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Output.java:
466 Added a getSettings() and setSettings(Settings) operation.
467
468 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultOutput.java:
469 A DefaultOutput is now able to store a Settings instance. It implements
470 getSettings() and setSettings(Settings) defined in the Output interface.
471
472 2011-12-09 Felix Wolfsteller <felix.wolfsteller@intevation.de>
473
474 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java,
475 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java:
476 (getDataProviderKeys): Added parameter artifact.
477
478 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/ArtifactAndFacet.java:
479 Pass artifact to changed getDataProviderKeys of Facet.
480
481 * artifact-database/src/main/java/de/intevation/artifactdatabase/AbstractCallContext.java:
482 (getDataProvider): Never return null, empty list instead.
483
484 2011-11-30 Felix Wolfsteller <felix.wolfsteller@intevation.de>
485
486 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/ArtifactAndFacet.java
487 (getFacetDescription): New, access facets description.
488
489 2011-11-30 Felix Wolfsteller <felix.wolfsteller@intevation.de>
490
491 Added convenienve bundle of artifact and facet that implements
492 DataProvider. This will help keeping things together in the upcoming
493 inter-facet pre-rendering communication ('blackboard') phase.
494
495 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/ArtifactAndFacet.java:
496 New class, keeping together an artifact and a facet (thus, should
497 only have a short live span). Only implementation of the new
498 DataProvider interface.
499
500 2011-11-30 Felix Wolfsteller <felix.wolfsteller@intevation.de>
501
502 Extended CallContext to also act as a blackboard/service broker.
503
504 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java
505 (getDataProvider,registerDataProvider): New functions to register/
506 consume data providers.
507
508 * artifact-database/src/main/java/de/intevation/artifactdatabase/AbstractCallContext.java
509 (getDataProvider,registerDataProvider): Implemented.
510
511 2011-11-30 Felix Wolfsteller <felix.wolfsteller@intevation.de>
512
513 Added DataProvider interface that defines api for inter-facet
514 communication.
515
516 * artifacts/src/main/java/de/intevation/artifacts/DataProvider.java:
517 New interface to prepare inter-facet pre-rendering communication
518 phase ('blackboard').
519
520 2011-11-30 Felix Wolfsteller <felix.wolfsteller@intevation.de>
521
522 Prepare inter-facet pre-rendering communication ('blackboard') phase.
523
524 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java
525 (getDataProviderKeys,provideBlackboardData): Extended interface to
526 allow easy integration of blackboard mechanism (inter-facet
527 pre-rendering communication).
528
529 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java
530 (getDataProviderKeys,provideBlackboardData): Trivial implementation.
531 The DefaultFacet will not talk to other facets during inter-facet
532 pre-rendering ("blackboard") phase. Cosmetics, docs.
533
534 2011-11-21 Ingo Weinzierl <ingo@intevation.de>
535
536 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
537 Changed Ingo's last commit to a more conservative notation (no auto-boxing).
538 Strangely the flys-client does not compile for me with the auto-boxed
539 syntax with OpenJDK!
540
541 2011-11-21 Ingo Weinzierl <ingo@intevation.de>
542
543 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
544 Added a method that allows to specify if the document needs to be
545 namespace aware or not while parsing from InputStream.
546
547 2011-11-07 Ingo Weinzierl <ingo@intevation.de>
548
549 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
550 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
551 Enabled "post-describe" hooks for the Artifact's describe operation.
552
553 2011-10-28 Felix Wolfsteller <felix.wolfsteller@intevation.de>
554
555 Let StateEngine compute a compatibiliy matrix based on given State
556 IDs.
557
558 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/StateEngine.java
559 (getCompatibleFacets): New. Compute output/facet compatibility
560 matrix based on given states.
561
562 2011-10-21 Ingo Weinzierl <ingo@intevation.de>
563
564 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
565 Bugfix: added missing bracket to an sql statement.
566
567 2011-10-20 Sascha L. Teichmann <sascha.teichmann@intevation.de>
568
569 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java(getMasterArtifact):
570 Limit result set to one row.
571
572 2011-10-19 Felix Wolfsteller <felix.wolfsteller@intevation.de>
573
574 Fix accidentally corruptd key to sql statement.
575
576 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
577 Fix key.
578
579 2011-10-19 Felix Wolfsteller <felix.wolfsteller@intevation.de>
580
581 Add backend and db functionality query artifact which is belongs to
582 a collection the longest (not neccessary the longest artifact itself).
583
584 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java
585 (getCollectionsMasterArtifact): New. Access master artifact for
586 given collection (masterartifact defined as artifact which belongs
587 to the collection the longest).
588
589 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java
590 (getCollectionsMasterArtifact): New (extended interface).
591
592 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java
593 (getMasterArtifact): New, get UUID of oldest artifact which belongs to
594 collection the longest.
595
596 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
597 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
598 Added SQL query to get list of artifacts in collection sorted by the
599 entry date.
600
601 2011-10-17 Sascha L. Teichmann <sascha.teichmann@intevation.de>
602
603 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/StringUtils.java(toUpperCase):
604 Added static method to convert an array of string to their uppercase counterparts.
605
606 2011-10-13 Felix Wolfsteller <felix.wolfsteller@intevation.de>
607
608 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
609 (newRemoveArtifactDocument): New, create a "remove artifact" document.
610 Cosmetics, docs.
611
612 2011-10-13 Felix Wolfsteller <felix.wolfsteller@intevation.de>
613
614 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
615 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
616 Fix SQL typo.
617
618 2011-10-10 Felix Wolfsteller <felix.wolfsteller@intevation.de>
619
620 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java:
621 Cosmetics, (shortened jdoc comments).
622
623 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
624 Cosmetics, (shortened jdoc comments). Also, removed
625 toString(Element), instead fixed toString(Node) - Node is
626 superinterface of Element.
627
628 2011-10-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
629
630 Fixed flys/issue255
631
632 * artifact-database/src/main/java/de/intevation/artifactdatabase/db/DBConnection.java(getDataSource()):
633 Serialized the loading of database drivers.
634
635 2011-09-23 Felix Wolfsteller <felix.wolfsteller@intevation.de>
636
637 Fix debug helper toString(Node).
638
639 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
640 (toString(Node)): Fix issue with node from "wrong" document.
641
642 2011-09-23 Felix Wolfsteller <felix.wolfsteller@intevation.de>
643
644 Added XMLUtils functions helping to debug parts of xml documents.
645
646 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
647 (toString(Node), toString(Element): New functions returning
648 xml/string representations of parts of documents.
649
650 2011-09-22 Ingo Weinzierl <ingo@intevation.de>
651
652 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
653 Removed useless CollectionCallContext creation (was never used).
654
655 2011-09-19 Ingo Weinzierl <ingo@intevation.de>
656
657 Tagged RELEASE 1.4
658
659 * Changes: Prepared changes for the release.
660
661 2011-09-09 Ingo Weinzierl <ingo@intevation.de>
662
663 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
664 Artifacts and Collections that started a background process might add
665 Messages to a message board now. They (currently just implemented for
666 the Artifact) can add new messages and receive a list of messages via
667 the CallContext objects. If an Artifact or Collection instance is
668 removed from background, all its messages are removed as well.
669
670 * artifacts/src/main/java/de/intevation/artifacts/Message.java: New. The
671 message interface. Currently, there is just a single getText() method
672 defined.
673
674 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java: Got
675 two new methods to add new messages and retrieve a list of messages to
676 the background messages.
677
678 * artifact-database/src/main/java/de/intevation/artifactdatabase/CollectionCallContext.java,
679 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactCallContext.java:
680 Implement the new methods to add/get messages defined in CallContext.
681 The CollectionCallContext just defines the two methods without real
682 implementation (stub).
683
684 2011-09-07 Ingo Weinzierl <ingo@intevation.de>
685
686 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java,
687 artifact-database/src/main/java/de/intevation/artifactdatabase/CollectionCallContext.java,
688 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactCallContext.java:
689 The CallContext got a new method isInBackground() that determines, if
690 the Artifact or Collection (currently not implemented) has started a
691 background thread and is locked.
692
693 2011-08-25 Ingo Weinzierl <ingo@intevation.de>
694
695 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/FileTools.java:
696 New. A utility class for working with Files.
697
698 2011-08-25 Sascha L. Teichmann <teichmann@intevation.de>
699
700 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java
701 (outCollection): Called context listener too early before deferred out. This
702 led to broken DB sessions.
703
704 2011-08-25 Ingo Weinzierl <ingo@intevation.de>
705
706 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java,
707 artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
708 Enhanced the State interface with a endOfLife() method; the default
709 implementation in AbstractState is empty.
710
711 2011-08-25 Felix Wolfsteller <felix.wolfsteller@intevation.de>
712
713 Minor cosmetics.
714
715 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
716 Corrected signature in link in comment, whitespace.
717
718 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
719 Punctuation, whitespace in comment.
720
721 2011-08-24 Sascha L. Teichmann <teichmann@intevation.de>
722
723 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
724 Write filters to create document if they are given.
725
726 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/CreationFilter.java:
727 New. Model for the creation filter.
728
729 2011-08-24 Ingo Weinzierl <ingo@intevation.de>
730
731 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
732 Renamed an attribute in the document to create new Artifacts.
733
734 2011-08-24 Ingo Weinzierl <ingo@intevation.de>
735
736 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/MapXPathVariableResolver.java:
737 New. An XPathVariableResolver instance that stores its variables in a
738 Map.
739
740 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
741 Added support for variables in xpath expressions. There is a new xpath()
742 method that takes a Map<String,String> that stores the required
743 variables.
744
745 2011-08-22 Sascha L. Teichmann <teichmann@intevation.de>
746
747 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java,
748 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java:
749 Added a deepCopy() method to make them cloneable (Not using java.lang.Cloneable for this).
750
751 * artifact-database/src/main/java/de/intevation/artifactdatabase/data/DefaultStateData.java,
752 artifact-database/src/main/java/de/intevation/artifactdatabase/data/StateData.java:
753 Implement the changed interfaces.
754
755 2011-08-22 Sascha L. Teichmann <teichmann@intevation.de>
756
757 * artifact-database/pom.xml: Bumped PostgreSQL driver from
758 8.3-603.jdbc4 up to 8.4-702.jdbc4 (same as flys-backend).
759
760 2011-08-10 Sascha L. Teichmann <teichmann@intevation.de>
761
762 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
763 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
764 Extract the collection and artifact creation times when doing the initial
765 scan, too.
766
767 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
768 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
769 Adjusted the SQL statements.
770
771 2011-08-08 Sascha L. Teichmann <teichmann@intevation.de>
772
773 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
774 Fixed H2 SQL to set TTL of collection.
775
776 2011-08-02 Sascha L. Teichmann <teichmann@intevation.de>
777
778 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
779 Swapped SQL parameter indices when fetching collection name.
780
781 2011-08-02 Sascha L. Teichmann <teichmann@intevation.de>
782
783 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
784 Change the ArtifactLoadedCallback interface to take the name of the
785 collection, too.
786
787 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
788 Fetches the collection name, too.
789
790 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
791 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
792 Adjusted SQL statements.
793
794 2011-08-02 Sascha L. Teichmann <teichmann@intevation.de>
795
796 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUser.java:
797 Added constructor only with the identifier of the owner.
798
799 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
800 Added dummy user to fresh created collection to have it accessible in the
801 listeners.
802
803 2011-08-02 Sascha L. Teichmann <teichmann@intevation.de>
804
805 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
806 Generate kill events if and only if there were killed collections or artifacts.
807
808 2011-08-02 Sascha L. Teichmann <teichmann@intevation.de>
809
810 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
811 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
812 Return uuid in statements used by database cleaner, too.
813
814 * artifact-database/src/main/java/de/intevation/artifactdatabase/BackendListener.java,
815 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultBackendListener.java:
816 Two new methods to reports a list of external killed collections and artifacts.
817
818 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
819 Broadcast the lists of externally killed collections and artifacts to the listeners.
820
821 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
822 Fire lists of deleted collections and artifacts to backend.
823
824 2011-08-01 Sascha L. Teichmann <teichmann@intevation.de>
825
826 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
827 Reorganized code a bit.
828
829 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java: Added some
830 debug output. Handle forgotten store/create event source.
831
832 2011-08-01 Sascha L. Teichmann <teichmann@intevation.de>
833
834 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
835 Fixed NPE.
836
837 2011-08-01 Sascha L. Teichmann <teichmann@intevation.de>
838
839 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
840 Made BackListeners loadable at boot time. To be configured with XPATH
841 '/artifact-database/backend-listeners/listener'.
842
843 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
844 artifact-database/src/main/java/de/intevation/artifactdatabase/BackendListener.java,
845 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultBackendListener.java,
846 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
847 Wired listeners to backend.
848
849 2011-08-01 Sascha L. Teichmann <teichmann@intevation.de>
850
851 * artifact-database/src/main/java/de/intevation/artifactdatabase/BackendListener.java,
852 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultBackendListener.java:
853 Completed interface and the trival implementation.
854
855 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
856 Call the listeners for the new defined events.
857
858 * artifact-database/src/main/java/de/intevation/artifactdatabase/BackendListener.java:
859 New. Interface to listener for backend events. TODO: Implement more
860 events.
861
862 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultBackendListener.java:
863 New. Trivial implementation of BackendListener.
864
865 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
866 Added list of backend listeners. TODO: Add them at boot time.
867
868 2011-07-31 Sascha L. Teichmann <teichmann@intevation.de>
869
870 * artifact-database/pom.xml: Bumped Apache DBCP up to 1.4
871
872 * artifact-database/src/main/java/de/intevation/artifactdatabase/db/DBConnection.java:
873 Use real pooling to void races. Maybe it needs more configuration options!?
874
875 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java: Removed
876 superfluous imports.
877
878 2011-07-31 Sascha L. Teichmann <teichmann@intevation.de>
879
880 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
881 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
882 Fixed broken SQL statement.
883
884 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
885 artifact-database/src/main/java/de/intevation/artifactdatabase/db/DBConnection.java,
886 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java: Added
887 debug output.
888
889 2011-07-31 Sascha L. Teichmann <teichmann@intevation.de>
890
891 Make artifact server bootable again.
892
893 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
894 Fixed NPE.
895 * artifact-database/src/main/java/de/intevation/artifactdatabase/db/SQL.java: Fixed NPE.
896 Added some debug output.
897
898 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java: Fixed
899 SQL key name. That was broken for long but not recognized.
900
901 2011-07-28 Sascha L. Teichmann <teichmann@intevation.de>
902
903 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/LRUCache.java:
904 New. Simple LRU cache based on java.util.LinkedHashMap.
905
906 2011-07-28 Sascha L. Teichmann <teichmann@intevation.de>
907
908 Refactorized the usage of dialect independent SQL to be reusable.
909
910 * artifact-database/src/main/java/de/intevation/artifactdatabase/db/SQL.java,
911 artifact-database/src/main/java/de/intevation/artifactdatabase/db/DBConnection.java,
912 artifact-database/src/main/java/de/intevation/artifactdatabase/db/SQLExecutor.java:
913 New. Generalized versions to make code reusable for datacage.
914
915 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java,
916 artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
917 artifact-database/src/main/java/de/intevation/artifactdatabase/SQLExecutor.java:
918 Deleted.
919
920 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConfig.java:
921 New. Centralizes the SQL database configuration of the backend.
922
923 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java,
924 artifact-database/src/main/java/de/intevation/artifactdatabase/h2/CollectionAccessUpdateTrigger.java,
925 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
926 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
927 A lot of adjustment to make the new infrastructure work. Needs heavy testing!
928
929 2011-07-27 Sascha L. Teichmann <teichmann@intevation.de>
930
931 * artifact-database/src/main/java/de/intevation/artifactdatabase/LifetimeListener.java:
932 New. Interface instances of are called when system is up and is going down.
933
934 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
935 Load lifetime listeners from configuration. XPATH
936 /artifact-database/lifetime-listeners/listeners/text()
937
938 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
939 Call the listeners after start up and before shutdown.
940
941 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
942 Trigger the start of the artifact database explicitly when the boot process
943 is finished.
944
945 2011-07-27 Sascha L. Teichmann <teichmann@intevation.de>
946
947 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
948 Added a method loadAllArtifacts() to load all artifacts which are in
949 a collection and have an owner. The loaded artifacts are passed one by
950 one to an instance of the interface ArtifactLoadedCallback.
951
952 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
953 Adjusted to implement the interface.
954
955 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
956 Load the artifacts from the SQL backend.
957
958 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
959 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
960 Added statements to load all the artifacts.
961
962 2011-07-26 Sascha L. Teichmann <teichmann@intevation.de>
963
964 * artifact-database/pom.xml: Bumped H2 version up to latest stable 1.3.158
965
966 2011-07-22 Sascha L. Teichmann <teichmann@intevation.de>
967
968 * artifact-database/src/main/java/de/intevation/artifactdatabase/StringUtils.java,
969 artifacts-common/src/main/java/de/intevation/artifacts/common/utils/StringUtils.java:
970 Moved StringUtils to common package.
971
972 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
973 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java,
974 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
975 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
976 Adjusted imports.
977
978 * artifacts-common/pom.xml, artifact-database/pom.xml: Moved dependency to Apache codec
979 to other package.
980
981 * artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java:
982 Added Override annotations (forgot to commit last time).
983
984 2011-07-21 Ingo Weinzierl <ingo@intevation.de>
985
986 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
987 New CREATE documents for Artifact creation might contain db-ids now.
988
989 2011-07-21 Sascha L. Teichmann <teichmann@intevation.de>
990
991 * artifacts/src/main/java/de/intevation/artifacts/Service.java,
992 artifacts/src/main/java/de/intevation/artifacts/ServiceFactory.java:
993 Services now take GlobalContext on setup and process.
994
995 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultService.java,
996 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultServiceFactory.java:
997 Adusted and added Override annotations.
998
999 2011-07-21 Sascha L. Teichmann <teichmann@intevation.de>
1000
1001 * artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java:
1002 Made it more compatible with mixed namespaces and mixtures of namespaces
1003 and no namespaces.
1004
1005 * artifacts/pom.xml: Set Java compatibility to 1.5. Why isn't this inherited
1006 from main pom.xml? The artifact-database module uses 1.5 features but does
1007 not need any extra configuration.
1008
1009 2011-07-20 Ingo Weinzierl <ingo@intevation.de>
1010
1011 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java,
1012 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
1013 Added a parameter of type CallMeta to the signature of setup(). The
1014 CallMeta object is required for i18n initial things.
1015
1016 !! NOTE: This modification breaks the current API !!
1017
1018 * artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java,
1019 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
1020 Call Artifact.setup() with an instance of CallMeta.
1021
1022 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1023 The createArtifact() method got a CallMeta instance which is necessary
1024 to call Artifact.setup().
1025
1026 2011-07-19 Ingo Weinzierl <ingo@intevation.de>
1027
1028 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Output.java,
1029 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultOutput.java:
1030 Added a method to add a list of Facets.
1031
1032 2011-07-18 Ingo Weinzierl <ingo@intevation.de>
1033
1034 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java,
1035 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java:
1036 A facet can write its internal representation to XML using a public
1037 method toXML(Document).
1038
1039 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java:
1040 Facets are appended using its toXML() method. Concrete facets can now
1041 change its xml representation.
1042
1043 2011-07-14 Ingo Weinzierl <ingo@intevation.de>
1044
1045 * artifacts/src/main/java/de/intevation/artifacts/Hook.java: The Hook's
1046 execute() method is called with a Document now.
1047
1048 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1049 The hooks that are called after feed() and advance() are called with the
1050 documents which are returned by those operations.
1051
1052 2011-07-14 Ingo Weinzierl <ingo@intevation.de>
1053
1054 * artifacts/src/main/java/de/intevation/artifacts/GlobalContext.java: New.
1055 An interface for global context objects. It defines two basic operations
1056 to put objects into the context and to retrieve objects from context.
1057
1058 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
1059 Added a method that returns an instance of an Artifact with one
1060 limitation: the internal state of this artifact is not persisted to
1061 database!
1062
1063 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1064 Added a method that creates a document used to create new Artifacts with
1065 the UUID of another one.
1066
1067 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
1068 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java,
1069 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContextFactory.java,
1070 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContext.java,
1071 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java,
1072 artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java,
1073 artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java:
1074 Adapted method signatures to apply the new interface for global context
1075 objects.
1076
1077 2011-07-13 Ingo Weinzierl <ingo@intevation.de>
1078
1079 * artifacts/src/main/java/de/intevation/artifacts/Hook.java: New. A hook
1080 can be used to execute at a specific point in time. E.g. after an
1081 Artifact was fed or after an Artifact has advanced.
1082
1083 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1084 Call hooks after Artifact's feed() and advance() operations.
1085
1086 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
1087 Load hooks from configuration that match the XPath "/artifact-database/hooks/hook".
1088
1089 2011-07-13 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1090
1091 Fix for flys/issue20
1092
1093 * artifact-database/pom.xml: Bumped version of SLF4J up to 1.6.1
1094
1095 2011-07-08 Ingo Weinzierl <ingo@intevation.de>
1096
1097 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Output.java,
1098 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultOutput.java:
1099 An Output can have a type (string) declaration now that should make it
1100 easier to distinguish different Output types.
1101
1102 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
1103 Read the attribute "type" from OutputMode's configuration section.
1104
1105 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java:
1106 Write the member variable "type" to an OutputMode.
1107
1108 2011-06-28 Ingo Weinzierl <ingo@intevation.de>
1109
1110 Tagged RELEASE 1.3
1111
1112 2011-06-27 Ingo Weinzierl <ingo@intevation.de>
1113
1114 * Changes: Prepared changes for the upcoming release.
1115
1116 2011-06-27 Ingo Weinzierl <ingo@intevation.de>
1117
1118 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
1119 Declared toString(Document) method static.
1120
1121 2011-06-22 Ingo Weinzierl <ingo@intevation.de>
1122
1123 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1124 Added functions that generate documents to set the name and ttl of a
1125 collection and to delete an existing collection.
1126
1127 2011-06-21 Ingo Weinzierl <ingo@intevation.de>
1128
1129 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1130 Add the time-to-live of a collection to the document that is returned
1131 after the collection has been created.
1132
1133 2011-06-21 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1134
1135 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java:
1136 Added toString() method to help debugging.
1137
1138 2011-06-21 Ingo Weinzierl <ingo@intevation.de>
1139
1140 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1141 Put the time-to-live of a collection into the document with the list of
1142 user collections.
1143
1144 2011-06-21 Ingo Weinzierl <ingo@intevation.de>
1145
1146 * artifacts/src/main/java/de/intevation/artifacts/ArtifactCollection.java,
1147 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java:
1148 The ArtifactCollection now knows its time-to-live. This values is
1149 retrievable via getTTL().
1150
1151 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollectionFactory.java,
1152 artifacts/src/main/java/de/intevation/artifacts/ArtifactCollectionFactory.java:
1153 Creating an ArtifactCollection requires the time-to-live of it.
1154
1155 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1156 Create new ArtifactCollections with their time-to-live.
1157
1158 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1159 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1160 Adapted SQL statements that retrieve collections. The TTL of the
1161 collection is fetched from database as well.
1162
1163 2011-06-17 Ingo Weinzierl <ingo@intevation.de>
1164
1165 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java,
1166 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java:
1167 Facets are able to fetch their necessary data from artifact now using a
1168 getData(Artifact, CallContext) method.
1169
1170 2011-06-16 Ingo Weinzierl <ingo@intevation.de>
1171
1172 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java:
1173 Write index of a facet into the document.
1174
1175 2011-06-16 Ingo Weinzierl <ingo@intevation.de>
1176
1177 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java:
1178 Extends Serializable.
1179
1180 2011-06-15 Ingo Weinzierl <ingo@intevation.de>
1181
1182 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java,
1183 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java:
1184 Added an index to a facet.
1185
1186 2011-06-08 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1187
1188 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
1189 Added static toString(Document) method which transform XML documents to Strings.
1190 Useful for debugging.
1191
1192 2011-06-07 Ingo Weinzierl <ingo@intevation.de>
1193
1194 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
1195 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
1196 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1197 New methods to set the name of a collection.
1198
1199 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionResource.java:
1200 Dispatch the "setname" action.
1201
1202 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1203 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1204 Added sql statements to update the name of a collection specified by its
1205 gid.
1206
1207 2011-06-07 Ingo Weinzierl <ingo@intevation.de>
1208
1209 flys/issue50 (Markierung von "Master-Artefakten" ermöglichen)
1210
1211 * artifact-database/doc/schema-pg.sql,
1212 artifact-database/doc/schema-h2.sql: Added a column 'creation' to the
1213 collection_items table. This column is set to the current timestamp when a
1214 new row is inserted in this table. The master artifact of a collection
1215 is the artifact which collection item is the oldest collection item in
1216 the collection.
1217 Note: there might be older artifacts in the collection than the master
1218 artifact, but there will never be an older collection item than the first
1219 item when the collection was created.
1220
1221 To update the db, use the following statements:
1222
1223 ALTER TABLE collection_items ADD COLUMN creation TIMESTAMP;
1224 UPDATE collection_items SET creation = CURRENT_TIMESTAMP;
1225 ALTER TABLE collection_items ALTER COLUMN creation SET NOT NULL;
1226
1227 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1228 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1229 Order the list of collection items based on their creation time.
1230
1231 2011-06-07 Ingo Weinzierl <ingo@intevation.de>
1232
1233 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
1234 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
1235 Added a setCollectionTTL() method that might be used to update the TTL
1236 of a collection. The new value needs to be from type long. There are two
1237 exceptions for the new values:
1238 1. the new value is "INF": this lets collections live forever.
1239 2. the new value is "DEFAULT": this sets the TTL of the collection to
1240 the configured default value.
1241
1242 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1243 Added a method to update the TTL attribute of a collection.
1244
1245 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionResource.java:
1246 Dispatch the "settimetolive" action.
1247
1248 * artifact-database/src/main/resources/sql/org-postgresql-driver.properties,
1249 artifact-database/src/main/resources/sql/org-h2-driver.properties: Added
1250 sql statements to update the TTL of a specific collection based on the
1251 UUID of the collection.
1252
1253 2011-06-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1254
1255 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/StateEngine.java:
1256 Use generics more precisely
1257
1258 2011-06-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1259
1260 flys/issue75
1261
1262 * artifact-database/doc/schema-h2.sql: Fixed SQL syntax error in trigger creation.
1263
1264 * README: Adjusted to use new lib versions.
1265
1266 2011-06-03 Ingo Weinzierl <ingo@intevation.de>
1267
1268 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1269 The incoming attribute document of the method to create the document to
1270 trigger the out() of a collection needs to have the root node
1271 art:attribute now.
1272
1273 2011-05-31 Ingo Weinzierl <ingo@intevation.de>
1274
1275 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseOutResource.java,
1276 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionOutResource.java,
1277 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
1278 The 'type' part of the url is extracted and used while dispatching the
1279 call to the artifact database.
1280
1281 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
1282 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
1283 The deferred output got a new out() method that takes the 'type'
1284 parameter specified in the url part.
1285
1286 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java,
1287 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
1288 artifacts/src/main/java/de/intevation/artifacts/ArtifactCollection.java,
1289 artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
1290 Artifacts and ArtifactCollections have two out() operations to support
1291 the output type parameter now. I did not remove the out() without the
1292 'type' parameter to keep compatible with older versions.
1293
1294 2011-05-27 Ingo Weinzierl <ingo@intevation.de>
1295
1296 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1297 The setCollectionAttribute() method will now set the incoming document
1298 as new attribute for the collection. Before, we looked for a xpath
1299 expression that contained the attribute. In the current implementation,
1300 the incoming document IS the attribute.
1301
1302 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionResource.java:
1303 Extract the new attribute for a collection and call the
1304 setCollectionAttribute() method of ArtifactDatabase with this document
1305 instead of calling it with the incoming request document.
1306
1307 2011-05-27 Ingo Weinzierl <ingo@intevation.de>
1308
1309 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1310 New method that creates the document that is used to set an attribute of
1311 a collection.
1312
1313 2011-04-23 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1314
1315 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/JettyServer.java:
1316 Do not bind context to restlet app for security reasons.
1317
1318 2011-04-23 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1319
1320 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
1321 XMLUtils.xpathString() returns empty string not null.
1322
1323 2011-04-22 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1324
1325 flys/issue65: Added Jetty HTTP server as a replacement option to foster
1326 better scalability. Needs testing.
1327
1328 * pom.xml: Added repository for Jetty.
1329
1330 * artifact-database/pom.xml:
1331 Added dependencies to Jetty (Licenses: Apache 2.0 or Eclipse).
1332
1333 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
1334 Pass restlet context to super constructor.
1335
1336 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/JettyServer.java:
1337 New. Use embedded Jetty server to serve rest API.
1338 To enable it set "/artifact-database/rest-server/http-server/text()"
1339 in global config to "de.intevation.artifactdatabase.rest.JettyServer".
1340
1341 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
1342 Refactored a bit to be useful as a base class.
1343
1344 2011-04-22 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1345
1346 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/HTTPServer.java:
1347 New. Interface to run an HTTP server. Enables the system to run on different
1348 HTTP servers.
1349
1350 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
1351 Implements the new interface.
1352
1353 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
1354 Load and setup the HTTP server configured by the XPath
1355 "/artifact-database/rest-server/http-server/text()" in the global config file.
1356 Defaults to "de.intevation.artifactdatabase.rest.Standalone" if not given.
1357
1358 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
1359 Boot with the HTTP server configured by FactoryBootstrap.
1360
1361 2011-04-18 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1362
1363 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
1364 With '/artifact-database/rest-server/max-threads/text()' in conf.xml
1365 you can set the number of threads used by the restlet server.
1366 Defaults to 1024 now. Another attempt/workaround to cope with flys/issue65.
1367
1368 2011-05-17 Ingo Weinzierl <ingo@intevation.de>
1369
1370 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1371 Bugfix: The output name and its concrete type are both written into the
1372 document that is used to trigger the OUT operation of a collection.
1373
1374 2011-04-17 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1375
1376 * artifact-database/pom.xml: Bumped restlet to version 2.0.7 in hope
1377 to mitigate flys/issue65.
1378
1379 2011-05-13 Ingo Weinzierl <ingo@intevation.de>
1380
1381 Tagged as RELEASE 1.2
1382
1383 * Changes, NEWS: Changes and news for release 1.2
1384
1385 2011-05-12 Ingo Weinzierl <ingo@intevation.de>
1386
1387 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1388 The method that is used to create the request document for querying
1389 charts will now take a document which might contain parameters to adjust
1390 chart settings (e.g. chart height/width).
1391
1392 2011-04-28 Ingo Weinzierl <ingo@intevation.de>
1393
1394 * artifact-database/src/main/java/de/intevation/artifactdatabase/transition/Transition.java:
1395 Modified the isValid() method. The transition needs to know about the
1396 current artifact where its data is stored, the current state and maybe
1397 the target state to determine if it is allowed to step from the current
1398 state to a target state!
1399 NOTE: This breaks the current API!
1400
1401 artifact-database/src/main/java/de/intevation/artifactdatabase/transition/TransitionEngine.java
1402
1403 2011-04-28 Ingo Weinzierl <ingo@intevation.de>
1404
1405 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java,
1406 artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
1407 States have now a method getData(String) to retrieve just a single StateData object.
1408
1409 2011-04-28 Ingo Weinzierl <ingo@intevation.de>
1410
1411 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1412 Added a function that creates the document that is used to set the
1413 attribute of a CollectionItem (setCollectionItemAttribute() operation).
1414
1415 2011-04-27 Ingo Weinzierl <ingo@intevation.de>
1416
1417 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1418 Bugfix: Do not create empty XML documents and save those into database -
1419 exceptions while serialization/deserialization have been the result of
1420 this.
1421
1422 2011-04-26 Ingo Weinzierl <ingo@intevation.de>
1423
1424 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
1425 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
1426 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1427 New methods for querying and updating attributes of collections.
1428
1429 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionResource.java:
1430 Enabled the request dispatcher to handle requests specific to collection
1431 attributes and collection item attributes.
1432
1433 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1434 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1435 New statements for querying and inserting attributes of collections.
1436
1437 2011-04-26 Ingo Weinzierl <ingo@intevation.de>
1438
1439 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
1440 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
1441 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1442 Changed the names of the method names that set and retrieve the
1443 attributes of collection items (e.g. getCollectionAttribute() ->
1444 getCollectionItemAttribute()).
1445
1446 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionResource.java:
1447 Modified method calls based on the changes above.
1448
1449 2011-04-21 Ingo Weinzierl <ingo@intevation.de>
1450
1451 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/Output.java,
1452 artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultOutput.java:
1453 Added a method to add further facets.
1454
1455 2011-04-14 Ingo Weinzierl <ingo@intevation.de>
1456
1457 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1458 Bugfix: removed method CallContext specific method calls.
1459
1460 2011-04-14 Ingo Weinzierl <ingo@intevation.de>
1461
1462 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
1463 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
1464 Enhanced the bootstrap - the CallContext.Listener is initialized (if
1465 configured).
1466
1467 2011-04-14 Ingo Weinzierl <ingo@intevation.de>
1468
1469 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java:
1470 Added a setup() method as in the other factories.
1471
1472 2011-04-14 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1473
1474 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1475 Added instance variable to hold a call context listener.
1476
1477 2011-04-14 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1478
1479 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1480 Call the postCall() methods of all CallContextes. Removed superfluous context
1481 paramter to AbstractCallContext constructors.
1482
1483 * artifact-database/src/main/java/de/intevation/artifactdatabase/AbstractCallContext.java:
1484 call ArtifactDatabaseImpl.initCallContext() in constructor and
1485 ArtifactDatabaseImpl.closeCallContext() in postCall().
1486
1487 * artifact-database/src/main/java/de/intevation/artifactdatabase/CollectionCallContext.java,
1488 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactCallContext.java:
1489 adjusted to guarantee that super.postCall() is called.
1490
1491 2011-04-14 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1492
1493 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java:
1494 Added a listener to be called if a call context was created and closed.
1495
1496 2011-04-14 Ingo Weinzierl <ingo@intevation.de>
1497
1498 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java,
1499 artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
1500 Added a reference to an artifact to the parameterlist of describe().
1501 This is needed to retrieve other necessary information of an artifact.
1502
1503 2011-04-13 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1504
1505 * artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1506 Internal granularity should be milliseconds and not microseconds.
1507
1508 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
1509 Forget last commit.
1510
1511 2011-04-13 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1512
1513 Fix for flys/issue9
1514
1515 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1516 Removed code that checks for outdated artifact in user land.
1517
1518 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1519 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1520 Do the check in the database and take into account if artifact
1521 is in a collection. XXX: Maybe this needs some speedup!
1522
1523 2011-04-13 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1524
1525 Fix for flys/issue8 (part 3)
1526
1527 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
1528 'NOT IN (NULL)' does not work. Used 'NOT IN (-666)' instead.
1529
1530 2011-04-12 Ingo Weinzierl <ingo@intevation.de>
1531
1532 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1533 Added a method that returns a document that is used to trigger the
1534 artifact's DESCRIBE operation.
1535
1536 2011-04-07 Ingo Weinzierl <ingo@intevation.de>
1537
1538 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1539 Added a method that creates documents used as input document for the
1540 Collection's out() operation.
1541
1542 2011-04-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1543
1544 Fix for flys/issue8 (part 2)
1545
1546 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
1547 PostgreSQL does not like clauses like 'NOT IN ()' so write
1548 'NOT IN (NULL)' in these cases.
1549
1550 2011-04-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1551
1552 Possible fix for flys/issue8
1553
1554 * artifact-database/src/main/java/de/intevation/artifactdatabase/StringUtils.java:
1555 (repeat) The term was repeated one time too often leading to invalid
1556 SQL statements in database cleaner. I really should start writing
1557 unit tests.
1558
1559 2011-04-06 Ingo Weinzierl <ingo@intevation.de>
1560
1561 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCollectionItem.java:
1562 Bugfix: Items are compressed in the Backend while adding an Artifact to
1563 a Collection. So this item needs to be decompressed when it is fetched
1564 from Backend again. This is done now!
1565
1566 2011-04-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1567
1568 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1569 The XML documents stored aside users, collections and collection items
1570 are now compressed/decompressed transparently, to reduce i/o costs
1571 as its already done with artifacts.
1572
1573 !!! This breaks database content of release FLYS 2.2 but this is okay,
1574 !!! because 2.2 is not productive..
1575
1576 2011-04-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1577
1578 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
1579 Added a boolean flag to XML byte serialisation to compress/decompress, too.
1580 Defaults to false to keep compatibilty.
1581
1582 2011-04-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1583
1584 * src/**/*.java: Removed trailing whitespace.
1585
1586 2011-03-31 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1587
1588 * src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
1589 Removes outdated collections, too.
1590
1591 * src/main/resources/sql/org-h2-driver.properties,
1592 src/main/resources/sql/org-postgresql-driver.properties:
1593 Added SQL statements to figure out outdated collections.
1594
1595 2011-03-31 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1596
1597 * artifact-database/src/main/java/de/intevation/artifactdatabase/StringUtils.java:
1598 Added methods to repeat chars or strings.
1599
1600 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
1601 Filtering out locked artifact ids is now done on database level.
1602
1603 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1604 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1605 Added $LOCKED_ID$ template for the prepared statements to figure
1606 out the locked ids.
1607
1608 2011-03-31 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1609
1610 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
1611 The cleaner now fetches the explicit set of locked artifact ids from
1612 the artifact database. This is needed for the next step todo: Prevent
1613 locked artifact from beeing considered as outdated on database level.
1614
1615 * artifact-database/src/main/java/de/intevation/artifactdatabase/Id.java:
1616 Removed. Not needed any more.
1617
1618 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1619 Now provides a copy of the locked artifact ids.
1620
1621 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java,
1622 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1623 Adjusted code to follow the new id locking semantics.
1624
1625 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultOutput.java:
1626 Removed needless import.
1627
1628 2011-03-31 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1629
1630 * artifact-database/doc/schema-h2.sql, artifact-database/doc/schema-pg.sql:
1631 Added a trigger on artifacts. If an artifact is changed the last_access
1632 timestamp of the collections in which the artifact is in are updated, too.
1633 Needs testing!
1634
1635 - In PostgreSQL it is done by a trigger written in plpgsql. So don't
1636 forget to add the language to the database!
1637
1638 - In H2 it is done by a trigger written in Java, because H2 does not
1639 offer a script level trigger support.
1640
1641 * artifact-database/src/main/java/de/intevation/artifactdatabase/h2/CollectionAccessUpdateTrigger.java:
1642 The H2 trigger.
1643
1644 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
1645 Added the statement which is executed if the trigger fires.
1646
1647 2011-03-31 Ingo Weinzierl <ingo@intevation.de>
1648
1649 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1650 Added an implementation of DeferredOutput for ArtifactCollections and
1651 implemented the out() operation of an ArtifactCollection.
1652
1653 2011-03-30 Ingo Weinzierl <ingo@intevation.de>
1654
1655 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java:
1656 The output nodes written to DESCRIBE document have facet nodes now.
1657
1658 2011-03-30 Ingo Weinzierl <ingo@intevation.de>
1659
1660 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultFacet.java,
1661 artifact-database/src/main/java/de/intevation/artifactdatabase/state/Facet.java:
1662 New. A facet and its default implementation. A facet represents one
1663 piece of an concrete output. E.g. an output can be a chart, a facet can
1664 be a single curve in this chart.
1665
1666 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultOutput.java,
1667 artifact-database/src/main/java/de/intevation/artifactdatabase/state/Output.java:
1668 Added methods to retrieve and set facets.
1669
1670 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
1671 Added code to parse facets in the inner of an output node of the
1672 transition configuration. The xpath to a facet relative to a state
1673 should look like this: state/outputmodes/outputmode/facets/facet.
1674
1675 2011-03-30 Ingo Weinzierl <ingo@intevation.de>
1676
1677 Tagged as RELEASE 1.1
1678
1679 2011-03-30 Ingo Weinzierl <ingo@intevation.de>
1680
1681 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1682 There is a new method that creates the document that is used to trigger
1683 the DESCRIBE operation of a collection.
1684
1685 2011-03-25 Ingo Weinzierl <ingo@intevation.de>
1686
1687 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1688 The operation that adds an artifact to an artifact collection will
1689 return the DESCRIBE document of the artifact collection now.
1690
1691 2011-03-24 Ingo Weinzierl <ingo@intevation.de>
1692
1693 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java,
1694 artifacts/src/main/java/de/intevation/artifacts/ArtifactCollection.java:
1695 Made the document 'attribute' of the ArtifactCollection accessible via
1696 getter and setter methods.
1697
1698 2011-03-24 Ingo Weinzierl <ingo@intevation.de>
1699
1700 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1701 The CREATE document for used for creating new ArtifactCollections will
1702 build an ArtifactCollection with an empty attribute - but it is no
1703 longer null (which broke the XML parser while fetching the
1704 ArtifactCollection from backend).
1705
1706 2011-03-24 Ingo Weinzierl <ingo@intevation.de>
1707
1708 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1709 Removed the inner CallContextImpl class. This class is split up into an
1710 abstract class AbstractCallContext and concrete classes for artifacts
1711 and collections. We need to do so, because the describe() of an
1712 ArtifactCollection needs the CallContext - but the former
1713 CallContextImpl was specific for artifacts.
1714
1715 * artifact-database/src/main/java/de/intevation/artifactdatabase/AbstractCallContext.java,
1716 artifact-database/src/main/java/de/intevation/artifactdatabase/CollectionCallContext.java,
1717 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactCallContext.java:
1718 An abstract CallContext and two concrete implementations for Artifacts
1719 and ArtifactCollections.
1720
1721 2011-03-24 Ingo Weinzierl <ingo@intevation.de>
1722
1723 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java,
1724 artifacts/src/main/java/de/intevation/artifacts/ArtifactCollection.java:
1725 There is a describe() method for ArtifactCollections, now.
1726
1727 2011-03-24 Ingo Weinzierl <ingo@intevation.de>
1728
1729 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1730 Added a method that retrieves an ArtifactCollection based on its GID.
1731
1732 2011-03-24 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1733
1734 * artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1735 Added a cast to uuid in collections.select.by.gid
1736
1737 2011-03-24 Ingo Weinzierl <ingo@intevation.de>
1738
1739 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1740 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1741 Added new statement to retrieve a single collection by GID and repaired
1742 a statement in the postgres properties.
1743
1744 2011-03-23 Ingo Weinzierl <ingo@intevation.de>
1745
1746 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1747 Added a method that creates a document that is used to add an artifact
1748 to a collection.
1749
1750 2011-03-23 Ingo Weinzierl <ingo@intevation.de>
1751
1752 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1753 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1754 Bugfix: Repaired broken SQL statement.
1755
1756 2011-03-23 Ingo Weinzierl <ingo@intevation.de>
1757
1758 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1759 Bugfix: Repaired a broken XPath.
1760
1761 2011-03-23 Ingo Weinzierl <ingo@intevation.de>
1762
1763 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java:
1764 Added a method to append an <outputmodes> section to a document that
1765 describes the output modes of a state.
1766
1767 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1768 Added a method to retrieve a list of output modes from DESCRIBE
1769 document.
1770
1771 2011-03-23 Ingo Weinzierl <ingo@intevation.de>
1772
1773 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java:
1774 The State interface defines a method to retrieve the state's output
1775 modes now.
1776
1777 2011-03-22 Ingo Weinzierl <ingo@intevation.de>
1778
1779 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/DefaultOutput.java,
1780 artifact-database/src/main/java/de/intevation/artifactdatabase/state/Output.java:
1781 New. An interface and its default implementation to describe an output
1782 mode of a state. Currently, the information 'name', 'description' and
1783 'mime-type' are provided.
1784
1785 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
1786 The abstract state reads the output modes available for the state now.
1787
1788 2011-03-21 Ingo Weinzierl <ingo@intevation.de>
1789
1790 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1791 Changed the return type of a method, so that more nodes will be
1792 retrieved.
1793
1794 2011-03-15 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1795
1796 !!! THIS BREAKS THE GNV ARTIFACTS. !!! TODO: Adjust the imports there.
1797
1798 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java,
1799 artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
1800 Deleted. The copies from the commons package are use now.
1801
1802 * artifact-database/src/main/java/de/intevation/artifactdatabase/**/*.java:
1803 Adjusted imports.
1804
1805 2011-03-15 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1806
1807 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/Config.java:
1808 New. Copy of Config in artifacts-database. Part of moving configuration to
1809 the commons package. TODO: Remove XMLUtils and Config from artifact-database.
1810
1811 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1812 Trivial fix. Forgot to commit some time ago.
1813
1814 2011-03-14 Ingo Weinzierl <ingo@intevation.de>
1815
1816 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java,
1817 artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
1818 The describe() method of a state will now return an Element.
1819
1820 2011-03-10 Ingo Weinzierl <ingo@intevation.de>
1821
1822 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1823 New method that creates the document for a ADVANCE operation.
1824
1825 2011-03-10 Ingo Weinzierl <ingo@intevation.de>
1826
1827 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
1828 New method that creates the document for a FEED operation.
1829
1830 2011-03-10 Ingo Weinzierl <ingo@intevation.de>
1831
1832 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
1833 Bugfix: The ElementCreator's method addAttr() will no longer add the
1834 namespace to an attribute although the 'addPrefix' parameter was set to
1835 false.
1836
1837 2011-03-09 Ingo Weinzierl <ingo@intevation.de>
1838
1839 * artifact-database/src/main/java/de/intevation/artifactdatabase/transition/TransitionEngine.java:
1840 New method to determine if a state B is reachable from a state A.
1841
1842 2011-03-09 Ingo Weinzierl <ingo@intevation.de>
1843
1844 * artifact-database/src/main/java/de/intevation/artifactdatabase/data/DefaultStateData.java:
1845 Added a further constructor that takes even the value.
1846
1847 2011-03-08 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1848
1849 * artifact-database/doc/schema-pg.sql, artifact-database/doc/schema-h2.sql:
1850 Fixed broken schemas.
1851
1852 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1853 Insert collection attribute into database, too.
1854
1855 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1856 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1857 Adjusted SQL statements to insert attribute into collection table.
1858
1859 2011-03-09 Ingo Weinzierl <ingo@intevation.de>
1860
1861 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1862 Parse the collection attribute that is contained in the incoming
1863 document while creating a new collection and use this document as parameter
1864 for calling createCollection() of the Backend.
1865
1866 2011-03-09 Ingo Weinzierl <ingo@intevation.de>
1867
1868 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1869 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1870 Fixed a typo.
1871
1872 2011-03-08 Ingo Weinzierl <ingo@intevation.de>
1873
1874 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
1875 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
1876 New method describeCollection() that might be used to retrieve a list of
1877 items in the collection and the facets supported by those items.
1878
1879 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionResource.java:
1880 Enabled the describeCollection() method with an action 'describe' equal
1881 to the implementation of describe of an artifact.
1882
1883 2011-03-08 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1884
1885 * artifact-database/src/main/resources/sql/org-h2-driver.properties
1886 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1887 The cleaner job is scanning the artifact database for outdated artifacts.
1888 artifacts are aging independent from the collections they are in.
1889 So the cleaner wants to delete artifacts that are still in
1890 collections which violates a foreign key constraint and renders
1891 the cleaner inop because this condition remains.
1892
1893 The fix prevents this behavior by only deleting artifacts that
1894 are not in a collection.
1895
1896 2011-03-08 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1897
1898 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1899 Fixed issue with outdating artifact if it is removed from a collection.
1900
1901 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1902 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1903 Fixed statements.
1904
1905 2011-03-08 Ingo Weinzierl <ingo@intevation.de>
1906
1907 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1908 Implemented the setCollectionAttribute() and getCollectionAttribute()
1909 methods.
1910
1911 2011-03-08 Ingo Weinzierl <ingo@intevation.de>
1912
1913 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1914 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1915 Fixed some SQL statements that contained typos.
1916
1917 2011-03-08 Ingo Weinzierl <ingo@intevation.de>
1918
1919 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1920 Implemented removeCollectionArtifact() method.
1921
1922 2011-03-07 Ingo Weinzierl <ingo@intevation.de>
1923
1924 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
1925 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
1926 Modified the method signature of addCollectionArtifact(). This method
1927 got the incoming document as further parameter.
1928 Furthermore, listCollectionArtifacts() and addCollectionArtifact() are
1929 implemented now.
1930
1931 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionResource.java:
1932 Adapted the method call of addCollectionArtifact().
1933
1934 2011-03-07 Ingo Weinzierl <ingo@intevation.de>
1935
1936 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCollectionItem.java:
1937 Fixed broken constructor.
1938
1939 2011-03-07 Ingo Weinzierl <ingo@intevation.de>
1940
1941 * artifact-database/doc/schema-pg.sql,
1942 artifact-database/doc/schema-h2.sql: Renamed a SEQUENCE - schema
1943 definition and sql statements did not fit to each other.
1944
1945 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1946 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1947 Fixed wrong table names in sql statements.
1948
1949 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1950 Fixed SQL constants.
1951
1952 2011-03-07 Ingo Weinzierl <ingo@intevation.de>
1953
1954 * artifacts/src/main/java/de/intevation/artifacts/CollectionItem.java:
1955 New. An interface that wraps artifacts and its attributes in collections.
1956
1957 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCollectionItem.java,
1958 artifact-database/src/main/java/de/intevation/artifactdatabase/CollectionItem.java:
1959 Moved. The CollectionItem has been moved to DefaultCollectionItem and
1960 implements the new interface CollectionItem.
1961
1962 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1963 The listCollectionArtifacts() method instantiates DefaultCollectionItem
1964 objects now.
1965
1966 2011-03-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1967
1968 * artifact-database/src/main/java/de/intevation/artifactdatabase/CollectionItem.java:
1969 Add missing class.
1970
1971 2011-03-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1972
1973 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1974 Added code to list the collection items in a collection.
1975
1976 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
1977 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
1978 Added SQL statements to list the collection item
1979 via a given collection uuid.
1980
1981 2011-03-07 Ingo Weinzierl <ingo@intevation.de>
1982
1983 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
1984 Repaired the namespaces of attributes in the xml documents created in
1985 the collection context.
1986
1987 2011-03-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
1988
1989 * artifact-database/src/main/java/de/intevation/artifactdatabase/CollectionItem.java:
1990 New. Helper to be returned in Backend.listCollectionArtifacts()
1991
1992 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
1993 Copyright adjusted to 2010, 2011
1994
1995 2011-03-07 Ingo Weinzierl <ingo@intevation.de>
1996
1997 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
1998 Adapted the sql statement to fetch all collections and all user
1999 collections from database (see rev1399 for more details).
2000 s/OUTER LEFT/LEFT OUTER/ solves the collection listing problem.
2001
2002 2011-03-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2003
2004 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2005 Added code to delete a collection item. Fixed typo in SQL lookup.
2006
2007 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2008 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2009 Added SQL statements to removed an artifact from a collection given
2010 a collection id and an artifact id.
2011
2012 2011-03-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2013
2014 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2015 Added code to set the attribute of a collection item.
2016
2017 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2018 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2019 Added SQL statements to set the attribute column of a collection item
2020 given a collection id and an artifact id.
2021
2022 2011-03-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2023
2024 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2025 Added code to get the attribute of a collection item.
2026
2027 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2028 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2029 Added SQL statements to get the attribute column of a collection item
2030 given the collection and the artifact uuid.
2031
2032 2011-03-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2033
2034 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2035 Added new method isValidIdentifier() to check if identifier
2036 is valid. Its a wrapper around StringUtils.checkUUID() to
2037 make it more symmetric to newIdentifier() which wraps
2038 StringUtils.newUUID().
2039
2040 2011-03-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2041
2042 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2043 TODO: Parse incoming document for an initial attribute of a
2044 collection item.
2045
2046 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2047 Added code to add a collection item to a collection.
2048
2049 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2050 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2051 Added SQL statements to handle creation of collection items.
2052
2053 2011-03-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2054
2055 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2056 Added code to delete a collection.
2057
2058 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2059 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2060 Added SQL statements to delete collections.
2061
2062 2011-03-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2063
2064 * artifact-database/src/main/java/de/intevation/artifactdatabase/SQLExecutor.java:
2065 New. Helper class to simplify the database connection stuff like
2066 get a connection, prepare statements, commit, rollback in
2067 error cases and so on. This reduces the code repetition
2068 and complexity in the backend significantly.
2069
2070 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2071 Use the new helper. (Should really have done this before!)
2072
2073 * artifacts/src/main/java/de/intevation/artifacts/ArtifactCollectionFactory.java:
2074 Removed empty line at end of file.
2075
2076 2011-03-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2077
2078 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2079 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2080 Argh! s/OUTER LEFT/LEFT OUTER/ solves the collection listing problem.
2081
2082 2011-03-04 Ingo Weinzierl <ingo@intevation.de>
2083
2084 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
2085 Added a method that creates the CREATE document for creating new
2086 artifact collections.
2087
2088 2011-03-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2089
2090 * artifact-database/pom.xml: Lifted H2 to version 1.3.152.
2091 This hopefully eliminates the problem with the left outer join
2092 in listing of the user collections.
2093
2094 2011-03-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2095
2096 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2097 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2098 Added new statement to extract the creation time for a given collection.
2099 XXX: listing of collection does not. Need to look at that.
2100
2101 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java,
2102 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollectionFactory.java,
2103 artifacts/src/main/java/de/intevation/artifacts/ArtifactCollectionFactory.java
2104 artifacts/src/main/java/de/intevation/artifacts/ArtifactCollection.java:
2105 Repaired parameter propagation of creation times and collection names.
2106
2107 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2108 Adjusted the backend to propagate the creation time and the collection names.
2109
2110 2011-03-04 Ingo Weinzierl <ingo@intevation.de>
2111
2112 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2113 The createCollection() method returns a document that will now contain
2114 the uuid of the created artifact collection.
2115
2116 2011-03-04 Ingo Weinzierl <ingo@intevation.de>
2117
2118 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2119 If there is no creation time of a collection, we just add an empty
2120 string to the collection node in listCollections(). A
2121 NullPointerException is avoided!
2122
2123 2011-03-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2124
2125 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2126 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2127 Added SQL statements to list collections.
2128
2129 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2130 Added code to make collections accessible.
2131
2132 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2133 Bind backend functionality to REST.
2134
2135 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2136
2137 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2138 Implemented the interface method addCollectionArtifact().
2139
2140 2011-03-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2141
2142 * artifact-database/src/main/java/de/intevation/artifactdatabase/LazyBackendUser.java:
2143 New: Helper for lazy loading users.
2144
2145 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2146
2147 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2148 Introduced the ArtifactCollectionFactory as parameter of
2149 listCollections().
2150
2151 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2152 Implemented the interface method listCollections().
2153
2154 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2155
2156 * artifact-database/doc/example-conf/conf.xml: Corrected the attribute
2157 name of the artifact collection in the example node for the artifact
2158 collection factory.
2159
2160 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2161
2162 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2163 Two things: the collection get names specified in the incoming document
2164 of the POST request, and the deleteCollection() interface method is now
2165 implemented.
2166
2167 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2168
2169 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2170 Bugfixes while collection creation: Create a Connection object before
2171 setting its attributes and corrected the order of the values inserted
2172 into the SQL statement.
2173
2174 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2175
2176 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2177 The roles of users are stored into and loaded from database now.
2178
2179 2011-03-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2180
2181 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2182 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2183 Added SQL statements to create collections.
2184
2185 * artifacts/src/main/java/de/intevation/artifacts/ArtifactCollectionFactory.java,
2186 artifacts/src/main/java/de/intevation/artifacts/ArtifactCollection.java:
2187 Added name to collection.
2188
2189 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java,
2190 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollectionFactory.java:
2191 Adjusted factory api to cope with names.
2192
2193 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2194 Implemented create collection.
2195
2196 * database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2197 Adjusted the backend call.
2198
2199 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2200
2201 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2202 Changed the method signature of createCollection(). The Backend needs
2203 the ArtifactCollectionFactory to create new instances of artifact
2204 collections.
2205
2206 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2207 Implemented the interface method createCollection().
2208
2209 2011-03-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2210
2211 * artifacts/src/main/java/de/intevation/artifacts/UserFactory.java:
2212 Throw out useless stuff from interface.
2213
2214 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUserFactory.java:
2215 Adjusted default implementation.
2216
2217 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2218 Use user factory to create new users.
2219
2220 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2221 Call the backend with the new semantic.
2222
2223 2011-03-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2224
2225 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2226 Added stubs for the collection handling.
2227
2228 * artifact-database/doc/schema-pg.sql, artifact-database/doc/schema-h2.sql:
2229 Added missing attribute column to the collection item table.
2230
2231 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2232
2233 * artifact-database/doc/example-conf/conf.xml: Added a node that
2234 configures a default artifact collection factory.
2235
2236 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
2237 The artifact collection factory (currently just a single one) is read
2238 from configuration and setup with its parameters.
2239
2240 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2241 Fetch the configured artifact collection factory from bootstrap.
2242
2243 2011-03-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2244
2245 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
2246 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUserFactory.java,
2247 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
2248 artifacts/src/main/java/de/intevation/artifacts/UserFactory.java:
2249 Propagate delete user errors correctly.
2250
2251 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2252
2253 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUserFactory.java,
2254 artifacts/src/main/java/de/intevation/artifacts/UserFactory.java,
2255 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2256 Adapted the signature of deleteUser(). These methods don't await a User
2257 object any longer but just its identifier.
2258
2259 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2260 Performance improvement: there is no need to fetch the user that we want
2261 to delete from database before deleting it. Now, we just call the
2262 deleteUser() method of the UserFactory with the identifier of the user.
2263
2264 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2265
2266 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2267 Implemented the deleteUser() interface method. This operation will now
2268 remove the specified user, its collections and the artifacts stored in
2269 these collections.
2270
2271 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2272
2273 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2274 Bugfix: Replaced wrong SQL statements with the correct ones.
2275
2276 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2277
2278 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2279 Implemented the listUsers() interface method. This operation will now
2280 return a list of users as document.
2281
2282 2011-03-03 Ingo Weinzierl <ingo@intevation.de>
2283
2284 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2285 Implemented the createUser() interface method. Calling this method will
2286 trigger the backend to create a new user described in the document given
2287 in the POST request.
2288
2289 2011-03-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2290
2291 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2292 Added code to load all users from database.
2293
2294 2011-03-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2295
2296 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2297 Added code to load user from database.
2298
2299 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
2300 Added method to reconstruct XML documents from byte arrays and input streams
2301
2302 2011-03-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2303
2304 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2305 Added code to delete a user, his/her collections and quarantee that
2306 the artifacts exclusivly owner by the user are going to be deleted
2307 from the artifact database.
2308
2309 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2310 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2311 Various SQL statements to cope with outdating artifacts and deleting
2312 users and collections.
2313
2314 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2315
2316 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseOutResource.java:
2317 New. Abstract class that should be used as the base class for the
2318 artifact and collection out resource. The most stuff to handle the
2319 output is done in this class. Concrete subclasses are needed to call the
2320 correct methods in the artifact database.
2321
2322 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionOutResource.java:
2323 New. The OUT Resource for collections. It implements the two abstract
2324 methods of BaseOutResource.
2325
2326 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
2327 This class inherits from BaseOutResource now. The most code has been
2328 removed. Just the two abstract methods of BaseOutResource are
2329 implemented here.
2330
2331 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
2332 Added the CollectionOutResource.
2333
2334 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2335
2336 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CollectionResource.java:
2337 New. A Rest resource that handles operations for a specific collection.
2338
2339 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
2340 Added the CollectionResource.
2341
2342 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2343
2344 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ListCollectionsResource.java:
2345 New. A Rest resource that lists all collections of a specific user.
2346
2347 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
2348 Added the ListCollectionsResource.
2349
2350 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2351
2352 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateCollectionResource.java:
2353 New. A Rest resource that might be used to create new collection that
2354 are owned by a specific user.
2355
2356 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
2357 Added the CreateCollectionResource.
2358
2359 2011-03-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2360
2361 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java,
2362 artifacts/src/main/java/de/intevation/artifacts/UserFactory.java:
2363 Removed needless imports.
2364
2365 2011-03-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2366
2367 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2368 Call database to create a new user.
2369
2370 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2371
2372 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/UserResource.java:
2373 New. A Rest resource that handles actions for a specific user.
2374
2375 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
2376 Added the UserResource.
2377
2378 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2379
2380 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ListUsersResource.java:
2381 New. A Rest resource that lists all users provided by the artifact
2382 database.
2383
2384 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
2385 Added the ListUsersResource.
2386
2387 2011-03-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2388
2389 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
2390 Added a convinience method to transform an document
2391 into a byte array. Useful for storing documents as blob database columns.
2392
2393 2011-03-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2394
2395 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUserFactory.java:
2396 Wired Backend with DefaultUserFactory via the singleton.
2397
2398 2011-03-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2399
2400 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2401 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2402 Fixed typo in keys.
2403
2404 * artifacts/src/main/java/de/intevation/artifacts/UserFactory.java,
2405 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUserFactory.java:
2406 Removed superfluous identifier in createUser().
2407
2408 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2409 Added stubs for handling of users.
2410
2411 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2412
2413 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
2414 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
2415 Removed duplicated method to list users.
2416
2417 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2418
2419 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java:
2420 Added a new method getArtifactDatabase() that retrieves the artifact
2421 database which is used in all subclasses of this resource.
2422
2423 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateUserResource.java:
2424 Use getArtifactDatabase() to retrieve the artifact database.
2425
2426 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java:
2427 New. A resource that is used to create new users. The information about
2428 the user need to be included in the POST data of the request.
2429
2430 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
2431 Added the CreateUserResource.
2432
2433 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2434
2435 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUserFactory.java,
2436 artifacts/src/main/java/de/intevation/artifacts/UserFactory.java: Added
2437 a setup method like the artifact factories have.
2438
2439 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2440 Added an import statement for the UserFactory that was missing here.
2441
2442 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
2443 The setup() method of the UserFactory is called after the concrete
2444 factory class has been instantiated.
2445
2446 2011-03-02 Ingo Weinzierl <ingo@intevation.de>
2447
2448 * artifacts/pom.xml: Bugfix: We are able to compile the artifacts package
2449 with local modifications again.
2450
2451 2011-03-01 Ingo Weinzierl <ingo@intevation.de>
2452
2453 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2454 Made it a singleton.
2455
2456 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
2457 Use the singleton Backend.
2458
2459 2011-03-01 Ingo Weinzierl <ingo@intevation.de>
2460
2461 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2462 Setup the user factory.
2463
2464 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
2465 New method to retrieve the user factory.
2466
2467 2011-03-01 Ingo Weinzierl <ingo@intevation.de>
2468
2469 * artifact-database/doc/example-conf/conf.xml: Added a user-factory
2470 configuration.
2471
2472 2011-03-01 Ingo Weinzierl <ingo@intevation.de>
2473
2474 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
2475 Added the registration of the UserFactory to the bootstrap process.
2476
2477 2011-03-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2478
2479 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
2480 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
2481 Added SQL statements to handle users in database.
2482
2483 * artifact-database/doc/schema-pg.sql,
2484 artifact-database/doc/schema-h2.sql: Added missing UNIQUE constraints.
2485
2486 2011-03-01 Ingo Weinzierl <ingo@intevation.de>
2487
2488 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUser.java:
2489 Added a new constructor to create new DefaultUsers with an identifier, a
2490 name and a role.
2491
2492 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUserFactory.java:
2493 New. A default implementation of a UserFactory that creates
2494 DefaultUsers.
2495
2496 2011-03-01 Ingo Weinzierl <ingo@intevation.de>
2497
2498 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollectionFactory.java:
2499 A default implementation of an ArtifactCollectionFactory.
2500
2501 2011-03-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2502
2503 * artifact-database/doc/schema-pg.sql,
2504 artifact-database/doc/schema-h2.sql: Extended db scheme to
2505 cope with collections, collection items and users.
2506
2507 2011-03-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2508
2509 * artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java:
2510 Typo fix.
2511
2512 * artifacts/src/main/java/de/intevation/artifacts/ArtifactCollectionFactory.java:
2513 Added method to figure out TTL of a collection.
2514
2515 2011-03-01 Ingo Weinzierl <ingo@intevation.de>
2516
2517 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactCollection.java:
2518 A default implementation of a ArtifactCollection.
2519
2520 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultUser.java:
2521 A default implementation of a User.
2522
2523 2011-03-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2524
2525 * artifacts/src/main/java/de/intevation/artifacts/ArtifactCollection.java:
2526 Added creation time.
2527
2528 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2529 Typo fixes.
2530
2531 2011-03-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2532
2533 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
2534 Added external API for users and collections.
2535
2536 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2537 Trivial implementation.
2538
2539 2011-03-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2540
2541 * src/main/java/de/intevation/artifacts/UserFactory.java,
2542 src/main/java/de/intevation/artifacts/ArtifactCollection.java: Added
2543 missing call contexts to API.
2544
2545 2011-03-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2546
2547 * artifacts/src/main/java/de/intevation/artifacts/ArtifactCollectionFactory.java:
2548 New: factory to create new collections.
2549
2550 * artifacts/src/main/java/de/intevation/artifacts/ArtifactCollection.java:
2551 New: Bundles artifacts to be owned by a user.
2552
2553 * artifacts/src/main/java/de/intevation/artifacts/UserFactory.java:
2554 New: Creates a new user.
2555
2556 * artifacts/src/main/java/de/intevation/artifacts/User.java:
2557 New: Model of a user.
2558
2559 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java: Typo fix.
2560
2561 2011-02-18 Ingo Weinzierl <ingo@intevation.de>
2562
2563 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
2564 Added XPath constants and some method that retrieve important nodes of the
2565 DESCRIBE document.
2566
2567 2011-02-16 Ingo Weinzierl <ingo@intevation.de>
2568
2569 * artifacts-common/src/main/java/de/intevation/artifacts/common/ArtifactNamespaceContext.java:
2570 New. Added the namespace context here to make it available in clients as
2571 well.
2572
2573 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/ClientProtocolUtils.java:
2574 New. This class provides functions that help working with the artifact
2575 protocol. Currently, there is just a single function to create a new
2576 CREATE document.
2577
2578 2011-02-10 Ingo Weinzierl <ingo@intevation.de>
2579
2580 * artifacts-common/src/main/resources/de/intevation/artifacts/common/Common.gwt.xml:
2581 A module description that is used by GWT.
2582
2583 * artifacts-common/pom.xml: The resulting jar archive of the 'package'
2584 target will now contain the compiled classes as well as the source files.
2585 Furthermore, the sources are compiled with Java-1.6. These two things are
2586 required for the jar to be included by GWT as module.
2587
2588 2011-02-10 Ingo Weinzierl <ingo@intevation.de>
2589
2590 * artifacts-common/src/main/java/de/intevation/artifacts/common/model/User.java,
2591 artifacts-common/src/main/java/de/intevation/artifacts/common/model/DefaultUser.java:
2592 The interface description and a default implementation of a user.
2593
2594 2011-02-07 Ingo Weinzierl <ingo@intevation.de>
2595
2596 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java:
2597 Added a method to add new StateData objects to the State.
2598
2599 * artifact-database/src/main/java/de/intevation/artifactdatabase/data/StateData.java:
2600 Added a new method to the StateData interface to set the value of the
2601 object.
2602
2603 * artifact-database/src/main/java/de/intevation/artifactdatabase/data/DefaultStateData.java:
2604 New. A default implementation of the StateData.
2605
2606 2011-02-07 Ingo Weinzierl <ingo@intevation.de>
2607
2608 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java:
2609 Added new methods to append the current state and the reachable states to
2610 a root node.
2611
2612 2011-02-07 Ingo Weinzierl <ingo@intevation.de>
2613
2614 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/StateEngine.java:
2615 There is a new method that returns a state based on its ID.
2616
2617 * artifact-database/src/main/java/de/intevation/artifactdatabase/transition/TransitionEngine.java:
2618 There is a new method that retrieves the reachable states of a specific
2619 state.
2620
2621 2011-02-04 Ingo Weinzierl <ingo@intevation.de>
2622
2623 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProtocolUtils.java:
2624 New. This class provides functions that should help creating the artifact
2625 protocol documents of the services describe, feed, advance and out.
2626
2627 2011-02-04 Ingo Weinzierl <ingo@intevation.de>
2628
2629 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
2630 Implements the method setup() - the ID and the description of the state
2631 are extracted at this place.
2632
2633 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/StateEngine.java:
2634 Added a method to retrieve the states of a specified artifact.
2635
2636 * artifact-database/pom.xml: Added a dependency to the artifacts-common
2637 package.
2638
2639 2011-02-04 Ingo Weinzierl <ingo@intevation.de>
2640
2641 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/AbstractState.java:
2642 New. An abstract implementation of a State. Some basic getter and setter
2643 methods are implemented - setup() and describe() need to be implemented by
2644 concrete subclasses.
2645
2646 2011-02-03 Ingo Weinzierl <ingo@intevation.de>
2647
2648 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/StateEngine.java,
2649 artifact-database/src/main/java/de/intevation/artifactdatabase/transition/TransitionEngine.java:
2650 Implementations to store the provided states and transitions of the
2651 artifact server. These engines should be filled at bootstrap.
2652
2653 * artifact-database/src/main/java/de/intevation/artifactdatabase/state/State.java,
2654 artifact-database/src/main/java/de/intevation/artifactdatabase/transition/Transition.java,
2655 artifact-database/src/main/java/de/intevation/artifactdatabase/data/StateData.java:
2656 Interface descriptions for states, transitions and user inserted data.
2657
2658 2011-02-02 Ingo Weinzierl <ingo@intevation.de>
2659
2660 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java:
2661 Corrected the package definition.
2662
2663 2011-02-02 Ingo Weinzierl <ingo@intevation.de>
2664
2665 * artifacts-common/src/main/java/de/intevation/artifacts/common/utils/XMLUtils.java,
2666 artifacts-common/pom.xml: New package. It will serve some classes and
2667 utilities that are used in the artifact-database package as well as in
2668 concrete artifact packages.
2669
2670 * pom.xml: Added the artifacts-common package to be able to build all
2671 packages using just the upper level pom file.
2672
2673 2011-02-01 Ingo Weinzierl <ingo@intevation.de>
2674
2675 * artifact-database/pom.xml: Upgraded Restlet from version 2.0-SNAPSHOT
2676 to the current stable version 2.0.4.
2677
2678 * pom.xml: The SCM plugin will not check for local changes any longer.
2679 Otherwise, we aren't able to build the project with outstanding
2680 modifications.
2681
2682 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
2683 Set the max number of threads available for the REST server to 512. This
2684 is a _WORKAROUND_ for Restlet-2.0.4 which seems to have a bug while
2685 handling threads.
2686
2687 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ImportResource.java,
2688 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
2689 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServiceResource.java,
2690 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ExportResource.java,
2691 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
2692 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
2693 Renamed the packages of the Request and Response class that have been
2694 changed from Restlet 2.0-SNAPSHOT to 2.0.4.
2695
2696 2010-11-02 Ingo Weinzierl <ingo@intevation.de>
2697
2698 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContextFactory.java,
2699 artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java,
2700 artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
2701 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
2702 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultPreferredLocale.java,
2703 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
2704 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java,
2705 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultService.java,
2706 artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java,
2707 artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java,
2708 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContext.java,
2709 artifact-database/src/main/java/de/intevation/artifactdatabase/App.java,
2710 artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java,
2711 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
2712 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java,
2713 artifact-database/src/main/java/de/intevation/artifactdatabase/StringUtils.java,
2714 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java,
2715 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactSerializer.java,
2716 artifact-database/src/main/java/de/intevation/artifactdatabase/Id.java,
2717 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java,
2718 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ImportResource.java,
2719 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
2720 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
2721 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServiceResource.java,
2722 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java,
2723 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ExportResource.java,
2724 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java,
2725 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
2726 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServicesResource.java,
2727 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java,
2728 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java,
2729 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultServiceFactory.java,
2730 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java,
2731 artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java,
2732 artifacts/src/main/java/de/intevation/artifacts/CallContext.java,
2733 artifacts/src/main/java/de/intevation/artifacts/Service.java,
2734 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabaseException.java,
2735 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
2736 artifacts/src/main/java/de/intevation/artifacts/CallMeta.java,
2737 artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java,
2738 artifacts/src/main/java/de/intevation/artifacts/ArtifactSerializer.java,
2739 artifacts/src/main/java/de/intevation/artifacts/ServiceFactory.java,
2740 artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java,
2741 artifacts/src/main/java/de/intevation/artifacts/Artifact.java,
2742 artifacts/src/main/java/de/intevation/artifacts/PreferredLocale.java,
2743 contrib/run.sh: Added a license header to each of these files.
2744
2745 * LGPL.txt: License file for the GNU LGPL v2.1
2746
2747 2010-06-14 Ingo Weinzierl <ingo_weinzierl@web.de>
2748
2749 * artifacts/pom.xml,
2750 pom.xml: Write svn revision to MANIFEST files while creating jar archives.
2751
2752 2010-04-28 Hans Plum <hans@intevation.de>
2753
2754 * Tagging Version 1.0:
2755 Because of finishing all functional requirements, rename to 1.0
2756 instead of 0.6
2757
2758 2010-04-28 Ingo Weinzierl <ingo.weinzierl@intevation.de>
2759
2760 * Changes, NEWS, ChangeLog: Summarized activities.
2761
2762 2010-04-27 Ingo Weinzierl <ingo.weinzierl@intevation.de>
2763
2764 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
2765 The path to database can be configured with a relative path now.
2766
2767 2010-04-17 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2768
2769 * artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
2770 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
2771 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java,
2772 artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java,
2773 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java,
2774 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java,
2775 artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java:
2776 Brought all line lengths of non Javadoc lines below 80.
2777
2778 2010-03-28 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2779
2780 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java,
2781 artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
2782 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContextFactory.java,
2783 artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java,
2784 artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java,
2785 artifact-database/src/main/java/de/intevation/artifactdatabase/App.java,
2786 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java,
2787 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
2788 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java,
2789 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactSerializer.java,
2790 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java,
2791 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
2792 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
2793 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java,
2794 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServiceResource.java,
2795 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java,
2796 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
2797 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java,
2798 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultServiceFactory.java,
2799 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java,
2800 artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java:
2801 Sorted imports.
2802
2803 2010-03-28 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2804
2805 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
2806 artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java,
2807 TODO:
2808 Last bunch of javadoc. Possible TODO: check for typos and cross reference problems
2809 but the main work should be done with this commit.
2810
2811 2010-03-28 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2812
2813 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContextFactory.java,
2814 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
2815 artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java,
2816 artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java,
2817 artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java,
2818 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java,
2819 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java,
2820 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
2821 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
2822 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
2823 More javadoc, some code formatting.
2824
2825 2010-03-26 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2826
2827 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java,
2828 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultPreferredLocale.java,
2829 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultService.java,
2830 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContext.java,
2831 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
2832 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java,
2833 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultServiceFactory.java,
2834 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
2835 Even more javadoc.
2836
2837 2010-03-26 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2838
2839 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java,
2840 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultPreferredLocale.java,
2841 artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java,
2842 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultService.java,
2843 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java,
2844 artifact-database/src/main/java/de/intevation/artifactdatabase/Id.java,
2845 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ImportResource.java,
2846 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
2847 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
2848 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServiceResource.java,
2849 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ExportResource.java,
2850 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
2851 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServicesResource.java,
2852 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultServiceFactory.java:
2853 More javadoc (fixes small glitches, too).
2854
2855 2010-03-26 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2856
2857 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java,
2858 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ImportResource.java,
2859 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
2860 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
2861 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServiceResource.java,
2862 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java,
2863 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ExportResource.java,
2864 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java,
2865 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
2866 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServicesResource.java,
2867 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java,
2868 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
2869 Added javadoc to the REST package (complete). TODO: Add javadoc to the remaining classes
2870 of the 'artifactdatabase'.
2871
2872 2010-03-26 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2873
2874 * artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
2875 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContextFactory.java,
2876 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
2877 artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java,
2878 artifact-database/src/main/java/de/intevation/artifactdatabase/App.java,
2879 artifact-database/src/main/java/de/intevation/artifactdatabase/StringUtils.java,
2880 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java,
2881 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactSerializer.java:
2882 Added javadoc.
2883
2884 * artifact-database/src/main/java/de/intevation/artifactdatabase/package.html,
2885 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/package.html: New.
2886 Package descriptions.
2887
2888 2010-03-26 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2889
2890 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java,
2891 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
2892 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
2893 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
2894 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java,
2895 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java,
2896 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
2897 artifacts/src/main/java/de/intevation/artifacts/CallContext.java,
2898 artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
2899 Removed trailing whitespace:
2900 find -name \*.java | xargs sed -i 's/[ \t]\+$//'
2901
2902 2010-03-26 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2903
2904 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
2905 artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
2906 Completed Javadoc of sub module 'artifacts'. TODO: add Javadoc to
2907 module 'artifact-database'
2908
2909 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java,
2910 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabaseException.java,
2911 artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java,
2912 artifacts/src/main/java/de/intevation/artifacts/ArtifactSerializer.java,
2913 artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java,
2914 artifacts/src/main/java/de/intevation/artifacts/PreferredLocale.java:
2915 Fixed vim modeline.
2916
2917 2010-03-25 Ingo Weinzierl <ingo.weinzierl@intevation.de>
2918
2919 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java: Added a
2920 method 'getTimeToLive()' which retrieves the current artifact's time to
2921 live. The ttl of an artifact is available where ever a CallContext object
2922 is existing.
2923
2924 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2925 Added new field ttl of an artifact to an PersistentArtifact.
2926
2927 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2928 Implemented 'getTimeToLive()' in CallContextImpl.
2929
2930 2010-03-22 Ingo Weinzierl <ingo.weinzierl@intevation.de>
2931
2932 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
2933 Install a SLF4JBridgeHandler after logging is configured. This handler is
2934 used to route incoming java.util.logging logs to SLF4J. In our case, we
2935 route this incoming log to our log4j logger.
2936
2937 * artifact-database/pom.xml: Added dependencies for SLF4J 1.5.11.
2938
2939 2010-03-22 Ingo Weinzierl <ingo.weinzierl@intevation.de>
2940
2941 Issue208 (Remove special data of an 'out'-target before exporting
2942 artifacts)
2943
2944 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java: Added a
2945 'cleanup(Object context)' method to the interface definition of artifacts.
2946 This method should be called before exporting an artifact and should
2947 remove data stored on an artifact (or its current state) which have been
2948 written by an 'out'.
2949
2950 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
2951 Default implementation of cleanup method - nothing is done here yet.
2952 Override this method if an artifact needs to be cleaned before an export.
2953
2954 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java:
2955 Call cleanup method on the proxied artifact if proxied is existing.
2956
2957 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2958 Call cleanup method before exporting an artifact as xml.
2959
2960 2010-03-19 Ingo Weinzierl <ingo.weinzierl@intevation.de>
2961
2962 Issue208 (Artifact gets a new identifier after being imported)
2963
2964 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java: Added a new
2965 method setIdentifier(String identifier).
2966
2967 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
2968 Default implementation of setIdentifier(String identifier) to give an
2969 artifact a new identifier.
2970
2971 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2972 Set a new identifier on an artifact after deserializing it.
2973
2974 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java:
2975 Set the identifier of the proxied artifact right after setting its own
2976 identifier.
2977
2978 2010-03-19 Ingo Weinzierl <ingo.weinzierl@intevation.de>
2979
2980 Issue208 (Artifact import)
2981
2982 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ImportResource.java:
2983 New server resource to import an artifact from an incoming xml document.
2984 The resource is available as /import and accepts xml documents send via
2985 HTTP POST.
2986
2987 * artifact-database/src/main/resources/sql/org-postgresql-driver.properties,
2988 artifact-database/src/main/resources/sql/org-h2-driver.properties: New sql
2989 statements to update an existing artifact.
2990
2991 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
2992 New method to import an artifact from an incoming xml document. The data
2993 contained in this document is decoded using the secret.
2994
2995 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
2996 New method to store an artifact into database or replace it if an artifact
2997 with the given id is already existing.
2998
2999 * artifact-database/src/main/java/de/intevation/artifactdatabase/StringUtils.java:
3000 Removed method to convert a byte array into a string (this is done by
3001 Apache's Hex class in commons codec) and added a new method to convert a
3002 string into a byte array using Apache commons codec as well.
3003
3004 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
3005 Register ImportResource to webserver.
3006
3007
3008 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java,
3009 artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
3010 artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java,
3011 artifact-database/src/main/java/de/intevation/artifactdatabase/Id.java:
3012 Converted the author javadocs.
3013
3014 2010-03-16 Ingo Weinzierl <ingo.weinzierl@intevation.de>
3015
3016 Issue208 (Artifact export)
3017
3018 * artifact-database/doc/example-conf/conf.xml: Added a section to configure
3019 a secret string used to identify artifact imports for security reason.
3020 Incoming artifact imports need to be identified with this secret, otherwise
3021 the import should be blocked.
3022 Xpath for this secret: '/artifact-database/export-secret/text()'
3023
3024 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
3025 New attribute 'exportSecret' and some code to read the secret from
3026 configuration while application startup.
3027
3028 * artifact-database/pom.xml: Added Apache Commons Codec library used to
3029 encode/decode artifact data.
3030
3031 * artifact-database/src/main/java/de/intevation/artifactdatabase/StringUtils.java:
3032 New utilities class for frequently used string operations.
3033
3034 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3035 Added some methods for exporting artifacts as xml documents. The data part
3036 is base64 encoded. A secret key is used while encoding this data to verify
3037 artifact imports, later.
3038
3039 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3040 Added an artifact loader interface used to deserialize artifacts.
3041 getArtifact() implements such an ArtifactLoader to return
3042 PersistentArtifacts.
3043
3044 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ExportResource.java:
3045 New. ServerResource to export artifacts (innerGet). This resource is
3046 available under "/export/{uuid}" via HTTP-GET request and returns an
3047 artifact specified by uuid as xml document.
3048
3049 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
3050 Register ExportResource to webserver.
3051
3052 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
3053 Added method to export artifacts.
3054
3055 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
3056 Reset bootstrap after application startup.
3057
3058 2010-03-11 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3059
3060 * artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java,
3061 artifacts/src/main/java/de/intevation/artifacts/CallContext.java,
3062 artifacts/src/main/java/de/intevation/artifacts/Service.java,
3063 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabaseException.java,
3064 artifacts/src/main/java/de/intevation/artifacts/CallMeta.java,
3065 artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java,
3066 artifacts/src/main/java/de/intevation/artifacts/ArtifactSerializer.java,
3067 artifacts/src/main/java/de/intevation/artifacts/ServiceFactory.java,
3068 artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java,
3069 artifacts/src/main/java/de/intevation/artifacts/Artifact.java,
3070 artifacts/src/main/java/de/intevation/artifacts/PreferredLocale.java:
3071 Repaired the javadoc stuff.
3072
3073 2010-02-21 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3074
3075 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java,
3076 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContextFactory.java,
3077 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
3078 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultPreferredLocale.java,
3079 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java,
3080 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContext.java,
3081 artifact-database/src/main/java/de/intevation/artifactdatabase/App.java,
3082 artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java,
3083 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java,
3084 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java,
3085 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactSerializer.java,
3086 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java,
3087 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
3088 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
3089 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java,
3090 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServiceResource.java,
3091 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java,
3092 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
3093 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServicesResource.java,
3094 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java,
3095 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java,
3096 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultServiceFactory.java,
3097 artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java,
3098 artifacts/src/main/java/de/intevation/artifacts/Service.java,
3099 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabaseException.java,
3100 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
3101 artifacts/src/main/java/de/intevation/artifacts/CallMeta.java,
3102 artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java,
3103 artifacts/src/main/java/de/intevation/artifacts/ArtifactSerializer.java,
3104 artifacts/src/main/java/de/intevation/artifacts/ServiceFactory.java,
3105 artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java,
3106 artifacts/src/main/java/de/intevation/artifacts/Artifact.java,
3107 artifacts/src/main/java/de/intevation/artifacts/PreferredLocale.java:
3108 find -name \*.java | \
3109 xargs sed -i \
3110 -e 's/@author[ ]\+\([^(<]\+\)[<(]\([^>)]\+\)[>)]/@author <a href="mailto:\2">\1<\/a>/g' \
3111 -e 's@[ ]\+</a>@</a>@g'
3112
3113 Bring @author javadoc tags in form '@author <a href="john.doe@example.com">John Doe</a>'
3114 to make the sources to be able to be formatted with jalopy (http://jalopy.sourceforge.net).
3115
3116 2010-02-05 Ingo Weinzierl <ingo.weinzierl@intevation.de>
3117
3118 Issue170
3119
3120 * artifact-database/pom.xml: Changed log4j version to 1.2.14 (later version
3121 causes errors and breaks while maven build process).
3122
3123 2010-02-01 Tim Englich <tim.englich@intevation.de>
3124
3125 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java (innerPost):
3126 Put the XML-Document which was send by the client to the
3127 ArtifactDatabase.createArtifactWithFactory-Method.
3128
3129 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java (createArtifact),
3130 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java (createArtifactWithFactory),
3131 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java (setup),
3132 artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java (setup),
3133 artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java (createArtifactWithFactory),
3134 artifacts/src/main/java/de/intevation/artifacts/Artifact.java (setup):
3135 Changed Method signatures so that it is possible to put the Document
3136 which will be send during the create Step of an Artifact to the Setup-Routine
3137 of an Artifact.
3138 Now it is possible to send further Informations to the Artifact using the
3139 XML-Document.
3140 This is nessesary for manipoulating the Artifact e.g. setting Parameters
3141 which should only be displaied or e.g. put an Geometry-Object into the
3142 Artifact which should limit the displayed results.
3143
3144 2010-01-27 Hans Plum <hans@intevation.de>
3145
3146 RELEASE 0.4
3147
3148 * Changes, NEWS, ChangeLog: summarized activities.
3149
3150 2010-01-22 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3151
3152 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServiceResource.java:
3153 New REST wrapper to call the service. Bound under '/service/{service}'
3154 where '{service}' is the name of the service as announced by '/services'.
3155
3156 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
3157 Register new resource to web server.
3158
3159 2010-01-22 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3160
3161 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ServicesResource.java:
3162 New. Serves a list of available services under '/services' as XML. Structure
3163 is much like '/factories' with 's/artifact/service/'.
3164
3165 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
3166 Register new resource to web server.
3167
3168 2010-01-22 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3169
3170 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
3171 Load service factories while bootstrapping the server.
3172
3173 * artifact-database/doc/example-conf/conf.xml: Added examples for trivial services.
3174
3175 2010-01-22 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3176
3177 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
3178 Forgot to throw exception if service is not available.
3179
3180 * artifacts/src/main/java/de/intevation/artifacts/ServiceFactory.java:
3181 Fixed indention.
3182
3183 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
3184 Implemented service factory loading trivial. TODO: Load
3185 them from the configuration.
3186
3187 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3188 Serve the services.
3189
3190 2010-01-22 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3191
3192 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultService.java:
3193 Default implementation of a service. Useful as a base class.
3194
3195 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultServiceFactory.java:
3196 Default implementation of a service factory. Modelled right after
3197 DefaultArtifactFactory. Useful as a base class.
3198
3199 2010-01-22 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3200
3201 * artifacts/src/main/java/de/intevation/artifacts/Service.java: New.
3202 Interface to describe a service. It takes XML documents and produces
3203 XML documents.
3204
3205 * artifacts/src/main/java/de/intevation/artifacts/ServiceFactory.java:
3206 Factory to create services. Setup at startup.
3207
3208 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
3209 Added methods to describe the available services and call them.
3210
3211 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3212 Implemented new ArtifactDatabase interface trivial. TODO:
3213 Setting it up from configuration, do the processing, register
3214 urls in REST server and so on.
3215
3216 2010-01-22 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3217
3218 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
3219 Added method 'toStream()' to copy a document into an output stream.
3220
3221 2010-01-15 Ingo Weinzierl <ingo.weinzierl@intevation.de>
3222
3223 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
3224 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3225 Added a method 'getInternalArtifactFactory' to get an ArtifactFactory by
3226 its name.
3227
3228 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java: Added
3229 'getDatabase' method to get access to the ArtifactDatabase from context.
3230
3231 2010-01-12 Ingo Weinzierl <ingo.weinzierl@intevation.de>
3232
3233 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java,
3234 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java:
3235 Create document namespace aware and adapted XPath expressions for this.
3236
3237 2010-01-09 Ingo Weinzierl <ingo.weinzierl@intevation.de>
3238
3239 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
3240 Added convenient method to add attributes to nodes. Attributes have no
3241 prefix as default.
3242
3243 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
3244 Adapted xpath (added prefix) to find action and made the document which is
3245 created by this resource namespace aware.
3246
3247 2009-12-17 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3248
3249 RELEASE 0.3
3250
3251 * Changes, NEWS, ChangeLog: summarized activities.
3252
3253 2009-12-16 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3254
3255 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
3256 Added static method parseDocument(File) to load document from
3257 file.
3258
3259 2009-12-15 Ingo Weinzierl <ingo.weinzierl@intevation.de>
3260
3261 Issue106
3262
3263 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
3264 Removed path to chart template which doesn't belong here.
3265
3266 2009-12-11 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3267
3268 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java:
3269 Removed needless import.
3270
3271 2009-11-23 Ingo Weinzierl <ingo.weinzierl@intevation.de>
3272
3273 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
3274 Added path to chart template file and a new method to retrieve the
3275 configuration.
3276
3277 2009-11-23 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3278
3279 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java:
3280 Added a context dictionary accessible through putContextValue(key, value)
3281 and getContextValue(key). Purpose is make artifact calls stackable and
3282 transfer information through the call level transparently.
3283
3284 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3285 Adjusted default implementation of CallContext.
3286
3287 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java:
3288 New. A general proxy class for artifacts in artifact databases. This class uses
3289 the extended call context semantics.
3290
3291 The artifact calls (feed, describe, out, ...) are passed to a proxied artifact.
3292 If the proxied artifact decides to be replaced by some other artifact it has to
3293 to store a reference to the replacement artifact in the call context with
3294 putContextValue(ProxyArtifact.REPLACE_PROXY, my_new_artifact). After the call
3295 is finished the proxied object will change. This indirect callback mechanism is
3296 used to minimize side effects.
3297
3298 The identifier() call is not forwarded to the proxied artifact to have a stable id.
3299
3300 Limitations: This mechanism does not let you build real matroska (multi level)
3301 like artifact structures. This would only be possible if a kind of call context
3302 stack is introduced.
3303
3304 2009-11-13 Hans Plum <hans@intevation.de>
3305
3306 RELEASE 0.2
3307
3308 * Changes, NEWS summarized
3309
3310 2009-11-11 Ingo Weinzierl <ingo.weinzierl@intevation.de>
3311
3312 * HOWTO: Added HOWTO describing the setup of the environment (apache,
3313 tomcat, gnv).
3314
3315 2009-11-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3316
3317 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java: describe() now may
3318 given an input XML document (which can be null to indicate that no input is given).
3319
3320 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
3321 Adjusted to implemented the Artifact interface.
3322
3323 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java: Pass through
3324 the optional XML input document to describe().
3325
3326 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3327 Implements the adjusted ArtifactDatabase interface.
3328
3329 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
3330 Now its also possible to send describe() as a POST request. The request body is handled as
3331 XML.
3332
3333 2009-10-21 Tim Englich <tim.englich@intevation.de>
3334
3335 Issue 59: Make paths in configuration relativ
3336
3337 * src/main/java/de/intevation/artifactdatabase/Config.java (replaceConfigDir):
3338 Applied patch from slt to set the Configuration Folder into the AbsoluteFileName issue59
3339
3340 2009-10-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3341
3342 RELEASE 0.1
3343
3344 * Changes, NEWS: Summaried changes.
3345
3346 2009-10-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3347
3348 * Changelog -> ChangeLog: Renamed to make eclipse happy.
3349
3350 2009-10-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3351
3352 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java:
3353 Initial instance variable with given languages in constructor.
3354
3355 2009-10-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3356
3357 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java:
3358 Better implementation for fetching the preferred locale.
3359
3360 2009-10-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3361
3362 * artifacts/src/main/java/de/intevation/artifacts/CallMeta.java:
3363 Added method to fetch preferred locale.
3364
3365 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java:
3366 Trivial (and incorrect!) implementation.
3367
3368 2009-10-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3369
3370 Add i18n support via "Accept-Language" HTTP headers.
3371
3372 * artifact-database/pom.xml: Using restlet 2.0 snapshot.
3373 M3 does not implement the required API, M4 is not in maven repo yet.
3374 TODO: Bring to M4 as soon it is released in maven repository.
3375
3376 * contrib/run.sh: Adjusted to use the snapshot.
3377
3378 * artifacts/src/main/java/de/intevation/artifacts/CallMeta.java:
3379 New. Meta information of a call, languages, e.g.
3380
3381 * artifacts/src/main/java/de/intevation/artifacts/PreferredLocale.java:
3382 New. Model preferred languages.
3383
3384 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java:
3385 Has now a reference to the meta information.
3386
3387 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
3388 describe, feed, advance and out call contexts are now enriched with
3389 external meta data.
3390
3391 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
3392 Additional debug output how long the cleaner slept between cleanups.
3393
3394 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultPreferredLocale.java:
3395 New. Default implementation of PreferredLocale.
3396
3397 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultCallMeta.java:
3398 New. Default implementation of CallMeta.
3399
3400 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3401 Adjusted to take the additional meta information.
3402
3403 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java:
3404 Added a method to create a CallMeta object from web client information.
3405
3406 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
3407 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
3408 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
3409 Call the artifact database with the meta data from there base class BaseResoure.
3410
3411 2009-10-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3412
3413 * artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
3414 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
3415 artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
3416 artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java,
3417 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
3418 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java,
3419 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
3420 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java,
3421 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java,
3422 artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java,
3423 artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
3424 Removed trailing whitespace.
3425
3426 2009-10-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3427
3428 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3429 Removed needless imports.
3430
3431 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
3432 Be more verbose on output on which host the REST server is bound.
3433
3434 2009-09-30 Hans Plum <hans@intevation.de>
3435
3436 * artifact-database/doc/example-conf/conf.xml, README:
3437 Fixed inconsistencies after changes in h2-configuraton.
3438
3439 2009-09-29 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3440
3441 * pom.xml, artifacts/pom.xml, artifact-database/pom.xml:
3442 Set source encoding to UTF-8.
3443
3444 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
3445 If '/artifact-database/rest-server/listen/text()' is given in conf.xml
3446 the value is used to bind REST server to that interface.
3447
3448 * artifact-database/doc/example-conf/conf.xml: Added 'listen' to
3449 demo configuration.
3450
3451 2009-09-24 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3452
3453 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
3454 Time delta calculation in SQL statement to figure out outdated artifacts
3455 was broken.
3456
3457 2009-09-24 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3458
3459 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
3460 Added debug output to make tracing of artifact lifecyle easier.
3461
3462 2009-09-23 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3463
3464 * artifact-database/doc/schema-pg.sql, artifact-database/doc/schema-h2.sql:
3465 Added column 'factory' to artifacts table to store the name of the
3466 creating factory.
3467
3468 !!!
3469 !!! THIS BREAKS OLD ARTIFACT DATABASES!
3470 !!!
3471 !!! To update old databases issue at database prompt:
3472 !!! ALTER TABLE artifacts ADD COLUMN factory VARCHAR(256) NOT NULL;
3473 !!!
3474
3475 * artifact-database/src/main/resources/sql/org-h2-driver.properties,
3476 artifact-database/src/main/resources/sql/org-postgresql-driver.properties:
3477 Fixed issue in SQL statements for touching artifacts. Fill factory name
3478 into artifact relation.
3479
3480 * artifacts/src/main/java/de/intevation/artifacts/ArtifactSerializer.java:
3481 To allow different serialization models each ArtifactFactory has
3482 serializer for the artifacts.
3483
3484 * artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java:
3485 Add method to return ArtifactSerializer.
3486
3487 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactSerializer.java:
3488 Uses Java standard object serialisation.
3489
3490 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
3491 Uses th DefaultArtifactSerializer as ArtifactSerializer
3492
3493 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3494 The serialisation method is select via the 'factory' column of the 'artifacts'
3495 table.
3496
3497 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java,
3498 artifact-database/src/main/java/de/intevation/artifactdatabase/App.java,
3499 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
3500 artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
3501 Adjusted to fit the new serialisation model.
3502
3503 2009-09-23 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3504
3505 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/BaseResource.java:
3506 New. Base class to log RuntimeExceptions to log4j error log.
3507
3508 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
3509 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
3510 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
3511 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
3512 Adjusted to extend from BaseResource.
3513
3514 2009-09-21 Tim Englich <tim.englich@intevation.de>
3515
3516 * Added some IDE-specific files to the Ignorelist.
3517
3518 2009-09-18 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3519
3520 * artifact-database/doc/schema.sql: removed.
3521 * artifact-database/doc/schema-h2.sql: re-added here. It is H2 specific.
3522
3523 * artifact-database/doc/schema-pg.sql: New. Schema for PostgreSQL 8.3 +
3524
3525 * artifact-database/src/main/resources/sql/org-postgresql-driver.properties: New.
3526 SQL statements for PostgreSQL.
3527
3528 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
3529 XPath expressions to access config were wrong. Added some debug logging.
3530
3531 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3532 Added some debug logging.
3533
3534 * artifact-database/pom.xml: Added dependency to postgresql JDBC driver
3535
3536 * contrib/run.sh: Added postgresql JDBC to CLASSPATH.
3537
3538 2009-09-16 Tim Englich <tim.englich@intevation.de>
3539
3540 * src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java (represent) Edited:
3541 Switched from Get to Post communication.
3542
3543 2009-09-16 Tim Englich <tim.englich@intevation.de>
3544
3545 * src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java (feed) Edited:
3546 Bug fixed: Now the method will call the feed Method of the used Artifact instead
3547 of the advance Method.
3548
3549 2009-09-15 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3550
3551 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
3552 More warning log output in POST case.
3553
3554 2009-09-15 Tim Englich <tim.englich@intevation.de>
3555
3556 * src/main/java/de/intevation/artifactdatabase/Backend.java:
3557 Bug Fixed: Comparation for outdated Artifacts was Wrong.
3558
3559 * src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java (represent):
3560 Warn-Logging Integrated for Exception analysys.
3561
3562 2009-09-14 Tim Englich <tim.englich@intevation.de>
3563
3564 * src/main/java/de/intevation/artifacts/ArtifactFactory.java Edited:
3565 Make Objects Serializable
3566
3567 * src/main/resources/sql/org-h2-driver.properties:
3568 Bug Fixed in SQL-Query
3569
3570 2009-09-13 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3571
3572 Refactored the persistent handling of the artifacts in the
3573 artifact database. When an artifact is called (describe, feed,
3574 advance, out) a new CallContext is given instead of the
3575 old Object context. CallContext.globalContext() returns the
3576 old Object context now. CallContext.afterCall() may be
3577 called from inside describe, feed, advance and out to tell
3578 the artifact database what to do after the processing of
3579 the specific call.
3580
3581 The accepted values are:
3582 - NOTHING for doing nothing
3583 - TOUCH for just update the last access time
3584 - STORE for persisting the artifact.
3585 - BACKGROUND to signal that the artifact has started
3586 a background operation.
3587
3588 After the background operation the artifact has to call
3589 CallContext.fromBackground() to signal the artifact
3590 database that the artifact needs to be touched or stored.
3591
3592 !!! Without this call the artifact database assumes there
3593 !!! is still some background operation on this artifact
3594 !!! which prevents reclaiming resources
3595
3596 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java:
3597 New. New API to cope with background processing.
3598
3599 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
3600 Replaced old Object context with CallContext context.
3601
3602 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
3603 Adjusted.
3604
3605 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
3606 For a better encapsulation of the persistence operations of the
3607 artifacts the database does not return artifacts any more. It delegates
3608 the describe, feed, advance and out call to internal structures.
3609
3610 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabaseException.java:
3611 New. Simplifies handling of error conditions inside of artifact database.
3612
3613 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3614 Adjusted to new interface. Internally it handles the background API.
3615
3616 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java,
3617 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
3618 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java,
3619 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java,
3620 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
3621 Adjusted to new artifact database interface (which greatly simplifies things)
3622
3623 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
3624 Artifacts in background are not removed from database any longer.
3625
3626 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java: Little
3627 re-wirering need for new cleanup.
3628
3629 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3630 Simplified to do the SQL stuff only. The most infrastructure stuff is now done
3631 in ArtifactDatabaseImpl.
3632
3633 * artifact-database/src/main/java/de/intevation/artifactdatabase/Id.java:
3634 New. Helper base class to enable filtering of background artifacts by there
3635 database id.
3636
3637 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
3638 Modified the INSERT statement to write the serialized artifact, too.
3639
3640 2009-09-12 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3641
3642 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java(out):
3643 out() is now called with an java.io.Outputstream to place
3644 the output.
3645
3646 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
3647 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
3648 artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java:
3649 Adjusted.
3650
3651 2009-09-11 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3652
3653 * artifact-database/doc/example-conf/conf.xml: Added
3654 sleep time for cleanup thread.
3655
3656 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
3657 Start cleanup thread at startup.
3658
3659 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3660 Make artifact restoring bit more robust, added ref to
3661 cleanup thread to do an immediate cleanup when dead artifact
3662 is found by lookup.
3663
3664 * artifact-database/src/main/java/de/intevation/artifactdatabase/DatabaseCleaner.java:
3665 New. The cleanup thread. It cleans up the artifact database
3666 perodically and calls the endOfLife() methods of the dead
3667 artifacts. Default cleanup interval is 5 minutes.
3668
3669 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
3670 Tuned SQL a bit to fetch only a 50 artifacts in search for
3671 outdated artifacts to avoid too much memory consumption.
3672
3673 * contrib/run.sh: Little tweak to work with more than one
3674 commons-pool version installed.
3675
3676 * TODO: Removed remarks about the now implemented killer
3677 thread and the moves XML stuff.
3678
3679 * README: Changed text how to create a H2 database from
3680 command line only. XXX: This is still broken. The best
3681 way to set up the database by now is to start the Console
3682 client, connect to the database, c&p the schema.sql
3683 into the SQL text area and execute it.
3684
3685 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3686
3687 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java:
3688 New. Handler for 'out'. Reachable via HTTP GET '/artifact/{uuid}/{type}'.
3689
3690 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/OutRepresentation.java:
3691 New. Special representation for out. TODO: use streaming API.
3692
3693 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
3694 Regrouped imports.
3695
3696 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java: Added
3697 handler for 'out' to routing table.
3698
3699 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3700
3701 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
3702 Added handler for 'advance' and 'feed' to be called by HTTP POST '/artifact/{uuid}'.
3703
3704 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3705
3706 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactResource.java:
3707 Added handler for 'describe' to be fetched by HTTP GET '/artifact/{uuid}'.
3708
3709 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
3710 Add route to new describe handler.
3711
3712 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java: Fixed
3713 problems with serialization of artifacts to backing database.
3714
3715 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3716
3717 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
3718 Added method to get strings from XML documents via XPath.
3719
3720 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
3721 Used XMLUtils to create new XML documents.
3722
3723 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3724 Forgot to store backend in instance variable.
3725
3726 * artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java:
3727 Added static instance of this class.
3728
3729 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java:
3730 Forward call to ArtifactDatabase, do some error handling.
3731
3732 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3733 Treat problems with database errors more gracefully.
3734
3735 * contrib/run.sh: Added dependencies to common-pool and common-dbcp.
3736
3737 * artifact-database/doc/data/create-artifact.xml: New. example data set to
3738 create an artifact. Usage
3739
3740 $ curl --data-binary @doc/data/create-artifact.xml -D - http://localhost:8181/create
3741
3742 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3743
3744 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java:
3745 Removed needless import.
3746
3747 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java,
3748 artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
3749 Moved some XPath stuff from Config into XMLUtils.
3750
3751 2009-09-10 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3752
3753 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java(setup): Added
3754 callback parameter in form of the creating factory.
3755
3756 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
3757 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
3758 Adjusted to match new Artifact interface.
3759
3760 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
3761 Call artifact.setup() with this.
3762
3763 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
3764 Removed namespace stuff.
3765
3766 * artifacts/src/main/java/de/intevation/artifacts/ArtifactNamespaceContext.java:
3767 Created namespace stuff, need for XPath for e.g.
3768
3769 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java:
3770 Use new namespace stuff.
3771
3772 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
3773 Added author.
3774
3775 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3776
3777 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
3778 Added method newXPath() to create XPaths with namespace binding.
3779
3780 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
3781 Uses new method from XMLUtils.
3782
3783 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3784
3785 * trunk/artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java,
3786 trunk/artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java:
3787 Removed meta data from resources. They prevented serving the right results.
3788
3789 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3790 Removed needless import.
3791
3792 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3793
3794 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/CreateResource.java:
3795 New. Resource to create an artifact. Not working on artifact database yet.
3796
3797 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
3798 Attached create to web server.
3799
3800 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java:
3801 Added meta data to Get annotation.
3802
3803 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3804
3805 * artifact-database/pom.xml: Added dependency to restlet.ext.xml
3806 for XML handling in representations.
3807
3808 * contrib/run.sh: Adjusted to fit new dependency.
3809
3810 * artifact-database/src/main/java/de/intevation/artifactdatabase/XMLUtils.java:
3811 New. Handle some boiler plate XML stuff. Move more stuff of this kind
3812 into this file.
3813
3814 * TODO: Added remark to move more XML stuff into XMLUtils.
3815
3816 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
3817 Tell at startup on which port we are listing.
3818
3819 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/FactoriesResource.java:
3820 Representation to list the available factories.
3821
3822 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
3823 Attach new factory listing to web app.
3824
3825 2009-09-09 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3826
3827 * artifact-database/doc/artifactdb-example-conf.xml: removed
3828 * artifact-database/doc/example-conf/conf.xml: Re-added here.
3829
3830 The configuration is now found in a subdirectory set by the
3831 system property 'artifact.database.dir'. If this property is
3832 not set '~/.artitactdb' is used. This directory should contain
3833 a file 'conf.xml' with the configuration details.
3834 If the artifact database is started as a standalone the config
3835 directory is searched for 'log4j.properties' to configure the
3836 logging.
3837 The H2 database is also search in this directory with the
3838 name 'artifacts.db' if the connection url in config.xml is
3839 not overwritten.
3840
3841 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
3842 Refactored a bit to follow the new configuration policy.
3843
3844 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
3845 Build default connection url as described.
3846
3847 * artifact-database/doc/example-conf/log4j.properties: New.
3848 example logging config
3849
3850 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
3851 Added some more logging infos.
3852
3853 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
3854 Load the log4j configuration at startup and starts a REST standalone web server.
3855
3856 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest: New.
3857 Package for REST binding.
3858
3859 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/Standalone.java:
3860 Convenience wrapper to start a standalone REST web server.
3861
3862 * artifact-database/src/main/java/de/intevation/artifactdatabase/rest/RestApp.java:
3863 Concrete REST application. TODO: attach restlets to interact with artifact database.
3864
3865 * contrib/run.sh: Little start script to launch artifact database for test
3866 purpose from classes without the need to build packages.
3867 Background: The maven exec:exec goal does not work consistently for me (slt).
3868 At home it does, at work it doe not. Anyway. Usage:
3869
3870 $ ./contrib/run.sh \
3871 -Dartifact.database.dir=artifact-database/doc/example-conf/ \
3872 de.intevation.artifactdatabase.App
3873
3874 2009-09-08 Tim Englich <tim.englich@intevation.de>
3875
3876 * src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java : Edited
3877 Constants for Namespace-URL and Namespace-Prefix added
3878
3879 2009-09-08 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3880
3881 * artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java,
3882 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java,
3883 artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java,
3884 artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java,
3885 artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java,
3886 artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
3887 Integrated log4j
3888
3889 * artifact-database/pom.xml: Added dependency to log4j
3890
3891 * TODO: Removed remark to integrate logging.
3892
3893 2009-09-07 Tim Englich <tim.englich@intevation.de>
3894
3895 * src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java: edited
3896 Bug fixed in XPath Expression. Now the Nodes and not the Text of the Nodes will
3897 be used instantiating the ArtifactFactory.
3898
3899 2009-09-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3900
3901 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3902 Implemented loading of artifacts from database. If the last access of an
3903 artifact is too long ago for its time to life, null is returned.
3904
3905 * TODO: Added remark to implement a "killer" thread which periodically cleans the
3906 database from outdated artifacts and calls the endOfLife() method on those.
3907
3908 2009-09-07 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3909
3910 * artifact-database/src/main/java/de/intevation/artifactdatabase/SQL.java:
3911 Properties wrapper for SQL statements. The properties are looked up
3912 in resorces /sql/DRIVER.properties (DRIVER is the name of the db driver class,
3913 lowercased and '.' replaced by '-'. 'org.h2.Driver' turns to
3914 'org-h2-driver.properties', e.g.
3915
3916 * artifact-database/src/main/resources/sql/org-h2-driver.properties:
3917 SQL statements for H2 database.
3918
3919 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3920 Artifacts are proxies/wrapped by an special Artifact implementation
3921 to bound db activities transparentely to the Artifact. XXX: It has
3922 to be evaluated if a more direct concept like extending the Artifact API
3923 to store itself would be more robust for future implementations.
3924 TODO: Loading Artifact from db is not implemented yet.
3925
3926 2009-09-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3927
3928 * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java:
3929 New. Used to wrap database presentations of artifacts into artifacts.
3930
3931 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
3932 New. Implements a ArtifactDatabase backed by Backend.
3933
3934 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
3935 Removed empty last line.
3936
3937 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java:
3938 Wired together Backend, ArtifactDatabaseImpl and FactoryBootstrap.
3939
3940 2009-09-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3941
3942 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
3943 Typo in XPath expression.
3944
3945 2009-09-06 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3946
3947 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java(setup):
3948 Added the setup() method to have symmetric counter part to endOfLife().
3949
3950 * artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java(timeToLiveUntouched):
3951 Added this method to let the factory decide how long an artifact should live in ms.
3952 This is not a part of the Artifact itself because this is only evaluated once when
3953 the artifact is created.
3954
3955 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifact.java:
3956 New. Simple base class implementation of the Artifact interface.
3957
3958 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactFactory.java:
3959 New. Simple base class implementation of the ArtifactFactory interface. When setup()
3960 on instances of this class is called, it pull ttl, name, description and
3961 the artifact class name from the node given. See artifactdb-example-conf.xml
3962 for examples.
3963
3964 * artifact-database/pom.xml: Cleaned up XML.
3965 Introduced dependency to apache commons dbcp, used for pooling of the
3966 database connections to artifact db.
3967 Added parameters for the exec:exec goal to make the project
3968 startable without building packages.
3969
3970 * artifact-database/doc/schema.sql: Removed AUTO_INCREMENT from primary key
3971 to avoid compatibility issues with other non-H2 databases (PostgreSQL, Oracle, ...)
3972 which have no or limited support for generated keys in the JDBC driver. Now
3973 using an explicit sequence. TTL ist now big int to bring the resolution to ms.
3974
3975 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java:
3976 Refactored a bit to make the XPath access function usable on arbitrary XML
3977 documents and parts of.
3978
3979 * artifact-database/src/main/java/de/intevation/artifactdatabase/DBConnection.java:
3980 New. Exposes DataSource from a apache dbcp connection pool configured by the
3981 global configuration file. See artifactdb-example-conf.xml for examples.
3982 TODO: Write some documentation about this.
3983
3984 * artifact-database/doc/artifactdb-example-conf.xml: Adjusted to be a more realistic
3985 example config file. Added references to DefaultArtifact/DefaultArtifactFactory and
3986 demonstrate how to configure the connection pool.
3987
3988 * TODO: Add remark to document the connection file.
3989
3990 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
3991 Do not crash when config does not contain any factories.
3992
3993 2009-09-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
3994
3995 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java (getNodeXPath):
3996 New method to get a single node from configuration.
3997
3998 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java (endOfLife):
3999 New method called when artifact is going to be removed from artifact data base.
4000
4001 2009-09-04 Tim Englich <tim.englich@intevation.de>
4002
4003 * src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java (loa,
4004 * src/main/java/de/intevation/artifacts/ArtifactFactory.java (setup):
4005 New Parameter for Setop to put the ArtifactFactoryNode into the setup routine.
4006
4007 2009-09-04 Tim Englich <tim.englich@intevation.de>
4008
4009 * pom.xml: Edited
4010 Buildplugins for Maven-Compiler and Maven-Eclipse Plugin integrated.
4011
4012 2009-09-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
4013
4014 * artifact-database/doc/artifactdb-example-conf.xml: Example for artifact db
4015 configuration.
4016
4017 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContextFactory.java:
4018 New. Default implementation of ArtifactContextFactory. Creates a DefaultArtifactContext.
4019
4020 * artifact-database/src/main/java/de/intevation/artifactdatabase/DefaultArtifactContext.java:
4021 New. Default implementation of ArtifactContext.
4022
4023 * artifact-database/src/main/java/de/intevation/artifactdatabase/FactoryBootstrap.java:
4024 New. Class to bootstrap the context and the artifact factories.
4025
4026 * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java: Bootstrap
4027 factories.
4028
4029 * artifact-database/src/main/java/de/intevation/artifactdatabase/Config.java: New.
4030 Loads configuration as XML from a file. The file is specified by the system
4031 property "artifact.database.config" and defaults to "artifactdb-conf.xml".
4032 The configuration can be searched via XPath.
4033
4034 * artifact-database/pom.xml: Made de.intevation.artifactdatabase.App the main
4035 class for start up.
4036
4037 * TODO: Added remark to add logging to artifact database.
4038
4039 2009-09-04 Sascha L. Teichmann <sascha.teichmann@intevation.de>
4040
4041 * artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java:
4042 New. Factory for a global context in the artifact data base. Useful to
4043 create shared ressources for artifacts like caches et al.
4044
4045 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java,
4046 artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java,
4047 artifacts/src/main/java/de/intevation/artifacts/ArtifactContextFactory.java,
4048 artifacts/src/main/java/de/intevation/artifacts/Artifact.java: Uses the
4049 global context more consistent.
4050
4051 * artifact-database/doc/schema.sql: Using BINARY instead of BLOB to
4052 avoid external files for each artifact blob. See H2 documentation
4053 for details.
4054
4055 2009-09-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
4056
4057 * artifact-database/doc/schema.sql: Schema to store artifacts
4058 in H2 databases.
4059
4060 * artifact-database/pom.xml: Added dependencies to H2 and
4061 restlet.
4062
4063 * pom.xml: Added repository to fetch restlet.
4064
4065 * README: Describe how to create a H2 database to store artifacts.
4066 TODO: Make it more general because description assumes usage of
4067 a unixoid system.
4068
4069 2009-09-03 Sascha L. Teichmann <sascha.teichmann@intevation.de>
4070
4071 * artifact-database/**: created new sub project for the artefact
4072 database server.
4073
4074 * pom.xml: Registered new sub project and made artifacts a
4075 sub project, too.
4076
4077 * artifacts/pom.xml: Adjusted to make a artifacts a sub project.
4078
4079 2009-09-02 Sascha L. Teichmann <sascha.teichmann@intevation.de>
4080
4081 * artifacts/src/main/java/de/intevation/artifacts/Artifact.java:
4082 Interface of the central component of the system.
4083
4084 * artifacts/src/main/java/de/intevation/artifacts/ArtifactDatabase.java:
4085 Central place to store artifacts in.
4086
4087 * artifacts/src/main/java/de/intevation/artifacts/ArtifactFactory.java:
4088 Factory to build artifacts. Works together with ArtifactDatabase.
4089
4090 * artifacts/pom.xml: Simple maven file to compile the project.
4091
4092 2009-09-01 Sascha L. Teichmann <sascha.teichmann@intevation.de>
4093
4094 * README, Changelog, Changes, NEWS, TODO: New. Initial setup

http://dive4elements.wald.intevation.org