diff options
author | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:53:20 +0000 |
---|---|---|
committer | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 18:53:20 +0000 |
commit | 69f82291cd349961cca5d8a65b7f3f2f724ed74f (patch) | |
tree | 6cfc2d6ff7defe17a42e51d33f5288234728f485 /pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StatusImpl.java | |
parent | b2968bef5d56723826cfe38f1fe5ab1d60aa79f3 (diff) | |
download | pdf-over-69f82291cd349961cca5d8a65b7f3f2f724ed74f.tar.gz pdf-over-69f82291cd349961cca5d8a65b7f3f2f724ed74f.tar.bz2 pdf-over-69f82291cd349961cca5d8a65b7f3f2f724ed74f.zip |
StateMachine cleanup
JumpToState stuff
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@24 174cde9d-5d70-4d2a-aa98-46368bc2aaf7
Diffstat (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StatusImpl.java')
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StatusImpl.java | 28 |
1 files changed, 25 insertions, 3 deletions
diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StatusImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StatusImpl.java index 9bc4bfec..c8d74161 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StatusImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/StatusImpl.java @@ -44,8 +44,11 @@ public class StatusImpl implements Status { private State currentState = null; + private State previousState = null; + private MainWindowBehavior behavior; + /** * Constructor */ @@ -59,14 +62,33 @@ public class StatusImpl implements Status { } /** - * Sets the current state - * @param currentState + * Changes the current state + * @param currentState the current State */ public void setCurrentState(State currentState) { + if (this.previousState == this.currentState) + log.error("Changing to same state? " + this.currentState); + + if (this.previousState != null && this.previousState != currentState) + { + //Reference to previous state will be lost - perform cleanup + log.debug("Cleaning up " + this.previousState); + this.previousState.cleanUp(); + } + + this.previousState = this.currentState; this.currentState = currentState; } /* (non-Javadoc) + * @see at.asit.pdfover.gui.workflow.Status#getPreviousState() + */ + @Override + public State getPreviousState() { + return this.previousState; + } + + /* (non-Javadoc) * @see at.asit.pdfover.gui.workflow.Status#setDocument(java.io.File) */ @Override @@ -119,6 +141,6 @@ public class StatusImpl implements Status { */ @Override public MainWindowBehavior getBehavior() { - return behavior; + return this.behavior; } } |