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