/hg/icedtea-web: All security dialogs moved to appropriate package

jvanek at icedtea.classpath.org jvanek at icedtea.classpath.org
Wed Mar 5 15:33:06 UTC 2014


changeset 0a36108ce4b9 in /hg/icedtea-web
details: http://icedtea.classpath.org/hg/icedtea-web?cmd=changeset;node=0a36108ce4b9
author: Jiri Vanek <jvanek at redhat.com>
date: Wed Mar 05 16:41:06 2014 +0100

	All security dialogs moved to appropriate package


diffstat:

 ChangeLog                                                                                                |   40 +
 netx/net/sourceforge/jnlp/security/AccessWarningPane.java                                                |  213 ------
 netx/net/sourceforge/jnlp/security/AppTrustWarningDialog.java                                            |   68 -
 netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java                                             |  338 ---------
 netx/net/sourceforge/jnlp/security/AppletWarningPane.java                                                |  114 ---
 netx/net/sourceforge/jnlp/security/CertWarningPane.java                                                  |  319 ---------
 netx/net/sourceforge/jnlp/security/CertificateUtils.java                                                 |    5 -
 netx/net/sourceforge/jnlp/security/CertsInfoPane.java                                                    |  347 ---------
 netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java                                                |    1 +
 netx/net/sourceforge/jnlp/security/KeyStores.java                                                        |    2 +-
 netx/net/sourceforge/jnlp/security/MoreInfoPane.java                                                     |  125 ---
 netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java                                          |  114 ---
 netx/net/sourceforge/jnlp/security/PasswordAuthenticationPane.java                                       |  182 -----
 netx/net/sourceforge/jnlp/security/SecurityDialog.java                                                   |   14 +-
 netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java                                     |    1 -
 netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java                                              |  119 ---
 netx/net/sourceforge/jnlp/security/SecurityDialogs.java                                                  |    2 +-
 netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java                                               |   76 --
 netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningDialog.java                                 |   63 -
 netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java                                  |  106 ---
 netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java           |    2 +-
 netx/net/sourceforge/jnlp/security/dialogs/AccessWarningPane.java                                        |  216 ++++++
 netx/net/sourceforge/jnlp/security/dialogs/AppletWarningPane.java                                        |  116 +++
 netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java                                          |  325 +++++++++
 netx/net/sourceforge/jnlp/security/dialogs/CertsInfoPane.java                                            |  350 ++++++++++
 netx/net/sourceforge/jnlp/security/dialogs/MoreInfoPane.java                                             |  128 +++
 netx/net/sourceforge/jnlp/security/dialogs/NotAllSignedWarningPane.java                                  |  115 +++
 netx/net/sourceforge/jnlp/security/dialogs/PasswordAuthenticationPane.java                               |  185 +++++
 netx/net/sourceforge/jnlp/security/dialogs/SecurityDialogPanel.java                                      |  121 +++
 netx/net/sourceforge/jnlp/security/dialogs/SingleCertInfoPane.java                                       |   81 ++
 netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningDialog.java               |   70 ++
 netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningPanel.java                |  339 +++++++++
 netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/UnsignedAppletTrustWarningDialog.java    |   65 +
 netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/UnsignedAppletTrustWarningPanel.java     |  106 +++
 tests/netx/unit/net/sourceforge/jnlp/security/AppTrustWarningPanelTest.java                              |  123 ---
 tests/netx/unit/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningPanelTest.java |  125 +++
 tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java                                      |   16 +-
 37 files changed, 2405 insertions(+), 2327 deletions(-)

diffs (truncated from 4956 to 500 lines):

diff -r 907fe0c8a3fa -r 0a36108ce4b9 ChangeLog
--- a/ChangeLog	Wed Mar 05 15:43:03 2014 +0100
+++ b/ChangeLog	Wed Mar 05 16:41:06 2014 +0100
@@ -1,3 +1,43 @@
+2014-03-05  Jiri Vanek  <jvanek at redhat.com>
+
+	All security dialogs moved to appropriate package
+	* netx/net/sourceforge/jnlp/security/AccessWarningPane.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/AccessWarningPane.java:
+	* netx/net/sourceforge/jnlp/security/AppletWarningPane.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/AppletWarningPane.java:
+	* netx/net/sourceforge/jnlp/security/CertWarningPane.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/CertWarningPane.java
+	* netx/net/sourceforge/jnlp/security/CertsInfoPane.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/CertsInfoPane.java:
+	* netx/net/sourceforge/jnlp/security/MoreInfoPane.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/MoreInfoPane.java:
+	* netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/NotAllSignedWarningPane.java:
+	* netx/net/sourceforge/jnlp/security/PasswordAuthenticationPane.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/PasswordAuthenticationPane.java:
+	* netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/SecurityDialogPanel.java:
+	* netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/SingleCertInfoPane.java:
+	* netx/net/sourceforge/jnlp/security/AppTrustWarningDialog.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningDialog.java:
+	* netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningPanel.java:
+	* netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningDialog.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/UnsignedAppletTrustWarningDialog.java:
+	* netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java: to
+	* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/UnsignedAppletTrustWarningPanel.java:
+	* tests/netx/unit/net/sourceforge/jnlp/security/AppTrustWarningPanelTest.java: to
+	* tests/netx/unit/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/AppTrustWarningPanelTest.java:
+	* tests/netx/unit/net/sourceforge/jnlp/util/ClasspathMatcherTest.java: necessary changes
+	* netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java: necessary changes
+	* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: necessary changes
+	* netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java: necessary changes
+	* netx/net/sourceforge/jnlp/security/SecurityDialog.java: necessary changes
+	* netx/net/sourceforge/jnlp/security/KeyStores.java: necessary changes
+	* netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java: necessary changes
+	* netx/net/sourceforge/jnlp/security/CertificateUtils.java: necessary changes
+
 2014-03-05  Jiri Vanek  <jvanek at redhat.com>
 
 	* netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java: fixed
diff -r 907fe0c8a3fa -r 0a36108ce4b9 netx/net/sourceforge/jnlp/security/AccessWarningPane.java
--- a/netx/net/sourceforge/jnlp/security/AccessWarningPane.java	Wed Mar 05 15:43:03 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,213 +0,0 @@
-/* AccessWarningPane.java
-   Copyright (C) 2008 Red Hat, Inc.
-
-This file is part of IcedTea.
-
-IcedTea is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as published by
-the Free Software Foundation, version 2.
-
-IcedTea 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
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with IcedTea; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library.  Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module.  An independent module is a module which is not derived from
-or based on this library.  If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so.  If you do not wish to do so, delete this
-exception statement from your version.
-*/
-
-package net.sourceforge.jnlp.security;
-
-import static net.sourceforge.jnlp.runtime.Translator.R;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.GridLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-import javax.swing.BorderFactory;
-import javax.swing.BoxLayout;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.SwingConstants;
-
-import net.sourceforge.jnlp.JNLPFile;
-import net.sourceforge.jnlp.security.SecurityDialogs.AccessType;
-import net.sourceforge.jnlp.util.FileUtils;
-
-/**
- * Provides a panel to show inside a SecurityDialog. These dialogs are
- * used to warn the user when either signed code (with or without signing
- * issues) is going to be run, or when service permission (file, clipboard,
- * printer, etc) is needed with unsigned code.
- *
- * @author <a href="mailto:jsumali at redhat.com">Joshua Sumali</a>
- */
-public class AccessWarningPane extends SecurityDialogPanel {
-
-    JCheckBox alwaysAllow;
-    Object[] extras;
-
-    public AccessWarningPane(SecurityDialog x, CertVerifier certVerifier) {
-        super(x, certVerifier);
-        addComponents();
-    }
-
-    public AccessWarningPane(SecurityDialog x, Object[] extras, CertVerifier certVerifier) {
-        super(x, certVerifier);
-        this.extras = extras;
-        addComponents();
-    }
-
-    /**
-     * Creates the actual GUI components, and adds it to this panel
-     */
-    private void addComponents() {
-        AccessType type = parent.getAccessType();
-        JNLPFile file = parent.getFile();
-
-        String name = "";
-        String publisher = "";
-        String from = "";
-
-        //We don't worry about exceptions when trying to fill in
-        //these strings -- we just want to fill in as many as possible.
-        try {
-            name = file.getInformation().getTitle() != null ? file.getInformation().getTitle() : R("SNoAssociatedCertificate");
-        } catch (Exception e) {
-        }
-
-        try {
-            publisher = file.getInformation().getVendor() != null ? 
-                    file.getInformation().getVendor() + " " + R("SUnverified") : 
-                    R("SNoAssociatedCertificate");
-        } catch (Exception e) {
-        }
-
-        try {
-            from = !file.getInformation().getHomepage().toString().equals("") ? file.getInformation().getHomepage().toString() : file.getSourceLocation().getAuthority();
-        } catch (Exception e) {
-            from = file.getSourceLocation().getAuthority();
-        }
-
-        //Top label
-        String topLabelText = "";
-        switch (type) {
-            case READ_FILE:
-                if (extras != null && extras.length > 0 && extras[0] instanceof String) {
-                    topLabelText = R("SFileReadAccess", FileUtils.displayablePath((String) extras[0]));
-                } else {
-                    topLabelText = R("SFileReadAccess", R("AFileOnTheMachine"));
-                }
-                break;
-            case WRITE_FILE:
-                if (extras != null && extras.length > 0 && extras[0] instanceof String) {
-                    topLabelText = R("SFileWriteAccess", FileUtils.displayablePath((String) extras[0]));
-                } else {
-                    topLabelText = R("SFileWriteAccess", R("AFileOnTheMachine"));
-                }
-                break;
-            case CREATE_DESTKOP_SHORTCUT:
-                topLabelText = R("SDesktopShortcut");
-                break;
-            case CLIPBOARD_READ:
-                topLabelText = R("SClipboardReadAccess");
-                break;
-            case CLIPBOARD_WRITE:
-                topLabelText = R("SClipboardWriteAccess");
-                break;
-            case PRINTER:
-                topLabelText = R("SPrinterAccess");
-                break;
-            case NETWORK:
-                if (extras != null && extras.length >= 0)
-                    topLabelText = R("SNetworkAccess", extras[0]);
-                else
-                    topLabelText = R("SNetworkAccess", "(address here)");
-        }
-
-        ImageIcon icon = new ImageIcon((new sun.misc.Launcher()).getClassLoader().getResource("net/sourceforge/jnlp/resources/question.png"));
-        JLabel topLabel = new JLabel(htmlWrap(topLabelText), icon, SwingConstants.LEFT);
-        topLabel.setFont(new Font(topLabel.getFont().toString(),
-                        Font.BOLD, 12));
-        JPanel topPanel = new JPanel(new BorderLayout());
-        topPanel.setBackground(Color.WHITE);
-        topPanel.add(topLabel, BorderLayout.CENTER);
-        topPanel.setPreferredSize(new Dimension(450, 100));
-        topPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-
-        //application info
-        JLabel nameLabel = new JLabel(R("Name") + ":   " + name);
-        nameLabel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
-        JLabel publisherLabel = new JLabel(R("Publisher") + ": " + publisher);
-        publisherLabel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
-        JLabel fromLabel = new JLabel(R("From") + ":   " + from);
-        fromLabel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5));
-
-        alwaysAllow = new JCheckBox(R("AlwaysAllowAction"));
-        alwaysAllow.setEnabled(false);
-
-        JPanel infoPanel = new JPanel(new GridLayout(4, 1));
-        infoPanel.add(nameLabel);
-        infoPanel.add(publisherLabel);
-        infoPanel.add(fromLabel);
-        infoPanel.add(alwaysAllow);
-        infoPanel.setBorder(BorderFactory.createEmptyBorder(25, 25, 25, 25));
-
-        //run and cancel buttons
-        JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT));
-
-        JButton run = new JButton(R("ButAllow"));
-        JButton cancel = new JButton(R("ButCancel"));
-        run.addActionListener(createSetValueListener(parent, 0));
-        run.addActionListener(new CheckBoxListener());
-        cancel.addActionListener(createSetValueListener(parent, 1));
-        initialFocusComponent = cancel;
-        buttonPanel.add(run);
-        buttonPanel.add(cancel);
-        buttonPanel.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-
-        //all of the above
-        setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
-        add(topPanel);
-        add(infoPanel);
-        add(buttonPanel);
-
-    }
-
-    private class CheckBoxListener implements ActionListener {
-        public void actionPerformed(ActionEvent e) {
-            if (alwaysAllow != null && alwaysAllow.isSelected()) {
-                // TODO: somehow tell the ApplicationInstance
-                // to stop asking for permission
-            }
-        }
-    }
-
-}
diff -r 907fe0c8a3fa -r 0a36108ce4b9 netx/net/sourceforge/jnlp/security/AppTrustWarningDialog.java
--- a/netx/net/sourceforge/jnlp/security/AppTrustWarningDialog.java	Wed Mar 05 15:43:03 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/* Copyright (C) 2013 Red Hat, Inc.
-
-This file is part of IcedTea.
-
-IcedTea is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as published by
-the Free Software Foundation, version 2.
-
-IcedTea 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
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with IcedTea; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library.  Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module.  An independent module is a module which is not derived from
-or based on this library.  If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so.  If you do not wish to do so, delete this
-exception statement from your version.
- */
-
-package net.sourceforge.jnlp.security;
-
-import net.sourceforge.jnlp.JNLPFile;
-import net.sourceforge.jnlp.security.AppTrustWarningPanel.ActionChoiceListener;
-import net.sourceforge.jnlp.security.AppTrustWarningPanel.AppSigningWarningAction;
-
-/**
- * A panel that confirms that the user is OK with unsigned code running.
- */
-public class AppTrustWarningDialog extends SecurityDialogPanel {
-
-    private AppTrustWarningDialog(final SecurityDialog dialog) {
-        super(dialog);
-    }
-
-    public static AppTrustWarningDialog unsigned(final SecurityDialog dialog, final JNLPFile file) {
-        final AppTrustWarningDialog warningDialog = new AppTrustWarningDialog(dialog);
-        warningDialog.add(new UnsignedAppletTrustWarningPanel(file, warningDialog.getActionChoiceListener()));
-        return warningDialog;
-    }
-
-    private ActionChoiceListener getActionChoiceListener() {
-        return new ActionChoiceListener() {
-            @Override
-            public void actionChosen(final AppSigningWarningAction action) {
-                parent.setValue(action);
-                parent.dispose();
-            }
-        };
-    }
-
-}
diff -r 907fe0c8a3fa -r 0a36108ce4b9 netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java
--- a/netx/net/sourceforge/jnlp/security/AppTrustWarningPanel.java	Wed Mar 05 15:43:03 2014 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,338 +0,0 @@
-/* Copyright (C) 2013 Red Hat, Inc.
-
-This file is part of IcedTea.
-
-IcedTea is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as published by
-the Free Software Foundation, version 2.
-
-IcedTea 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
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with IcedTea; see the file COPYING.  If not, write to
-the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
-02110-1301 USA.
-
-Linking this library statically or dynamically with other modules is
-making a combined work based on this library.  Thus, the terms and
-conditions of the GNU General Public License cover the whole
-combination.
-
-As a special exception, the copyright holders of this library give you
-permission to link this library with independent modules to produce an
-executable, regardless of the license terms of these independent
-modules, and to copy and distribute the resulting executable under
-terms of your choice, provided that you also meet, for each linked
-independent module, the terms and conditions of the license of that
-module.  An independent module is a module which is not derived from
-or based on this library.  If you modify this library, you may extend
-this exception to your version of the library, but you are not
-obligated to do so.  If you do not wish to do so, delete this
-exception statement from your version.
- */
-
-package net.sourceforge.jnlp.security;
-
-import static net.sourceforge.jnlp.runtime.Translator.R;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.FlowLayout;
-import java.awt.Font;
-import java.awt.GridLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.swing.BorderFactory;
-import javax.swing.BoxLayout;
-import javax.swing.ButtonGroup;
-import javax.swing.ImageIcon;
-import javax.swing.JButton;
-import javax.swing.JCheckBox;
-import javax.swing.JDialog;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.SwingConstants;
-
-import net.sourceforge.jnlp.JNLPFile;
-import net.sourceforge.jnlp.security.appletextendedsecurity.ExecuteAppletAction;
-import net.sourceforge.jnlp.security.appletextendedsecurity.ExtendedAppletSecurityHelp;
-import net.sourceforge.jnlp.util.ScreenFinder;
-
-/*
- * This class is meant to provide a common layout and functionality for warning dialogs
- * that appear when the user needs to confirm the running of applets/applications.
- * Subclasses include UnsignedAppletTrustWarningPanel, for unsigned plugin applets, and
- * PartiallySignedAppTrustWarningPanel, for partially signed JNLP applications as well as
- * plugin applets. New implementations should be added to the unit test at
- * unit/net/sourceforge/jnlp/security/AppTrustWarningPanelTest
- */
-public abstract class AppTrustWarningPanel extends JPanel {
-
-    /*
-     * Details of decided action.
-     */
-    public static class AppSigningWarningAction {
-        private ExecuteAppletAction action;
-        private boolean applyToCodeBase;
-
-        public AppSigningWarningAction(ExecuteAppletAction action,
-                boolean applyToCodeBase) {
-            this.action = action;
-            this.applyToCodeBase = applyToCodeBase;
-        }
-
-        public ExecuteAppletAction getAction() {
-            return action;
-        }
-
-        public boolean rememberForCodeBase() {
-            return applyToCodeBase;
-        }
-    }
-
-    /*
-     * Callback for when action is decided.
-     */
-    public static interface ActionChoiceListener {
-        void actionChosen(AppSigningWarningAction action);
-    }
-
-    protected int PANE_WIDTH = 500;
-
-    protected int TOP_PANEL_HEIGHT = 60;
-    protected int INFO_PANEL_HEIGHT = 140;
-    protected int INFO_PANEL_HINT_HEIGHT = 25;
-    protected int QUESTION_PANEL_HEIGHT = 35;
-
-    protected List<JButton> buttons;
-    protected JButton allowButton;
-    protected JButton rejectButton;
-    protected JButton helpButton;
-    protected JCheckBox permanencyCheckBox;
-    protected JRadioButton applyToAppletButton;
-    protected JRadioButton applyToCodeBaseButton;
-
-    protected JNLPFile file;
-
-    protected ActionChoiceListener actionChoiceListener;
-
-    /*
-     * Subclasses should call addComponents() IMMEDIATELY after calling the super() constructor!
-     */
-    public AppTrustWarningPanel(JNLPFile file, ActionChoiceListener actionChoiceListener) {
-        this.file = file;
-        this.actionChoiceListener = actionChoiceListener;
-        this.buttons = new ArrayList<JButton>();
-
-        allowButton = new JButton(R("ButProceed"));
-        rejectButton = new JButton(R("ButCancel"));
-        helpButton = new JButton(R("APPEXTSECguiPanelHelpButton"));
-
-        allowButton.addActionListener(chosenActionSetter(true));
-        rejectButton.addActionListener(chosenActionSetter(false));
-
-        helpButton.addActionListener(getHelpButtonAction());
-
-        buttons.add(allowButton);
-        buttons.add(rejectButton);
-        buttons.add(helpButton);
-    }
-
-    /*
-     * Provides an image to be displayed near the upper left corner of the dialog.
-     */
-    protected abstract ImageIcon getInfoImage();
-
-    /*
-     * Provides a short description of why the dialog is appearing. The message is expected to be HTML-formatted.
-     */
-    protected abstract String getTopPanelText();
-
-    /*
-     * Provides in-depth information on why the dialog is appearing. The message is expected to be HTML-formatted.


More information about the distro-pkg-dev mailing list