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(" "); |
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