diff options
author | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-01-09 12:52:06 +0100 |
---|---|---|
committer | Andreas Fitzek <andreas.fitzek@iaik.tugraz.at> | 2014-01-09 12:52:06 +0100 |
commit | 11c4bfac46f66ab3ba24b6354a6a372da40c0b1f (patch) | |
tree | c1e8f6f9b11eb8d939fefb08ef35ece09eab51a5 /pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java | |
parent | cec0065b747d30c6a0a17d18f2c7c8962a9102ed (diff) | |
download | pdf-as-4-11c4bfac46f66ab3ba24b6354a6a372da40c0b1f.tar.gz pdf-as-4-11c4bfac46f66ab3ba24b6354a6a372da40c0b1f.tar.bz2 pdf-as-4-11c4bfac46f66ab3ba24b6354a6a372da40c0b1f.zip |
PDF-AS web Developments
Diffstat (limited to 'pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java')
-rw-r--r-- | pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java new file mode 100644 index 00000000..6ce0e1c9 --- /dev/null +++ b/pdf-as-web/src/main/java/at/gv/egiz/pdfas/web/servlets/PDFData.java @@ -0,0 +1,62 @@ +package at.gv.egiz.pdfas.web.servlets; + +import java.io.IOException; +import java.io.OutputStream; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import at.gv.egiz.pdfas.web.helper.PdfAsHelper; + +/** + * Servlet implementation class PDFData + */ +public class PDFData extends HttpServlet { + private static final long serialVersionUID = 1L; + + /** + * @see HttpServlet#HttpServlet() + */ + public PDFData() { + super(); + } + + /** + * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doGet(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + this.process(request, response); + } + + /** + * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse + * response) + */ + protected void doPost(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + this.process(request, response); + } + + protected void process(HttpServletRequest request, + HttpServletResponse response) throws ServletException, IOException { + byte[] signedData = PdfAsHelper.getSignedPdf(request, response); + + if (signedData != null) { + response.setContentType("application/pdf"); + OutputStream os = response.getOutputStream(); + os.write(signedData); + os.close(); + + // When data is collected destroy session! + request.getSession().invalidate(); + } else { + PdfAsHelper.setSessionException(request, response, + "No signed pdf document available.", null); + PdfAsHelper.gotoError(getServletContext(), request, response); + } + } +} |