diff artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java @ 32:c2d53bd30ab8

Re-factored artifact API for better integration of background processing. artifacts/trunk@78 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Sun, 13 Sep 2009 14:50:53 +0000
parents 22b03d5c84c5
children 3f03aee55c2f
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java	Sat Sep 12 10:45:28 2009 +0000
+++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/rest/ArtifactOutResource.java	Sun Sep 13 14:50:53 2009 +0000
@@ -18,8 +18,8 @@
 import de.intevation.artifactdatabase.XMLUtils;
 
 import de.intevation.artifacts.ArtifactNamespaceContext;
+import de.intevation.artifacts.ArtifactDatabaseException;
 import de.intevation.artifacts.ArtifactDatabase;
-import de.intevation.artifacts.Artifact;
 
 import org.w3c.dom.Document;
 
@@ -68,15 +68,6 @@
             logger.debug("looking for artifact id '" + identifier + "'");
         }
 
-        Artifact artifact = db.getArtifact(identifier);
-
-        if (artifact == null) {
-            Response response = getResponse();
-            response.setStatus(
-                Status.CLIENT_ERROR_NOT_FOUND, ArtifactResource.NO_ARTIFACT_FOUND);
-            return new EmptyRepresentation();
-        }
-
         String mimeTypeString = XMLUtils.xpathString(
             inputDocument,
             XPATH_MIME_TYPE,
@@ -93,8 +84,17 @@
             }
         }
 
-        return new OutRepresentation(
-            mimeType, artifact, inputDocument, db.getArtifactContext());
+        try {
+            return new OutRepresentation(
+                mimeType,
+                db.out(identifier, inputDocument));
+        }
+        catch (ArtifactDatabaseException adbe) {
+            Response response = getResponse();
+            response.setStatus(
+                Status.CLIENT_ERROR_NOT_FOUND, adbe.getMessage());
+            return new EmptyRepresentation();
+        }
     }
 }
 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

http://dive4elements.wald.intevation.org