From 69f82291cd349961cca5d8a65b7f3f2f724ed74f Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 18:53:20 +0000 Subject: StateMachine cleanup JumpToState stuff git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@24 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../gui/workflow/states/BKUSelectionState.java | 27 ++++++++++++++++++---- 1 file changed, 22 insertions(+), 5 deletions(-) (limited to 'pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/BKUSelectionState.java') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/BKUSelectionState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/BKUSelectionState.java index 86bd50c9..fe79c460 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/BKUSelectionState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/BKUSelectionState.java @@ -23,7 +23,9 @@ import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.MainWindowBehavior; import at.asit.pdfover.gui.MainWindow.Buttons; import at.asit.pdfover.gui.composites.BKUSelectionComposite; +import at.asit.pdfover.gui.workflow.ConfigProvider; import at.asit.pdfover.gui.workflow.StateMachine; +import at.asit.pdfover.gui.workflow.Status; /** * Decides which BKU to use (preconfigured or let user choose) @@ -76,23 +78,38 @@ public class BKUSelectionState extends State { @Override public void run() { - - if(this.stateMachine.getStatus().getBKU() == BKUs.NONE) { + Status status = this.stateMachine.getStatus(); + if (!(status.getPreviousState() instanceof BKUSelectionState)) + { + ConfigProvider config = this.stateMachine.getConfigProvider(); + status.setBKU(config.getDefaultBKU()); + } + + if(status.getBKU() == BKUs.NONE) { BKUSelectionComposite selection = this .getSelectionComposite(); this.stateMachine.getGUIProvider().display(selection); selection.layout(); - this.stateMachine.getStatus().setBKU(selection.getSelected()); + status.setBKU(selection.getSelected()); - if(this.stateMachine.getStatus().getBKU() == BKUs.NONE) { + if(status.getBKU() == BKUs.NONE) { return; } } this.setNextState(new PrepareSigningState(this.stateMachine)); } - + + /* (non-Javadoc) + * @see at.asit.pdfover.gui.workflow.states.State#cleanUp() + */ + @Override + public void cleanUp() { + if (this.selectionComposite != null) + this.selectionComposite.dispose(); + } + /* (non-Javadoc) * @see at.asit.pdfover.gui.workflow.states.State#setMainWindowBehavior() */ -- cgit v1.2.3