From a4682ceae6774956461edd03b2485bbacea445f4 Mon Sep 17 00:00:00 2001 From: mharmsen Date: Tue, 4 Oct 2011 01:17:41 +0000 Subject: Bugzilla Bug #688225 - (dogtagIPAv2.1) TRACKER: of the Dogtag fixes for freeIPA 2.1 git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/tags/IPA_v2_RHEL_6_2_20111003@2252 c9f7a03b-bd48-0410-a16d-cbbf54688b0b --- .../certsrv/security/PKCS11AddModuleDialog.java | 165 +++++++++++++++++++++ 1 file changed, 165 insertions(+) create mode 100644 pki/base/console/src/com/netscape/admin/certsrv/security/PKCS11AddModuleDialog.java (limited to 'pki/base/console/src/com/netscape/admin/certsrv/security/PKCS11AddModuleDialog.java') diff --git a/pki/base/console/src/com/netscape/admin/certsrv/security/PKCS11AddModuleDialog.java b/pki/base/console/src/com/netscape/admin/certsrv/security/PKCS11AddModuleDialog.java new file mode 100644 index 000000000..7b5fe12a6 --- /dev/null +++ b/pki/base/console/src/com/netscape/admin/certsrv/security/PKCS11AddModuleDialog.java @@ -0,0 +1,165 @@ +// --- BEGIN COPYRIGHT BLOCK --- +// This program 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 of the License. +// +// This program 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 this program; if not, write to the Free Software Foundation, Inc., +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +// +// (C) 2007 Red Hat, Inc. +// All rights reserved. +// --- END COPYRIGHT BLOCK --- +package com.netscape.admin.certsrv.security; + +import com.netscape.management.client.console.ConsoleInfo; + +import javax.swing.*; +import javax.swing.JFileChooser; + +import java.awt.*; +import java.awt.event.*; +import java.util.*; + +import com.netscape.management.client.util.*; +import com.netscape.management.nmclf.*; + + +class PKCS11AddModuleDialog extends AbstractDialog { + + KeyCertTaskInfo taskInfo; + + ResourceSet resource = new ResourceSet("com.netscape.admin.certsrv.security.PKCS11ManagementResource"); + + JRadioButton _isDLL; + JRadioButton _isJAR; + JTextField _dllname = new JTextField(10); + JTextField _filename = new JTextField(10); + + boolean moduleAdded; + + protected boolean isAdded() { + return moduleAdded; + } + + protected void okInvoked() { + moduleAdded = false; + taskInfo.clear(); + + taskInfo.put("filename", _filename.getText()); + taskInfo.put("format", _isDLL.isSelected() ? "dll" : "jar"); + if (_isDLL.isSelected()) + taskInfo.put("dllname", _dllname.getText()); + + Response response = null; + try { + response = taskInfo.exec(taskInfo.SEC_ADDMOD); + } catch (Exception e) { + SuiOptionPane.showMessageDialog( + UtilConsoleGlobals.getActivatedFrame(), e.getMessage()); + return; + } + + try { + Message m = (Message)(response.getMessages().elementAt(0)); + MessageDialog.messageDialog(m); + moduleAdded = m.isSuccess(); + } catch (Exception ex) {} + + if (((Message) response.getMessages().elementAt(0)).getStatus() + == Message.NMC_SUCCESS) + super.okInvoked(); + } + + protected void helpInvoked() { + Help help = new Help(resource); + help.help("PKCS11AddModuleDialog", "help"); + } + + + /** + * Listen to changes (key strokes or change in text area or text field) + * then determain (call setEnableNextButton()) if wizard can proceed + */ + class MyActionListener implements KeyListener, ActionListener { + public void keyTyped(KeyEvent e) {} + public void keyPressed(KeyEvent e) {} + public void keyReleased(KeyEvent e) {} + public void actionPerformed(ActionEvent e) { + if (e.getActionCommand().equals("ENABLED")) + _dllname.setEnabled(_isDLL.isSelected()); + } + } + + public PKCS11AddModuleDialog(ConsoleInfo consoleInfo) { + super(null, "", true, OK | CANCEL | HELP); + + setTitle(resource.getString("PKCS11AddModuleDialog", "dialogTitle")); + + + taskInfo = new KeyCertTaskInfo(consoleInfo); + + Container mainPane = getContentPane(); + mainPane.setLayout(new GridBagLayout()); + + _isDLL = new JRadioButton( + resource.getString("PKCS11AddModuleDialog", "DLL"), true); + _isJAR = new JRadioButton( + resource.getString("PKCS11AddModuleDialog", "JAR"), false); + + ButtonGroup buttonGroup = new ButtonGroup(); + buttonGroup.add(_isDLL); + buttonGroup.add(_isJAR); + + _isDLL.setActionCommand("ENABLED"); + _isDLL.addActionListener(new MyActionListener()); + _isJAR.setActionCommand("ENABLED"); + _isJAR.addActionListener(new MyActionListener()); + + GridBagUtil.constrain(mainPane, + new JLabel( resource.getString("PKCS11AddModuleDialog", + "fileType")), 0, 0, 1, 1, 1.0, 1.0, + GridBagConstraints.NORTH, + GridBagConstraints.HORIZONTAL, 0, 0, + DIFFERENT_COMPONENT_SPACE, 0); + + GridBagUtil.constrain(mainPane, _isDLL, 0, 1, 1, 1, 1.0, 1.0, + GridBagConstraints.NORTH, + GridBagConstraints.HORIZONTAL, 0, 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(mainPane, _dllname, 1, 1, 1, 1, 1.0, 1.0, + GridBagConstraints.NORTH, + GridBagConstraints.HORIZONTAL, 0, 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(mainPane, _isJAR, 0, 2, 1, 1, 1.0, 1.0, + GridBagConstraints.NORTH, + GridBagConstraints.HORIZONTAL, 0, 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(mainPane, Box.createVerticalGlue(), 0, 3, + 1, 1, 1.0, 1.0, GridBagConstraints.NORTH, + GridBagConstraints.HORIZONTAL, 0, 0, 0, 0); + + GridBagUtil.constrain(mainPane, + new JLabel( resource.getString("PKCS11AddModuleDialog", + "fileName")), 0, 4, 1, 1, 1.0, 1.0, + GridBagConstraints.NORTH, + GridBagConstraints.HORIZONTAL, 0, 0, + DIFFERENT_COMPONENT_SPACE, 0); + + GridBagUtil.constrain(mainPane, _filename, 0, 5, 1, 1, 1.0, + 1.0, GridBagConstraints.NORTH, + GridBagConstraints.HORIZONTAL, 0, 0, COMPONENT_SPACE, 0); + + //getContentPane().add(mainPane); + + pack(); + setMinimumSize(getSize()); + } + +} + -- cgit