diff options
author | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:54:34 +0000 |
---|---|---|
committer | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:54:34 +0000 |
commit | 6d3b9d99b0e708d2516caf0f098c58c8a9585114 (patch) | |
tree | f27b4c144e19021b04b68a04b01abd92aefbee76 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java | |
parent | 7b9387fd576cea39d5a430312536d3723fdfeeed (diff) | |
download | pdf-over-6d3b9d99b0e708d2516caf0f098c58c8a9585114.tar.gz pdf-over-6d3b9d99b0e708d2516caf0f098c58c8a9585114.tar.bz2 pdf-over-6d3b9d99b0e708d2516caf0f098c58c8a9585114.zip |
Mobile BKU first working (currently set to work with test mobile BKU from A-Trust
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@31 174cde9d-5d70-4d2a-aa98-46368bc2aaf7
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java index e444fbf9..47485a0c 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java +++ b/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) |