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

b/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java
299 299
        	return;
300 300
        if (!folder.isContainer() && !folder.getName().equals(newName)) {
301 301
            final String path = folder.getParent().getUri() + "/" + newName;
302
            PutRequest newFolder = new PutRequest(app.getApiPath(), folder.getParent().getOwner(), path) {
303
                @Override
304
                public void onSuccess(Resource result) {
305
                    Iterator<File> iter = folder.getFiles().iterator();
306
                    app.copyFiles(iter, folder.getParent().getOwner(), folder.getParent().getUri() + "/" + newName, new Command() {
307
                        @Override
308
                        public void execute() {
309
                            Iterator<Folder> iterf = folder.getSubfolders().iterator();
310
                            app.copySubfolders(iterf, folder.getParent().getOwner(), folder.getParent().getUri() + "/" + newName, new Command() {
311
                                @Override
312
                                public void execute() {
313
                                    app.deleteFolder(folder, new Command() {
314
										
315
										@Override
316
										public void execute() {
317
		                                    app.updateFolder(folder.getParent(), false, new Command() {
318
		                            			
319
		                            			@Override
320
		                            			public void execute() {
321
		                            				app.updateMySharedRoot();
322
		                            			}
323
		                            		}, true);
324
										}
325
									});
326
                                }
327
                            });
328
                        }
329
                    });
330
                }
331

  
332
                @Override
333
                public void onError(Throwable t) {
334
                    GWT.log("", t);
335
					app.setError(t);
336
                    if(t instanceof RestException){
337
                        app.displayError("Unable to update folder: " + ((RestException) t).getHttpStatusText());
338
                    }
339
                    else
340
                        app.displayError("System error modifying folder: " + t.getMessage());
341
                }
342

  
302
            app.copyFolder(folder, folder.getOwner(), path, true, new Command() {
303
				
343 304
				@Override
344
				protected void onUnauthorized(Response response) {
345
					app.sessionExpired();
305
				public void execute() {
306
                    app.updateFolder(folder.getParent(), false, new Command() {
307
            			
308
            			@Override
309
            			public void execute() {
310
            				app.updateMySharedRoot();
311
            			}
312
            		}, true);
346 313
				}
347
            };
348
            newFolder.setHeader("X-Auth-Token", app.getToken());
349
            newFolder.setHeader("Content-Type", "application/folder");
350
            newFolder.setHeader("Accept", "*/*");
351
            newFolder.setHeader("Content-Length", "0");
352
            Scheduler.get().scheduleDeferred(newFolder);
314
			});
353 315
        }
354 316
        else
355 317
            app.updateFolder(folder.getParent(), false, new Command() {

Also available in: Unified diff