comparison ChangeLog @ 58:39fec7d714dc

Added a real artifact proxy class to be more flexible with artifact replacements in artifact databases. artifacts/trunk@359 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Mon, 23 Nov 2009 11:15:44 +0000
parents cf9848c85755
children 8cd770330f1b
comparison
equal deleted inserted replaced
57:cf9848c85755 58:39fec7d714dc
1 2009-11-23 Sascha L. Teichmann <sascha.teichmann@intevation.de>
2
3 * artifacts/src/main/java/de/intevation/artifacts/CallContext.java:
4 Added a context dictionary accessible through putContextValue(key, value)
5 and getContextValue(key). Purpose is make artifact calls stackable and
6 transfer information through the call level transparently.
7
8 * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java:
9 Adjusted default implementation of CallContext.
10
11 * artifact-database/src/main/java/de/intevation/artifactdatabase/ProxyArtifact.java:
12 New. A general proxy class for artifacts in artifact databases. This class uses
13 the extended call context semantics.
14
15 The artifact calls (feed, describe, out, ...) are passed to a proxied artifact.
16 If the proxied artifact decides to be replaced by some other artifact it has to
17 to store a reference to the replacement artifact in the call context with
18 putContextValue(ProxyArtifact.REPLACE_PROXY, my_new_artifact). After the call
19 is finished the proxied object will change. This indirect callback mechanism is
20 used to minimize side effects.
21
22 The identifier() call is not forwarded to the proxied artifact to have a stable id.
23
24 Limitations: This mechanism does not let you build real matroska (multi level)
25 like artifact structures. This would only be possible if a kind of call context
26 stack is introduced.
27
1 2009-11-13 Hans Plum <hans@intevation.de> 28 2009-11-13 Hans Plum <hans@intevation.de>
2 29
3 RELEASE 0.2 30 RELEASE 0.2
4 31
5 * Changes, NEWS summarized 32 * Changes, NEWS summarized

http://dive4elements.wald.intevation.org