diff options
author | Endi Sukma Dewata <edewata@redhat.com> | 2012-03-24 02:08:08 -0500 |
---|---|---|
committer | Matthew Harmsen <mharmsen@redhat.com> | 2012-03-26 15:10:41 -0700 |
commit | 4a7ec07c942544b7ca27718a11dac00505c4de7b (patch) | |
tree | cceeb31a92d7b8b307300305fba77e642b7a6495 /base/console/src/com/netscape/admin/certsrv/config/ProfilePolicyNewDialog.java | |
parent | 007bc68f666ef5658274a1e27989d75f2a681a20 (diff) | |
download | pki-4a7ec07c942544b7ca27718a11dac00505c4de7b.tar.gz pki-4a7ec07c942544b7ca27718a11dac00505c4de7b.tar.xz pki-4a7ec07c942544b7ca27718a11dac00505c4de7b.zip |
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
Diffstat (limited to 'base/console/src/com/netscape/admin/certsrv/config/ProfilePolicyNewDialog.java')
-rw-r--r-- | base/console/src/com/netscape/admin/certsrv/config/ProfilePolicyNewDialog.java | 716 |
1 files changed, 716 insertions, 0 deletions
diff --git a/base/console/src/com/netscape/admin/certsrv/config/ProfilePolicyNewDialog.java b/base/console/src/com/netscape/admin/certsrv/config/ProfilePolicyNewDialog.java new file mode 100644 index 000000000..44e1aa512 --- /dev/null +++ b/base/console/src/com/netscape/admin/certsrv/config/ProfilePolicyNewDialog.java @@ -0,0 +1,716 @@ +// --- 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.config; + +import com.netscape.admin.certsrv.*; +import com.netscape.admin.certsrv.connection.*; +import javax.swing.*; +import javax.swing.event.*; +import javax.swing.table.*; +import javax.swing.text.*; +import java.awt.event.*; +import java.awt.*; +import java.util.*; +import com.netscape.management.client.*; +import com.netscape.management.client.util.*; +import com.netscape.certsrv.common.*; + +/** + * Policy Parameter Configuration Dialog + * + * @author Jack Pan-Chen + * @version $Revision$, $Date$ + * @see com.netscape.admin.certsrv.config + */ +public class ProfilePolicyNewDialog extends CMSBaseConfigDialog + implements ActionListener, FocusListener +{ + protected JButton mRefresh, mEdit, mAdd, mDelete, mOrder, mHelp; + protected JTextField mNameField=null, mIdField=null, mDescField=null, mConfigField=null; + protected JLabel mNameLabel=null, mIdLabel=null, mDescLabel = null, mConfigLabel =null; + protected JTable mDefaultTable = null, mConstraintTable = null; + + private String mConstraintId = null, mDefaultId = null; + + public String mDefSetId = null; + protected Hashtable mHelpDesc = new Hashtable(); + + /*========================================================== + * constructors + *==========================================================*/ + public ProfilePolicyNewDialog(String defSetId, NameValuePairs nvp, + JFrame parent, + AdminConnection conn, + String dest) { + + super(parent, dest); + + mDefSetId = defSetId; + PREFIX = "PROFILENEWDIALOG"; + mHelpToken = "configuration-certificateprofiles"; + mImplName_token = Constants.PR_POLICY_IMPL_NAME; + mImplType = Constants.PR_EXT_PLUGIN_IMPLTYPE_POLICY; + + init(nvp,parent,conn,dest); + setSize(500, 415); + } + + + protected JPanel makeContentPane() { + JPanel mListPanel = new JPanel(); + GridBagLayout gb = new GridBagLayout(); + GridBagConstraints gbc = new GridBagConstraints(); + mListPanel.setLayout(gb); + + // 'Policy Rule ID' here + CMSAdminUtil.resetGBC(gbc); + mRulenameCaption = CMSAdminUtil.makeJLabel(mResource, PREFIX, + "RULENAME", null); + mRulenameCaption.addMouseListener(this); + mPluginLabel = new JLabel(); + mPluginLabel.setVisible(false); + mPluginName = new JTextField(); + + gbc.fill = gbc.NONE; + gbc.weightx = 0.0; + gbc.gridwidth = 1; + gbc.anchor = gbc.EAST; + gbc.insets = new Insets(CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE,0,0); + mListPanel.add(mRulenameCaption, gbc); + + gbc.anchor = gbc.WEST; + gbc.fill = gbc.HORIZONTAL; + gbc.weightx = 1.0; + gbc.gridwidth = gbc.REMAINDER; + gbc.insets = new Insets(CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE, + 0,CMSAdminUtil.COMPONENT_SPACE); + mListPanel.add( mPluginName, gbc ); + // mListPanel.add( mPluginLabel, gbc ); + + // name + CMSAdminUtil.resetGBC(gbc); + mNameLabel = CMSAdminUtil.makeJLabel(mResource, PREFIX, + "NAMENAME", null); + mNameLabel.addMouseListener(this); + + gbc.fill = gbc.NONE; + gbc.weightx = 0.0; + gbc.gridwidth = 1; + gbc.anchor = gbc.EAST; + gbc.insets = new Insets(CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE,0,0); + // mListPanel.add( mNameLabel, gbc ); + mNameLabel.setBackground(getBackground()); + mNameLabel.setEnabled(false); + + gbc.anchor = gbc.WEST; + gbc.fill = gbc.HORIZONTAL; + gbc.weightx = 1.0; + gbc.gridwidth = gbc.REMAINDER; + mNameField = new JTextField(); + // mListPanel.add( mNameField, gbc ); + + // desc + CMSAdminUtil.resetGBC(gbc); + mDescLabel = CMSAdminUtil.makeJLabel(mResource, PREFIX, + "DESCNAME", null); + // mDescLabel.addMouseListener(this); + + gbc.fill = gbc.NONE; + gbc.weightx = 0.0; + gbc.gridwidth = 1; + gbc.anchor = gbc.EAST; + gbc.insets = new Insets(CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE,0,0); + mListPanel.add( mDescLabel, gbc ); + + gbc.anchor = gbc.WEST; + gbc.fill = gbc.HORIZONTAL; + gbc.weightx = 1.0; + gbc.gridwidth = gbc.REMAINDER; + mDescField = new JTextField(); + mListPanel.add( mDescField, gbc ); + + + CMSAdminUtil.resetGBC(gbc); + mIdLabel = CMSAdminUtil.makeJLabel(mResource, PREFIX, + "IDNAME", null); + + gbc.fill = gbc.NONE; + gbc.weightx = 0.0; + gbc.gridwidth = 1; + gbc.anchor = gbc.EAST; + gbc.insets = new Insets(CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE,0,0); + mListPanel.add( mIdLabel, gbc ); + + gbc.anchor = gbc.WEST; + gbc.fill = gbc.HORIZONTAL; + gbc.weightx = 1.0; + gbc.gridwidth = gbc.REMAINDER; + mIdField = new JTextField(); + mListPanel.add( mIdField, gbc ); + + // config file +/* + CMSAdminUtil.resetGBC(gbc); + mConfigLabel = CMSAdminUtil.makeJLabel(mResource, PREFIX, + "CONFIGNAME", null); + mConfigLabel.addMouseListener(this); + + gbc.fill = gbc.NONE; + gbc.weightx = 0.0; + gbc.gridwidth = 1; + gbc.anchor = gbc.EAST; + gbc.insets = new Insets(CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE,0,0); + // mListPanel.add( mConfigLabel, gbc ); + + gbc.anchor = gbc.WEST; + gbc.fill = gbc.HORIZONTAL; + gbc.weightx = 1.0; + gbc.gridwidth = gbc.REMAINDER; + mConfigField = new JTextField(); + // mListPanel.add( mConfigField, gbc ); +*/ + + + // 'Policy Plugin ID' here + CMSAdminUtil.resetGBC(gbc); + mImplnameCaption = CMSAdminUtil.makeJLabel(mResource, PREFIX, + "IMPLNAME", null); + mImplnameCaption.addMouseListener(this); + + gbc.fill = gbc.NONE; + gbc.weightx = 0.0; + gbc.gridwidth = 1; + gbc.anchor = gbc.EAST; + gbc.insets = new Insets(CMSAdminUtil.COMPONENT_SPACE, + CMSAdminUtil.COMPONENT_SPACE,0,0); + // mListPanel.add( mImplnameCaption, gbc ); + + gbc.anchor = gbc.WEST; + gbc.fill = gbc.HORIZONTAL; + gbc.weightx = 1.0; + gbc.gridwidth = gbc.REMAINDER; + mImplName = new JLabel(); +// mListPanel.add( mImplName, gbc ); + + /* Tab */ + JTabbedPane tabPane = new JTabbedPane(); + JPanel lpanel1 = createDefaultListPanel(); + JPanel lpanel2 = createConstraintListPanel(); + CMSAdminUtil.resetGBC(gbc); + gbc.fill = gbc.BOTH; + gbc.anchor = gbc.WEST; + gbc.gridwidth = gbc.REMAINDER; + gbc.weightx = 1.0; + gbc.weighty = 1.0; + gb.setConstraints(tabPane, gbc); + tabPane.addTab("Default", lpanel1); + tabPane.addTab("Constraint", lpanel2); + mListPanel.add(tabPane); + + /* Panel for list of plugin's parameters */ + mParamPanel = new JPanel(); +/* + mScrollPane = new JScrollPane(mParamPanel); + mScrollPane.setBorder(CMSAdminUtil.makeEtchedBorder()); + CMSAdminUtil.resetGBC(gbc); + gbc.fill = gbc.BOTH; + gbc.anchor = gbc.WEST; + gbc.gridwidth = gbc.REMAINDER; + gbc.weightx = 1.0; + gbc.weighty = 1.0; + gb.setConstraints(mScrollPane, gbc); + mListPanel.add(mScrollPane); +*/ + + /* Panel in which to put plugin's help text */ + mHelpPanel = new JPanel(); + mHelpPanel.setBorder(CMSAdminUtil.makeEtchedBorder()); + mHelpLabel = new JTextArea(3,0); + mHelpLabel.setLineWrap(true); + mHelpLabel.setWrapStyleWord(true); + mHelpLabel.setBackground(mHelpPanel.getBackground()); + mHelpLabel.setEditable(false); + GridBagLayout gb2 = new GridBagLayout(); + GridBagConstraints gbc2 = new GridBagConstraints(); + + CMSAdminUtil.resetGBC(gbc2); + gbc2.fill = gbc.BOTH; + gbc2.anchor = gbc.WEST; + gbc2.gridwidth = gbc.REMAINDER; + gbc2.weightx = 1.0; + gbc2.weighty = 1.0; + gb2.setConstraints(mHelpLabel, gbc2); + mHelpPanel.setLayout(gb2); + mHelpPanel.add(mHelpLabel); + + CMSAdminUtil.resetGBC(gbc); + gbc.anchor = gbc.SOUTH; + gbc.gridwidth = gbc.REMAINDER; + gbc.gridheight = gbc.REMAINDER; + gbc.weightx = 1.0; + gbc.weighty = 0.0; + gb.setConstraints(mHelpPanel, gbc); + mListPanel.add(mHelpPanel); + + return mListPanel; + } + + public JPanel createDefaultListPanel() + { + Vector colNames = new Vector(); + colNames.addElement("Parameter"); + colNames.addElement("Value"); + Vector data = new Vector(); + Vector row = new Vector(); + row.addElement("x"); + row.addElement("x"); + data.addElement(row); + + JPanel mListPanel = new JPanel(); + GridBagLayout gb = new GridBagLayout(); + GridBagConstraints gbc = new GridBagConstraints(); + mListPanel.setLayout(gb); + + //center table + ProfilePolicyEditDataModel model = new ProfilePolicyEditDataModel(); + model.setInfo(data, colNames); + mDefaultTable = new ProfileDataTable(model); + JScrollPane mScrollPane = JTable.createScrollPaneForTable(mDefaultTable); + mScrollPane.setHorizontalScrollBarPolicy(mScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + mScrollPane.setVerticalScrollBarPolicy(mScrollPane.VERTICAL_SCROLLBAR_ALWAYS); + mDefaultTable.setAutoscrolls(true); + mDefaultTable.sizeColumnsToFit(true); + mDefaultTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + // mTable.getSelectionModel().addListSelectionListener(this); + mScrollPane.setBackground(Color.white); + mDefaultTable.addMouseListener(this); + mDefaultTable.setDefaultRenderer(JComponent.class, new JComponentCellRenderer()); + mDefaultTable.setDefaultEditor(JComponent.class, new ProfileComponentCellEditor()); + + + CMSAdminUtil.resetGBC(gbc); + gbc.anchor = gbc.NORTH; + gbc.fill = gbc.BOTH; + gbc.gridwidth = gbc.REMAINDER; + gbc.gridheight = gbc.REMAINDER; + gbc.weightx = 1.0; + gbc.weighty = 1.0; + // gbc.gridwidth = 1; + // gbc.weightx = 1.0; + gbc.insets = CMSAdminUtil.DEFAULT_EMPTY_INSETS; + gb.setConstraints(mScrollPane, gbc); + mListPanel.add(mScrollPane); + +/* + JPanel buttonPanel = createUserButtonPanel(); + CMSAdminUtil.resetGBC(gbc); + gbc.anchor = gbc.NORTH; + gbc.gridwidth = gbc.REMAINDER; + gbc.gridheight = gbc.REMAINDER; + gbc.weightx = 0.0; + gbc.weighty = 1.0; + gbc.insets = CMSAdminUtil.DEFAULT_EMPTY_INSETS; + gb.setConstraints(buttonPanel, gbc); + mListPanel.add(buttonPanel); +*/ + + return mListPanel; + } + + public JPanel createConstraintListPanel() + { + Vector colNames = new Vector(); + colNames.addElement("Parameter"); + colNames.addElement("Value"); + Vector data = new Vector(); + Vector row = new Vector(); + row.addElement("x"); + row.addElement("x"); + data.addElement(row); + + JPanel mListPanel = new JPanel(); + GridBagLayout gb = new GridBagLayout(); + GridBagConstraints gbc = new GridBagConstraints(); + mListPanel.setLayout(gb); + + //center table + ProfilePolicyEditDataModel model = new ProfilePolicyEditDataModel(); + model.setInfo(data, colNames); + mConstraintTable = new ProfileDataTable(model); + JScrollPane mScrollPane = JTable.createScrollPaneForTable(mConstraintTable); + mScrollPane.setHorizontalScrollBarPolicy(mScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + mScrollPane.setVerticalScrollBarPolicy(mScrollPane.VERTICAL_SCROLLBAR_ALWAYS); + mConstraintTable.setAutoscrolls(true); + mConstraintTable.sizeColumnsToFit(true); + mConstraintTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); + // mTable.getSelectionModel().addListSelectionListener(this); + mScrollPane.setBackground(Color.white); + mConstraintTable.addMouseListener(this); + mConstraintTable.setDefaultRenderer(JComponent.class, new JComponentCellRenderer()); + mConstraintTable.setDefaultEditor(JComponent.class, new ProfileComponentCellEditor()); + + CMSAdminUtil.resetGBC(gbc); + gbc.anchor = gbc.NORTH; + gbc.fill = gbc.BOTH; + gbc.gridwidth = gbc.REMAINDER; + gbc.gridheight = gbc.REMAINDER; + gbc.weightx = 1.0; + gbc.weighty = 1.0; + // gbc.gridwidth = 1; + // gbc.weightx = 1.0; + gbc.insets = CMSAdminUtil.DEFAULT_EMPTY_INSETS; + gb.setConstraints(mScrollPane, gbc); + mListPanel.add(mScrollPane); + +/* + JPanel buttonPanel = createUserButtonPanel(); + CMSAdminUtil.resetGBC(gbc); + gbc.anchor = gbc.NORTH; + gbc.gridwidth = gbc.REMAINDER; + gbc.gridheight = gbc.REMAINDER; + gbc.weightx = 0.0; + gbc.weighty = 1.0; + gbc.insets = CMSAdminUtil.DEFAULT_EMPTY_INSETS; + gb.setConstraints(buttonPanel, gbc); + mListPanel.add(buttonPanel); +*/ + + return mListPanel; + } + + protected JPanel createUserButtonPanel() { + Debug.println("CMSPluginInstanceTab::createUserButtonPanel()"); + //edit, add, delete, help buttons required + //actionlister to this object + mEdit = CMSAdminUtil.makeJButton(mResource, PREFIX, "EDIT", null, this); + mAdd = CMSAdminUtil.makeJButton(mResource, PREFIX, "ADD", null, this); + mDelete = CMSAdminUtil.makeJButton(mResource, PREFIX, "DELETE", null, this); + JButton[] buttons = {mAdd, mDelete, mEdit}; + JButtonFactory.resize( buttons ); + return CMSAdminUtil.makeJButtonVPanel( buttons ); + } + + public void actionPerformed(ActionEvent evt) { + + if (evt.getSource().equals(mHelp)) { + CMSAdminUtil.help(mHelpToken); + } + if (evt.getSource().equals(mAdd)) { +/* + Debug.println("Add"); + PluginSelectionDialog dialog = + getPluginSelectionDialog( + mModel.getFrame(), + mConnection, + mDestination, + this + ); + + dialog.setModel(mModel); + dialog.showDialog(); + refresh(); +*/ + } + if (evt.getSource().equals(mDelete)) { + } + if (evt.getSource().equals(mEdit)) { + } + + if (evt.getSource().equals(mOK)) { + try { + String policySetStr = mDescField.getText().trim(); + String policyIDStr = mIdField.getText().trim(); + if (policySetStr == null || policySetStr.length() == 0) { + String msg = mResource.getString( + PREFIX+"_DIALOG_BLANKPOLICYSET_MESSAGE"); + CMSAdminUtil.showErrorDialog(mParentFrame, mResource, + msg ,CMSAdminUtil.ERROR_MESSAGE); + return; + } + if (policyIDStr == null || policyIDStr.length() == 0) { + String msg = mResource.getString( + PREFIX+"_DIALOG_BLANKPOLICYID_MESSAGE"); + CMSAdminUtil.showErrorDialog(mParentFrame, mResource, + msg ,CMSAdminUtil.ERROR_MESSAGE); + return; + } + if (mModel != null) { mModel.progressStart(); } + + NameValuePairs nvp = new NameValuePairs(); + String instanceName = mPluginName.getText().trim(); + + // create policy + String policyId = policySetStr + ":" + policyIDStr; + String name = instanceName + ";" + policyId + ";" + mDefaultId + ";" + mConstraintId; + //mAdminConnection.add(DestDef.DEST_CA_PROFILE_ADMIN, + mAdminConnection.add(mDest, + ScopeDef.SC_PROFILE_POLICIES, name, nvp); + +/* + nvp.add("impl", mImplName.getText()); + nvp.add("name", mNameField.getText()); + nvp.add("desc", mDescField.getText()); + nvp.add("config", mConfigField.getText()); +*/ + + for (int i = 0; i < mDefaultTable.getRowCount(); i++) { + JComponent comp = (JComponent)mDefaultTable.getValueAt(i,1); + String val = null; + if (comp instanceof JTextField) { + val = ((JTextField)comp).getText().trim(); + } else if (comp instanceof JComboBox) { + val = (String)(((JComboBox)comp).getSelectedItem()); + } + String name1 = ((JLabel)(mDefaultTable.getValueAt(i,0))).getText(); + nvp.add(name1, val); + } + + + //mAdminConnection.add(DestDef.DEST_CA_PROFILE_ADMIN, + mAdminConnection.add(mDest, + ScopeDef.SC_PROFILE_DEFAULT_POLICY, name, nvp); + + mIsOK = true; + if (mModel != null) { mModel.progressStop(); } + + nvp = new NameValuePairs(); + for (int i = 0; i < mConstraintTable.getRowCount(); i++) { + JComponent comp = (JComponent)mConstraintTable.getValueAt(i,1); + String val = null; + if (comp instanceof JTextField) { + val = ((JTextField)comp).getText().trim(); + } else if (comp instanceof JComboBox) { + val = (String)(((JComboBox)comp).getSelectedItem()); + } + + String name1 = ((JLabel)(mConstraintTable.getValueAt(i,0))).getText(); + nvp.add(name1, val); + } + instanceName = mPluginName.getText(); + //mAdminConnection.add(DestDef.DEST_CA_PROFILE_ADMIN, + mAdminConnection.add(mDest, + ScopeDef.SC_PROFILE_CONSTRAINT_POLICY, name, nvp); + + this.dispose(); + } + catch (EAdminException ex) { + mModel.progressStop(); + CMSAdminUtil.showErrorDialog(mParentFrame, mResource, + ex.toString(),CMSAdminUtil.ERROR_MESSAGE); + } + } + + if (evt.getSource().equals(mCancel)) { + this.dispose(); + } + + } + + public void showDialog(NameValuePairs data, String name) { + + mModel.progressStart(); + + // name = profileId;defId;configid + StringTokenizer st = new StringTokenizer(name, ";"); + String profileId = st.nextToken(); + String defId = st.nextToken(); + String conId = st.nextToken(); + + mDefaultId = defId; + mConstraintId = conId; + + // retrieve profile information + NameValuePairs response = null; + NameValuePairs request = new NameValuePairs(); + try { + name = profileId + ";" + defId; + response = mAdminConnection.read(DestDef.DEST_REGISTRY_ADMIN, + ScopeDef.SC_PROFILE_DEFAULT_POLICY, + defId, request); + } catch (EAdminException e) { +// CMSAdminUtil.showErrorDialog(mParentFrame, mResource, e.toString()); + mModel.progressStop(); + } + mModel.progressStop(); + + Vector defcolNames = new Vector(); + defcolNames.addElement("Parameter"); + defcolNames.addElement("Value"); + Vector defdata = new Vector(); + + for (Enumeration e = response.getNames(); e.hasMoreElements() ;) { + String entry = ((String)e.nextElement()).trim(); + String value = response.getValue(entry); + Debug.println("entry= "+entry); + Debug.println("value= "+value); + + Object obj = getComponent(value); + Vector row = new Vector(); + ((Component)obj).addFocusListener(this); + mHelpDesc.put(obj, getHelpDescription(value)); + row.addElement(new JLabel(entry)); + row.addElement(obj); + defdata.addElement(row); + } + ProfilePolicyEditDataModel defmodel = new ProfilePolicyEditDataModel(); + defmodel.setInfo(defdata, defcolNames); + mDefaultTable.setModel(defmodel); + + if (response != null) { + mPluginName.setText(profileId); + mPluginName.setBackground(getBackground()); + mPluginName.setEnabled(false); + mNameField.setText(response.getValue("name")); + mDescField.setText(response.getValue("desc")); + } + + // retrieve policy information + mModel.progressStart(); + try { + name = profileId + ";" + conId; + response = mAdminConnection.read(DestDef.DEST_REGISTRY_ADMIN, + ScopeDef.SC_PROFILE_CONSTRAINT_POLICY, + conId, + request); + } catch (EAdminException e) { +// CMSAdminUtil.showErrorDialog(mParentFrame, mResource, e.toString()); + mModel.progressStop(); + } + mModel.progressStop(); + + Vector colNames = new Vector(); + colNames.addElement("Parameter"); + colNames.addElement("Value"); + Vector d = new Vector(); + + for (Enumeration e = response.getNames(); e.hasMoreElements() ;) { + String entry = ((String)e.nextElement()).trim(); + String value = response.getValue(entry); + Debug.println("entry= "+entry); + Debug.println("value= "+value); + + Object obj = getComponent(value); + Vector row = new Vector(); + ((Component)obj).addFocusListener(this); + mHelpDesc.put(obj, getHelpDescription(value)); + row.addElement(new JLabel(entry)); + row.addElement(obj); + d.addElement(row); + } + ProfilePolicyEditDataModel model = new ProfilePolicyEditDataModel(); + model.setInfo(d, colNames); + mConstraintTable.setModel(model); + + String desc = mDescField.getText(); + if (desc == null || desc.equals("")) { + if (mDefSetId != null) { + mDescField.setText(mDefSetId); + } + } + + this.show(); + } + + protected void setLabelCellEditor(JTable table, int index) { +/* + table.getColumnModel().getColumn(index).setCellRenderer( + new PasswordCellRenderer()); +*/ + table.getColumnModel().getColumn(index).setCellEditor( + new DefaultCellEditor(new JTextField())); + } + + class JComponentCellRenderer implements TableCellRenderer { + public Component getTableCellRendererComponent(JTable table, + Object value, boolean isSelected, boolean hasFocus, int row, + int column) { + return (JComponent)value; + } + } + + private Object getComponent(String value) { + int start_pos = value.indexOf(';'); + int end_pos = value.lastIndexOf(';'); + int end1_pos = value.lastIndexOf(';',end_pos-1); + String syntax = null; + String syntaxVal = null; + String v = null; + + syntax = value.substring(0,start_pos); + syntaxVal = value.substring(start_pos+1, end1_pos); + v = value.substring(end_pos+1); +/* + StringTokenizer st = new StringTokenizer(value, ";"); + String syntax = null; + String syntaxVal = null; + String v = null; + while (st.hasMoreTokens()) { + try { + syntax = st.nextToken(); + syntaxVal = st.nextToken(); + v = st.nextToken(); + } catch (Exception e) { + } + } +*/ + if (syntax != null) { + return CMSAdminUtil.createTableCell(syntax, syntaxVal, v); + } + + return null; + } + + private String getHelpDescription(String value) { + int start_pos = value.indexOf(';'); + int end_pos = value.lastIndexOf(';'); + int end1_pos = value.lastIndexOf(';',end_pos-1); + String syntax = null; + String syntaxVal = null; + String v = null; + syntax = value.substring(0,start_pos); + syntaxVal = value.substring(start_pos+1, end_pos); + v = value.substring(end1_pos+1,end_pos); + return v; + } + + /** + * From focuslistener interface. This lets us know when a component + * has received focus, so we can update the help text. + */ + public void focusGained(FocusEvent f) { + Debug.println("focusGained"); + Component comp = f.getComponent(); + String desc = (String)mHelpDesc.get(comp); + if (desc != null) { + mHelpLabel.setText(desc); + } + } + + /** need to supply this method for focuslistener, but we + * really don't care about it + */ + public void focusLost(FocusEvent f) { + Debug.println("focusLost"); + } +} |