Revision 0459d2ef

b/src/gr/grnet/pithos/web/client/AddUserDialog.java
169 169
        hide();
170 170
    }
171 171

  
172
    private void doAddUser(final String userID) {
173
        group.addMember(userID);
172
    private void doAddUserByName(final String userDisplayName) {
173
        final String userID = app.getIDForUserDisplayName(userDisplayName);
174
        group.addMemberID(userID);
174 175
        String path = "?update=";
175 176
        PostRequest updateGroup = new PostRequest(app.getApiPath(), app.getUserID(), path) {
176 177

  
......
198 199
        };
199 200
        updateGroup.setHeader(Const.X_AUTH_TOKEN, app.getUserToken());
200 201
        String groupMembers = "";
201
        for(String u : group.getMembers()) {
202
        for(String u : group.getMemberIDs()) {
202 203
            groupMembers += (URL.encodePathSegment(u) + ",");
203 204
        }
204 205
        updateGroup.setHeader(Const.X_ACCOUNT_GROUP_ + URL.encodePathSegment(group.getName()), groupMembers);
......
218 219
        }
219 220

  
220 221
        if(app.hasIDForUserDisplayName(userDisplayName)) {
221
            final String userID = app.getIDForUserDisplayName(userDisplayName);
222
            doAddUser(userID);
222
            doAddUserByName(userDisplayName);
223 223
        }
224 224
        else {
225 225
            new UpdateUserCatalogs(app, null, Arrays.asList(userDisplayName)) {
226 226
                @Override
227 227
                public void onSuccess(UserCatalogs requestedUserCatalogs, UserCatalogs updatedUserCatalogs) {
228
                    final String userID = app.getIDForUserDisplayName(userDisplayName);
229
                    doAddUser(userID);
228
                    doAddUserByName(userDisplayName);
230 229
                }
231 230
            }.scheduleDeferred();
232 231
        }
b/src/gr/grnet/pithos/web/client/Pithos.java
724 724
                final List<Group> groups = account.getGroups();
725 725
                for(Group group : groups) {
726 726
                    LOG("Group ", group);
727
                    for(String member: group.getMembers()) {
727
                    for(String member: group.getMemberIDs()) {
728 728
                        LOG("      ", member);
729 729
                        memberIDs.add(member);
730 730
                    }
b/src/gr/grnet/pithos/web/client/commands/RemoveUserCommand.java
76 76
    	final Group group = app.getAccount().getGroup(groupName);
77 77
    	if (group == null)
78 78
    		return;
79
    	group.removeMember(user.getUserID());
79
    	group.removeMemberID(user.getUserID());
80 80
    	String path = "?update=";
81 81
    	PostRequest updateGroup = new PostRequest(app.getApiPath(), app.getUserID(), path) {
82 82
			
......
114 114
		};
115 115
		updateGroup.setHeader("X-Auth-Token", app.getUserToken());
116 116
		String groupMembers = "";
117
		if (!group.getMembers().isEmpty()) {
118
			for (String u : group.getMembers())
117
		if (!group.getMemberIDs().isEmpty()) {
118
			for (String u : group.getMemberIDs())
119 119
				groupMembers += (URL.encodePathSegment(u) + ",");
120 120
		}
121 121
		else
b/src/gr/grnet/pithos/web/client/foldertree/AccountResource.java
150 150
		            Group g = new Group(groupName);
151 151
		            String[] members = h.getValue().split(",");
152 152
		            for (String s : members)
153
		                g.addMember(URL.decodePathSegment(s).trim());
153
		                g.addMemberID(URL.decodePathSegment(s).trim());
154 154
		            groups.add(g);
155 155
		        }
156 156
		        else if (name.equals("X-Account-Container-Count")) {
b/src/gr/grnet/pithos/web/client/grouptree/Group.java
39 39
import java.util.List;
40 40

  
41 41
public class Group {
42
    private String name;
42
    private final String name;
43 43

  
44
    private List<String> members = new ArrayList<String>();
44
    private final List<String> memberIDs = new ArrayList<String>();
45 45

  
46
    public Group(String _name) {
47
        name = _name;
46
    public Group(String name) {
47
        this.name = name;
48 48
    }
49 49

  
50
    public List<String> getMembers() {
51
        return members;
50
    public List<String> getMemberIDs() {
51
        return memberIDs;
52 52
    }
53 53

  
54 54
    public String getName() {
55 55
        return name;
56 56
    }
57 57

  
58
    public void addMember(String user) {
59
        members.add(user);
58
    public void addMemberID(String userID) {
59
        memberIDs.add(userID);
60 60
    }
61 61

  
62
	public void removeMember(String username) {
63
		members.remove(username);
62
	public void removeMemberID(String userID) {
63
		memberIDs.remove(userID);
64 64
	}
65 65

  
66 66
    @Override
67 67
    public String toString() {
68
        return "Group(" + name + ", " + members.size() + " members)";
68
        return "Group(" + name + ", " + memberIDs.size() + " members)";
69 69
    }
70 70
}
b/src/gr/grnet/pithos/web/client/grouptree/GroupTreeViewModel.java
83 83
    private Cell<User> userCell = new AbstractCell<User>(ContextMenuEvent.getType().getName()) {
84 84

  
85 85
		@Override
86
		public void render(Context context,	User value, SafeHtmlBuilder sb) {
86
		public void render(Context context,	User user, SafeHtmlBuilder sb) {
87 87
            String html = AbstractImagePrototype.create(GroupTreeView.images.user()).getHTML();
88 88
            sb.appendHtmlConstant(html).appendHtmlConstant("&nbsp;");
89
            sb.append(Templates.INSTANCE.nameSpan(value.getUserID()));
89
            final String userID = user.getUserID();
90
            final String userDisplayName = app.getDisplayNameForUserID(userID);
91
            sb.append(Templates.INSTANCE.nameSpan(userDisplayName));
90 92
		}
91 93

  
92 94
        @Override
......
174 176
		}
175 177
		final ListDataProvider<User> dataProvider = userDataProviderMap.get(g);
176 178
		dataProvider.getList().clear();
177
		for (String u : g.getMembers())
178
			dataProvider.getList().add(new User(u, g.getName()));
179
		for (String userID : g.getMemberIDs())
180
			dataProvider.getList().add(new User(userID, g.getName()));
179 181
    	return new DefaultNodeInfo<User>(dataProvider, userCell, userSelectionModel, null);
180 182
    }
181 183

  
......
185 187
       		return true;
186 188
        }
187 189
        else if (o instanceof Group)
188
        	return ((Group) o).getMembers().isEmpty();
190
        	return ((Group) o).getMemberIDs().isEmpty();
189 191
        return false;
190 192
    }
191 193
	
......
201 203
			}
202 204
			final ListDataProvider<User> dataProvider = userDataProviderMap.get(group);
203 205
			dataProvider.getList().clear();
204
			for (String u : group.getMembers())
206
			for (String u : group.getMemberIDs())
205 207
				dataProvider.getList().add(new User(u, group.getName()));
206 208
		}
207 209
	}

Also available in: Unified diff