Revision 2c801ad7
b/src/gr/grnet/pithos/web/client/DeleteFolderDialog.java | ||
---|---|---|
101 | 101 |
Button ok = new Button("Delete", new ClickHandler() { |
102 | 102 |
@Override |
103 | 103 |
public void onClick(ClickEvent event) { |
104 |
app.deleteFolder(folder); |
|
104 |
app.deleteFolder(folder, null);
|
|
105 | 105 |
hide(); |
106 | 106 |
} |
107 | 107 |
}); |
... | ... | |
123 | 123 |
switch (evt.getKeyCode()) { |
124 | 124 |
case KeyCodes.KEY_ENTER: |
125 | 125 |
hide(); |
126 |
app.deleteFolder(folder); |
|
126 |
app.deleteFolder(folder, null);
|
|
127 | 127 |
break; |
128 | 128 |
case KeyCodes.KEY_ESCAPE: |
129 | 129 |
hide(); |
b/src/gr/grnet/pithos/web/client/FolderPermissionsDialog.java | ||
---|---|---|
213 | 213 |
app.copySubfolders(iterf, folder.getParent().getOwner(), folder.getParent().getUri() + "/" + newName, new Command() { |
214 | 214 |
@Override |
215 | 215 |
public void execute() { |
216 |
app.deleteFolder(folder); |
|
216 |
app.deleteFolder(folder, null);
|
|
217 | 217 |
updateMetadata(path + "?update=", perms); |
218 | 218 |
} |
219 | 219 |
}); |
b/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java | ||
---|---|---|
303 | 303 |
app.copySubfolders(iterf, folder.getParent().getOwner(), folder.getParent().getUri() + "/" + newName, new Command() { |
304 | 304 |
@Override |
305 | 305 |
public void execute() { |
306 |
app.deleteFolder(folder); |
|
307 |
app.updateFolder(folder.getParent(), false, new Command() { |
|
308 |
|
|
309 |
@Override |
|
310 |
public void execute() { |
|
311 |
app.updateMySharedRoot(); |
|
312 |
} |
|
313 |
}); |
|
306 |
app.deleteFolder(folder, new Command() { |
|
307 |
|
|
308 |
@Override |
|
309 |
public void execute() { |
|
310 |
app.updateFolder(folder.getParent(), false, new Command() { |
|
311 |
|
|
312 |
@Override |
|
313 |
public void execute() { |
|
314 |
app.updateMySharedRoot(); |
|
315 |
} |
|
316 |
}); |
|
317 |
} |
|
318 |
}); |
|
314 | 319 |
} |
315 | 320 |
}); |
316 | 321 |
} |
b/src/gr/grnet/pithos/web/client/Pithos.java | ||
---|---|---|
813 | 813 |
History.newItem(key); |
814 | 814 |
} |
815 | 815 |
|
816 |
public void deleteFolder(final Folder folder) { |
|
816 |
public void deleteFolder(final Folder folder, final Command callback) {
|
|
817 | 817 |
String path = getApiPath() + folder.getOwner() + "/" + folder.getContainer() + "?format=json&delimiter=/&prefix=" + URL.encodeQueryString(folder.getPrefix()) + "&t=" + System.currentTimeMillis(); |
818 | 818 |
RequestBuilder builder = new RequestBuilder(RequestBuilder.GET, path); |
819 | 819 |
builder.setHeader("X-Auth-Token", getToken()); |
... | ... | |
826 | 826 |
JSONArray array = json.isArray(); |
827 | 827 |
int i = 0; |
828 | 828 |
if (array != null) { |
829 |
deleteObject(folder, i, array); |
|
829 |
deleteObject(folder, i, array, callback);
|
|
830 | 830 |
} |
831 | 831 |
} |
832 | 832 |
} |
... | ... | |
842 | 842 |
} |
843 | 843 |
} |
844 | 844 |
|
845 |
void deleteObject(final Folder folder, final int i, final JSONArray array) { |
|
845 |
void deleteObject(final Folder folder, final int i, final JSONArray array, final Command callback) {
|
|
846 | 846 |
if (i < array.size()) { |
847 | 847 |
JSONObject o = array.get(i).isObject(); |
848 | 848 |
if (o != null && !o.containsKey("subdir")) { |
... | ... | |
851 | 851 |
DeleteRequest delete = new DeleteRequest(getApiPath(), folder.getOwner(), URL.encode(path)) { |
852 | 852 |
@Override |
853 | 853 |
public void onSuccess(Resource result) { |
854 |
deleteObject(folder, i + 1, array); |
|
854 |
deleteObject(folder, i + 1, array, callback);
|
|
855 | 855 |
} |
856 | 856 |
|
857 | 857 |
@Override |
... | ... | |
888 | 888 |
array.set(l++, array2.get(j)); |
889 | 889 |
} |
890 | 890 |
} |
891 |
deleteObject(folder, i + 1, array); |
|
891 |
deleteObject(folder, i + 1, array, callback);
|
|
892 | 892 |
} |
893 | 893 |
} |
894 | 894 |
|
... | ... | |
913 | 913 |
@Override |
914 | 914 |
public void execute() { |
915 | 915 |
updateStatistics(); |
916 |
if (callback != null) |
|
917 |
callback.execute(); |
|
916 | 918 |
} |
917 | 919 |
}); |
918 | 920 |
} |
b/src/gr/grnet/pithos/web/client/commands/PasteCommand.java | ||
---|---|---|
95 | 95 |
@Override |
96 | 96 |
public void execute() { |
97 | 97 |
app.getClipboard().clear(); |
98 |
app.deleteFolder(tobeCopied); |
|
98 |
app.deleteFolder(tobeCopied, null);
|
|
99 | 99 |
app.updateFolder(folder, true, null); |
100 | 100 |
} |
101 | 101 |
}); |
Also available in: Unified diff