summaryrefslogtreecommitdiffstats
path: root/base/server/cms/src/com/netscape/cms/servlet/admin
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2013-11-08 12:36:33 -0500
committerEndi S. Dewata <edewata@redhat.com>2013-11-08 19:28:52 -0500
commitf74c644b09dd1e18289c4a543a211c3ff8cd02d9 (patch)
tree296fe00e281225bd825c41b319c8435a4219855d /base/server/cms/src/com/netscape/cms/servlet/admin
parent9d3090378bf4e5152df2c02d48ca8f9beeac2057 (diff)
downloadpki-f74c644b09dd1e18289c4a543a211c3ff8cd02d9.tar.gz
pki-f74c644b09dd1e18289c4a543a211c3ff8cd02d9.tar.xz
pki-f74c644b09dd1e18289c4a543a211c3ff8cd02d9.zip
Fixed find commands.
Some of the REST services have been fixed to consistently return a DataCollection which contains the total count, the requested subset of results, and links to request other subsets of the results. The TPSConnectorFindCLI has been split into separate find and show commands. Ticket #749
Diffstat (limited to 'base/server/cms/src/com/netscape/cms/servlet/admin')
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java3
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java4
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java48
3 files changed, 33 insertions, 22 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java
index 9f976d401..b38277dd0 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupMemberProcessor.java
@@ -124,11 +124,12 @@ public class GroupMemberProcessor extends Processor {
// return entries up to the page size
for ( ; i<start+size && members.hasMoreElements(); i++) {
String memberID = members.nextElement();
- response.addMember(createGroupMemberData(groupID, memberID));
+ response.addEntry(createGroupMemberData(groupID, memberID));
}
// count the total entries
for ( ; members.hasMoreElements(); i++) members.nextElement();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java
index 3f250517a..17c4387a3 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/admin/GroupService.java
@@ -109,7 +109,6 @@ public class GroupService extends PKIService implements GroupResource {
Enumeration<IGroup> groups = userGroupManager.listGroups(filter);
GroupCollection response = new GroupCollection();
-
int i = 0;
// skip to the start of the page
@@ -118,11 +117,12 @@ public class GroupService extends PKIService implements GroupResource {
// return entries up to the page size
for ( ; i<start+size && groups.hasMoreElements(); i++) {
IGroup group = groups.nextElement();
- response.addGroup(createGroupData(group));
+ response.addEntry(createGroupData(group));
}
// count the total entries
for ( ; groups.hasMoreElements(); i++) groups.nextElement();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
diff --git a/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java b/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java
index 3f172abeb..b32bf6756 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/admin/UserService.java
@@ -28,6 +28,7 @@ import java.security.cert.CertificateNotYetValidException;
import java.security.cert.X509Certificate;
import java.util.Arrays;
import java.util.Enumeration;
+import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -137,7 +138,6 @@ public class UserService extends PKIService implements UserResource {
Enumeration<IUser> users = userGroupManager.findUsers(filter);
UserCollection response = new UserCollection();
-
int i = 0;
// skip to the start of the page
@@ -146,11 +146,12 @@ public class UserService extends PKIService implements UserResource {
// return entries up to the page size
for ( ; i<start+size && users.hasMoreElements(); i++) {
IUser user = users.nextElement();
- response.addUser(createUserData(user));
+ response.addEntry(createUserData(user));
}
// count the total entries
for ( ; users.hasMoreElements(); i++) users.nextElement();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
@@ -556,24 +557,33 @@ public class UserService extends PKIService implements UserResource {
throw new UserNotFoundException(userID);
}
+ X509Certificate[] certs = user.getX509Certificates();
+ if (certs == null) certs = new X509Certificate[0];
+ Iterator<X509Certificate> entries = Arrays.asList(certs).iterator();
+
UserCertCollection response = new UserCertCollection();
+ int i = 0;
- X509Certificate[] certs = user.getX509Certificates();
- if (certs != null) {
- for (int i=start; i<start+size && i<certs.length; i++) {
- X509Certificate cert = certs[i];
- response.addCert(createUserCertData(userID, cert));
- }
+ // skip to the start of the page
+ for ( ; i<start && entries.hasNext(); i++) entries.next();
- if (start > 0) {
- URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
- response.addLink(new Link("prev", uri));
- }
+ // return entries up to the page size
+ for ( ; i<start+size && entries.hasNext(); i++) {
+ response.addEntry(createUserCertData(userID, entries.next()));
+ }
- if (start+size < certs.length) {
- URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", start+size).build();
- response.addLink(new Link("next", uri));
- }
+ // count the total entries
+ for ( ; entries.hasNext(); i++) entries.next();
+ response.setTotal(i);
+
+ if (start > 0) {
+ URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
+ response.addLink(new Link("prev", uri));
+ }
+
+ if (start+size < i) {
+ URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", start+size).build();
+ response.addLink(new Link("next", uri));
}
return response;
@@ -944,10 +954,9 @@ public class UserService extends PKIService implements UserResource {
throw new UserNotFoundException(userID);
}
- UserMembershipCollection response = new UserMembershipCollection();
-
Enumeration<IGroup> groups = userGroupManager.findGroupsByUser(user.getUserDN());
+ UserMembershipCollection response = new UserMembershipCollection();
int i = 0;
// skip to the start of the page
@@ -956,11 +965,12 @@ public class UserService extends PKIService implements UserResource {
// return entries up to the page size
for ( ; i<start+size && groups.hasMoreElements(); i++) {
IGroup group = groups.nextElement();
- response.addMembership(createUserMembershipData(userID, group.getName()));
+ response.addEntry(createUserMembershipData(userID, group.getName()));
}
// count the total entries
for ( ; groups.hasMoreElements(); i++) groups.nextElement();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();