summaryrefslogtreecommitdiffstats
path: root/base/common/src/com/netscape/cms/client/group/GroupRestClient.java
diff options
context:
space:
mode:
authorEndi Sukma Dewata <edewata@redhat.com>2012-05-19 11:19:07 -0500
committerEndi Sukma Dewata <edewata@redhat.com>2012-05-31 12:03:02 -0500
commitb6967b3b2b850e4158bd1fb6cee418e714053e30 (patch)
tree216552c12a34a05ae3f5034781f559a597901877 /base/common/src/com/netscape/cms/client/group/GroupRestClient.java
parentafa68fa3c69d1617a312f1f2f75f7e6c27bb06c7 (diff)
downloadpki-b6967b3b2b850e4158bd1fb6cee418e714053e30.tar.gz
pki-b6967b3b2b850e4158bd1fb6cee418e714053e30.tar.xz
pki-b6967b3b2b850e4158bd1fb6cee418e714053e30.zip
Added group CLI.
This patch provides a tool to manage groups and group members via command line. Ticket #160
Diffstat (limited to 'base/common/src/com/netscape/cms/client/group/GroupRestClient.java')
-rw-r--r--base/common/src/com/netscape/cms/client/group/GroupRestClient.java92
1 files changed, 92 insertions, 0 deletions
diff --git a/base/common/src/com/netscape/cms/client/group/GroupRestClient.java b/base/common/src/com/netscape/cms/client/group/GroupRestClient.java
new file mode 100644
index 000000000..c5070a447
--- /dev/null
+++ b/base/common/src/com/netscape/cms/client/group/GroupRestClient.java
@@ -0,0 +1,92 @@
+//--- 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.cms.client.group;
+
+import java.net.URISyntaxException;
+
+import org.jboss.resteasy.client.ClientResponse;
+
+import com.netscape.certsrv.group.GroupCollection;
+import com.netscape.certsrv.group.GroupData;
+import com.netscape.certsrv.group.GroupMemberCollection;
+import com.netscape.certsrv.group.GroupMemberData;
+import com.netscape.certsrv.group.GroupMemberResource;
+import com.netscape.certsrv.group.GroupResource;
+import com.netscape.cms.servlet.csadmin.CMSRestClient;
+
+/**
+ * @author Endi S. Dewata
+ */
+public class GroupRestClient extends CMSRestClient {
+
+ public GroupResource groupClient;
+ public GroupMemberResource groupMemberClient;
+
+ public GroupRestClient(String baseUri) throws URISyntaxException {
+ this(baseUri, null);
+ }
+
+ public GroupRestClient(String baseUri, String nickname) throws URISyntaxException {
+ super(baseUri, nickname);
+
+ groupClient = createProxy(GroupResource.class);
+ groupMemberClient = createProxy(GroupMemberResource.class);
+ }
+
+ public GroupCollection findGroups(String groupIDFilter, Integer start, Integer size) {
+ return groupClient.findGroups(groupIDFilter, start, size);
+ }
+
+ public GroupData getGroup(String groupID) {
+ return groupClient.getGroup(groupID);
+ }
+
+ public GroupData addGroup(GroupData groupData) {
+ @SuppressWarnings("unchecked")
+ ClientResponse<GroupData> response = (ClientResponse<GroupData>)groupClient.addGroup(groupData);
+ return response.getEntity();
+ }
+
+ public GroupData modifyGroup(String groupID, GroupData groupData) {
+ @SuppressWarnings("unchecked")
+ ClientResponse<GroupData> response = (ClientResponse<GroupData>)groupClient.modifyGroup(groupID, groupData);
+ return response.getEntity();
+ }
+
+ public void removeGroup(String groupID) {
+ groupClient.removeGroup(groupID);
+ }
+
+ public GroupMemberCollection findGroupMembers(String groupID, Integer start, Integer size) {
+ return groupMemberClient.findGroupMembers(groupID, start, size);
+ }
+
+ public GroupMemberData getGroupMember(String groupID, String memberID) {
+ return groupMemberClient.getGroupMember(groupID, memberID);
+ }
+
+ public GroupMemberData addGroupMember(String groupID, String memberID) {
+ @SuppressWarnings("unchecked")
+ ClientResponse<GroupMemberData> response = (ClientResponse<GroupMemberData>)groupMemberClient.addGroupMember(groupID, memberID);
+ return response.getEntity();
+ }
+
+ public void removeGroupMember(String groupID, String memberID) {
+ groupMemberClient.removeGroupMember(groupID, memberID);
+ }
+}