Revision d58c0da5 src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java
b/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java | ||
---|---|---|
299 | 299 |
return; |
300 | 300 |
if (!folder.isContainer() && !folder.getName().equals(newName)) { |
301 | 301 |
final String path = folder.getParent().getUri() + "/" + newName; |
302 |
PutRequest newFolder = new PutRequest(app.getApiPath(), folder.getParent().getOwner(), path) { |
|
303 |
@Override |
|
304 |
public void onSuccess(Resource result) { |
|
305 |
Iterator<File> iter = folder.getFiles().iterator(); |
|
306 |
app.copyFiles(iter, folder.getParent().getOwner(), folder.getParent().getUri() + "/" + newName, new Command() { |
|
307 |
@Override |
|
308 |
public void execute() { |
|
309 |
Iterator<Folder> iterf = folder.getSubfolders().iterator(); |
|
310 |
app.copySubfolders(iterf, folder.getParent().getOwner(), folder.getParent().getUri() + "/" + newName, new Command() { |
|
311 |
@Override |
|
312 |
public void execute() { |
|
313 |
app.deleteFolder(folder, new Command() { |
|
314 |
|
|
315 |
@Override |
|
316 |
public void execute() { |
|
317 |
app.updateFolder(folder.getParent(), false, new Command() { |
|
318 |
|
|
319 |
@Override |
|
320 |
public void execute() { |
|
321 |
app.updateMySharedRoot(); |
|
322 |
} |
|
323 |
}, true); |
|
324 |
} |
|
325 |
}); |
|
326 |
} |
|
327 |
}); |
|
328 |
} |
|
329 |
}); |
|
330 |
} |
|
331 |
|
|
332 |
@Override |
|
333 |
public void onError(Throwable t) { |
|
334 |
GWT.log("", t); |
|
335 |
app.setError(t); |
|
336 |
if(t instanceof RestException){ |
|
337 |
app.displayError("Unable to update folder: " + ((RestException) t).getHttpStatusText()); |
|
338 |
} |
|
339 |
else |
|
340 |
app.displayError("System error modifying folder: " + t.getMessage()); |
|
341 |
} |
|
342 |
|
|
302 |
app.copyFolder(folder, folder.getOwner(), path, true, new Command() { |
|
303 |
|
|
343 | 304 |
@Override |
344 |
protected void onUnauthorized(Response response) { |
|
345 |
app.sessionExpired(); |
|
305 |
public void execute() { |
|
306 |
app.updateFolder(folder.getParent(), false, new Command() { |
|
307 |
|
|
308 |
@Override |
|
309 |
public void execute() { |
|
310 |
app.updateMySharedRoot(); |
|
311 |
} |
|
312 |
}, true); |
|
346 | 313 |
} |
347 |
}; |
|
348 |
newFolder.setHeader("X-Auth-Token", app.getToken()); |
|
349 |
newFolder.setHeader("Content-Type", "application/folder"); |
|
350 |
newFolder.setHeader("Accept", "*/*"); |
|
351 |
newFolder.setHeader("Content-Length", "0"); |
|
352 |
Scheduler.get().scheduleDeferred(newFolder); |
|
314 |
}); |
|
353 | 315 |
} |
354 | 316 |
else |
355 | 317 |
app.updateFolder(folder.getParent(), false, new Command() { |
Also available in: Unified diff