diff options
author | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:52:37 +0000 |
---|---|---|
committer | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:52:37 +0000 |
commit | e710a326314184f31cd50d4637959f44232a74ee (patch) | |
tree | 59ac4f739626271327af3cf6ff7ec5af1cd29983 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java | |
parent | a21a8667956535db3fa97cdead0f10e7da7b178e (diff) | |
download | pdf-over-e710a326314184f31cd50d4637959f44232a74ee.tar.gz pdf-over-e710a326314184f31cd50d4637959f44232a74ee.tar.bz2 pdf-over-e710a326314184f31cd50d4637959f44232a74ee.zip |
State Machine stuff
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@20 174cde9d-5d70-4d2a-aa98-46368bc2aaf7
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java | 80 |
1 files changed, 70 insertions, 10 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java index a18dc389..f1c291f8 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java @@ -16,10 +16,14 @@ 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.components.WaitingComposite; import at.asit.pdfover.gui.workflow.Workflow; import at.asit.pdfover.gui.workflow.WorkflowState; +import at.asit.pdfover.gui.workflow.states.BKUSelectionState.BKUS; /** * User waiting state, wait for PDF Signator library to prepare document for signing. @@ -27,24 +31,80 @@ import at.asit.pdfover.gui.workflow.WorkflowState; public class PrepareSigningState extends WorkflowState { /** + * Debug background thread + */ + private final class DebugSleeperThread implements Runnable { + + private Workflow workflow; + + /** + * Default constructor + * @param work + */ + public DebugSleeperThread(Workflow work) { + this.workflow = work; + } + + @Override + public void run() { + try { + Thread.sleep(5000); + } catch (InterruptedException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + this.workflow.InvokeUpdate(); + } + } + + /** * SFL4J Logger instance **/ - @SuppressWarnings("unused") private static final Logger log = LoggerFactory.getLogger(PrepareSigningState.class); + private WaitingComposite selectionComposite = null; + + private WaitingComposite getSelectionComposite(Workflow workflow) { + if (this.selectionComposite == null) { + this.selectionComposite = new WaitingComposite( + workflow.getComposite(), SWT.RESIZE, workflow); + } + + return this.selectionComposite; + } + + private boolean run = false; + @Override public void update(Workflow workflow) { - // TODO Auto-generated method stub + // TODO SHOW BACKGROUND ACTIVITY .... + WaitingComposite waiting = this.getSelectionComposite(workflow); + + workflow.setTopControl(waiting); + + if(!this.run) { + Thread t = new Thread(new DebugSleeperThread(workflow)); + this.run = true; + t.start(); + return; + } + // WAIT FOR SLREQUEST and dispatch according to BKU selection + + if(workflow.getSelectedBKU() == BKUS.LOCAL) { + this.setNextState(new LocalBKUState()); + } else if(workflow.getSelectedBKU() == BKUS.MOBILE) { + this.setNextState(new MobileBKUState()); + } else { + log.error("Invalid selected BKU Value \"NONE\" in PrepareSigningState!"); + this.setNextState(new BKUSelectionState()); + } } - - /* (non-Javadoc) - * @see at.asit.pdfover.gui.workflow.WorkflowState#hideGUI() - */ + @Override - public void hideGUI() { - // TODO Auto-generated method stub - + public String toString() { + return "PrepareSigningState"; } - + + } |