From d45f02859b5a2aa2e58dc1339d7bbf299fee543c Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sat, 4 Sep 2010 15:54:04 +0200 Subject: [PATCH] added update method --- scm-webapp/src/main/java/sonia/scm/Group.java | 24 +++++++++++++++ .../api/rest/resources/GroupsResource.java | 30 +++++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/scm-webapp/src/main/java/sonia/scm/Group.java b/scm-webapp/src/main/java/sonia/scm/Group.java index 15624f4b0d..5a3f2a8ca6 100644 --- a/scm-webapp/src/main/java/sonia/scm/Group.java +++ b/scm-webapp/src/main/java/sonia/scm/Group.java @@ -182,6 +182,30 @@ public class Group implements Serializable return name; } + //~--- set methods ---------------------------------------------------------- + + /** + * Method description + * + * + * @param members + */ + public void setMembers(List members) + { + this.members = members; + } + + /** + * Method description + * + * + * @param name + */ + public void setName(String name) + { + this.name = name; + } + //~--- fields --------------------------------------------------------------- /** Field description */ diff --git a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupsResource.java b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupsResource.java index 9689c57fe2..54684cfa75 100644 --- a/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupsResource.java +++ b/scm-webapp/src/main/java/sonia/scm/api/rest/resources/GroupsResource.java @@ -21,6 +21,7 @@ import javax.inject.Singleton; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.POST; +import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; @@ -76,6 +77,35 @@ public class GroupsResource "groups/".concat(group.getName()))).build(); } + /** + * Method description + * + * + * + * @param name + * @param group + * + * @return + */ + @PUT + @Path("{name}") + @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON }) + public Response update(@PathParam("name") String name, Group group) + { + Group updateGroup = groupStore.get(name); + + if (updateGroup == null) + { + throw new WebApplicationException(Status.NOT_FOUND); + } + + updateGroup.setName(name); + updateGroup.setMembers(group.getMembers()); + + return Response.created( + uriInfo.getAbsolutePath().resolve(group.getName())).build(); + } + //~--- get methods ---------------------------------------------------------- /**