From 74f59c215a47adb8c357072c5c3b73689bcd7a15 Mon Sep 17 00:00:00 2001 From: Claudio Indellicati Date: Thu, 21 Aug 2014 20:23:53 +0200 Subject: [PATCH] Changed UserNotifier from interface to abstract class. --- .../app/helpers/BasicUserNotifier.java | 17 ++++++++++++----- .../app/helpers/GUIUserNotifier.java | 18 +++++++++++++----- .../processing/app/helpers/UserNotifier.java | 16 ++++++++++++---- 3 files changed, 37 insertions(+), 14 deletions(-) diff --git a/app/src/processing/app/helpers/BasicUserNotifier.java b/app/src/processing/app/helpers/BasicUserNotifier.java index 2f344280d..f1e2b4d7b 100644 --- a/app/src/processing/app/helpers/BasicUserNotifier.java +++ b/app/src/processing/app/helpers/BasicUserNotifier.java @@ -2,11 +2,7 @@ package processing.app.helpers; import static processing.app.I18n._; -public class BasicUserNotifier implements UserNotifier { - - public void showError(String title, String message, Throwable e) { - showError(title, message, e, 1); - } +public class BasicUserNotifier extends UserNotifier { /** * Show an error message that's actually fatal to the program. @@ -28,4 +24,15 @@ public class BasicUserNotifier implements UserNotifier { System.out.println(title + ": " + message); } + /** + * Non-fatal error message with optional stack trace side dish. + */ + public void showWarning(String title, String message, Exception e) { + if (title == null) title = _("Warning"); + + System.out.println(title + ": " + message); + + if (e != null) e.printStackTrace(); + } + } diff --git a/app/src/processing/app/helpers/GUIUserNotifier.java b/app/src/processing/app/helpers/GUIUserNotifier.java index 144d095d0..de20b7e3f 100644 --- a/app/src/processing/app/helpers/GUIUserNotifier.java +++ b/app/src/processing/app/helpers/GUIUserNotifier.java @@ -6,11 +6,7 @@ import java.awt.Frame; import javax.swing.JOptionPane; -public class GUIUserNotifier implements UserNotifier { - - public void showError(String title, String message, Throwable e) { - showError(title, message, e, 1); - } +public class GUIUserNotifier extends UserNotifier { /** * Show an error message that's actually fatal to the program. @@ -38,4 +34,16 @@ public class GUIUserNotifier implements UserNotifier { JOptionPane.INFORMATION_MESSAGE); } + /** + * Non-fatal error message with optional stack trace side dish. + */ + public void showWarning(String title, String message, Exception e) { + if (title == null) title = _("Warning"); + + JOptionPane.showMessageDialog(new Frame(), message, title, + JOptionPane.WARNING_MESSAGE); + + if (e != null) e.printStackTrace(); + } + } diff --git a/app/src/processing/app/helpers/UserNotifier.java b/app/src/processing/app/helpers/UserNotifier.java index 082cae4e2..dc5bae14e 100644 --- a/app/src/processing/app/helpers/UserNotifier.java +++ b/app/src/processing/app/helpers/UserNotifier.java @@ -1,11 +1,19 @@ package processing.app.helpers; -public interface UserNotifier { +public abstract class UserNotifier { - public void showError(String title, String message, Throwable e); + public void showError(String title, String message, int exit_code) { + showError(title, message, null, exit_code); + } - public void showError(String title, String message, Throwable e, int exit_code); + public void showError(String title, String message, Throwable e) { + showError(title, message, e, 1); + } - public void showMessage(String title, String message); + public abstract void showError(String title, String message, Throwable e, int exit_code); + + public abstract void showMessage(String title, String message); + + public abstract void showWarning(String title, String message, Exception e); }