Revision d58c0da5 src/gr/grnet/pithos/web/client/Pithos.java

b/src/gr/grnet/pithos/web/client/Pithos.java
982 982
        }
983 983
    }
984 984

  
985
    public void copySubfolders(final Iterator<Folder> iter, final String targetUsername, final String targetUri, final Command callback) {
986
        if (iter.hasNext()) {
987
            final Folder f = iter.next();
988
            copyFolder(f, targetUsername, targetUri, new Command() {
989
				
990
				@Override
991
				public void execute() {
992
					copySubfolders(iter, targetUsername, targetUri, callback);
993
				}
994
			});
995
        }
996
        else  if (callback != null) {
997
            callback.execute();
998
        }
999
    }
1000

  
1001
    public void copyFolder(final Folder f, final String targetUsername, final String targetUri, final Command callback) {
1002
        String path = targetUri + "/" + f.getName() + "?delimiter=/";
985
    public void copyFolder(final Folder f, final String targetUsername, final String targetUri, boolean move, final Command callback) {
986
        String path = targetUri + "?delimiter=/";
1003 987
        PutRequest copyFolder = new PutRequest(getApiPath(), targetUsername, path) {
1004 988
            @Override
1005 989
            public void onSuccess(Resource result) {
......
1029 1013
        copyFolder.setHeader("Content-Type", "application/directory");
1030 1014
        if (!f.getOwner().equals(targetUsername))
1031 1015
        	copyFolder.setHeader("X-Source-Account", f.getOwner());
1032
        copyFolder.setHeader("X-Copy-From", URL.encodePathSegment(f.getUri()));
1016
        if (move)
1017
            copyFolder.setHeader("X-Move-From", URL.encodePathSegment(f.getUri()));
1018
        else
1019
        	copyFolder.setHeader("X-Copy-From", URL.encodePathSegment(f.getUri()));
1033 1020
        Scheduler.get().scheduleDeferred(copyFolder);
1034 1021
    }
1035 1022
    

Also available in: Unified diff