From 621d9e5c413e561293d7484b93882d985b3fe15f Mon Sep 17 00:00:00 2001 From: Endi Sukma Dewata Date: Sat, 24 Mar 2012 02:27:47 -0500 Subject: Removed unnecessary pki folder. Previously the source code was located inside a pki folder. This folder was created during svn migration and is no longer needed. This folder has now been removed and the contents have been moved up one level. Ticket #131 --- .../certsrv/security/CertRequestInfoPane.java | 403 +++++++++++++++++++++ 1 file changed, 403 insertions(+) create mode 100644 base/console/src/com/netscape/admin/certsrv/security/CertRequestInfoPane.java (limited to 'base/console/src/com/netscape/admin/certsrv/security/CertRequestInfoPane.java') diff --git a/base/console/src/com/netscape/admin/certsrv/security/CertRequestInfoPane.java b/base/console/src/com/netscape/admin/certsrv/security/CertRequestInfoPane.java new file mode 100644 index 000000000..0bc25ea1a --- /dev/null +++ b/base/console/src/com/netscape/admin/certsrv/security/CertRequestInfoPane.java @@ -0,0 +1,403 @@ +// --- 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 java.awt.*; +import java.awt.event.*; +import java.util.*; +import javax.swing.*; +import javax.swing.border.*; +import javax.swing.*; +import com.netscape.management.client.util.*; +import com.netscape.management.nmclf.*; + +class CertRequestInfoPane extends JPanel implements SuiConstants, +IKeyCertPage { + + boolean modified = false; + + JTextField name = new JTextField(); + JTextField phone = new JTextField(); + SingleByteTextField dn = new SingleByteTextField(); + SingleByteTextField email = new SingleByteTextField(); + JTextField o = new JTextField(); + JTextField ou = new JTextField(); + JTextField l = new JTextField(); + JComboBox st; + JComboBox c; + + + JLabel _nameLabel; + JLabel _phoneLabel; + JLabel _dnLabel; + JLabel _emailLabel; + JLabel _oLabel; + JLabel _ouLabel; + JLabel _lLabel; + JLabel _stLabel; + JLabel _cLabel; + JLabel _requiredLabel; + + JLabel _dnExample; + + IWizardControl control; + + ResourceSet resource; + + JPanel statePanel = new JPanel(); + + public JPanel getPanel() { + return this; + } + + public boolean pageShow(WizardObservable observable) { + boolean show = + ((Boolean)(observable.get("requestCert"))).booleanValue(); + + if (show) { + control = (IWizardControl)(observable.get("Wizard")); + setEnableNextButton(); + } + return show; + } + + public boolean pageHide(WizardObservable observable) { + + KeyCertTaskInfo taskInfo = observable.getTaskInfo(); + + if (modified) { + observable.put("CertReqModified", new Boolean(true)); + + Hashtable param = (Hashtable)(observable.get("CertReqCGIParam")); + param.put("requestor_name", name.getText()); + param.put("telephone" , phone.getText()); + param.put("common_name" , dn.getText()); + param.put("email_address" , email.getText()); + param.put("organization" , o.getText()); + param.put("org_unit" , ou.getText()); + param.put("locality" , l.getText()); + param.put("state" , + st.getSelectedItem() == null ? "": + st.getSelectedItem()); + param.put("country" , + ((String)(c.getSelectedItem())).substring(0, 2)); + param.put("tokenName" , observable.get("tokenName")); + } + + return true; + } + + void setEnableNextButton() { + if ((name.getText().length() == 0) || + (dn.getText().length() == 0) || + (phone.getText().length() == 0) || + (email.getText().length() == 0) || + (o.getText().length() == 0) || + (((String)(c.getSelectedItem())).length() < 2) || + (dn.getText().indexOf(".") == -1)) { + control.setCanGoForward(false); + } else { + control.setCanGoForward(true); + } + } + + class InfoPaneActionListener implements ActionListener, KeyListener, FocusListener{ + public void actionPerformed(ActionEvent e) { + modified = true; + setEnableNextButton(); + + if (e.getSource() == c) { + setupState(c.getSelectedItem().toString()); + } + } + public void keyTyped(KeyEvent e) {} + public void keyPressed(KeyEvent e) {} + public void keyReleased(KeyEvent e) { + modified = true; + setEnableNextButton(); + + if (e.getSource() == c) { + setupState(c.getSelectedItem().toString()); + } + } + + public void focusGained(FocusEvent e) {} + public void focusLost(FocusEvent e) { + if (!(e.isTemporary()) && (e.getComponent() == dn) && + (dn.getText().indexOf(".") == -1)) { + JOptionPane.showMessageDialog( + UtilConsoleGlobals.getActivatedFrame(), + resource.getString("CertRequestInfoPane", "invalidFQDN"), + resource.getString("CertRequestInfoPane", + "invalidFQDNDialogTitle"), + JOptionPane.ERROR_MESSAGE); + control.setCanGoForward(false); + } + } + } + + private JLabel rightAlignLabel(String label) { + return new JLabel(label, JLabel.RIGHT); + } + + private JPanel getInfoPane() { + JPanel infoPane = new JPanel(); + infoPane.setLayout(new GridBagLayout()); + + InfoPaneActionListener listener = new InfoPaneActionListener(); + name.addActionListener(listener); + phone.addActionListener(listener); + dn.addActionListener(listener); + email.addActionListener(listener); + o.addActionListener(listener); + ou.addActionListener(listener); + l.addActionListener(listener); + st.addActionListener(listener); + c.addActionListener(listener); + + name.addKeyListener(listener); + phone.addKeyListener(listener); + dn.addKeyListener(listener); + email.addKeyListener(listener); + o.addKeyListener(listener); + ou.addKeyListener(listener); + l.addKeyListener(listener); + st.addKeyListener(listener); + c.addKeyListener(listener); + + dn.addFocusListener(listener); + + st.setEditable(true); + c.setEditable(true); + + + + int y = 0; + + GridBagUtil.constrain(infoPane, _nameLabel, 0, y, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, + 0, 0, COMPONENT_SPACE, DIFFERENT_COMPONENT_SPACE); + + GridBagUtil.constrain(infoPane, name, 1, y, 1, 1, 0.0, 0.0, + GridBagConstraints.EAST, GridBagConstraints.BOTH, 0, + 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(infoPane, _phoneLabel, 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, + 0, 0, COMPONENT_SPACE, DIFFERENT_COMPONENT_SPACE); + + GridBagUtil.constrain(infoPane, phone, 1, y, 1, 1, 0.0, 0.0, + GridBagConstraints.EAST, GridBagConstraints.BOTH, 0, + 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(infoPane, _dnLabel, 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, + 0, 0, 0, DIFFERENT_COMPONENT_SPACE); + + GridBagUtil.constrain(infoPane, dn, 1, y, 1, 1, 0.0, 0.0, + GridBagConstraints.EAST, GridBagConstraints.BOTH, 0, + 0, 0, 0); + + GridBagUtil.constrain(infoPane, _dnExample, 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.EAST, GridBagConstraints.BOTH, + 0, 0, COMPONENT_SPACE, DIFFERENT_COMPONENT_SPACE); + + GridBagUtil.constrain(infoPane, _emailLabel, 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, + 0, 0, COMPONENT_SPACE, DIFFERENT_COMPONENT_SPACE); + + GridBagUtil.constrain(infoPane, email, 1, y, 1, 1, 0.0, 0.0, + GridBagConstraints.EAST, GridBagConstraints.BOTH, 0, + 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(infoPane, _oLabel, 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, + 0, 0, COMPONENT_SPACE, DIFFERENT_COMPONENT_SPACE); + + GridBagUtil.constrain(infoPane, o, 1, y, 1, 1, 0.0, 0.0, + GridBagConstraints.EAST, GridBagConstraints.BOTH, 0, + 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(infoPane, _ouLabel, 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, + 0, 0, COMPONENT_SPACE, DIFFERENT_COMPONENT_SPACE); + + GridBagUtil.constrain(infoPane, ou, 1, y, 1, 1, 0.0, 0.0, + GridBagConstraints.EAST, GridBagConstraints.BOTH, 0, + 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(infoPane, _lLabel, 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, + 0, 0, COMPONENT_SPACE, DIFFERENT_COMPONENT_SPACE); + + GridBagUtil.constrain(infoPane, l, 1, y, 1, 1, 0.0, 0.0, + GridBagConstraints.EAST, GridBagConstraints.BOTH, 0, + 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(infoPane, _stLabel, 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, + 0, 0, COMPONENT_SPACE, DIFFERENT_COMPONENT_SPACE); + + + GridBagUtil.constrain(infoPane, statePanel/*st*/, 1, y, 1, 1, + 0.0, 0.0, GridBagConstraints.EAST, + GridBagConstraints.BOTH, 0, 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(infoPane, _cLabel, 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.WEST, GridBagConstraints.BOTH, + 0, 0, COMPONENT_SPACE, DIFFERENT_COMPONENT_SPACE); + + GridBagUtil.constrain(infoPane, c, 1, y, 1, 1, 0.0, 0.0, + GridBagConstraints.EAST, GridBagConstraints.BOTH, 0, + 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(infoPane, _requiredLabel, 1, ++y, 1, 1, + 1.0, 0.0, GridBagConstraints.WEST, + GridBagConstraints.BOTH, 0, 0, COMPONENT_SPACE, + DIFFERENT_COMPONENT_SPACE); + + + return infoPane; + } + + private void setupState(String country) { + String stList; + statePanel.remove(st); + try { + stList = resource.getString("CertRequestInfoPane", + "state-"+country.substring(0, 2).toUpperCase()); + if (stList != null && !(stList.equals(""))) { + + StringTokenizer stateTokens = + new StringTokenizer(stList, ",", false); + Vector states = new Vector(); + while (stateTokens.hasMoreTokens()) { + states.addElement(stateTokens.nextToken()); + } + //this will make it load faster. + //It will do some extra work if we call addItem() one at a time + + st = new JComboBox(states); + } + else { + st.removeAllItems(); + } + } + catch (Exception e) { + st.removeAllItems(); + } + + GridBagUtil.constrain(statePanel, st, 0, 0, 1, 1, 1.0, 1.0, + GridBagConstraints.NORTH, GridBagConstraints.BOTH, 0, + 0, 0, 0); + + statePanel.validate(); + statePanel.repaint(); + + try { + st.setSelectedItem( resource.getString("CertRequestInfoPane", + "defaultState-"+ + country.substring(0, 1).toUpperCase())); + } catch (Exception e) {} + + } + + public CertRequestInfoPane() { + super(); + setLayout(new GridBagLayout()); + statePanel.setLayout(new GridBagLayout()); + + resource = KeyCertUtility.getKeyCertWizardResourceSet(); + + _nameLabel = rightAlignLabel( + resource.getString("CertRequestInfoPane", "nameLabel")); + _phoneLabel = rightAlignLabel( + resource.getString("CertRequestInfoPane", "phoneLabel")); + _dnLabel = rightAlignLabel( + resource.getString("CertRequestInfoPane", "dnLabel")); + _emailLabel = rightAlignLabel( + resource.getString("CertRequestInfoPane", "emailLabel")); + _oLabel = rightAlignLabel( + resource.getString("CertRequestInfoPane", "oLabel")); + _ouLabel = rightAlignLabel( + resource.getString("CertRequestInfoPane", "ouLabel")); + _lLabel = rightAlignLabel( + resource.getString("CertRequestInfoPane", "lLabel")); + _stLabel = rightAlignLabel( + resource.getString("CertRequestInfoPane", "stLabel")); + _cLabel = rightAlignLabel( + resource.getString("CertRequestInfoPane", "cLabel")); + + + _dnExample = rightAlignLabel( + resource.getString("CertRequestInfoPane", "dnExample")); + + _requiredLabel = + new JLabel(resource.getString("CertRequestInfoPane", "requiredLabel")); + + + String cList = resource.getString("CertRequestInfoPane", "country"); + StringTokenizer countryTokens = + new StringTokenizer(cList, ",", false); + Vector countries = new Vector(); + while (countryTokens.hasMoreTokens()) { + countries.addElement(countryTokens.nextToken()); + } + + st = new JComboBox(); + c = new JComboBox(countries); + + try { + c.setSelectedItem( + resource.getString("CertRequestInfoPane", "defaultCountry")); + } catch (Exception e) {} + + setupState(c.getSelectedItem().toString()); + + + setBorder( new TitledBorder( new CompoundBorder(new EtchedBorder(), + new EmptyBorder(COMPONENT_SPACE, COMPONENT_SPACE, + COMPONENT_SPACE, COMPONENT_SPACE)), + resource.getString("CertRequestInfoPane", "title"))); + + int y = 0; + + GridBagUtil.constrain(this, getInfoPane(), 0, ++y, 1, 1, 1.0, + 0.0, GridBagConstraints.NORTH, + GridBagConstraints.BOTH, 0, 0, COMPONENT_SPACE, 0); + + GridBagUtil.constrain(this, Box.createVerticalGlue(), 0, ++y, + 1, 1, 1.0, 1.0, GridBagConstraints.NORTH, + GridBagConstraints.BOTH, 0, 0, 0, 0); + + GridBagUtil.constrain(this, + new JLabel( + resource.getString(null, "clickNextToContinue")), 0, + ++y, 1, 1, 1.0, 0.0, GridBagConstraints.NORTH, + GridBagConstraints.BOTH, 0, 0, 0, 0); + } + + /*public static void main(String arg[]) { + JFrame f = new JFrame(); + f.getContentPane().add("North", new CertRequestInfoPane()); + f.setSize(400,400); + //f.pack(); + f.show(); + }*/ + +} -- cgit