From 23ae1caefcf0cc99c2b90327afaff6376ecc552a Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 18:53:41 +0000 Subject: PDF-AS signature working with local BKU git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@26 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../pdfover/gui/workflow/states/OutputState.java | 40 ++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java index 7c16d559..50aee387 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/OutputState.java @@ -16,12 +16,15 @@ package at.asit.pdfover.gui.workflow.states; //Imports +import org.eclipse.swt.SWT; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.MainWindow.Buttons; import at.asit.pdfover.gui.MainWindowBehavior; +import at.asit.pdfover.gui.composites.OutputComposite; import at.asit.pdfover.gui.workflow.StateMachine; +import at.asit.pdfover.gui.workflow.Status; /** * Procduces the output of the signature process. (save file, open file) @@ -41,11 +44,43 @@ public class OutputState extends State { @SuppressWarnings("unused") private static final Logger log = LoggerFactory.getLogger(OutputState.class); + private OutputComposite outputComposite = null; + + private OutputComposite getSelectionComposite() { + if (this.outputComposite == null) { + this.outputComposite = + this.stateMachine.getGUIProvider().createComposite(OutputComposite.class, SWT.RESIZE, this); + } + + return this.outputComposite; + } + @Override public void run() { // TODO Preform output operations ... end workflow - this.stateMachine.exit(); + Status status = this.stateMachine.getStatus(); + + if(status.getSignResult() != null) + { + OutputComposite outputComposite = this.getSelectionComposite(); + outputComposite.setSignedDocument(status.getSignResult().getSignedDocument()); + this.stateMachine.getGUIProvider().display(outputComposite); + + /*DocumentSource signedDocument = status.getSignResult().getSignedDocument(); + + FileOutputStream output; + try { + output = new FileOutputStream(new File("/tmp/test.pdf")); + output.write(signedDocument.getByteArray(), 0, signedDocument.getByteArray().length); + output.close(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + }*/ + } + + //this.stateMachine.exit(); } /* (non-Javadoc) @@ -53,7 +88,8 @@ public class OutputState extends State { */ @Override public void cleanUp() { - // TODO + if (this.outputComposite != null) + this.outputComposite.dispose(); } /* (non-Javadoc) -- cgit v1.2.3