summaryrefslogtreecommitdiff
path: root/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java
diff options
context:
space:
mode:
authortkellner <tkellner@3a0b52a2-8410-0410-bc02-ff6273a87459>2012-08-24 17:04:45 +0000
committertkellner <tkellner@3a0b52a2-8410-0410-bc02-ff6273a87459>2012-08-24 17:04:45 +0000
commitef21d65f36f2c756df95aa4857c22a26be60d4f2 (patch)
tree0ebee780ae910aecc46b0b0f054e25c4a65e14be /trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java
parentb9f327674796469e985d159e45d56ce6b8fadc9e (diff)
downloadpdf-over-ef21d65f36f2c756df95aa4857c22a26be60d4f2.tar.gz
pdf-over-ef21d65f36f2c756df95aa4857c22a26be60d4f2.tar.bz2
pdf-over-ef21d65f36f2c756df95aa4857c22a26be60d4f2.zip
State Machine stuff
git-svn-id: https://svn.iaik.tugraz.at/svn/egiz/prj/current/12PDF-OVER-4.0@12385 3a0b52a2-8410-0410-bc02-ff6273a87459
Diffstat (limited to 'trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java')
-rw-r--r--trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java80
1 files changed, 70 insertions, 10 deletions
diff --git a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java
index a18dc389..f1c291f8 100644
--- a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PrepareSigningState.java
+++ b/trunk/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";
}
-
+
+
}