summaryrefslogtreecommitdiff
path: root/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java
diff options
context:
space:
mode:
authortkellner <tkellner@3a0b52a2-8410-0410-bc02-ff6273a87459>2012-08-24 17:05:40 +0000
committertkellner <tkellner@3a0b52a2-8410-0410-bc02-ff6273a87459>2012-08-24 17:05:40 +0000
commit12d11aa8f47dbfc8403d5527fe821462523aa0ac (patch)
treedd7e760125687885584efb108689a8fa68495f58 /trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java
parentc8558e8d7d7bfe9ff7ce1ecfe0be4940ab06f81f (diff)
downloadpdf-over-12d11aa8f47dbfc8403d5527fe821462523aa0ac.tar.gz
pdf-over-12d11aa8f47dbfc8403d5527fe821462523aa0ac.tar.bz2
pdf-over-12d11aa8f47dbfc8403d5527fe821462523aa0ac.zip
Mobile BKU first working (currently set to work with test mobile BKU from A-Trust
git-svn-id: https://svn.iaik.tugraz.at/svn/egiz/prj/current/12PDF-OVER-4.0@12396 3a0b52a2-8410-0410-bc02-ff6273a87459
Diffstat (limited to 'trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java')
-rw-r--r--trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java29
1 files changed, 19 insertions, 10 deletions
diff --git a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java
index e444fbf9..47485a0c 100644
--- a/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java
+++ b/trunk/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java
@@ -37,9 +37,16 @@ public class ErrorState extends State {
private Exception exception;
- private boolean userInformed = false;
+ private State recoverState = null;
/**
+ * @param recoverState the recoverState to set
+ */
+ public void setRecoverState(State recoverState) {
+ this.recoverState = recoverState;
+ }
+
+ /**
* SLF4J Logger instance
**/
static final Logger log = LoggerFactory.getLogger(ErrorState.class);
@@ -62,22 +69,24 @@ public class ErrorState extends State {
public void run() {
Status status = this.stateMachine.getStatus();
- if(this.errorComposite != null) {
- this.userInformed = this.errorComposite.isUserOk();
- }
+ ErrorComposite errorComposite = this.getComposite();
- if(this.exception != null && !this.userInformed) {
+ if(this.exception != null && !errorComposite.isUserOk()) {
// Display Exception ....
- ErrorComposite errorComposite = this.getComposite();
this.errorComposite.setException(this.exception);
- this.userInformed = this.errorComposite.isUserOk();
-
this.stateMachine.getGUIProvider().display(errorComposite);
+ return;
}
- // TODO: Think should we do this? (possible infinity loop with exception ...)
- this.setNextState(status.getPreviousState());
+ // User was informed!
+ if(this.recoverState != null) {
+ // see if we can recover!
+ this.setNextState(this.recoverState);
+ } else {
+ // we cannot recover exit!
+ this.stateMachine.exit();
+ }
}
/* (non-Javadoc)