Revision 10791b56 web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java
b/web_client/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java | ||
---|---|---|
68 | 68 |
*/ |
69 | 69 |
public class FolderPropertiesDialog extends DialogBox { |
70 | 70 |
|
71 |
private Pithos app;
|
|
71 |
protected Pithos app;
|
|
72 | 72 |
|
73 | 73 |
/** |
74 | 74 |
* The widget that holds the folderName of the folder. |
... | ... | |
81 | 81 |
*/ |
82 | 82 |
private final boolean create; |
83 | 83 |
|
84 |
private PermissionsList permList;
|
|
84 |
protected PermissionsList permList;
|
|
85 | 85 |
|
86 | 86 |
final Folder folder; |
87 | 87 |
|
... | ... | |
95 | 95 |
setAnimationEnabled(true); |
96 | 96 |
|
97 | 97 |
// Enable IE selection for the dialog (must disable it upon closing it) |
98 |
app.enableIESelection();
|
|
98 |
Pithos.enableIESelection();
|
|
99 | 99 |
|
100 | 100 |
create = _create; |
101 | 101 |
|
... | ... | |
153 | 153 |
HorizontalPanel permButtons = new HorizontalPanel(); |
154 | 154 |
Button add = new Button("Add Group", new ClickHandler() { |
155 | 155 |
@Override |
156 |
public void onClick(ClickEvent event) { |
|
156 |
public void onClick(@SuppressWarnings("unused") ClickEvent event) {
|
|
157 | 157 |
PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, false); |
158 | 158 |
dlg.center(); |
159 | 159 |
} |
... | ... | |
163 | 163 |
|
164 | 164 |
Button addUser = new Button("Add User", new ClickHandler() { |
165 | 165 |
@Override |
166 |
public void onClick(ClickEvent event) { |
|
166 |
public void onClick(@SuppressWarnings("unused") ClickEvent event) {
|
|
167 | 167 |
PermissionsAddDialog dlg = new PermissionsAddDialog(app, app.getAccount().getGroups(), permList, true); |
168 | 168 |
dlg.center(); |
169 | 169 |
} |
... | ... | |
192 | 192 |
okLabel = "Update"; |
193 | 193 |
Button ok = new Button(okLabel, new ClickHandler() { |
194 | 194 |
@Override |
195 |
public void onClick(ClickEvent event) { |
|
195 |
public void onClick(@SuppressWarnings("unused") ClickEvent event) {
|
|
196 | 196 |
createOrUpdateFolder(); |
197 | 197 |
closeDialog(); |
198 | 198 |
} |
... | ... | |
204 | 204 |
// when the button is clicked. |
205 | 205 |
Button cancel = new Button("Cancel", new ClickHandler() { |
206 | 206 |
@Override |
207 |
public void onClick(ClickEvent event) { |
|
207 |
public void onClick(@SuppressWarnings("unused") ClickEvent event) {
|
|
208 | 208 |
closeDialog(); |
209 | 209 |
} |
210 | 210 |
}); |
... | ... | |
250 | 250 |
* (we disable the prevention on creation of the dialog) |
251 | 251 |
*/ |
252 | 252 |
public void closeDialog() { |
253 |
app.preventIESelection();
|
|
253 |
Pithos.preventIESelection();
|
|
254 | 254 |
hide(); |
255 | 255 |
} |
256 | 256 |
|
... | ... | |
262 | 262 |
String path = folder.getUri() + "/" + name; |
263 | 263 |
PutRequest createFolder = new PutRequest(app.getApiPath(), app.getUsername(), path) { |
264 | 264 |
@Override |
265 |
public void onSuccess(Resource result) { |
|
265 |
public void onSuccess(@SuppressWarnings("unused") Resource result) {
|
|
266 | 266 |
app.updateFolder(folder, true); |
267 | 267 |
} |
268 | 268 |
|
... | ... | |
288 | 288 |
* the actual work of modifying folder properties or creating a new Folder |
289 | 289 |
* depending on the value of the create field |
290 | 290 |
*/ |
291 |
private void createOrUpdateFolder() {
|
|
291 |
protected void createOrUpdateFolder() {
|
|
292 | 292 |
if (create) |
293 | 293 |
createFolder(); |
294 | 294 |
else |
... | ... | |
303 | 303 |
final String path = folder.getParent().getUri() + "/" + newName; |
304 | 304 |
PutRequest newFolder = new PutRequest(app.getApiPath(), app.getUsername(), path) { |
305 | 305 |
@Override |
306 |
public void onSuccess(Resource result) { |
|
306 |
public void onSuccess(@SuppressWarnings("unused") Resource result) {
|
|
307 | 307 |
Iterator<File> iter = folder.getFiles().iterator(); |
308 | 308 |
app.copyFiles(iter, folder.getParent().getUri() + "/" + newName, new Command() { |
309 | 309 |
@Override |
... | ... | |
340 | 340 |
updateMetadata(folder.getUri() + "?update=", perms); |
341 | 341 |
} |
342 | 342 |
|
343 |
private void updateMetadata(String path, Map<String, Boolean[]> newPermissions) {
|
|
343 |
protected void updateMetadata(String path, Map<String, Boolean[]> newPermissions) {
|
|
344 | 344 |
if (newPermissions != null) { |
345 | 345 |
PostRequest updateFolder = new PostRequest(app.getApiPath(), folder.getOwner(), path) { |
346 | 346 |
@Override |
347 |
public void onSuccess(Resource result) { |
|
347 |
public void onSuccess(@SuppressWarnings("unused") Resource result) {
|
|
348 | 348 |
app.updateFolder(folder.getParent(), false); |
349 | 349 |
} |
350 | 350 |
|
... | ... | |
355 | 355 |
} |
356 | 356 |
}; |
357 | 357 |
updateFolder.setHeader("X-Auth-Token", app.getToken()); |
358 |
if (newPermissions != null) { |
|
359 |
String readPermHeader = "read="; |
|
360 |
String writePermHeader = "write="; |
|
361 |
for (String u : newPermissions.keySet()) { |
|
362 |
Boolean[] p = newPermissions.get(u); |
|
363 |
if (p[0] != null && p[0]) |
|
364 |
readPermHeader += u + ","; |
|
365 |
if (p[1] != null && p[1]) |
|
366 |
writePermHeader += u + ","; |
|
367 |
} |
|
368 |
if (readPermHeader.endsWith("=")) |
|
369 |
readPermHeader = ""; |
|
370 |
else if (readPermHeader.endsWith(",")) |
|
371 |
readPermHeader = readPermHeader.substring(0, readPermHeader.length() - 1); |
|
372 |
if (writePermHeader.endsWith("=")) |
|
373 |
writePermHeader = ""; |
|
374 |
else if (writePermHeader.endsWith(",")) |
|
375 |
writePermHeader = writePermHeader.substring(0, writePermHeader.length() - 1); |
|
376 |
String permHeader = readPermHeader + ((readPermHeader.length() > 0 && writePermHeader.length() > 0) ? ";" : "") + writePermHeader; |
|
377 |
if (permHeader.length() == 0) |
|
378 |
permHeader="~"; |
|
379 |
updateFolder.setHeader("X-Object-Sharing", permHeader); |
|
358 |
String readPermHeader = "read="; |
|
359 |
String writePermHeader = "write="; |
|
360 |
for (String u : newPermissions.keySet()) { |
|
361 |
Boolean[] p = newPermissions.get(u); |
|
362 |
if (p[0] != null && p[0]) |
|
363 |
readPermHeader += u + ","; |
|
364 |
if (p[1] != null && p[1]) |
|
365 |
writePermHeader += u + ","; |
|
380 | 366 |
} |
367 |
if (readPermHeader.endsWith("=")) |
|
368 |
readPermHeader = ""; |
|
369 |
else if (readPermHeader.endsWith(",")) |
|
370 |
readPermHeader = readPermHeader.substring(0, readPermHeader.length() - 1); |
|
371 |
if (writePermHeader.endsWith("=")) |
|
372 |
writePermHeader = ""; |
|
373 |
else if (writePermHeader.endsWith(",")) |
|
374 |
writePermHeader = writePermHeader.substring(0, writePermHeader.length() - 1); |
|
375 |
String permHeader = readPermHeader + ((readPermHeader.length() > 0 && writePermHeader.length() > 0) ? ";" : "") + writePermHeader; |
|
376 |
if (permHeader.length() == 0) |
|
377 |
permHeader="~"; |
|
378 |
updateFolder.setHeader("X-Object-Sharing", permHeader); |
|
381 | 379 |
Scheduler.get().scheduleDeferred(updateFolder); |
382 | 380 |
} |
383 | 381 |
else |
Also available in: Unified diff