From 1b09c4d0c6a76bd0f67b0bf4e9c5c6b87f078dc9 Mon Sep 17 00:00:00 2001
From: Thorsten Vitt <thorsten.vitt@uni-wuerzburg.de>
Date: Tue, 11 Sep 2012 14:02:01 +0000
Subject: [PATCH] Switched EPUB generation to throw exceptions (that can then
 be handled by the GenericExceptionMapper)

git-svn-id: https://develop.sub.uni-goettingen.de/repos/textgrid/trunk/services/aggregator@13531 7c539038-3410-0410-b1ec-0f2a7bf1c452
---
 .../textgrid/services/aggregator/EPUB.java    | 23 ++-----------
 .../services/aggregator/EPUBSerializer.java   | 34 +++++++------------
 2 files changed, 16 insertions(+), 41 deletions(-)

diff --git a/src/main/java/info/textgrid/services/aggregator/EPUB.java b/src/main/java/info/textgrid/services/aggregator/EPUB.java
index f2290f7..095319b 100644
--- a/src/main/java/info/textgrid/services/aggregator/EPUB.java
+++ b/src/main/java/info/textgrid/services/aggregator/EPUB.java
@@ -23,7 +23,6 @@
 import javax.ws.rs.PathParam;
 import javax.ws.rs.Produces;
 import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
 import javax.ws.rs.core.Response;
 import javax.ws.rs.core.Response.Status;
 import javax.xml.transform.stream.StreamSource;
@@ -64,7 +63,9 @@ public EPUB(final ITextGridRep repository) {
 	@Path(value = "/{object}")
 	@Produces(value = "application/epub+zip")
 	public Response get(@PathParam("object") final URI uri,
-			@QueryParam("stylesheet") final URI xsluri) {
+			@QueryParam("stylesheet") final URI xsluri)
+			throws ObjectNotFoundFault, MetadataParseFault, IoFault, AuthFault,
+			ProtocolNotImplementedFault {
 		logger.fine("EPUB called for root object: " + uri);
 		final TGCrudService crud = repository.getCRUDService();
 		try {
@@ -129,33 +130,15 @@ public InputStream getInput() throws IOException {
 
 			// return Response.ok().type("text/plain").entity("Done, see " +
 			// workingDir).build();
-		} catch (final ObjectNotFoundFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final MetadataParseFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final IoFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final AuthFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
 		} catch (final FileNotFoundException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
-		} catch (final WebApplicationException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
 		} catch (final IOException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		} catch (final SaxonApiException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
-		} catch (final ProtocolNotImplementedFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
 		}
 		return Response.noContent().build();
 
diff --git a/src/main/java/info/textgrid/services/aggregator/EPUBSerializer.java b/src/main/java/info/textgrid/services/aggregator/EPUBSerializer.java
index c4f749b..bad5180 100644
--- a/src/main/java/info/textgrid/services/aggregator/EPUBSerializer.java
+++ b/src/main/java/info/textgrid/services/aggregator/EPUBSerializer.java
@@ -111,29 +111,21 @@ else if (Files.getFileExtension(name).equals("opf"))
 				zip.closeEntry();
 			}
 		} catch (final SAXException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			throw new WebApplicationException(e);
 		} catch (final URISyntaxException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			throw new WebApplicationException(e);
 		} catch (final XMLStreamException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final ProtocolNotImplementedFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final ObjectNotFoundFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final MetadataParseFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final IoFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
-		} catch (final AuthFault e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			throw new WebApplicationException(e);
+		} catch (ObjectNotFoundFault e) {
+			throw new WebApplicationException(e);
+		} catch (MetadataParseFault e) {
+			throw new WebApplicationException(e);
+		} catch (IoFault e) {
+			throw new WebApplicationException(e);
+		} catch (ProtocolNotImplementedFault e) {
+			throw new WebApplicationException(e);
+		} catch (AuthFault e) {
+			throw new WebApplicationException(e);
 		} finally {
 			zip.close();
 			FileUtils.removeDir(workingDir);
-- 
GitLab