aboutsummaryrefslogtreecommitdiffstats
path: root/netx/net/sourceforge/jnlp/LaunchException.java
diff options
context:
space:
mode:
authorOmair Majid <[email protected]>2012-03-14 11:27:16 -0400
committerOmair Majid <[email protected]>2012-03-14 11:27:16 -0400
commitbf89d620ace4a20270fee72285f9c4c9bfa6b345 (patch)
treebbeda7a0916ce754b66afaf0e98f1c2032722540 /netx/net/sourceforge/jnlp/LaunchException.java
parent19038d58d1ee7981937a8de2014b9178d272e5cd (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.java76
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);
- }
- }
-
}