view rt/net/sourceforge/jnlp/DefaultLaunchHandler.java @ 1319:d95ddc227d01

2009-01-20 Lillian Angel <langel@redhat.com> * rt/net/sourceforge/jnlp/DefaultLaunchHandler.java: Removed debug lines. * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Likewise. * rt/net/sourceforge/jnlp/security/AccessWarningPane.java: Updated imports. * rt/net/sourceforge/jnlp/security/AppletWarningPane.java: Updated imports. * rt/net/sourceforge/jnlp/security/CertWarningPane.java: Updated imports, added certVerifier global variable. (CertWarningPane): Initialized certVerifier. (installComponents): Added checks to determine if certificate is for an https site, and set the name/publisher/from variables appropriately. Also, customized warning pane label for https site. * rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java: (getDetails): Implemented. (addToDetails): Likewise. (R): Likewise. (getPublisher): Likewise. (getRoot): Likewise. (getRootInCacerts): Likewise. (hasSigningIssues): Likewise. (noSigningIssues): Likewise. * rt/net/sourceforge/jnlp/security/MoreInfoPane.java: Fixed imports. * rt/net/sourceforge/jnlp/security/SecurityDialogUI.java: Fixed imports. * rt/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Fixed imports. * rt/net/sourceforge/jnlp/security/SingleCertInfoPane.java: Fixed imports. * rt/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Fixed imports. * rt/net/sourceforge/jnlp/tools/KeyTool.java: Removed debug lines. * rt/net/sourceforge/jnlp/security/CertVerifier.java: Moved file below, here. * rt/net/sourceforge/jnlp/tools/CertVerifier.java: Removed. * rt/net/sourceforge/jnlp/security/VariableX509TrustManager.java: Removed debug lines.
author Lillian Angel <langel@redhat.com>
date Tue, 20 Jan 2009 18:37:40 -0500
parents 7cf928d8c2a7
children
line wrap: on
line source

// 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:jmaxwell@users.sourceforge.net">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(")");
        }
    }

}