From 7bb4a282de9ebe26aa09b22df746e78b3171c47c Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 19:22:59 +0000 Subject: Guard against empty error messages git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@290 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../asit/pdfover/gui/composites/ConfigurationComposite.java | 8 +++++--- .../asit/pdfover/gui/exceptions/InvalidNumberException.java | 12 +++++++++--- .../pdfover/gui/workflow/ConfigurationContainerImpl.java | 9 +++++++-- .../asit/pdfover/gui/workflow/states/PositioningState.java | 5 ++++- 4 files changed, 25 insertions(+), 9 deletions(-) (limited to 'pdf-over-gui/src/main/java/at') diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java index 6e1ae0e0..f9ff5b7f 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/ConfigurationComposite.java @@ -382,7 +382,10 @@ public class ConfigurationComposite extends StateComposite { } while (redo); } catch (Exception e) { log.error("Settings validation failed!", e); //$NON-NLS-1$ - ErrorDialog dialog = new ErrorDialog(getShell(), e.getMessage(), + String message = e.getMessage(); + if (message == null) + message = Messages.getString("error.Unexpected"); //$NON-NLS-1$ + ErrorDialog dialog = new ErrorDialog(getShell(), message, BUTTONS.OK); dialog.open(); return false; @@ -435,8 +438,7 @@ public class ConfigurationComposite extends StateComposite { status = true; } catch (IOException e) { log.error("Failed to save configuration to file!", e); //$NON-NLS-1$ - ErrorDialog dialog = new ErrorDialog( - getShell(), + ErrorDialog dialog = new ErrorDialog(getShell(), Messages.getString("error.FailedToSaveSettings"), BUTTONS.RETRY_CANCEL); //$NON-NLS-1$ redo = (dialog.open() == SWT.RETRY); diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/exceptions/InvalidNumberException.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/exceptions/InvalidNumberException.java index c373a423..63b7f034 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/exceptions/InvalidNumberException.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/exceptions/InvalidNumberException.java @@ -27,10 +27,16 @@ public class InvalidNumberException extends PDFOverGUIException { private static final long serialVersionUID = -4201886410518715443L; /** - * + * Empty constructor */ public InvalidNumberException() { - } - + + /** + * Constructor with a message parameter + * @param msg Error message + */ + public InvalidNumberException(String msg) { + super(msg); + } } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigurationContainerImpl.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigurationContainerImpl.java index 1e8db610..8f1b1f9b 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigurationContainerImpl.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/ConfigurationContainerImpl.java @@ -29,6 +29,7 @@ import org.slf4j.LoggerFactory; import at.asit.pdfover.gui.exceptions.InvalidEmblemFile; import at.asit.pdfover.gui.exceptions.InvalidNumberException; import at.asit.pdfover.gui.exceptions.InvalidPortException; +import at.asit.pdfover.gui.utils.Messages; import at.asit.pdfover.gui.workflow.states.mobilebku.ATrustHelper; import at.asit.pdfover.signator.BKUs; @@ -153,8 +154,12 @@ public class ConfigurationContainerImpl implements ConfigurationContainer { if(number == null || number.trim().equals("")) { //$NON-NLS-1$ this.mobileNumber = null; return; - } - this.mobileNumber = ATrustHelper.normalizeMobileNumber(number); + } + try { + this.mobileNumber = ATrustHelper.normalizeMobileNumber(number); + } catch (InvalidNumberException e) { + throw new InvalidNumberException(Messages.getString("error.InvalidPhoneNumber")); //$NON-NLS-1$ + } } diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java index 6c3265bc..93ccddce 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java @@ -100,9 +100,12 @@ public class PositioningState extends State { // FIXME this.positionComposite = null; log.error("Failed to display PDF document", e); //$NON-NLS-1$ + String message = e.getLocalizedMessage(); + if (message == null) + message = Messages.getString("error.IOError"); //$NON-NLS-1$ ErrorDialog dialog = new ErrorDialog( this.stateMachine.getGUIProvider().getMainShell(), - e.getLocalizedMessage(), BUTTONS.RETRY_CANCEL); + message, BUTTONS.RETRY_CANCEL); if(dialog.open() == SWT.RETRY) { this.stateMachine.update(); } else { -- cgit v1.2.3