summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/certsrv/group
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2013-10-08 16:02:19 -0400
committerEndi S. Dewata <edewata@redhat.com>2013-10-25 17:16:27 -0400
commit7ca5adf1bd5bc4f9a7c5f2035426b9158007bb28 (patch)
treea4f829050bcdbbf55105b26cc155e615a5bdf3c1 /base/common/src/com/netscape/certsrv/group
parent00423180cc2fcfa97a6d9ca515588d703d7235ab (diff)
downloadpki-7ca5adf1bd5bc4f9a7c5f2035426b9158007bb28.tar.gz
pki-7ca5adf1bd5bc4f9a7c5f2035426b9158007bb28.tar.xz
pki-7ca5adf1bd5bc4f9a7c5f2035426b9158007bb28.zip
Fixed problems finding user and group sub-resources.
Due to a regression RESTEasy is unable to find some sub-resources properly. As a workaround some resources need to be merged into the parent resource. The UserCertResource and UserMembershipResource have been merged into UserResource. The GroupMemberResource has been merged into GroupResource.
Diffstat (limited to 'base/common/src/com/netscape/certsrv/group')
-rw-r--r--base/common/src/com/netscape/certsrv/group/GroupClient.java10
-rw-r--r--base/common/src/com/netscape/certsrv/group/GroupMemberResource.java67
-rw-r--r--base/common/src/com/netscape/certsrv/group/GroupResource.java25
3 files changed, 29 insertions, 73 deletions
diff --git a/base/common/src/com/netscape/certsrv/group/GroupClient.java b/base/common/src/com/netscape/certsrv/group/GroupClient.java
index 2f11e21b4..7470349f4 100644
--- a/base/common/src/com/netscape/certsrv/group/GroupClient.java
+++ b/base/common/src/com/netscape/certsrv/group/GroupClient.java
@@ -30,7 +30,6 @@ import com.netscape.certsrv.client.PKIClient;
public class GroupClient extends Client {
public GroupResource groupClient;
- public GroupMemberResource groupMemberClient;
public GroupClient(PKIClient client, String subsystem) throws URISyntaxException {
super(client, subsystem, "group");
@@ -39,7 +38,6 @@ public class GroupClient extends Client {
public void init() throws URISyntaxException {
groupClient = createProxy(GroupResource.class);
- groupMemberClient = createProxy(GroupMemberResource.class);
}
public GroupCollection findGroups(String groupIDFilter, Integer start, Integer size) {
@@ -67,20 +65,20 @@ public class GroupClient extends Client {
}
public GroupMemberCollection findGroupMembers(String groupID, Integer start, Integer size) {
- return groupMemberClient.findGroupMembers(groupID, start, size);
+ return groupClient.findGroupMembers(groupID, start, size);
}
public GroupMemberData getGroupMember(String groupID, String memberID) {
- return groupMemberClient.getGroupMember(groupID, memberID);
+ return groupClient.getGroupMember(groupID, memberID);
}
public GroupMemberData addGroupMember(String groupID, String memberID) {
@SuppressWarnings("unchecked")
- ClientResponse<GroupMemberData> response = (ClientResponse<GroupMemberData>)groupMemberClient.addGroupMember(groupID, memberID);
+ ClientResponse<GroupMemberData> response = (ClientResponse<GroupMemberData>)groupClient.addGroupMember(groupID, memberID);
return client.getEntity(response);
}
public void removeGroupMember(String groupID, String memberID) {
- groupMemberClient.removeGroupMember(groupID, memberID);
+ groupClient.removeGroupMember(groupID, memberID);
}
}
diff --git a/base/common/src/com/netscape/certsrv/group/GroupMemberResource.java b/base/common/src/com/netscape/certsrv/group/GroupMemberResource.java
deleted file mode 100644
index cd4d2eb24..000000000
--- a/base/common/src/com/netscape/certsrv/group/GroupMemberResource.java
+++ /dev/null
@@ -1,67 +0,0 @@
-// --- BEGIN COPYRIGHT BLOCK ---
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation; version 2 of the License.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with this program; if not, write to the Free Software Foundation, Inc.,
-// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-//
-// (C) 2012 Red Hat, Inc.
-// All rights reserved.
-// --- END COPYRIGHT BLOCK ---
-
-package com.netscape.certsrv.group;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.DELETE;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.jboss.resteasy.annotations.ClientResponseType;
-
-import com.netscape.certsrv.acls.ACLMapping;
-import com.netscape.certsrv.authentication.AuthMethodMapping;
-
-/**
- * @author Endi S. Dewata
- */
-@Path("admin/groups/{groupID}/members")
-@ACLMapping("admin.groups")
-@AuthMethodMapping("admin")
-public interface GroupMemberResource {
-
- @GET
- @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- public GroupMemberCollection findGroupMembers(
- @PathParam("groupID") String groupID,
- @QueryParam("start") Integer start,
- @QueryParam("size") Integer size);
-
- @POST
- @ClientResponseType(entityType=GroupMemberData.class)
- @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- public Response addGroupMember(@PathParam("groupID") String groupID, String memberID);
-
- @GET
- @Path("{memberID}")
- @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- public GroupMemberData getGroupMember(@PathParam("groupID") String groupID, @PathParam("memberID") String memberID);
-
- @DELETE
- @Path("{memberID}")
- @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- public void removeGroupMember(@PathParam("groupID") String groupID, @PathParam("memberID") String memberID);
-}
diff --git a/base/common/src/com/netscape/certsrv/group/GroupResource.java b/base/common/src/com/netscape/certsrv/group/GroupResource.java
index ffe32e2cd..ea59922a5 100644
--- a/base/common/src/com/netscape/certsrv/group/GroupResource.java
+++ b/base/common/src/com/netscape/certsrv/group/GroupResource.java
@@ -71,4 +71,29 @@ public interface GroupResource {
@Path("{groupID}")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public void removeGroup(@PathParam("groupID") String groupID);
+
+ @GET
+ @Path("{groupID}/members")
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public GroupMemberCollection findGroupMembers(
+ @PathParam("groupID") String groupID,
+ @QueryParam("start") Integer start,
+ @QueryParam("size") Integer size);
+
+ @POST
+ @Path("{groupID}/members")
+ @ClientResponseType(entityType=GroupMemberData.class)
+ @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public Response addGroupMember(@PathParam("groupID") String groupID, String memberID);
+
+ @GET
+ @Path("{groupID}/members/{memberID}")
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public GroupMemberData getGroupMember(@PathParam("groupID") String groupID, @PathParam("memberID") String memberID);
+
+ @DELETE
+ @Path("{groupID}/members/{memberID}")
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public void removeGroupMember(@PathParam("groupID") String groupID, @PathParam("memberID") String memberID);
}