53 |
53 |
import gr.grnet.pithos.web.client.rest.HeadRequest;
|
54 |
54 |
import gr.grnet.pithos.web.client.rest.PutRequest;
|
55 |
55 |
import gr.grnet.pithos.web.client.rest.RestException;
|
56 |
|
import gr.grnet.pithos.web.client.tagtree.Tag;
|
57 |
56 |
|
58 |
57 |
import java.util.ArrayList;
|
59 |
58 |
import java.util.HashMap;
|
... | ... | |
64 |
63 |
import com.google.gwt.core.client.EntryPoint;
|
65 |
64 |
import com.google.gwt.core.client.GWT;
|
66 |
65 |
import com.google.gwt.core.client.Scheduler;
|
|
66 |
import com.google.gwt.core.client.Scheduler.RepeatingCommand;
|
67 |
67 |
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
|
68 |
68 |
import com.google.gwt.event.dom.client.ClickEvent;
|
69 |
69 |
import com.google.gwt.event.dom.client.ClickHandler;
|
... | ... | |
459 |
459 |
}
|
460 |
460 |
});
|
461 |
461 |
|
462 |
|
// Scheduler.get().scheduleDeferred(new Command() {
|
463 |
|
//
|
464 |
|
// @Override
|
465 |
|
// public void execute() {
|
466 |
|
// displayError("lalala");
|
467 |
|
//
|
468 |
|
// }
|
469 |
|
// });
|
|
462 |
Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
|
|
463 |
|
|
464 |
@Override
|
|
465 |
public boolean execute() {
|
|
466 |
Folder f = getSelection();
|
|
467 |
if (f != null) {
|
|
468 |
if (getSelectedTree().equals(folderTreeView))
|
|
469 |
updateFolder(f, true, null);
|
|
470 |
else if (getSelectedTree().equals(mysharedTreeView))
|
|
471 |
updateSharedFolder(f, true);
|
|
472 |
}
|
|
473 |
return true;
|
|
474 |
}
|
|
475 |
}, 3000);
|
470 |
476 |
}
|
471 |
477 |
|
472 |
478 |
public void applyPermissions(Folder f) {
|
... | ... | |
542 |
548 |
|
543 |
549 |
String gotoUrl = Window.Location.getParameter("goto");
|
544 |
550 |
if (gotoUrl != null && gotoUrl.length() > 0) {
|
545 |
|
Window.Location.assign(gotoUrl + "?X-Auth-Token=" + token);
|
|
551 |
Window.Location.assign(gotoUrl);
|
546 |
552 |
return false;
|
547 |
553 |
}
|
548 |
554 |
return true;
|
... | ... | |
1189 |
1195 |
}
|
1190 |
1196 |
|
1191 |
1197 |
public void scheduleFolderHeadCommand(final Folder folder, final Command callback) {
|
1192 |
|
HeadRequest<Folder> headFolder = new HeadRequest<Folder>(Folder.class, getApiPath(), folder.getOwner(), folder.getUri(), folder) {
|
1193 |
|
|
1194 |
|
@Override
|
1195 |
|
public void onSuccess(Folder _result) {
|
1196 |
|
if (callback != null)
|
1197 |
|
callback.execute();
|
1198 |
|
}
|
1199 |
|
|
1200 |
|
@Override
|
1201 |
|
public void onError(Throwable t) {
|
1202 |
|
if (t instanceof RestException) {
|
1203 |
|
if (((RestException) t).getHttpStatusCode() == Response.SC_NOT_FOUND) {
|
1204 |
|
final String path = folder.getUri();
|
1205 |
|
PutRequest newFolder = new PutRequest(getApiPath(), folder.getOwner(), path) {
|
1206 |
|
@Override
|
1207 |
|
public void onSuccess(Resource _result) {
|
1208 |
|
scheduleFolderHeadCommand(folder, callback);
|
1209 |
|
}
|
1210 |
|
|
1211 |
|
@Override
|
1212 |
|
public void onError(Throwable _t) {
|
1213 |
|
GWT.log("", _t);
|
1214 |
|
setError(_t);
|
1215 |
|
if(_t instanceof RestException){
|
1216 |
|
displayError("Unable to create folder: " + ((RestException) _t).getHttpStatusText());
|
1217 |
|
}
|
1218 |
|
else
|
1219 |
|
displayError("System error creating folder: " + _t.getMessage());
|
1220 |
|
}
|
1221 |
|
|
1222 |
|
@Override
|
1223 |
|
protected void onUnauthorized(Response response) {
|
1224 |
|
sessionExpired();
|
1225 |
|
}
|
1226 |
|
};
|
1227 |
|
newFolder.setHeader("X-Auth-Token", getToken());
|
1228 |
|
newFolder.setHeader("Content-Type", "application/folder");
|
1229 |
|
newFolder.setHeader("Accept", "*/*");
|
1230 |
|
newFolder.setHeader("Content-Length", "0");
|
1231 |
|
Scheduler.get().scheduleDeferred(newFolder);
|
1232 |
|
}
|
1233 |
|
else
|
1234 |
|
displayError("Error heading folder: " + ((RestException) t).getHttpStatusText());
|
1235 |
|
}
|
1236 |
|
else
|
1237 |
|
displayError("System error heading folder: " + t.getMessage());
|
1238 |
|
|
1239 |
|
GWT.log("Error heading folder", t);
|
1240 |
|
setError(t);
|
1241 |
|
}
|
1242 |
|
|
1243 |
|
@Override
|
1244 |
|
protected void onUnauthorized(Response response) {
|
1245 |
|
sessionExpired();
|
1246 |
|
}
|
1247 |
|
};
|
1248 |
|
headFolder.setHeader("X-Auth-Token", getToken());
|
1249 |
|
Scheduler.get().scheduleDeferred(headFolder);
|
|
1198 |
if (folder == null) {
|
|
1199 |
if (callback != null)
|
|
1200 |
callback.execute();
|
|
1201 |
}
|
|
1202 |
else {
|
|
1203 |
HeadRequest<Folder> headFolder = new HeadRequest<Folder>(Folder.class, getApiPath(), folder.getOwner(), folder.getUri(), folder) {
|
|
1204 |
|
|
1205 |
@Override
|
|
1206 |
public void onSuccess(Folder _result) {
|
|
1207 |
if (callback != null)
|
|
1208 |
callback.execute();
|
|
1209 |
}
|
|
1210 |
|
|
1211 |
@Override
|
|
1212 |
public void onError(Throwable t) {
|
|
1213 |
if (t instanceof RestException) {
|
|
1214 |
if (((RestException) t).getHttpStatusCode() == Response.SC_NOT_FOUND) {
|
|
1215 |
final String path = folder.getUri();
|
|
1216 |
PutRequest newFolder = new PutRequest(getApiPath(), folder.getOwner(), path) {
|
|
1217 |
@Override
|
|
1218 |
public void onSuccess(Resource _result) {
|
|
1219 |
scheduleFolderHeadCommand(folder, callback);
|
|
1220 |
}
|
|
1221 |
|
|
1222 |
@Override
|
|
1223 |
public void onError(Throwable _t) {
|
|
1224 |
GWT.log("", _t);
|
|
1225 |
setError(_t);
|
|
1226 |
if(_t instanceof RestException){
|
|
1227 |
displayError("Unable to create folder: " + ((RestException) _t).getHttpStatusText());
|
|
1228 |
}
|
|
1229 |
else
|
|
1230 |
displayError("System error creating folder: " + _t.getMessage());
|
|
1231 |
}
|
|
1232 |
|
|
1233 |
@Override
|
|
1234 |
protected void onUnauthorized(Response response) {
|
|
1235 |
sessionExpired();
|
|
1236 |
}
|
|
1237 |
};
|
|
1238 |
newFolder.setHeader("X-Auth-Token", getToken());
|
|
1239 |
newFolder.setHeader("Content-Type", "application/folder");
|
|
1240 |
newFolder.setHeader("Accept", "*/*");
|
|
1241 |
newFolder.setHeader("Content-Length", "0");
|
|
1242 |
Scheduler.get().scheduleDeferred(newFolder);
|
|
1243 |
}
|
|
1244 |
else
|
|
1245 |
displayError("Error heading folder: " + ((RestException) t).getHttpStatusText());
|
|
1246 |
}
|
|
1247 |
else
|
|
1248 |
displayError("System error heading folder: " + t.getMessage());
|
|
1249 |
|
|
1250 |
GWT.log("Error heading folder", t);
|
|
1251 |
setError(t);
|
|
1252 |
}
|
|
1253 |
|
|
1254 |
@Override
|
|
1255 |
protected void onUnauthorized(Response response) {
|
|
1256 |
sessionExpired();
|
|
1257 |
}
|
|
1258 |
};
|
|
1259 |
headFolder.setHeader("X-Auth-Token", getToken());
|
|
1260 |
Scheduler.get().scheduleDeferred(headFolder);
|
|
1261 |
}
|
1250 |
1262 |
}
|
1251 |
1263 |
|
1252 |
1264 |
public void scheduleFileHeadCommand(File f, final Command callback) {
|