diff options
Diffstat (limited to 'pki/base/console/src/com/netscape/admin/certsrv/ug/UserTab.java')
-rw-r--r-- | pki/base/console/src/com/netscape/admin/certsrv/ug/UserTab.java | 374 |
1 files changed, 0 insertions, 374 deletions
diff --git a/pki/base/console/src/com/netscape/admin/certsrv/ug/UserTab.java b/pki/base/console/src/com/netscape/admin/certsrv/ug/UserTab.java deleted file mode 100644 index 78b7e5252..000000000 --- a/pki/base/console/src/com/netscape/admin/certsrv/ug/UserTab.java +++ /dev/null @@ -1,374 +0,0 @@ -// --- 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.ug; - -import com.netscape.admin.certsrv.*; -import com.netscape.admin.certsrv.connection.*; -import javax.swing.*; -import java.awt.event.*; -import java.awt.*; -import java.util.*; - -import com.netscape.management.client.util.*; -import com.netscape.certsrv.common.*; - -/** - * User Tab - this UI component provides the user - * management functionality of the certificate server. - * - * @author Jack Pan-Chen - * @version $Revision$, $Date$ - * - * @see com.netscape.admin.certsrv.ug.CertImportDialog - * @see com.netscape.admin.certsrv.ug.CertManagementDialog - * @see com.netscape.admin.certsrv.ug.CertViewDialog - * @see com.netscape.admin.certsrv.ug.UserEditor - */ -public class UserTab extends CMSBaseUGTab { - - /*========================================================== - * variables - *==========================================================*/ - private static final String PANEL_NAME = "USERTAB"; - private AdminConnection mConnection; - - protected JScrollPane mScrollPane; - protected JTable mTable; //table - protected UserDataModel mDataModel; //table model - protected UserEditor mEditor=null; //keep single copy - protected UserEditor mAddEditor=null; //keep single copy - protected CertManagementDialog mCertEditor=null; //single copy - protected JButton mRefresh, mEdit, mAdd, mDelete, mHelp, mCert; - private final static String HELPINDEX = "usersgroups-certsrv-users-help"; - - /*========================================================== - * constructors - *==========================================================*/ - public UserTab(CMSBaseResourceModel model) { - super(PANEL_NAME, model); - mConnection = model.getServerInfo().getAdmin(); - mDataModel = new UserDataModel(); - mHelpToken = HELPINDEX; - } - - /*========================================================== - * public methods - *==========================================================*/ - - /** - * refresh the content of the tab - * IRefreshTab menthod - */ - public void refresh() { - //Debug.println("refresh() user tab"); - - mDataModel.removeAllRows(); - updateUser(); - setButtons(); - mTable.invalidate(); - mTable.validate(); - mScrollPane.invalidate(); - mScrollPane.validate(); - mScrollPane.repaint(1); - } - - /*========================================================== - * EVNET HANDLER METHODS - *==========================================================*/ - - //=== ACTIONLISTENER ===================== - public void actionPerformed(ActionEvent e) { - if (e.getSource().equals(mRefresh)) { - Debug.println("Refresh User"); - refresh(); - } else if (e.getSource().equals(mEdit)) { - if(mTable.getSelectedRow()< 0) - return; - - Debug.println("Edit User"); - String userName = (String) - mDataModel.getObjectValueAt(mTable.getSelectedRow()); - - mAddEditor = new UserEditor(mModel.getFrame(), mConnection, - false); - mAddEditor.showDialog(userName); - mAddEditor.dispose(); - refresh(); - } else if (e.getSource().equals(mAdd)) { - mAddEditor = new UserEditor(mModel.getFrame(), mConnection, true); - mAddEditor.showDialog(""); - if (mAddEditor.isUserAdded()) - refresh(); - mAddEditor.dispose(); - } else if (e.getSource().equals(mDelete)) { - Debug.println("Delete User"); - if(mTable.getSelectedRow()< 0) - return; - int i = showConfirmDialog("DELETE"); - if (i == JOptionPane.YES_OPTION) { - deleteUser(); - Debug.println("User Deleted"); - } - } else if (e.getSource().equals(mHelp)) { - helpCallback(); - } else if (e.getSource().equals(mCert)) { - String userName = (String) - mDataModel.getObjectValueAt(mTable.getSelectedRow()); - if (mCertEditor==null) - mCertEditor = new CertManagementDialog(mModel.getFrame(), mConnection); - mCertEditor.showDialog(userName); - Debug.println("Cert"); - //refresh(); - //XXX HELP - } - } - - //==== MOUSELISTENER ====================== - public void mouseClicked(MouseEvent e) { - //Debug.println("CertRepositoryPanel: mouseClicked() -"+e.toString()); - setButtons(); - - //we track the double click action on the table entry - View op - if(mTable.getSelectedRow() >= 0) { - if(e.getClickCount() == 2) { - Debug.println("Edit User"); - //editUser(); - } - } - } - - public void mouseReleased(MouseEvent e) { - setButtons(); - } - - /*========================================================== - * protected methods - *==========================================================*/ - - /** - * create the user action button panel - */ - protected JPanel createUserButtonPanel() { - //edit, add, delete, help buttons required - //actionlister to this object - mEdit = makeJButton("EDIT"); - mAdd = makeJButton("ADD"); - mDelete = makeJButton("DELETE"); - mCert = makeJButton("CERT"); - JButton[] buttons = {mAdd, mDelete, mEdit, mCert}; - JButtonFactory.resize( buttons ); - return CMSAdminUtil.makeJButtonVPanel( buttons ); - } - - protected JPanel createActionPanel() { - //edit, add, delete, help buttons required - //actionlister to this object - mRefresh = makeJButton("REFRESH"); - mHelp = makeJButton("HELP"); - //JButton[] buttons = { mRefresh, mHelp }; - JButton[] buttons = { mRefresh }; - return makeJButtonPanel( buttons, true); - } - - protected JPanel createListPanel() { - mListPanel = new JPanel(); - GridBagLayout gb = new GridBagLayout(); - GridBagConstraints gbc = new GridBagConstraints(); - mListPanel.setLayout(gb); - - //center table - mTable = new JTable(mDataModel); - mScrollPane = JTable.createScrollPaneForTable(mTable); - //mScrollPane.setBorder(CMSAdminUtil.makeTitledBorder(mResource,PANEL_NAME,"USERS")); - mScrollPane.setHorizontalScrollBarPolicy(mScrollPane.HORIZONTAL_SCROLLBAR_NEVER); - mScrollPane.setVerticalScrollBarPolicy(mScrollPane.VERTICAL_SCROLLBAR_ALWAYS); - mTable.setAutoscrolls(true); - mTable.sizeColumnsToFit(true); - mTable.getSelectionModel().setSelectionMode(ListSelectionModel.SINGLE_SELECTION); - mTable.getSelectionModel().addListSelectionListener(this); - mTable.addMouseListener(this); - mScrollPane.setBackground(Color.white); - setLabelCellRenderer(mTable,0); - - CMSAdminUtil.resetGBC(gbc); - gbc.anchor = gbc.NORTH; - gbc.fill = gbc.BOTH; - gbc.gridwidth = 1; - gbc.weightx = 1.0; - gbc.insets = 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 = EMPTY_INSETS; - gb.setConstraints(buttonPanel, gbc); - mListPanel.add(buttonPanel); - - refresh(); - - return mListPanel; - } - - //Set the first column's cellrender as label cell - protected void setLabelCellRenderer(JTable table, int index) { - table.getColumnModel().getColumn(index).setCellRenderer(new LabelCellRenderer(new JLabel())); - } - - /*========================================================== - * private methods - *==========================================================*/ - - /** - * set buttons - proactive verification - */ - private void setButtons() { - - //enable and diable buttons accordingly - if (mTable.getSelectionModel().isSelectionEmpty()) { - mDelete.setEnabled(false); - mEdit.setEnabled(false); - mCert.setEnabled(false); - return; - } - - if(mDataModel.getRowCount()< 0) { - mDelete.setEnabled(false); - mEdit.setEnabled(false); - mCert.setEnabled(false); - return; - } - - mDelete.setEnabled(true); - mEdit.setEnabled(true); - mCert.setEnabled(true); - - } - - //============================================= - // SEND REQUESTS TO THE SERVER SIDE - //============================================= - - private void updateUser() { - //send request and parse data - - NameValuePairs response; - mModel.progressStart(); - - try { - response = mConnection.search(DestDef.DEST_USER_ADMIN, - ScopeDef.SC_USERS, - new NameValuePairs()); - } catch (EAdminException e) { - //display error dialog - showErrorDialog(e.getMessage()); - mModel.progressStop(); - return; - } - - Debug.println(response.toString()); - - String responseValue = response.get("userInfo"); - - StringTokenizer tokenizer = new StringTokenizer(responseValue, ";"); - StringTokenizer subTokenizer = null; - - Vector store = new Vector(); - Hashtable table = new Hashtable(); - - while (tokenizer.hasMoreTokens()) { - String t = (String)tokenizer.nextToken(); - subTokenizer = new StringTokenizer(t, ":"); - int i=0; - String str1 = null; - String str2 = null; - while (subTokenizer.hasMoreTokens()) { - if (i == 0) { - str1 = (String)subTokenizer.nextToken(); - store.addElement(str1); - } else { - str2 = (String)subTokenizer.nextToken(); - table.put(str1, str2); - } - i++; - } - } - - String[] names = new String[store.size()]; - store.copyInto(names); - - if (names.length > 1) { - names = CMSAdminUtil.randomize(names); - CMSAdminUtil.quickSort(names, 0, names.length-1); - } - - for (int y=0; y< names.length ; y++) { - String s = (String)table.get(names[y]); - mDataModel.processData(names[y], s); - } - - if (mDataModel.getRowCount() >0) - mTable.setRowSelectionInterval(0,0); - - mModel.progressStop(); - } - - private void deleteUser() { - //get entry name - String userName = (String) - mDataModel.getObjectValueAt(mTable.getSelectedRow()); - - mModel.progressStart(); - //send comment to server for the removal of user - try { - mConnection.delete(DestDef.DEST_USER_ADMIN, - ScopeDef.SC_USERS, - userName); - } catch (EAdminException e) { - String str = e.toString(); - - if (str.indexOf("The user") == 0) { - int i = - JOptionPane.showConfirmDialog(new JFrame(), str, - "Information", JOptionPane.YES_NO_OPTION, - JOptionPane.INFORMATION_MESSAGE, - CMSAdminUtil.getImage(CMSAdminResources.IMAGE_INFO_ICON)); - if (i == JOptionPane.YES_OPTION) { - Debug.println("User Deleted"); - try { - mConnection.delete(DestDef.DEST_USER_ADMIN, - ScopeDef.SC_USERS, - userName+":true"); - } catch (EAdminException ee) { - showErrorDialog(ee.getMessage()); - } - } - } - } - - mModel.progressStop(); - //send comment to server and refetch the content - refresh(); - } - -} |