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