diff options
author | Endi Sukma Dewata <edewata@redhat.com> | 2012-05-19 11:19:07 -0500 |
---|---|---|
committer | Endi Sukma Dewata <edewata@redhat.com> | 2012-05-31 12:03:02 -0500 |
commit | b6967b3b2b850e4158bd1fb6cee418e714053e30 (patch) | |
tree | 216552c12a34a05ae3f5034781f559a597901877 /base/common/src/com/netscape/cms/client/group/GroupRestClient.java | |
parent | afa68fa3c69d1617a312f1f2f75f7e6c27bb06c7 (diff) | |
download | pki-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.java | 92 |
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); + } +} |