Revision 2e3e007c
b/web_client/src/gr/grnet/pithos/web/client/Pithos.java | ||
---|---|---|
44 | 44 |
import gr.grnet.pithos.web.client.grouptree.Group; |
45 | 45 |
import gr.grnet.pithos.web.client.grouptree.GroupTreeView; |
46 | 46 |
import gr.grnet.pithos.web.client.grouptree.GroupTreeViewModel; |
47 |
import gr.grnet.pithos.web.client.grouptree.User; |
|
47 | 48 |
import gr.grnet.pithos.web.client.mysharedtree.MysharedTreeView; |
48 | 49 |
import gr.grnet.pithos.web.client.mysharedtree.MysharedTreeViewModel; |
49 | 50 |
import gr.grnet.pithos.web.client.othersharedtree.OtherSharedTreeView; |
... | ... | |
933 | 934 |
account.addGroup(newGroup); |
934 | 935 |
groupTreeView.updateGroupNode(null); |
935 | 936 |
} |
937 |
|
|
938 |
public void removeGroup(Group group) { |
|
939 |
account.removeGroup(group); |
|
940 |
updateGroupsNode(); |
|
941 |
} |
|
936 | 942 |
} |
b/web_client/src/gr/grnet/pithos/web/client/commands/DeleteGroupCommand.java | ||
---|---|---|
34 | 34 |
*/ |
35 | 35 |
package gr.grnet.pithos.web.client.commands; |
36 | 36 |
|
37 |
import gr.grnet.pithos.web.client.MessagePanel.Images; |
|
38 | 37 |
import gr.grnet.pithos.web.client.Pithos; |
39 | 38 |
import gr.grnet.pithos.web.client.foldertree.Resource; |
40 | 39 |
import gr.grnet.pithos.web.client.grouptree.Group; |
... | ... | |
78 | 77 |
|
79 | 78 |
@Override |
80 | 79 |
public void onSuccess(Resource result) { |
81 |
app.updateGroupsNode();
|
|
80 |
app.removeGroup(group);
|
|
82 | 81 |
} |
83 | 82 |
|
84 | 83 |
@Override |
b/web_client/src/gr/grnet/pithos/web/client/commands/RemoveUserCommand.java | ||
---|---|---|
93 | 93 |
}; |
94 | 94 |
updateGroup.setHeader("X-Auth-Token", app.getToken()); |
95 | 95 |
String groupMembers = ""; |
96 |
for (String u : group.getMembers()) |
|
97 |
groupMembers += (u + ","); |
|
96 |
if (!group.getMembers().isEmpty()) { |
|
97 |
for (String u : group.getMembers()) |
|
98 |
groupMembers += (u + ","); |
|
99 |
} |
|
100 |
else |
|
101 |
groupMembers = "~"; |
|
98 | 102 |
updateGroup.setHeader("X-Account-Group-" + group.getName(), groupMembers); |
99 | 103 |
Scheduler.get().scheduleDeferred(updateGroup); |
100 | 104 |
} |
b/web_client/src/gr/grnet/pithos/web/client/foldertree/AccountResource.java | ||
---|---|---|
235 | 235 |
public void addGroup(Group newGroup) { |
236 | 236 |
groups.add(newGroup); |
237 | 237 |
} |
238 |
|
|
239 |
public void removeGroup(Group group) { |
|
240 |
groups.remove(group); |
|
241 |
} |
|
238 | 242 |
} |
b/web_client/src/gr/grnet/pithos/web/client/grouptree/GroupTreeView.java | ||
---|---|---|
63 | 63 |
|
64 | 64 |
private void updateChildren(TreeNode node, Group group) { |
65 | 65 |
for (int i=0; i<node.getChildCount(); i++) { |
66 |
if (node.isChildOpen(i)) {
|
|
67 |
if (group.equals(node.getChildValue(i))) {
|
|
68 |
node.setChildOpen(i, false, true);
|
|
69 |
node.setChildOpen(i, true, true);
|
|
70 |
}
|
|
71 |
else {
|
|
72 |
TreeNode n = node.setChildOpen(i, true);
|
|
73 |
updateChildren(n, group);
|
|
74 |
} |
|
66 |
if (group.equals(node.getChildValue(i))) {
|
|
67 |
node.setChildOpen(i, false, true);
|
|
68 |
node.setChildOpen(i, true, true);
|
|
69 |
}
|
|
70 |
else {
|
|
71 |
if (node.isChildOpen(i)) {
|
|
72 |
TreeNode n = node.setChildOpen(i, true);
|
|
73 |
updateChildren(n, group);
|
|
74 |
}
|
|
75 | 75 |
} |
76 | 76 |
} |
77 | 77 |
} |
... | ... | |
136 | 136 |
} |
137 | 137 |
|
138 | 138 |
public void updateGroupNode(Group group) { |
139 |
model.updateGroupNode(group); |
|
139 | 140 |
updateChildren(group); |
140 | 141 |
} |
141 | 142 |
} |
b/web_client/src/gr/grnet/pithos/web/client/grouptree/GroupTreeViewModel.java | ||
---|---|---|
131 | 131 |
return new DefaultNodeInfo<String>(rootDataProvider, rootCell, null, null); |
132 | 132 |
} |
133 | 133 |
else if (value instanceof String) { |
134 |
groupsDataProvider.getList().clear(); |
|
134 | 135 |
groupsDataProvider.getList().addAll(app.getAccount().getGroups()); |
135 | 136 |
return new DefaultNodeInfo<Group>(groupsDataProvider, groupCell, null, null); |
136 | 137 |
} |
... | ... | |
154 | 155 |
} |
155 | 156 |
else if (o instanceof Group) |
156 | 157 |
return ((Group) o).getMembers().isEmpty(); |
157 |
else |
|
158 |
else if (o != null)
|
|
158 | 159 |
return true; |
160 |
return false; |
|
159 | 161 |
} |
160 | 162 |
|
161 | 163 |
public void initialize() { |
162 | 164 |
rootDataProvider.getList().clear(); |
163 | 165 |
rootDataProvider.getList().add("Groups"); |
164 | 166 |
} |
167 |
|
|
168 |
public void updateGroupNode(Group group) { |
|
169 |
if (group == null) { |
|
170 |
groupsDataProvider.getList().clear(); |
|
171 |
groupsDataProvider.getList().addAll(app.getAccount().getGroups()); |
|
172 |
} |
|
173 |
else { |
|
174 |
if (userDataProviderMap.get(group) == null) { |
|
175 |
userDataProviderMap.put(group, new ListDataProvider<User>()); |
|
176 |
} |
|
177 |
final ListDataProvider<User> dataProvider = userDataProviderMap.get(group); |
|
178 |
dataProvider.getList().clear(); |
|
179 |
for (String u : group.getMembers()) |
|
180 |
dataProvider.getList().add(new User(u, group)); |
|
181 |
} |
|
182 |
} |
|
165 | 183 |
} |
Also available in: Unified diff