summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/certsrv
diff options
context:
space:
mode:
Diffstat (limited to 'base/common/src/com/netscape/certsrv')
-rw-r--r--base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java4
-rw-r--r--base/common/src/com/netscape/certsrv/group/GroupMemberData.java36
-rw-r--r--base/common/src/com/netscape/certsrv/user/UserClient.java10
-rw-r--r--base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java4
-rw-r--r--base/common/src/com/netscape/certsrv/user/UserMembershipData.java37
-rw-r--r--base/common/src/com/netscape/certsrv/user/UserMembershipResource.java17
6 files changed, 83 insertions, 25 deletions
diff --git a/base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java b/base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java
index d19d939ad..03474d23d 100644
--- a/base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java
+++ b/base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java
@@ -68,11 +68,11 @@ public class GroupMemberCollection {
GroupMemberCollection response = new GroupMemberCollection();
GroupMemberData member1 = new GroupMemberData();
- member1.setID("User 1");
+ member1.setUserID("User 1");
response.addMember(member1);
GroupMemberData member2 = new GroupMemberData();
- member2.setID("User 2");
+ member2.setUserID("User 2");
response.addMember(member2);
JAXBContext context = JAXBContext.newInstance(GroupMemberCollection.class);
diff --git a/base/common/src/com/netscape/certsrv/group/GroupMemberData.java b/base/common/src/com/netscape/certsrv/group/GroupMemberData.java
index 11f3a2147..4bf9edaba 100644
--- a/base/common/src/com/netscape/certsrv/group/GroupMemberData.java
+++ b/base/common/src/com/netscape/certsrv/group/GroupMemberData.java
@@ -33,18 +33,28 @@ import com.netscape.certsrv.common.Constants;
@XmlRootElement(name="GroupMember")
public class GroupMemberData {
- String id;
+ String groupID;
+ String userID;
Link link;
+ @XmlAttribute(name="GroupID")
+ public String getGroupID() {
+ return groupID;
+ }
+
+ public void setGroupID(String groupID) {
+ this.groupID = groupID;
+ }
+
@FormParam(Constants.PR_GROUP_USER)
- @XmlAttribute(name="id")
- public String getID() {
- return id;
+ @XmlAttribute(name="UserID")
+ public String getUserID() {
+ return userID;
}
- public void setID(String id) {
- this.id = id;
+ public void setUserID(String userID) {
+ this.userID = userID;
}
@XmlElement(name="Link")
@@ -60,7 +70,8 @@ public class GroupMemberData {
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + ((id == null) ? 0 : id.hashCode());
+ result = prime * result + ((groupID == null) ? 0 : groupID.hashCode());
+ result = prime * result + ((userID == null) ? 0 : userID.hashCode());
return result;
}
@@ -73,10 +84,15 @@ public class GroupMemberData {
if (getClass() != obj.getClass())
return false;
GroupMemberData other = (GroupMemberData) obj;
- if (id == null) {
- if (other.id != null)
+ if (groupID == null) {
+ if (other.groupID != null)
+ return false;
+ } else if (!groupID.equals(other.groupID))
+ return false;
+ if (userID == null) {
+ if (other.userID != null)
return false;
- } else if (!id.equals(other.id))
+ } else if (!userID.equals(other.userID))
return false;
return true;
}
diff --git a/base/common/src/com/netscape/certsrv/user/UserClient.java b/base/common/src/com/netscape/certsrv/user/UserClient.java
index 87fe391b6..2dd350354 100644
--- a/base/common/src/com/netscape/certsrv/user/UserClient.java
+++ b/base/common/src/com/netscape/certsrv/user/UserClient.java
@@ -95,4 +95,14 @@ public class UserClient extends PKIClient {
public UserMembershipCollection findUserMemberships(String userID, Integer start, Integer size) {
return userMembershipClient.findUserMemberships(userID, start, size);
}
+
+ public UserMembershipData addUserMembership(String userID, String groupID) {
+ @SuppressWarnings("unchecked")
+ ClientResponse<UserMembershipData> response = (ClientResponse<UserMembershipData>)userMembershipClient.addUserMembership(userID, groupID);
+ return getEntity(response);
+ }
+
+ public void removeUserMembership(String userD, String groupID) {
+ userMembershipClient.removeUserMembership(userD, groupID);
+ }
}
diff --git a/base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java b/base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java
index f7646d2ef..624891918 100644
--- a/base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java
+++ b/base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java
@@ -68,11 +68,11 @@ public class UserMembershipCollection {
UserMembershipCollection response = new UserMembershipCollection();
UserMembershipData membership1 = new UserMembershipData();
- membership1.setID("Group 1");
+ membership1.setGroupID("Group 1");
response.addMembership(membership1);
UserMembershipData membership2 = new UserMembershipData();
- membership2.setID("Group 2");
+ membership2.setGroupID("Group 2");
response.addMembership(membership2);
JAXBContext context = JAXBContext.newInstance(UserMembershipCollection.class);
diff --git a/base/common/src/com/netscape/certsrv/user/UserMembershipData.java b/base/common/src/com/netscape/certsrv/user/UserMembershipData.java
index 6d5a51ebe..c7d75719c 100644
--- a/base/common/src/com/netscape/certsrv/user/UserMembershipData.java
+++ b/base/common/src/com/netscape/certsrv/user/UserMembershipData.java
@@ -19,7 +19,6 @@
package com.netscape.certsrv.user;
import javax.ws.rs.FormParam;
-import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@@ -33,18 +32,28 @@ import com.netscape.certsrv.common.Constants;
@XmlRootElement(name="UserMembership")
public class UserMembershipData {
- String id;
+ String userID;
+ String groupID;
Link link;
+ @XmlElement(name="UserID")
+ public String getUserID() {
+ return userID;
+ }
+
+ public void setUserID(String userID) {
+ this.userID = userID;
+ }
+
+ @XmlElement(name="GroupID")
@FormParam(Constants.PR_GROUP_USER)
- @XmlAttribute(name="id")
- public String getID() {
- return id;
+ public String getGroupID() {
+ return groupID;
}
- public void setID(String id) {
- this.id = id;
+ public void setGroupID(String groupID) {
+ this.groupID = groupID;
}
@XmlElement(name="Link")
@@ -60,7 +69,8 @@ public class UserMembershipData {
public int hashCode() {
final int prime = 31;
int result = 1;
- result = prime * result + ((id == null) ? 0 : id.hashCode());
+ result = prime * result + ((groupID == null) ? 0 : groupID.hashCode());
+ result = prime * result + ((userID == null) ? 0 : userID.hashCode());
return result;
}
@@ -73,10 +83,15 @@ public class UserMembershipData {
if (getClass() != obj.getClass())
return false;
UserMembershipData other = (UserMembershipData) obj;
- if (id == null) {
- if (other.id != null)
+ if (groupID == null) {
+ if (other.groupID != null)
+ return false;
+ } else if (!groupID.equals(other.groupID))
+ return false;
+ if (userID == null) {
+ if (other.userID != null)
return false;
- } else if (!id.equals(other.id))
+ } else if (!userID.equals(other.userID))
return false;
return true;
}
diff --git a/base/common/src/com/netscape/certsrv/user/UserMembershipResource.java b/base/common/src/com/netscape/certsrv/user/UserMembershipResource.java
index 193af5126..eedc2c961 100644
--- a/base/common/src/com/netscape/certsrv/user/UserMembershipResource.java
+++ b/base/common/src/com/netscape/certsrv/user/UserMembershipResource.java
@@ -18,12 +18,18 @@
package com.netscape.certsrv.user;
+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;
@@ -40,4 +46,15 @@ public interface UserMembershipResource {
@PathParam("userID") String userID,
@QueryParam("start") Integer start,
@QueryParam("size") Integer size);
+
+ @POST
+ @ClientResponseType(entityType=UserMembershipData.class)
+ @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public Response addUserMembership(@PathParam("userID") String userID, String groupID);
+
+ @DELETE
+ @Path("{groupID}")
+ @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
+ public void removeUserMembership(@PathParam("userID") String userID, @PathParam("groupID") String groupID);
}