diff options
author | Omair Majid <[email protected]> | 2012-03-14 11:27:16 -0400 |
---|---|---|
committer | Omair Majid <[email protected]> | 2012-03-14 11:27:16 -0400 |
commit | bf89d620ace4a20270fee72285f9c4c9bfa6b345 (patch) | |
tree | bbeda7a0916ce754b66afaf0e98f1c2032722540 /netx/net/sourceforge/jnlp/LaunchException.java | |
parent | 19038d58d1ee7981937a8de2014b9178d272e5cd (diff) |
Launch errors are not being printed to terminal
2012-03-14 Omair Majid <[email protected]>
Print exceptions to terminal when running in gui mode too.
* netx/net/sourceforge/jnlp/AbstractLaunchHandler.java: New file.
* netx/net/sourceforge/jnlp/DefaultLaunchHandler.java: Extend
AbstractLaunchHandler.
(DefaultLaunchHandler): New method.
(printMessage): Moved to parent class.
* netx/net/sourceforge/jnlp/GuiLaunchHandler.java: Extend
AbstractLaunchHandler.
(GuiLauchHandler): New method.
(launchError): Print the error too.
(launchWarning,validationError): Call parent's printMessage.
* netx/net/sourceforge/jnlp/LaunchException.java: Use standard java
exception chaining. This removes compatibility with pre-java 1.3 class
libraries.
(LaunchException(JNLPFile,Exception,String,String,String,String)): Pass
cause to parent so exceptions are chanined properly.
(LaunchException(String,Throwable),LaunchException(Throwable)): Call
parent's constructor.
(printStackTrace(PrintStream),printStackTrace(PrintWriter),getCause):
Removed. Use parent's implementation instead.
(getCauses): Removed.
* netx/net/sourceforge/jnlp/LaunchHandler.java
(validationError): Rename argument to clarify meaing.
* netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java
(initialize): Redirect output of all handlers to System.err.
* plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java
(PluginAppletSecurityContext): Likewise.
* tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java,
* tests/netx/unit/net/sourceforge/jnlp/LaunchExceptionTest.java: New
file. Contains tests.
Diffstat (limited to 'netx/net/sourceforge/jnlp/LaunchException.java')
-rw-r--r-- | netx/net/sourceforge/jnlp/LaunchException.java | 76 |
1 files changed, 4 insertions, 72 deletions
diff --git a/netx/net/sourceforge/jnlp/LaunchException.java b/netx/net/sourceforge/jnlp/LaunchException.java index 5257607..6c194ed 100644 --- a/netx/net/sourceforge/jnlp/LaunchException.java +++ b/netx/net/sourceforge/jnlp/LaunchException.java @@ -16,11 +16,6 @@ package net.sourceforge.jnlp; -import java.io.*; -import java.util.*; - -import net.sourceforge.jnlp.util.*; - /** * Thrown when a JNLP application, applet, or installer could not * be created. @@ -30,8 +25,7 @@ import net.sourceforge.jnlp.util.*; */ public class LaunchException extends Exception { - /** the original exception */ - private Throwable cause = null; + private static final long serialVersionUID = 7283827853612357423L; /** the file being launched */ private JNLPFile file; @@ -53,36 +47,27 @@ public class LaunchException extends Exception { */ public LaunchException(JNLPFile file, Exception cause, String severity, String category, String summary, String description) { super(severity + ": " + category + ": " + summary + " " - + (description == null ? "" : description)); + + (description == null ? "" : description), cause); this.file = file; this.category = category; this.summary = summary; this.description = description; this.severity = severity; - - // replace with setCause when no longer 1.3 compatible - this.cause = cause; } /** * Creates a LaunchException with a cause. */ public LaunchException(Throwable cause) { - this(cause.getMessage()); - - // replace with setCause when no longer 1.3 compatible - this.cause = cause; + super(cause); } /** * Creates a LaunchException with a cause and detail message */ public LaunchException(String message, Throwable cause) { - this(message + ": " + cause.getMessage()); - - // replace with setCause when no longer 1.3 compatible - this.cause = cause; + super(message, cause); } /** @@ -132,57 +117,4 @@ public class LaunchException extends Exception { return severity; } - /** - * Return the cause of the launch exception or null if there - * is no cause exception. - */ - public Throwable getCause() { - return cause; - } - - /** - * Returns the causes for this exception. This method is - * useful on JRE 1.3 since getCause is not a standard method, - * and will be removed once netx no longer supports 1.3. - */ - public Throwable[] getCauses() { - ArrayList<Throwable> result = new ArrayList<Throwable>(); - - Reflect r = new Reflect(); - Throwable cause = this.cause; - - while (cause != null) { - result.add(cause); - cause = (Throwable) r.invoke(cause, "getCause"); - } - - return result.toArray(new Throwable[0]); - } - - /** - * Print the stack trace and the cause exception (1.3 - * compatible) - */ - public void printStackTrace(PrintStream stream) { - super.printStackTrace(stream); - - if (cause != null) { - stream.println("Caused by: "); - cause.printStackTrace(stream); - } - } - - /** - * Print the stack trace and the cause exception (1.3 - * compatible) - */ - public void printStackTrace(PrintWriter stream) { - super.printStackTrace(stream); - - if (cause != null) { - stream.println("Caused by: "); - cause.printStackTrace(stream); - } - } - } |