Mercurial > dive4elements > framework
diff artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java @ 246:a8a06bbe306c
Added calls to call init/close for call contextes.
artifacts/trunk@1686 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 14 Apr 2011 11:18:10 +0000 |
parents | 16cd059945e5 |
children | 3a1209f214f5 |
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java Thu Apr 14 10:19:12 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java Thu Apr 14 11:18:10 2011 +0000 @@ -273,7 +273,6 @@ ArtifactDatabaseImpl.this, CallContext.TOUCH, callMeta, - context, artifact); try { @@ -336,7 +335,6 @@ ArtifactDatabaseImpl.this, CallContext.TOUCH, callMeta, - context, collection); try { @@ -638,7 +636,6 @@ ArtifactDatabaseImpl.this, CallContext.NOTHING, callMeta, - context, persistentArtifact); try { @@ -667,7 +664,6 @@ ArtifactDatabaseImpl.this, CallContext.TOUCH, callMeta, - context, artifact); try { @@ -696,7 +692,6 @@ ArtifactDatabaseImpl.this, CallContext.STORE, callMeta, - context, artifact); try { @@ -721,14 +716,15 @@ ArtifactDatabaseImpl.this, CallContext.STORE, callMeta, - context, artifact); + initCallContext(cc); try { return artifact.getArtifact().feed(data, cc); } finally { cc.postCall(); + closeCallContext(cc); } } @@ -926,7 +922,6 @@ ArtifactDatabaseImpl.this, CallContext.NOTHING, callMeta, - context, persistentArtifact); try { @@ -1239,14 +1234,19 @@ throw new ArtifactDatabaseException(NO_SUCH_COLLECTION); } - CallContext cc = new CollectionCallContext( + CollectionCallContext cc = new CollectionCallContext( ArtifactDatabaseImpl.this, CallContext.NOTHING, callMeta, - context, c); - return c.describe(cc); + try { + return c.describe(cc); + } + finally { + cc.postCall(); + } + } public Document getCollectionAttribute(String collectionId, String artifactId, @@ -1430,14 +1430,26 @@ throw new ArtifactDatabaseException(NO_SUCH_COLLECTION); } - CallContext cc = new CollectionCallContext( + CollectionCallContext cc = new CollectionCallContext( ArtifactDatabaseImpl.this, CallContext.NOTHING, callMeta, - context, c); - return new DeferredCollectionOutputImpl(c, format, callMeta); + try { + return new DeferredCollectionOutputImpl(c, format, callMeta); + } + finally { + cc.postCall(); + } + } + + protected void initCallContext(CallContext cc) { + logger.info("Implement me!"); + } + + protected void closeCallContext(CallContext cc) { + logger.info("Implement me!"); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :