Revision a2f617f8 src/gr/grnet/pithos/web/client/Pithos.java
b/src/gr/grnet/pithos/web/client/Pithos.java | ||
---|---|---|
1188 | 1188 |
upload.addStyleName("pithos-uploadButton-loading"); |
1189 | 1189 |
upload.setTitle("Upload in progress. Click for details."); |
1190 | 1190 |
} |
1191 |
|
|
1192 |
public void scheduleFolderHeadCommand(final Folder folder, final Command callback) { |
|
1193 |
HeadRequest<Folder> headFolder = new HeadRequest<Folder>(Folder.class, getApiPath(), folder.getOwner(), folder.getUri(), folder) { |
|
1194 |
|
|
1195 |
@Override |
|
1196 |
public void onSuccess(Folder _result) { |
|
1197 |
if (callback != null) |
|
1198 |
callback.execute(); |
|
1199 |
} |
|
1200 |
|
|
1201 |
@Override |
|
1202 |
public void onError(Throwable t) { |
|
1203 |
if (t instanceof RestException) { |
|
1204 |
if (((RestException) t).getHttpStatusCode() == Response.SC_NOT_FOUND) { |
|
1205 |
final String path = folder.getUri(); |
|
1206 |
PutRequest newFolder = new PutRequest(getApiPath(), folder.getOwner(), path) { |
|
1207 |
@Override |
|
1208 |
public void onSuccess(Resource _result) { |
|
1209 |
scheduleFolderHeadCommand(folder, callback); |
|
1210 |
} |
|
1211 |
|
|
1212 |
@Override |
|
1213 |
public void onError(Throwable _t) { |
|
1214 |
GWT.log("", _t); |
|
1215 |
setError(_t); |
|
1216 |
if(_t instanceof RestException){ |
|
1217 |
displayError("Unable to create folder: " + ((RestException) _t).getHttpStatusText()); |
|
1218 |
} |
|
1219 |
else |
|
1220 |
displayError("System error creating folder: " + _t.getMessage()); |
|
1221 |
} |
|
1222 |
|
|
1223 |
@Override |
|
1224 |
protected void onUnauthorized(Response response) { |
|
1225 |
sessionExpired(); |
|
1226 |
} |
|
1227 |
}; |
|
1228 |
newFolder.setHeader("X-Auth-Token", getToken()); |
|
1229 |
newFolder.setHeader("Content-Type", "application/folder"); |
|
1230 |
newFolder.setHeader("Accept", "*/*"); |
|
1231 |
newFolder.setHeader("Content-Length", "0"); |
|
1232 |
Scheduler.get().scheduleDeferred(newFolder); |
|
1233 |
} |
|
1234 |
else |
|
1235 |
displayError("Error heading folder: " + ((RestException) t).getHttpStatusText()); |
|
1236 |
} |
|
1237 |
else |
|
1238 |
displayError("System error heading folder: " + t.getMessage()); |
|
1239 |
|
|
1240 |
GWT.log("Error heading folder", t); |
|
1241 |
setError(t); |
|
1242 |
} |
|
1243 |
|
|
1244 |
@Override |
|
1245 |
protected void onUnauthorized(Response response) { |
|
1246 |
sessionExpired(); |
|
1247 |
} |
|
1248 |
}; |
|
1249 |
headFolder.setHeader("X-Auth-Token", getToken()); |
|
1250 |
Scheduler.get().scheduleDeferred(headFolder); |
|
1251 |
} |
|
1252 |
|
|
1253 |
public void scheduleFileHeadCommand(File f, final Command callback) { |
|
1254 |
HeadRequest<File> headFile = new HeadRequest<File>(File.class, getApiPath(), f.getOwner(), f.getUri(), f) { |
|
1255 |
|
|
1256 |
@Override |
|
1257 |
public void onSuccess(File _result) { |
|
1258 |
if (callback != null) |
|
1259 |
callback.execute(); |
|
1260 |
} |
|
1261 |
|
|
1262 |
@Override |
|
1263 |
public void onError(Throwable t) { |
|
1264 |
GWT.log("Error heading file", t); |
|
1265 |
setError(t); |
|
1266 |
if (t instanceof RestException) |
|
1267 |
displayError("Error heading file: " + ((RestException) t).getHttpStatusText()); |
|
1268 |
else |
|
1269 |
displayError("System error heading file: " + t.getMessage()); |
|
1270 |
} |
|
1271 |
|
|
1272 |
@Override |
|
1273 |
protected void onUnauthorized(Response response) { |
|
1274 |
sessionExpired(); |
|
1275 |
} |
|
1276 |
}; |
|
1277 |
headFile.setHeader("X-Auth-Token", getToken()); |
|
1278 |
Scheduler.get().scheduleDeferred(headFile); |
|
1279 |
} |
|
1191 | 1280 |
} |
Also available in: Unified diff