Revision a2411896

b/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java
420 420
				}
421 421
            };
422 422
            updateFile.setHeader("X-Auth-Token", app.getToken());
423
            updateFile.setHeader("X-Move-From", file.getUri());
423
            updateFile.setHeader("X-Move-From", URL.encodePathSegment(file.getUri()));
424 424
            updateFile.setHeader("Content-Type", file.getContentType());
425 425
            Scheduler.get().scheduleDeferred(updateFile);
426 426
        }
......
478 478
                String permHeader = readPermHeader +  ((readPermHeader.length()  > 0 && writePermHeader.length() > 0) ?  ";" : "") + writePermHeader;
479 479
                if (permHeader.length() == 0)
480 480
                    permHeader="~";
481
                else
482
                	permHeader = URL.encodePathSegment(permHeader);
481 483
                updateFile.setHeader("X-Object-Sharing", permHeader);
482 484
            }
483 485
            Scheduler.get().scheduleDeferred(updateFile);
b/src/gr/grnet/pithos/web/client/FolderPropertiesDialog.java
52 52
import com.google.gwt.event.dom.client.ClickHandler;
53 53
import com.google.gwt.event.dom.client.KeyCodes;
54 54
import com.google.gwt.http.client.Response;
55
import com.google.gwt.http.client.URL;
55 56
import com.google.gwt.i18n.client.DateTimeFormat;
56 57
import com.google.gwt.user.client.Event.NativePreviewEvent;
57 58
import com.google.gwt.user.client.ui.Anchor;
......
457 458
                writePermHeader = writePermHeader.substring(0, writePermHeader.length() - 1);
458 459
            String permHeader = readPermHeader +  ((readPermHeader.length()  > 0 && writePermHeader.length() > 0) ?  ";" : "") + writePermHeader;
459 460
            if (permHeader.length() == 0)
460
                permHeader="~";
461
                permHeader = "~";
462
            else
463
            	permHeader = URL.encodePathSegment(permHeader);
461 464
            updateFolder.setHeader("X-Object-Sharing", permHeader);
462 465
            Scheduler.get().scheduleDeferred(updateFolder);
463 466
        }
b/src/gr/grnet/pithos/web/client/Pithos.java
987 987
				}
988 988
            };
989 989
            copyFile.setHeader("X-Auth-Token", getToken());
990
            copyFile.setHeader("X-Copy-From", file.getUri());
990
            copyFile.setHeader("X-Copy-From", URL.encodePathSegment(file.getUri()));
991 991
            if (!file.getOwner().equals(targetUsername))
992
            	copyFile.setHeader("X-Source-Account", file.getOwner());
992
            	copyFile.setHeader("X-Source-Account", URL.encodePathSegment(file.getOwner()));
993 993
            copyFile.setHeader("Content-Type", file.getContentType());
994 994
            Scheduler.get().scheduleDeferred(copyFile);
995 995
        }
b/src/gr/grnet/pithos/web/client/VersionsList.java
47 47
import com.google.gwt.event.dom.client.ClickEvent;
48 48
import com.google.gwt.event.dom.client.ClickHandler;
49 49
import com.google.gwt.http.client.Response;
50
import com.google.gwt.http.client.URL;
50 51
import com.google.gwt.i18n.client.DateTimeFormat;
51 52
import com.google.gwt.user.client.Window;
52 53
import com.google.gwt.user.client.ui.AbstractImagePrototype;
......
156 157
			}
157 158
		};
158 159
		restoreVersion.setHeader("X-Auth-Token", app.getToken());
159
		restoreVersion.setHeader("X-Source-Object", file.getUri());
160
		restoreVersion.setHeader("X-Source-Object", URL.encodePathSegment(file.getUri()));
160 161
		restoreVersion.setHeader("X-Source-Version", String.valueOf(version));
161 162
		restoreVersion.setHeader("Content-Range", "bytes 0-/*");
162 163
		Scheduler.get().scheduleDeferred(restoreVersion);
b/src/gr/grnet/pithos/web/client/commands/AddUserCommand.java
101 101
			updateGroup.setHeader("X-Auth-Token", app.getToken());
102 102
			String groupMembers = "";
103 103
			for (String u : group.getMembers())
104
				groupMembers += (u + ",");
104
				groupMembers += (URL.encodePathSegment(u) + ",");
105 105
			updateGroup.setHeader("X-Account-Group-" + URL.encodePathSegment(group.getName()), groupMembers);
106 106
			Scheduler.get().scheduleDeferred(updateGroup);
107 107
        }
b/src/gr/grnet/pithos/web/client/commands/PasteCommand.java
48 48

  
49 49
import com.google.gwt.core.client.GWT;
50 50
import com.google.gwt.http.client.Response;
51
import com.google.gwt.http.client.URL;
51 52
import com.google.gwt.user.client.Command;
52 53
import com.google.gwt.user.client.ui.PopupPanel;
53 54

  
......
157 158
				}
158 159
            };
159 160
            copyFile.setHeader("X-Auth-Token", app.getToken());
160
            copyFile.setHeader("X-Move-From", file.getUri());
161
            copyFile.setHeader("X-Move-From", URL.encodePathSegment(file.getUri()));
161 162
            copyFile.setHeader("Content-Type", file.getContentType());
162 163
            Scheduler.get().scheduleDeferred(copyFile);
163 164
        }
b/src/gr/grnet/pithos/web/client/commands/RemoveUserCommand.java
101 101
		String groupMembers = "";
102 102
		if (!group.getMembers().isEmpty()) {
103 103
			for (String u : group.getMembers())
104
				groupMembers += (u + ",");
104
				groupMembers += (URL.encodePathSegment(u) + ",");
105 105
		}
106 106
		else
107 107
			groupMembers = "~";
b/src/gr/grnet/pithos/web/client/commands/RestoreTrashCommand.java
215 215
				}
216 216
            };
217 217
            untrashFile.setHeader("X-Auth-Token", app.getToken());
218
            untrashFile.setHeader("X-Move-From", file.getUri());
218
            untrashFile.setHeader("X-Move-From", URL.encodePathSegment(file.getUri()));
219 219
            Scheduler.get().scheduleDeferred(untrashFile);
220 220
        }
221 221
        else if (callback != null) {
b/src/gr/grnet/pithos/web/client/commands/ToTrashCommand.java
218 218
				}
219 219
            };
220 220
            trashFile.setHeader("X-Auth-Token", app.getToken());
221
            trashFile.setHeader("X-Move-From", file.getUri());
221
            trashFile.setHeader("X-Move-From", URL.encodePathSegment(file.getUri()));
222 222
            Scheduler.get().scheduleDeferred(trashFile);
223 223
        }
224 224
        else if (callback != null) {
b/src/gr/grnet/pithos/web/client/foldertree/AccountResource.java
144 144
        	if (h != null) {
145 145
		        String name = h.getName();
146 146
		        if (name.startsWith("X-Account-Group-")) {
147
		            String groupName = URL.decodePathSegment(name.substring("X-Account-Group-".length())).trim().toLowerCase();
147
		            String groupName = URL.decodePathSegment(name.substring("X-Account-Group-".length()));
148 148
		            Group g = new Group(groupName);
149 149
		            String[] members = h.getValue().split(",");
150 150
		            for (String s : members)
151
		                g.addMember(s.trim());
151
		                g.addMember(URL.decodePathSegment(s).trim());
152 152
		            groups.add(g);
153 153
		        }
154 154
		        else if (name.equals("X-Account-Container-Count")) {
b/src/gr/grnet/pithos/web/client/foldertree/File.java
224 224
        for (Header h : response.getHeaders()) {
225 225
            String header = h.getName();
226 226
            if (header.startsWith("X-Object-Meta-"))
227
                tags.add(URL.decodePathSegment(header.substring("X-Object-Meta-".length())).trim().toLowerCase());
227
                tags.add(URL.decodePathSegment(header.substring("X-Object-Meta-".length())));
228 228
            else if (header.equals("X-Object-Sharing")) {
229 229
                String rawPermissions = h.getValue();
230
                parsePermissions(rawPermissions);
230
                parsePermissions(URL.decodePathSegment(rawPermissions));
231 231
            }
232 232
            else if (header.equals("X-Object-Shared-By")) {
233
                inheritedPermissionsFrom = h.getValue().trim();
233
                inheritedPermissionsFrom = URL.decodePathSegment(h.getValue());
234 234
            }
235 235
        }
236 236
    }
b/src/gr/grnet/pithos/web/client/foldertree/Folder.java
164 164
        header = response.getHeader("X-Container-Object-Meta");
165 165
        if (header != null && header.length() > 0) {
166 166
            for (String t : header.split(",")) {
167
                tags.add(URL.decodePathSegment(t.toLowerCase()).trim());
167
                tags.add(URL.decodePathSegment(t));
168 168
            }
169 169
        }
170 170

  

Also available in: Unified diff