Revision 2c801ad7 src/gr/grnet/pithos/web/client/Pithos.java
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 |
} |
Also available in: Unified diff