Revision 983f9ee2

b/src/gr/grnet/pithos/web/client/FileContextMenu.java
249 249
			@Override
250 250
			public void execute() {
251 251
				for (File f : selectedFiles)
252
					Window.open(app.getApiPath() + f.getOwner() + f.getUri() + "?X-Auth-Token=" + URL.encodeQueryString(app.getToken()), "_blank", "");
252
					Window.open(app.getApiPath() + f.getOwner() + f.getUri(), "_blank", "");
253 253
			}
254 254
		}));
255 255

  
b/src/gr/grnet/pithos/web/client/FileList.java
281 281
                sb.append(Templates.INSTANCE.filenameSpan(object.getName()));
282 282
				if (object.getContentType() != null && (object.getContentType().endsWith("png") || object.getContentType().endsWith("gif") || object.getContentType().endsWith("jpeg"))) {
283 283
        			sb.appendHtmlConstant(" ")
284
                      .append(Templates.INSTANCE.viewLink(app.getApiPath() + object.getOwner() + object.getUri() + "?X-Auth-Token=" + app.getToken(), object.getName()));
284
                      .append(Templates.INSTANCE.viewLink(app.getApiPath() + object.getOwner() + object.getUri(), object.getName()));
285 285
				}
286 286
				
287 287
				return sb.toSafeHtml();
......
408 408
		if (DOM.eventGetType(event) == Event.ONDBLCLICK)
409 409
			if (getSelectedFiles().size() == 1) {
410 410
				File file = getSelectedFiles().get(0);
411
				Window.open(app.getApiPath() + file.getOwner() + file.getUri() + "?X-Auth-Token=" + URL.encodeQueryString(app.getToken()), "_blank", "");
411
				Window.open(app.getApiPath() + file.getOwner() + file.getUri(), "_blank", "");
412 412
				event.preventDefault();
413 413
				return;
414 414
			}
b/src/gr/grnet/pithos/web/client/Pithos.java
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) {
b/src/gr/grnet/pithos/web/client/ToolsMenu.java
193 193
							@Override
194 194
							public void execute() {
195 195
					        	for (File f: files)
196
					        		Window.open(app.getApiPath() + f.getOwner() + f.getUri() + "?X-Auth-Token=" + URL.encodeQueryString(app.getToken()), "_blank", "");
196
					        		Window.open(app.getApiPath() + f.getOwner() + f.getUri(), "_blank", "");
197 197
							}
198 198
						}));
199 199
			        	empty = false;
b/src/gr/grnet/pithos/web/client/VersionsList.java
124 124
			downloadHtml.addClickHandler(new ClickHandler() {
125 125
				@Override
126 126
				public void onClick(ClickEvent event) {
127
					String fileUrl = app.getApiPath() + file.getOwner() + file.getUri() + "?X-Auth-Token=" + app.getToken() + "&version=" + v.getVersion();
127
					String fileUrl = app.getApiPath() + file.getOwner() + file.getUri() + "?version=" + v.getVersion();
128 128
					Window.open(fileUrl, "_BLANK", "");
129 129
				}
130 130
			});

Also available in: Unified diff