Mercurial > dive4elements > framework
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 |