7179164 usermgr: ldap search takes too long
authorLokanath Das <Lokanath.Das@Oracle.COM>
Thu, 28 Jun 2012 11:14:48 -0700
changeset 894 8e0753ec3941
parent 893 f9f75acab23a
child 895 179839d37cb0
7179164 usermgr: ldap search takes too long
components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserManagedObject.java
components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrBasicPanel.java
components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrPanelDescriptor.java
--- a/components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserManagedObject.java	Tue Jun 26 07:10:19 2012 -0700
+++ b/components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserManagedObject.java	Thu Jun 28 11:14:48 2012 -0700
@@ -184,7 +184,7 @@
 	return sb.toString();
     }
 
-    public void setUser(User user, char[] password) {
+    public void setUser(User user) {
 
 	userNameProperty.update(user.getUsername(), true);
 	userDescProperty.update(user.getDescription(), true);
@@ -193,9 +193,20 @@
 	homeDirProperty.update(user.getHomeDirectory(), true);
 	shellProperty.update(user.getDefaultShell(), true);
 
+	// Additional attributes
+	rolesProperty.update(listToString(user.getRoles()), true);
+	rightsProperty.update(listToString(user.getProfiles()), true);
+	authsProperty.update(listToString(user.getAuths()), true);
+	groupsProperty.update(listToString(user.getGroups()), true);
+
+    }
+
+    public void setUser(User user, char[] password) {
+
+	setUser(user);
+
 	passProperty.update(password, true);
     }
-
     //
     // UserManagedObject methods
     //
--- a/components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrBasicPanel.java	Tue Jun 26 07:10:19 2012 -0700
+++ b/components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrBasicPanel.java	Thu Jun 28 11:14:48 2012 -0700
@@ -247,6 +247,9 @@
 	this.umo = umo;
 	descriptor = paneldesc;
 
+	// Update the user information
+	umo.setUser(descriptor.getUser(umo.getName()));
+
 	// Set the current and saved values for each property
 	nameField.setText(umo.getName());
 	Long uidValue = new Long(umo.getUserId());
@@ -269,6 +272,14 @@
 	    if (savedGid == g.getGroupID())
 		savedGname = g.getGroupName();
 	}
+
+	// If a group name not found for the gid, show the gid itself
+	if (gname == null) {
+	    gname = "" + gid;
+	    savedGname = gname;
+	    groupCombo.addItem(gname);
+	}
+
 	groupProperty.update(savedGname, false);
 	groupCombo.setSelectedItem(gname);
 
--- a/components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrPanelDescriptor.java	Tue Jun 26 07:10:19 2012 -0700
+++ b/components/visual-panels/usermgr/src/java/vpanels/app/usermgr/com/oracle/solaris/vp/panels/usermgr/client/swing/UserMgrPanelDescriptor.java	Thu Jun 28 11:14:48 2012 -0700
@@ -61,7 +61,7 @@
 
     public static final String USER_TYPE_NORMAL = "normal";
     public static final String SCOPE_FILES = "files";
-    public static final String MATCH_ALL = "*";
+    public static final String MATCH_ALL = "";
 
     public static final String PASSWORD = "PASSWORD";
     public static final String NOTACTIVATED = "NOTACTIVATED";
@@ -529,6 +529,23 @@
     }
 
     //
+    // Get the user for the given user name
+    //
+    public User getUser(String name) {
+
+	User user = null;
+
+	try {
+	    user = getUserMgrBean().getUser(name);
+        } catch (ObjectException e) {
+            getLog().log(Level.SEVERE, "Error getting user " +
+		name + " : ", e);
+	}
+
+	return user;
+    }
+
+    //
     // Private methods
     //