📄 usermanagerdialog.java
字号:
/*ARMiner - Association Rules MinerCopyright (C) 2000 UMass/Boston - Computer Science DepartmentThis program is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or (atyour option) any later version.This program is distributed in the hope that it will be useful, butWITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNUGeneral Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307USAThe ARMiner Server was written by Dana Cristofor and LaurentiuCristofor.The ARMiner Client was written by Abdelmajid Karatihy, Xiaoyong Kuang,and Lung-Tsung Li.The ARMiner package is currently maintained by Laurentiu Cristofor(laur@cs.umb.edu).*//* This file is a part of the ARMiner project. (P)1999-2000 by ARMiner Client Team: Abdelmajid Karatihy Xiaoyong Kuang Lung-Tsung Li*/import javax.swing.*;import java.util.*;import java.awt.event.*;/* Maintenance log started on November 20th, 2000 by Laurentiu Cristofor Nov. 20th, 2000 - made some style changes - changed text for some labels Nov. 21st, 2000 - resized and repositioned widgets Nov. 22nd, 2000 - eliminated the password confirmation check on lost focus, it didn't work correctly - eliminated an error that made it impossible to change the password*/ /** * UserManagerDialog.java<P> * * Create a dialog to allow the user to be able to add a new user, change an * existing user's name, password, previledges and his associated group. * */public class UserManagerDialog extends CenteredDialog implements FocusListener{ /** Initializes the Form */ public UserManagerDialog(javax.swing.JFrame parent, boolean modal, Vector users, Vector groups) { super (parent, "User Management", modal); this.parent = parent; setSize(480,380); this.users = users; users.insertElementAt("New User", 0); usergroup.add("all"); defGroup.add("all"); this.groups = groups; setNonUserGroups(); initComponents (); setLocation(getDialogCenteredLoc(parent)); setResizable(false); } /** This method is called from within the constructor to * initialize the form. * WARNING: Do NOT modify this code. The content of this method is * always regenerated by the FormEditor. */ private void initComponents () {//GEN-BEGIN:initComponents //setBackground (new java.awt.Color (204, 204, 204)); addWindowListener (new java.awt.event.WindowAdapter () { public void windowClosing (java.awt.event.WindowEvent evt) { closeDialog (evt); } }); getContentPane ().setLayout (new com.netbeans.developer.awt.AbsoluteLayout ()); jbtnClose = new javax.swing.JButton ("Close"); jbtnClose.setMnemonic(KeyEvent.VK_C); jbtnClose.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { jbtnCloseActionPerformed (); } }); jbtnClose.addKeyListener(new KeyAdapter() { public void keyPressed(KeyEvent evt) { if (evt.getKeyCode() == KeyEvent.VK_ENTER){ jbtnCloseActionPerformed(); } } }); getContentPane ().add (jbtnClose, new com.netbeans.developer.awt.AbsoluteConstraints (390, 30, 75, 25)); jbtnClose.requestFocus(); getContentPane ().add (new javax.swing.JLabel("User List:"), new com.netbeans.developer.awt.AbsoluteConstraints (20, 10, 90, 20)); jcbUserList = new javax.swing.JComboBox (users); jcbUserList.setMaximumRowCount(6); jcbUserList.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { jcbUserListActionPerformed (evt); } }); getContentPane ().add (jcbUserList, new com.netbeans.developer.awt.AbsoluteConstraints (20, 30, 120, 25)); getContentPane ().add (new javax.swing.JLabel("User Name:"), new com.netbeans.developer.awt.AbsoluteConstraints (20, 70, 90, 20)); jtxfUserName = new javax.swing.JTextField (); getContentPane ().add (jtxfUserName, new com.netbeans.developer.awt.AbsoluteConstraints (100, 70, 90, 25)); getContentPane ().add (new javax.swing.JLabel("Password:"), new com.netbeans.developer.awt.AbsoluteConstraints (20, 110, 70, 20)); jpfPassword = new javax.swing.JPasswordField (); getContentPane ().add (jpfPassword, new com.netbeans.developer.awt.AbsoluteConstraints (100, 110, 90, 25)); getContentPane ().add (new javax.swing.JLabel("Confirm"), new com.netbeans.developer.awt.AbsoluteConstraints (20, 148, 80, 20)); getContentPane ().add (new javax.swing.JLabel("Password:"), new com.netbeans.developer.awt.AbsoluteConstraints (20, 165, 80, 20)); jpfPasswordConfrm = new javax.swing.JPasswordField (); jpfPasswordConfrm.addFocusListener(this); getContentPane ().add (jpfPasswordConfrm, new com.netbeans.developer.awt.AbsoluteConstraints (100, 150, 90, 25)); getContentPane ().add (new javax.swing.JLabel ("User Permissions:"), new com.netbeans.developer.awt.AbsoluteConstraints (205, 65, 120, 20)); jchbAddAlg = new javax.swing.JCheckBox ("Add Algorithms"); jchbAddAlg.setMnemonic(KeyEvent.VK_L); jchbAddAlg.addItemListener(new java.awt.event.ItemListener () { public void itemStateChanged (java.awt.event.ItemEvent evt) { jchbAddAlgActionPerformed (evt); } }); getContentPane ().add (jchbAddAlg, new com.netbeans.developer.awt.AbsoluteConstraints (330, 65, 120, 20)); jchbAddDB = new javax.swing.JCheckBox ("Add Databases"); jchbAddDB.setMnemonic(KeyEvent.VK_B); jchbAddDB.addItemListener(new java.awt.event.ItemListener () { public void itemStateChanged (java.awt.event.ItemEvent evt) { jchbAddDBActionPerformed (evt); } }); getContentPane ().add (jchbAddDB, new com.netbeans.developer.awt.AbsoluteConstraints (330, 92, 110, 20)); jchbAddGroup = new javax.swing.JCheckBox ("Add Groups"); jchbAddGroup.setMnemonic(KeyEvent.VK_G); jchbAddGroup.addItemListener(new java.awt.event.ItemListener () { public void itemStateChanged (java.awt.event.ItemEvent evt) { jchbAddGroupActionPerformed (evt); } }); getContentPane ().add (jchbAddGroup, new com.netbeans.developer.awt.AbsoluteConstraints (330, 119, 110, 20)); getContentPane ().add (new javax.swing.JLabel("Not User Groups:"), new com.netbeans.developer.awt.AbsoluteConstraints (20, 200, 140, 20)); jlstGroupList = new javax.swing.JList (nonUsergroups); jlstGroupList.setBorder (new javax.swing.border.EtchedBorder ()); scrollPane1 = new JScrollPane(jlstGroupList); scrollPane1.setAlignmentX(LEFT_ALIGNMENT); scrollPane1.setAlignmentY(TOP_ALIGNMENT); getContentPane ().add (scrollPane1, new com.netbeans.developer.awt.AbsoluteConstraints (20, 220, 160, 120)); jbtnForward = new javax.swing.JButton (last); jbtnForward.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { jbtnForwardActionPerformed (evt); } }); getContentPane ().add (jbtnForward, new com.netbeans.developer.awt.AbsoluteConstraints (210, 240, 43, 30)); jbtnBackward = new javax.swing.JButton (first); jbtnBackward.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { jbtnBackwardActionPerformed (evt); } }); getContentPane ().add (jbtnBackward, new com.netbeans.developer.awt.AbsoluteConstraints (210, 290, 43, 30)); getContentPane().add (new javax.swing.JLabel("User Groups:"), new com.netbeans.developer.awt.AbsoluteConstraints (290, 200, 90, 20)); jlstUserGroup = new javax.swing.JList (usergroup); jlstUserGroup.setBorder (new javax.swing.border.EtchedBorder ()); scrollPane2 = new JScrollPane(jlstUserGroup); scrollPane2.setAlignmentX(LEFT_ALIGNMENT); scrollPane2.setAlignmentY(TOP_ALIGNMENT); getContentPane ().add (scrollPane2, new com.netbeans.developer.awt.AbsoluteConstraints (290, 220, 160, 120)); jbtnMakeDefault = new javax.swing.JButton ("Make Default"); jbtnMakeDefault.setMnemonic(KeyEvent.VK_M); jbtnMakeDefault.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { jbtnMakeDefaultActionPerformed (evt); } }); getContentPane ().add (jbtnMakeDefault, new com.netbeans.developer.awt.AbsoluteConstraints (330, 150, 130, 25)); jbtnAdd = new javax.swing.JButton ("Add"); jbtnAdd.setMnemonic(KeyEvent.VK_A); jbtnAdd.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { jbtnAddActionPerformed (evt); } }); getContentPane ().add (jbtnAdd, new com.netbeans.developer.awt.AbsoluteConstraints (150, 30, 75, 25)); jbtnDelete = new javax.swing.JButton ("Delete"); jbtnDelete.setMnemonic(KeyEvent.VK_D); jbtnDelete.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { jbtnDeleteActionPerformed (evt); } }); getContentPane ().add (jbtnDelete, new com.netbeans.developer.awt.AbsoluteConstraints (230, 30, 75, 25)); jbtnSave = new javax.swing.JButton ("Save"); jbtnSave.setMnemonic(KeyEvent.VK_S); jbtnSave.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { jbtnSaveActionPerformed (evt); } }); getContentPane ().add (jbtnSave, new com.netbeans.developer.awt.AbsoluteConstraints (310, 30, 75, 25)); jbtnSave.setEnabled(false); jbtnRefresh = new javax.swing.JButton ("Refresh"); jbtnRefresh.setMnemonic(KeyEvent.VK_R); jbtnRefresh.addActionListener (new java.awt.event.ActionListener () { public void actionPerformed (java.awt.event.ActionEvent evt) { jbtnRefreshActionPerformed (evt); } }); getContentPane ().add (jbtnRefresh, new com.netbeans.developer.awt.AbsoluteConstraints (230, 150, 90, 25)); jbtnClose.setNextFocusableComponent(jcbUserList); jcbUserList.setNextFocusableComponent(jtxfUserName); jtxfUserName.setNextFocusableComponent(jpfPassword); jpfPassword.setNextFocusableComponent(jpfPasswordConfrm); jpfPasswordConfrm.setNextFocusableComponent(jchbAddAlg); jchbAddAlg.setNextFocusableComponent(jchbAddDB); jchbAddDB.setNextFocusableComponent(jchbAddGroup); jchbAddGroup.setNextFocusableComponent(jlstGroupList); jchbAddGroup.setNextFocusableComponent(jbtnMakeDefault); jbtnMakeDefault.setNextFocusableComponent(jlstGroupList); jlstGroupList.setNextFocusableComponent(jbtnForward); jbtnForward.setNextFocusableComponent(jbtnBackward); jbtnBackward.setNextFocusableComponent(jlstUserGroup); jlstUserGroup.setNextFocusableComponent(jbtnAdd); jbtnAdd.setNextFocusableComponent(jbtnDelete); jbtnDelete.setNextFocusableComponent(jbtnSave); jbtnSave.setNextFocusableComponent(jbtnRefresh); jbtnRefresh.setNextFocusableComponent(jbtnClose); }//GEN-END:initComponents private void jbtnCloseActionPerformed () {//GEN-FIRST:event_jbtnCloseActionPerformed // Add your handling code here: setVisible (false); dispose (); parent.repaint(); }//GEN-LAST:event_jbtnCloseActionPerformed private void jcbUserListActionPerformed (java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jcbUserListActionPerformed // Add your handling code here: if (isReload == true) return; reinitialize(); if (jcbUserList.getSelectedIndex() == 0) { setupForNewUser(); return; } refresh(); repaint(); jbtnAdd.setEnabled(false); jbtnSave.setEnabled(true); selectedUser = (String)jcbUserList.getSelectedItem(); if (!users.contains(selectedUser)) { JOptionPane.showMessageDialog(this, "The selected user: " + selectedUser + " is no longer in the system."); reinitialize(); jcbUserList.setSelectedIndex(0); setupForNewUser(); return; } resetUserInfo(selectedUser); jtxfUserName.setText(userInfo.userName); setUserPermissions(userInfo.permission); copy(userInfo.userGroups, usergroup); jlstUserGroup.setListData(usergroup); setNonUserGroups(); jlstGroupList.setListData(nonUsergroups); isNewUser = false; }//GEN-LAST:event_jcbUserListActionPerformed private void setupForNewUser() { isNewUser = true; selectedUser = null; jbtnAdd.setEnabled(true); jbtnSave.setEnabled(false); jtxfUserName.requestFocus(); } private void resetUserInfo(String user) { if (user == null) return; userInfo = new UserInfo(user); //System.out.println("User Info from dbConfig: " + userInfo.toString()); } private void setUserPermissions(long permission) { if ((DBConfig.ADD_NEW_GROUPS & permission) == DBConfig.ADD_NEW_GROUPS) jchbAddGroup.setSelected(true); else jchbAddGroup.setSelected(false); if ((DBConfig.ADD_NEW_ALGORITHMS & permission) == DBConfig.ADD_NEW_ALGORITHMS) jchbAddAlg.setSelected(true); else jchbAddAlg.setSelected(false); if ((DBConfig.ADD_NEW_DATABASES & permission) == DBConfig.ADD_NEW_DATABASES) jchbAddDB.setSelected(true); else jchbAddDB.setSelected(false); } private void jbtnAddActionPerformed (java.awt.event.ActionEvent evt) { if (isNewUser == false) return; Vector info = new Vector(); String pass = new String(); String user = jtxfUserName.getText().trim(); if (user.equals("")) { JOptionPane.showMessageDialog(this, "Must specify the user's name"); jtxfUserName.requestFocus(); return; } info.add(user); pass = new String(jpfPassword.getPassword()).trim(); if (pass.equals("")) { JOptionPane.showMessageDialog(this, "Must specify the user's password"); jpfPassword.requestFocus(); return; } if (!checkPasswordConfirmation()) { JOptionPane.showMessageDialog(this, "Passwords do not match."); jpfPassword.setText(""); jpfPasswordConfrm.setText(""); jpfPassword.requestFocus(); return; } info.add(pass); info.add(new Long(getPermission())); if (usergroup.isEmpty()) { JOptionPane.showMessageDialog(this, "Must select at least one group for the user."); jbtnForward.requestFocus(); return; } info.add(usergroup); try { Client.addUser(info); JOptionPane.showMessageDialog(this, "The new user: " + user + " has been successfully added."); jcbUserList.setSelectedIndex(0); jcbUserList.addItem(user); //System.out.println("users now = " + users.toString()); reinitialize(); } catch(ClientErrorException e) { JOptionPane.showMessageDialog(this, "UserManagerDialog: Client Error in adding an user:\n " + e.toString() + "\nTransaction aborted!"); reinitialize(); return; } catch(ClientWarningException e) { JOptionPane.showMessageDialog(this, "UserManagerDialog: Client Warning in adding a User:\n " + e.toString()); } //isConfirmed = false; return; } private void reinitialize() { jlstUserGroup.clearSelection(); jchbAddAlg.setSelected(defAddAlg); jchbAddDB.setSelected(defAddDB); jchbAddGroup.setSelected(defAddGrp); jtxfUserName.setText(""); jpfPassword.setText(""); jpfPasswordConfrm.setText(""); usergroup.clear(); jlstUserGroup.setListData(defGroup); usergroup = (Vector)defGroup.clone(); setNonUserGroups(); jlstGroupList.setListData(nonUsergroups); return; } private void jbtnBackwardActionPerformed (java.awt.event.ActionEvent evt) { if (jlstUserGroup.isSelectionEmpty()) return; Object[] values = jlstUserGroup.getSelectedValues(); for (int i = 0; i < values.length; i++) { if (usergroup.contains(values[i])) if (((String)values[i]).equals("all")) { JOptionPane.showMessageDialog(this, "Can not remove group all as default group for each user."); return; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -