aboutsummaryrefslogtreecommitdiffstats
path: root/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java
diff options
context:
space:
mode:
Diffstat (limited to 'netx/net/sourceforge/jnlp/DefaultLaunchHandler.java')
-rw-r--r--netx/net/sourceforge/jnlp/DefaultLaunchHandler.java112
1 files changed, 112 insertions, 0 deletions
diff --git a/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java b/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java
new file mode 100644
index 0000000..357ad1a
--- /dev/null
+++ b/netx/net/sourceforge/jnlp/DefaultLaunchHandler.java
@@ -0,0 +1,112 @@
+// Copyright (C) 2001-2003 Jon A. Maxwell (JAM)
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+package net.sourceforge.jnlp;
+
+import net.sourceforge.jnlp.runtime.*;
+import net.sourceforge.jnlp.util.*;
+
+import java.awt.*;
+import java.util.*;
+import javax.swing.*;
+
+
+/**
+ * This default implementation shows prints the exception to
+ * stdout and if not in headless mode displays the exception in a
+ * dialog.
+ *
+ * @author <a href="mailto:[email protected]">Jon A. Maxwell (JAM)</a> - initial author
+ * @version $Revision: 1.1 $
+ */
+public class DefaultLaunchHandler implements LaunchHandler {
+
+ /**
+ * Called when the application could not be launched due to a
+ * fatal error, such as the inability to find the main class
+ * or non-parseable XML.
+ */
+ public void launchError(LaunchException exception) {
+ printMessage(exception);
+ }
+
+ /**
+ * Called when launching the application can not be launched
+ * due to an error that is not fatal. For example a JNLP file
+ * that is not strictly correct yet does not necessarily
+ * prohibit the system from attempting to launch the
+ * application.
+ *
+ * @return true if the launch should continue, false to abort
+ */
+ public boolean launchWarning(LaunchException warning) {
+ printMessage(warning);
+ return true;
+ }
+
+ /**
+ * Called when a security validation error occurs while
+ * launching the application.
+ *
+ * @return true to allow the application to continue, false to stop it.
+ */
+ public boolean validationError(LaunchException security) {
+ printMessage(security);
+ return true;
+ }
+
+ /**
+ * Called when an application, applet, or installer has been
+ * launched successfully (the main method or applet start method
+ * returned normally).
+ *
+ * @param application the launched application instance
+ */
+ public void launchCompleted(ApplicationInstance application) {
+ //
+ }
+
+ /**
+ * Print a message to stdout.
+ */
+ protected void printMessage(LaunchException ex) {
+ StringBuffer result = new StringBuffer();
+ result.append("netx: ");
+ result.append(ex.getCategory());
+ if (ex.getSummary() != null) {
+ result.append(": ");
+ result.append(ex.getSummary());
+ }
+
+ if (JNLPRuntime.isDebug()) {
+ if (ex.getCause() != null)
+ ex.getCause().printStackTrace();
+ else
+ ex.printStackTrace();
+ }
+
+ Throwable causes[] = ex.getCauses();
+
+ for (int i=0; i < causes.length; i++) {
+ result.append(" (");
+ result.append(causes[i].getClass().getName());
+ result.append(" ");
+ result.append(causes[i].getMessage());
+ result.append(")");
+ }
+ }
+
+}