Revision 9869aeb7 gss/src/gr/ebs/gss/server/rest/GroupsHandler.java

b/gss/src/gr/ebs/gss/server/rest/GroupsHandler.java
27 27
import gr.ebs.gss.server.domain.dto.UserDTO;
28 28

  
29 29
import java.io.IOException;
30
import java.net.URLDecoder;
31
import java.net.URLEncoder;
30 32
import java.util.List;
31 33

  
32 34
import javax.servlet.http.HttpServletRequest;
......
77 79
            	for (GroupDTO group: groups) {
78 80
            		JSONObject j = new JSONObject();
79 81
            		j.put("name", group.getName()).
80
            			put("uri", parentUrl + group.getName());
82
            			put("uri", parentUrl + URLEncoder.encode(group.getName(),"UTF-8"));
81 83
        			json.put(j);
82 84
            	}
83 85

  
......
107 109
	        		if (logger.isDebugEnabled())
108 110
	        			logger.debug("Serving member " + path.substring(slash + 1) +
109 111
	        						" from group " + path.substring(0, slash));
110
	        		GroupDTO group = getService().getGroup(owner.getId(), path.substring(0, slash));
112
	        		GroupDTO group = getService().getGroup(owner.getId(), URLDecoder.decode(path.substring(0, slash),"UTF-8"));
111 113
	        		for (UserDTO u: group.getMembers())
112 114
	        			if (u.getUsername().equals(path.substring(slash + 1))) {
113 115
	    					// Build the proper parent URL
......
123 125
	        		// Request to serve group
124 126
	        		if (logger.isDebugEnabled())
125 127
	        			logger.debug("Serving group " + path);
126
	    			GroupDTO group = getService().getGroup(owner.getId(), path);
128
	    			GroupDTO group = getService().getGroup(owner.getId(), URLDecoder.decode(path,"UTF-8"));
127 129
		        	JSONArray json = new JSONArray();
128 130
		        	for (UserDTO u: group.getMembers())
129 131
		    			json.put(parentUrl + u.getUsername());
......
183 185
        		if (logger.isDebugEnabled())
184 186
        			logger.debug("Adding member " + username +
185 187
        						" to group " + path);
186
        		GroupDTO group = getService().getGroup(owner.getId(), path);
188
        		GroupDTO group = getService().getGroup(owner.getId(), URLDecoder.decode(path,"UTF-8"));
187 189
        		User member = getService().findUser(username);
188 190
        		getService().addUserToGroup(owner.getId(), group.getId(), member.getId());
189 191
        		resp.setStatus(HttpServletResponse.SC_CREATED);
......
239 241
            	} else {
240 242
            		if (logger.isDebugEnabled())
241 243
            			logger.debug("Removing group " + path);
242
        			GroupDTO group = getService().getGroup(owner.getId(), path);
244
        			GroupDTO group = getService().getGroup(owner.getId(), URLDecoder.decode(path,"UTF-8"));
243 245
        			getService().deleteGroup(owner.getId(), group.getId());
244 246
            	}
245 247
        		resp.setStatus(HttpServletResponse.SC_NO_CONTENT);

Also available in: Unified diff