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 :

http://dive4elements.wald.intevation.org