📄 usermanagerdialog.java
字号:
usergroup.remove(values[i]); } jlstUserGroup.setListData(usergroup); for (int i = 0; i < values.length; i++) { if (!nonUsergroups.contains(values[i])) nonUsergroups.add(values[i]); } jlstGroupList.setListData(nonUsergroups); return; } public void focusGained(FocusEvent e) { } public void focusLost(FocusEvent e) { /* String pass = new String(jpfPassword.getPassword()).trim(); String conf = new String(jpfPasswordConfrm.getPassword()).trim(); if (pass.equals("")) return; if (conf.equals("")) { JOptionPane.showMessageDialog(this, "Must confirm the user's password"); return; } else if (!conf.equals(pass)) { JOptionPane.showMessageDialog(this, "Passwords do not match."); jpfPassword.setText(""); jpfPasswordConfrm.setText(""); jpfPassword.requestFocus(); return; } else isConfirmed = true; */ } private boolean checkPasswordConfirmation() { String pass = new String(jpfPassword.getPassword()).trim(); String conf = new String(jpfPasswordConfrm.getPassword()).trim(); if (pass.equals("")) return false; if (!conf.equals(pass)) return false; return true; } private void jbtnSaveActionPerformed (java.awt.event.ActionEvent evt) { Vector info = new Vector(); boolean isChanged = false; String user = jtxfUserName.getText().trim(); if (!user.equals(userInfo.userName)) { info.add(userInfo.userName); info.add(user); try { Client.modifyUserName(info); JOptionPane.showMessageDialog(this, "The user " + userInfo.userName + " has been succesfully changed to " + user); refresh(); selectedUser = user; jcbUserList.setSelectedItem(selectedUser); isChanged = true; } catch(ClientErrorException e) { JOptionPane.showMessageDialog(this, "UserManagerDialog: Client Error in modifying user's name:\n " + e.toString() + "\nTransaction aborted!"); jtxfUserName.selectAll(); jtxfUserName.requestFocus(); return; } } long perm = getPermission(); //System.out.println("Permission = " + perm); //System.out.println("Old permission = " + userInfo.permission); info.clear(); if (perm != userInfo.permission) { info.add(user); info.add(new Long(perm)); try { Client.modifyUserPrivlg(info); JOptionPane.showMessageDialog(this, "The user permissions have been successfully modified."); //repaint(); isChanged = true; refresh(); resetUserInfo(selectedUser); } catch(ClientErrorException e) { JOptionPane.showMessageDialog(this, "UserManagerDialog: Client Error in modifying user's permissions:\n " + e.toString() + "\nTransaction aborted!"); return; } } String pass = new String(jpfPassword.getPassword()).trim(); info.clear(); if (!pass.equals("") && !pass.equals(userInfo.password)) { if (!checkPasswordConfirmation()) { JOptionPane.showMessageDialog(this, "Passwords do not match."); jpfPassword.setText(""); jpfPasswordConfrm.setText(""); jpfPassword.requestFocus(); return; } info.add(user); info.add(pass); try { Client.modifyUserPassword(info); JOptionPane.showMessageDialog(this, "The user password has been successfully modified."); //repaint(); isChanged = true; refresh(); //repaint(); } catch(ClientErrorException e) { JOptionPane.showMessageDialog(this, "UserManagerDialog: Client Error in modifying user's password:\n " + e.toString() + "\nTransaction aborted!"); return; } } info.clear(); if (!usergroup.equals(userInfo.userGroups)) { info.add(user); info.add(usergroup); try { Client.setGroupsForUser(info); JOptionPane.showMessageDialog(this, "The user's groups have been successfully modified."); //repaint(); isChanged = true; refresh(); resetUserInfo(selectedUser); } catch(ClientErrorException e) { JOptionPane.showMessageDialog(this, "UserManagerDialog: Client Error in resetting user's groups:\n " + e.toString() + "\nTransaction aborted!"); return; } catch(ClientWarningException e) { JOptionPane.showMessageDialog(this, "UserManagerDialog: Client Warning in resetting user's groups:\n " + e.toString()); } } if (isChanged == false) JOptionPane.showMessageDialog(this, "User information doesn't get changed, no transaction performed!"); return; } private void jbtnForwardActionPerformed (java.awt.event.ActionEvent evt) { if (jlstGroupList.isSelectionEmpty()) return; Object[] values = jlstGroupList.getSelectedValues(); for (int i = 0; i < values.length; i++) { nonUsergroups.remove(values[i]); } for (int i = 0; i < values.length; i++) { if (!usergroup.contains(values[i])) usergroup.add(values[i]); } jlstUserGroup.setListData(usergroup); jlstGroupList.setListData(nonUsergroups); return; } private void jbtnDeleteActionPerformed (java.awt.event.ActionEvent evt) { int index = jcbUserList.getSelectedIndex(); if (index <= 0) { JOptionPane.showMessageDialog(this, "Must select a user to delete."); return; } String user = (String)jcbUserList.getSelectedItem(); int result; result = JOptionPane.showConfirmDialog(this, "You are about to delete the user " + user + ". Are you sure you want to do that?" ); if (result == JOptionPane.NO_OPTION) return; else if (result == JOptionPane.YES_OPTION) { Vector request = new Vector(); request.add(user); try { //System.out.println("The user deleted " + request.toString()); Client.deleteUser(request); JOptionPane.showMessageDialog(this, "The user: " + user + " has been successfully deleted."); } catch(ClientErrorException e) { JOptionPane.showMessageDialog(this, "UserManager: Client Error in deleting user from DBConfig:\n " + e.toString() + "\nTransaction aborted!"); return; } catch(Exception e) { JOptionPane.showMessageDialog(this, "UserManager: Client Error in deleting user from DBConfig:\n " + e.toString() + "\nTransaction aborted!"); return; } users.remove(user); jcbUserList.setSelectedIndex(0); reinitialize(); repaint(); } } private long getPermission() { return addNewAlg | addNewDB | addNewGroup ; } private void jchbAddAlgActionPerformed (java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jchbAddAlgActionPerformed if (evt.getStateChange() == ItemEvent.SELECTED) addNewAlg = DBConfig.ADD_NEW_ALGORITHMS; if (evt.getStateChange() == ItemEvent.DESELECTED) addNewAlg = 0; }//GEN-LAST:event_jchbAddAlgActionPerformed private void jchbAddDBActionPerformed (java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jchbAddDBActionPerformed if (evt.getStateChange() == ItemEvent.SELECTED) addNewDB = DBConfig.ADD_NEW_DATABASES; if (evt.getStateChange() == ItemEvent.DESELECTED) addNewDB = 0; }//GEN-LAST:event_jchbAddDBActionPerformed private void jchbAddGroupActionPerformed (java.awt.event.ItemEvent evt) {//GEN-FIRST:event_jchbAddGroupActionPerformed if (evt.getStateChange() == ItemEvent.SELECTED) addNewGroup = DBConfig.ADD_NEW_GROUPS; if (evt.getStateChange() == ItemEvent.DESELECTED) addNewGroup = 0; }//GEN-LAST:event_jchbAddGroupActionPerformed private void jbtnRefreshActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnRefreshActionPerformed refresh(); if ((!users.contains(selectedUser)) && (selectedUser != null)) { JOptionPane.showMessageDialog(this, "UserManager: the selected user " + selectedUser + " is likely to have been removed by another user."); reinitialize(); jcbUserList.setSelectedIndex(0); selectedUser = null; jbtnAdd.setEnabled(true); jbtnSave.setEnabled(false); setNonUserGroups(); jlstGroupList.setListData(nonUsergroups); jtxfUserName.requestFocus(); return; } isReload = true; jcbUserList.removeAllItems(); for (int i = 0; i < refUsers.size(); i++) jcbUserList.addItem(refUsers.get(i)); isReload = false; setNonUserGroups(); jlstGroupList.setListData(nonUsergroups); if (selectedUser == null) return; jcbUserList.setSelectedItem(selectedUser); //userInfo = new UserInfo(selectedUser); //copy(userInfo.userGroups,usergroup); //jlstUserGroup.setListData(usergroup); }//GEN-LAST:event_jbtnRefreshActionPerformed private void setNonUserGroups() { nonUsergroups = (Vector)groups.clone(); for (int i = 0; i < usergroup.size(); i++) { String temp = (String)usergroup.get(i); if (nonUsergroups.contains(temp)) nonUsergroups.remove(temp); } } private void refresh() { try { Client.getDBConfig1(); } catch(ClientErrorException e) { JOptionPane.showMessageDialog(this, "UserManager: Client Error in getting DBConfig:\n " + e.toString() + "\nTransaction aborted!"); return; } copy(Client.dbConfig.listUsers(),users); //System.out.println("refresh: GroupManager: Users:" + users); users.insertElementAt("New User", 0); refUsers = (Vector)users.clone(); try { copy(Client.dbConfig.listGroups(Client.userName),groups); setNonUserGroups(); //System.out.println("refresh: GroupManager: Groups:" + groups); } catch(DBConfigException e) { JOptionPane.showMessageDialog(this, "UserManager: Client Error in getting groups from DBConfig:\n " + e.toString() + "\nTransaction aborted!"); return; } } private void copy(Vector v1, Vector v2) { v2.clear(); for (int i = 0; i < v1.size(); i++) v2.add(v1.get(i)); return; } private void jbtnMakeDefaultActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jbtnMakeDefaultActionPerformed defAddDB = false; defAddAlg = false; defAddGrp = false; if (addNewDB == DBConfig.ADD_NEW_DATABASES) defAddDB = true; if (addNewAlg == DBConfig.ADD_NEW_ALGORITHMS) defAddAlg = true; if (addNewGroup == DBConfig.ADD_NEW_GROUPS) defAddGrp = true; defGroup.clear(); defGroup = (Vector)usergroup.clone(); }//GEN-LAST:event_jbtnMakeDefaultActionPerformed private void closeDialog(java.awt.event.WindowEvent evt) {//GEN-FIRST:event_closeDialog setVisible (false); dispose (); parent.repaint(); }//GEN-LAST:event_closeDialog // Variables declaration - do not modify//GEN-BEGIN:variables //private javax.swing.JLabel jlbUserList; private javax.swing.JComboBox jcbUserList; private javax.swing.JButton jbtnAdd; private javax.swing.JButton jbtnDelete; private javax.swing.JButton jbtnSave; private javax.swing.JButton jbtnClose; private javax.swing.JTextField jtxfUserName; private javax.swing.JList jlstGroupList; private javax.swing.JButton jbtnForward; private javax.swing.JButton jbtnBackward; private javax.swing.JList jlstUserGroup; private javax.swing.JCheckBox jchbAddAlg; private javax.swing.JCheckBox jchbAddDB; private javax.swing.JCheckBox jchbAddGroup; private javax.swing.JButton jbtnMakeDefault; private javax.swing.JButton jbtnRefresh; private javax.swing.JPasswordField jpfPassword; private javax.swing.JPasswordField jpfPasswordConfrm; private javax.swing.JFrame parent; private UserInfo userInfo = new UserInfo(); private Vector usergroup = new Vector(); private boolean defAddDB = false; private boolean defAddAlg = false; private boolean defAddGrp = false; private Vector defGroup = new Vector(); private boolean isNewUser = true; private int addNewGroup = 0; private int addNewAlg = 0; private int addNewDB = 0; //private boolean isConfirmed = false; private boolean isReload = false; private javax.swing.JScrollPane scrollPane1; private javax.swing.JScrollPane scrollPane2; private Vector users = new Vector(); private Vector refUsers = new Vector(); private Vector groups = new Vector(); private Vector nonUsergroups = new Vector(); private String selectedUser; public Icon first = new ImageIcon("first.gif"); public Icon last = new ImageIcon("last.gif"); // End of variables declaration//GEN-END:variables class UserInfo { private String userName; private String password; private long permission; private Vector userGroups = new Vector(); public UserInfo(String username) { try { //copy(Client.dbConfig.listGroupsForUser(username),usergroups); this.userName = username; //System.out.println("user name: " + username); //System.out.println("user groups: " + Client.dbConfig.listGroupsForUser(username).toString()); userGroups = Client.dbConfig.listGroupsForUser(username); } catch(DBConfigException e) { JOptionPane.showMessageDialog(parent, "UserManagerDialog: Error in getting user groups from DBConfig:\n " + e.toString()); return; } try { permission = Client.dbConfig.getPermissionsForUser(username); } catch(DBConfigException e) { JOptionPane.showMessageDialog(parent,"UserManagerDialog: Error in getting user permissions from DBConfig:\n " + e.toString()); return; } } public UserInfo() { userName = new String(); userGroups = new Vector(); permission = 0; } public String toString() { String string = new String(); string += "User name: " + userName + " "; string += "User groups: " + userGroups.toString() + " "; string += "User permission: " + permission; return string; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -