From 85e574618b04a34d5e41444d17ce7e6d5a93cc5b Mon Sep 17 00:00:00 2001 From: netconomy Date: Thu, 6 Sep 2007 12:18:45 +0000 Subject: =?UTF-8?q?Streaming=20R=C3=BCckbau?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@210 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../egiz/pdfas/web/helper/SignServletHelper.java | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) (limited to 'src/main/java/at/gv/egiz/pdfas/web/helper/SignServletHelper.java') diff --git a/src/main/java/at/gv/egiz/pdfas/web/helper/SignServletHelper.java b/src/main/java/at/gv/egiz/pdfas/web/helper/SignServletHelper.java index af1d0ae..9826500 100644 --- a/src/main/java/at/gv/egiz/pdfas/web/helper/SignServletHelper.java +++ b/src/main/java/at/gv/egiz/pdfas/web/helper/SignServletHelper.java @@ -18,6 +18,8 @@ import org.apache.commons.logging.LogFactory; import at.gv.egiz.pdfas.framework.SignatorFactory; import at.gv.egiz.pdfas.framework.signator.Signator; +import at.gv.egiz.pdfas.impl.output.ByteArrayDataSink; +import at.gv.egiz.pdfas.impl.output.FileBasedDataSink; import at.gv.egiz.pdfas.web.SignSessionInformation; import at.knowcenter.wag.egov.egiz.PdfASID; import at.knowcenter.wag.egov.egiz.exceptions.PresentableException; @@ -185,10 +187,21 @@ public class SignServletHelper else { // TODO @tzefferer: what is this code? - byte[] signed_pdf = new byte [(int)si.output.getFile().length()]; - FileInputStream fis = new FileInputStream(si.output.getFile()); - fis.read(signed_pdf); - fis.close(); + byte [] signed_pdf = null; + if (si.output instanceof FileBasedDataSink) + { + FileBasedDataSink fbds = (FileBasedDataSink)si.output; + signed_pdf = new byte [(int)fbds.getFile().length()]; + FileInputStream fis = new FileInputStream(fbds.getFile()); + fis.read(signed_pdf); + fis.close(); + } + else + { + ByteArrayDataSink bads = (ByteArrayDataSink)si.output; + signed_pdf = bads.getByteArray(); + } + PDFContainer entry = new PDFContainer(signed_pdf, si.exappinf.pdf_id); ProvidePDFServlet.signedDocuments.add(entry); @@ -205,7 +218,6 @@ public class SignServletHelper + "=" + pdf_id + "&" + FormFields.FIELD_FILE_LENGTH + "=" + signed_pdf.length; response.sendRedirect(query); - } } -- cgit v1.2.3