summaryrefslogtreecommitdiff
path: root/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java
diff options
context:
space:
mode:
authortkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7>2013-04-10 18:54:34 +0000
committertkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7>2013-04-10 18:54:34 +0000
commit6d3b9d99b0e708d2516caf0f098c58c8a9585114 (patch)
treef27b4c144e19021b04b68a04b01abd92aefbee76 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/ErrorState.java
parent7b9387fd576cea39d5a430312536d3723fdfeeed (diff)
downloadmocca-6d3b9d99b0e708d2516caf0f098c58c8a9585114.tar.gz
mocca-6d3b9d99b0e708d2516caf0f098c58c8a9585114.tar.bz2
mocca-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.java29
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)