diff options
Diffstat (limited to 'pdf-over-gui/src/main/java')
3 files changed, 43 insertions, 18 deletions
| diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/MobileBKUState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/MobileBKUState.java index 98f6fe3f..e80d23a3 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/MobileBKUState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/MobileBKUState.java @@ -52,7 +52,7 @@ public class MobileBKUState extends State {  		switch(this.stateMachine.getConfigProvider().getMobileBKUType()) {  			case A_TRUST:  				this.status = new ATrustStatus(this.stateMachine.getConfigProvider()); -				this.handler = new ATrustHandler(this); +				this.handler = new ATrustHandler(this, this.stateMachine.getGUIProvider().getMainShell());  				break;  			case IAIK: @@ -204,6 +204,7 @@ public class MobileBKUState extends State {  					new PostSLRequestThread(this));  			postSLRequestThread.start();  			break; +  		case POST_NUMBER:  			// Check if number and password is set ...  			// if not show UI @@ -269,6 +270,7 @@ public class MobileBKUState extends State {  				}  			}  			break; +  		case POST_TAN:  			// Get TAN from UI @@ -303,11 +305,15 @@ public class MobileBKUState extends State {  				tan.enableButton();  				this.stateMachine.getGUIProvider().display(tan);  			} -  			break; +  		case FINAL:  			this.setNextState(new SigningState(this.stateMachine));  			break; + +		case CANCEL: +			this.setNextState(new BKUSelectionState(this.stateMachine)); +			break;  		}  	} diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/ATrustHandler.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/ATrustHandler.java index dcab0641..0ce95c4e 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/ATrustHandler.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/ATrustHandler.java @@ -21,9 +21,16 @@ import java.io.IOException;  import org.apache.commons.httpclient.HttpClient;  import org.apache.commons.httpclient.methods.PostMethod;  import org.apache.commons.httpclient.protocol.Protocol; +import org.eclipse.swt.SWT; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.Shell;  import org.slf4j.Logger;  import org.slf4j.LoggerFactory; +import at.asit.pdfover.gui.controls.Dialog; +import at.asit.pdfover.gui.controls.Dialog.BUTTONS; +import at.asit.pdfover.gui.controls.Dialog.ICON; +import at.asit.pdfover.gui.utils.Messages;  import at.asit.pdfover.gui.workflow.states.LocalBKUState;  import at.asit.pdfover.gui.workflow.states.MobileBKUState;  import at.asit.pdfover.signator.SLResponse; @@ -32,11 +39,15 @@ import at.asit.pdfover.signator.SLResponse;   * A-Trust mobile BKU handler   */  public class ATrustHandler extends MobileBKUHandler { +	Shell shell; +  	/**  	 * @param state +	 * @param shell  	 */ -	public ATrustHandler(MobileBKUState state) { +	public ATrustHandler(MobileBKUState state, Shell shell) {  		super(state); +		this.shell = shell;  	}  	/** @@ -196,8 +207,21 @@ public class ATrustHandler extends MobileBKUHandler {  			}  			if (getStatus().getTanTries() <= 0) { -				// move to POST_REQUEST -				getState().setCommunicationState(MobileBKUCommunicationState.POST_REQUEST); +				Display.getDefault().syncExec(new Runnable() { +					@Override +					public void run() { +						Dialog dialog = new Dialog(ATrustHandler.this.shell, Messages.getString("common.warning"), //$NON-NLS-1$ +								Messages.getString("mobileBKU.tan_tries_exceeded"), //$NON-NLS-1$ +								BUTTONS.OK_CANCEL, ICON.QUESTION); +						if (dialog.open() == SWT.CANCEL) { +							// Cancel +							getState().setCommunicationState(MobileBKUCommunicationState.CANCEL); +						} else { +							// move to POST_REQUEST again +							getState().setCommunicationState(MobileBKUCommunicationState.POST_REQUEST); +						} +					} +				});  			}  		}  	} diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/MobileBKUCommunicationState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/MobileBKUCommunicationState.java index 339f2db3..de6e777c 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/MobileBKUCommunicationState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/mobilebku/MobileBKUCommunicationState.java @@ -20,23 +20,18 @@ package at.asit.pdfover.gui.workflow.states.mobilebku;   */  public enum MobileBKUCommunicationState { -	/** -	 * POST SL Request to A-Trust BKU -	 */ +	/** POST SL Request to A-Trust BKU */  	POST_REQUEST, -	/** -	 * POST User informations (number, password) to A-Trust BKU -	 */ +	/** POST User informations (number, password) to A-Trust BKU */  	POST_NUMBER, -	/** -	 * POST tan to A-Trust BKU and retrieve SL Response -	 */ +	/** POST tan to A-Trust BKU and retrieve SL Response */  	POST_TAN, -	/** -	 * Final state -	 */ -	FINAL +	/** Final state */ +	FINAL, + +	/** Cancel state */ +	CANCEL  } | 
