Show display names in group members tree
authorChristos KK Loverdos <loverdos@gmail.com>
Fri, 8 Feb 2013 14:26:59 +0000 (16:26 +0200)
committerChristos KK Loverdos <loverdos@gmail.com>
Fri, 8 Feb 2013 14:26:59 +0000 (16:26 +0200)
src/gr/grnet/pithos/web/client/AddUserDialog.java
src/gr/grnet/pithos/web/client/Pithos.java
src/gr/grnet/pithos/web/client/commands/RemoveUserCommand.java
src/gr/grnet/pithos/web/client/foldertree/AccountResource.java
src/gr/grnet/pithos/web/client/grouptree/Group.java
src/gr/grnet/pithos/web/client/grouptree/GroupTreeViewModel.java

index cf3ed6f..8d3515d 100644 (file)
@@ -169,8 +169,9 @@ public class AddUserDialog extends DialogBox {
         hide();\r
     }\r
 \r
-    private void doAddUser(final String userID) {\r
-        group.addMember(userID);\r
+    private void doAddUserByName(final String userDisplayName) {\r
+        final String userID = app.getIDForUserDisplayName(userDisplayName);\r
+        group.addMemberID(userID);\r
         String path = "?update=";\r
         PostRequest updateGroup = new PostRequest(app.getApiPath(), app.getUserID(), path) {\r
 \r
@@ -198,7 +199,7 @@ public class AddUserDialog extends DialogBox {
         };\r
         updateGroup.setHeader(Const.X_AUTH_TOKEN, app.getUserToken());\r
         String groupMembers = "";\r
-        for(String u : group.getMembers()) {\r
+        for(String u : group.getMemberIDs()) {\r
             groupMembers += (URL.encodePathSegment(u) + ",");\r
         }\r
         updateGroup.setHeader(Const.X_ACCOUNT_GROUP_ + URL.encodePathSegment(group.getName()), groupMembers);\r
@@ -218,15 +219,13 @@ public class AddUserDialog extends DialogBox {
         }\r
 \r
         if(app.hasIDForUserDisplayName(userDisplayName)) {\r
-            final String userID = app.getIDForUserDisplayName(userDisplayName);\r
-            doAddUser(userID);\r
+            doAddUserByName(userDisplayName);\r
         }\r
         else {\r
             new UpdateUserCatalogs(app, null, Arrays.asList(userDisplayName)) {\r
                 @Override\r
                 public void onSuccess(UserCatalogs requestedUserCatalogs, UserCatalogs updatedUserCatalogs) {\r
-                    final String userID = app.getIDForUserDisplayName(userDisplayName);\r
-                    doAddUser(userID);\r
+                    doAddUserByName(userDisplayName);\r
                 }\r
             }.scheduleDeferred();\r
         }\r
index 40b0d05..a41f691 100644 (file)
@@ -724,7 +724,7 @@ public class Pithos implements EntryPoint, ResizeHandler {
                 final List<Group> groups = account.getGroups();
                 for(Group group : groups) {
                     LOG("Group ", group);
-                    for(String member: group.getMembers()) {
+                    for(String member: group.getMemberIDs()) {
                         LOG("      ", member);
                         memberIDs.add(member);
                     }
index 62f84b8..34443c8 100644 (file)
@@ -76,7 +76,7 @@ public class RemoveUserCommand implements Command {
        final Group group = app.getAccount().getGroup(groupName);
        if (group == null)
                return;
-       group.removeMember(user.getUserID());
+       group.removeMemberID(user.getUserID());
        String path = "?update=";
        PostRequest updateGroup = new PostRequest(app.getApiPath(), app.getUserID(), path) {
                        
@@ -114,8 +114,8 @@ public class RemoveUserCommand implements Command {
                };
                updateGroup.setHeader("X-Auth-Token", app.getUserToken());
                String groupMembers = "";
-               if (!group.getMembers().isEmpty()) {
-                       for (String u : group.getMembers())
+               if (!group.getMemberIDs().isEmpty()) {
+                       for (String u : group.getMemberIDs())
                                groupMembers += (URL.encodePathSegment(u) + ",");
                }
                else
index 8f835bf..8f546f7 100644 (file)
@@ -150,7 +150,7 @@ public class AccountResource extends Resource {
                            Group g = new Group(groupName);
                            String[] members = h.getValue().split(",");
                            for (String s : members)
-                               g.addMember(URL.decodePathSegment(s).trim());
+                               g.addMemberID(URL.decodePathSegment(s).trim());
                            groups.add(g);
                        }
                        else if (name.equals("X-Account-Container-Count")) {
index 5717604..5fc4cb0 100644 (file)
@@ -39,32 +39,32 @@ import java.util.ArrayList;
 import java.util.List;
 
 public class Group {
-    private String name;
+    private final String name;
 
-    private List<String> members = new ArrayList<String>();
+    private final List<String> memberIDs = new ArrayList<String>();
 
-    public Group(String _name) {
-        name = _name;
+    public Group(String name) {
+        this.name = name;
     }
 
-    public List<String> getMembers() {
-        return members;
+    public List<String> getMemberIDs() {
+        return memberIDs;
     }
 
     public String getName() {
         return name;
     }
 
-    public void addMember(String user) {
-        members.add(user);
+    public void addMemberID(String userID) {
+        memberIDs.add(userID);
     }
 
-       public void removeMember(String username) {
-               members.remove(username);
+       public void removeMemberID(String userID) {
+               memberIDs.remove(userID);
        }
 
     @Override
     public String toString() {
-        return "Group(" + name + ", " + members.size() + " members)";
+        return "Group(" + name + ", " + memberIDs.size() + " members)";
     }
 }
index e2cda8f..5243c9f 100644 (file)
@@ -83,10 +83,12 @@ public class GroupTreeViewModel implements TreeViewModel {
     private Cell<User> userCell = new AbstractCell<User>(ContextMenuEvent.getType().getName()) {
 
                @Override
-               public void render(Context context,     User value, SafeHtmlBuilder sb) {
+               public void render(Context context,     User user, SafeHtmlBuilder sb) {
             String html = AbstractImagePrototype.create(GroupTreeView.images.user()).getHTML();
             sb.appendHtmlConstant(html).appendHtmlConstant("&nbsp;");
-            sb.append(Templates.INSTANCE.nameSpan(value.getUserID()));
+            final String userID = user.getUserID();
+            final String userDisplayName = app.getDisplayNameForUserID(userID);
+            sb.append(Templates.INSTANCE.nameSpan(userDisplayName));
                }
 
         @Override
@@ -174,8 +176,8 @@ public class GroupTreeViewModel implements TreeViewModel {
                }
                final ListDataProvider<User> dataProvider = userDataProviderMap.get(g);
                dataProvider.getList().clear();
-               for (String u : g.getMembers())
-                       dataProvider.getList().add(new User(u, g.getName()));
+               for (String userID : g.getMemberIDs())
+                       dataProvider.getList().add(new User(userID, g.getName()));
        return new DefaultNodeInfo<User>(dataProvider, userCell, userSelectionModel, null);
     }
 
@@ -185,7 +187,7 @@ public class GroupTreeViewModel implements TreeViewModel {
                        return true;
         }
         else if (o instanceof Group)
-               return ((Group) o).getMembers().isEmpty();
+               return ((Group) o).getMemberIDs().isEmpty();
         return false;
     }
        
@@ -201,7 +203,7 @@ public class GroupTreeViewModel implements TreeViewModel {
                        }
                        final ListDataProvider<User> dataProvider = userDataProviderMap.get(group);
                        dataProvider.getList().clear();
-                       for (String u : group.getMembers())
+                       for (String u : group.getMemberIDs())
                                dataProvider.getList().add(new User(u, group.getName()));
                }
        }