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