Revision b73a903e

b/src/gr/grnet/pithos/web/client/DeleteFileDialog.java
152 152
                    }
153 153
                    else
154 154
                        app.displayError("System error unable to delete file: "+t.getMessage());
155
                    deleteFile(iter);
155 156
                }
156 157

  
157 158
				@Override
b/src/gr/grnet/pithos/web/client/Pithos.java
879 879
                        GWT.log("", t);
880 880
						setError(t);
881 881
                        displayError("System error unable to delete folder: " + t.getMessage());
882
                        deleteObject(folder, i + 1, array, callback);
882 883
                    }
883 884

  
884 885
    				@Override
......
1429 1430
			
1430 1431
			@Override
1431 1432
			protected void onUnauthorized(Response response) {
1432
				if (retries >= MAX_RETRIES)
1433
					sessionExpired();
1434
            	else //retry
1435
            		Scheduler.get().scheduleDeferred(this);
1433
				sessionExpired();
1436 1434
			}
1437 1435
			
1438 1436
			@Override
......
1442 1440
			
1443 1441
			@Override
1444 1442
			public void onError(Throwable t) {
1445
            	if (retries >= MAX_RETRIES) {
1446
	                GWT.log("Error deleting trash", t);
1447
					setError(t);
1448
	                if (t instanceof RestException)
1449
	                    displayError("Error deleting trash: " + ((RestException) t).getHttpStatusText());
1450
	                else
1451
	                    displayError("System error deleting trash: " + t.getMessage());
1452
            	}
1453
            	else {//retry
1454
            		GWT.log("Retry " + retries);
1455
            		Scheduler.get().scheduleDeferred(this);
1456
            	}
1443
                GWT.log("Error deleting trash", t);
1444
				setError(t);
1445
                if (t instanceof RestException)
1446
                    displayError("Error deleting trash: " + ((RestException) t).getHttpStatusText());
1447
                else
1448
                    displayError("System error deleting trash: " + t.getMessage());
1457 1449
			}
1458 1450
		};
1459 1451
		delete.setHeader("X-Auth-Token", getToken());
b/src/gr/grnet/pithos/web/client/rest/DeleteRequest.java
40 40
import java.util.HashMap;
41 41
import java.util.Map;
42 42

  
43
import com.google.gwt.core.client.Scheduler;
43 44
import com.google.gwt.core.client.Scheduler.ScheduledCommand;
44 45
import com.google.gwt.http.client.Request;
45 46
import com.google.gwt.http.client.RequestBuilder;
......
94 95

  
95 96
                @Override
96 97
                public void onError(Request request, Throwable throwable) {
97
                    DeleteRequest.this.onError(throwable);
98
                	if (retries >= MAX_RETRIES)
99
                		DeleteRequest.this.onError(throwable);
100
                	else
101
                		Scheduler.get().scheduleDeferred(DeleteRequest.this);
98 102
                }
99 103

  
100 104
				@Override
101 105
				public void onUnauthorized(Response response) {
102
					DeleteRequest.this.onUnauthorized(response);
106
                	if (retries >= MAX_RETRIES)
107
                		DeleteRequest.this.onUnauthorized(response);
108
                	else
109
                		Scheduler.get().scheduleDeferred(DeleteRequest.this);
103 110
				}
104 111
            });
112
            retries++;
105 113
        }
106 114
        catch (RequestException e) {
107 115
        }

Also available in: Unified diff