summaryrefslogtreecommitdiffstats
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
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
-rw-r--r--base/common/src/com/netscape/certsrv/base/DataCollection.java9
-rw-r--r--base/common/src/com/netscape/certsrv/group/GroupCollection.java34
-rw-r--r--base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java37
-rw-r--r--base/common/src/com/netscape/certsrv/system/TPSConnectorClient.java4
-rw-r--r--base/common/src/com/netscape/certsrv/system/TPSConnectorResource.java2
-rw-r--r--base/common/src/com/netscape/certsrv/user/UserCertCollection.java30
-rw-r--r--base/common/src/com/netscape/certsrv/user/UserCollection.java34
-rw-r--r--base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java37
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java5
-rw-r--r--base/java-tools/src/com/netscape/cmstools/group/GroupMemberFindCLI.java5
-rw-r--r--base/java-tools/src/com/netscape/cmstools/logging/ActivityFindCLI.java3
-rw-r--r--base/java-tools/src/com/netscape/cmstools/selftests/SelfTestFindCLI.java3
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/TPSConnectorFindCLI.java62
-rw-r--r--base/java-tools/src/com/netscape/cmstools/system/TPSConnectorShowCLI.java73
-rw-r--r--base/java-tools/src/com/netscape/cmstools/tps/authenticator/AuthenticatorFindCLI.java3
-rw-r--r--base/java-tools/src/com/netscape/cmstools/tps/cert/TPSCertFindCLI.java3
-rw-r--r--base/java-tools/src/com/netscape/cmstools/tps/connection/ConnectionFindCLI.java3
-rw-r--r--base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileFindCLI.java3
-rw-r--r--base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileMappingFindCLI.java3
-rw-r--r--base/java-tools/src/com/netscape/cmstools/tps/token/TokenFindCLI.java3
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserCertFindCLI.java5
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java5
-rw-r--r--base/java-tools/src/com/netscape/cmstools/user/UserMembershipFindCLI.java5
-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
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/tks/TPSConnectorService.java38
-rw-r--r--base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestService.java32
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/authenticator/AuthenticatorService.java2
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java2
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/connection/ConnectionService.java2
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/logging/ActivityService.java2
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileMappingService.java2
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileService.java2
-rw-r--r--base/tps-tomcat/src/org/dogtagpki/server/tps/token/TokenService.java2
35 files changed, 266 insertions, 244 deletions
diff --git a/base/common/src/com/netscape/certsrv/base/DataCollection.java b/base/common/src/com/netscape/certsrv/base/DataCollection.java
index 0237e8fcc..8432604f0 100644
--- a/base/common/src/com/netscape/certsrv/base/DataCollection.java
+++ b/base/common/src/com/netscape/certsrv/base/DataCollection.java
@@ -30,9 +30,18 @@ import org.jboss.resteasy.plugins.providers.atom.Link;
*/
public class DataCollection<E> {
+ Integer total;
Collection<E> entries = new ArrayList<E>();
Collection<Link> links = new ArrayList<Link>();
+ public Integer getTotal() {
+ return total;
+ }
+
+ public void setTotal(Integer total) {
+ this.total = total;
+ }
+
public Collection<E> getEntries() {
return entries;
}
diff --git a/base/common/src/com/netscape/certsrv/group/GroupCollection.java b/base/common/src/com/netscape/certsrv/group/GroupCollection.java
index 26d108e7b..4ce8b0268 100644
--- a/base/common/src/com/netscape/certsrv/group/GroupCollection.java
+++ b/base/common/src/com/netscape/certsrv/group/GroupCollection.java
@@ -18,48 +18,22 @@
package com.netscape.certsrv.group;
-import java.util.ArrayList;
import java.util.Collection;
-import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
-import org.jboss.resteasy.plugins.providers.atom.Link;
+import com.netscape.certsrv.base.DataCollection;
/**
* @author Endi S. Dewata
*/
@XmlRootElement(name="Groups")
-public class GroupCollection {
-
- Collection<GroupData> groups = new ArrayList<GroupData>();
- Collection<Link> links = new ArrayList<Link>();
+public class GroupCollection extends DataCollection<GroupData> {
@XmlElementRef
- public Collection<GroupData> getGroups() {
- return groups;
- }
-
- public void setGroups(Collection<GroupData> groups) {
- this.groups = groups;
- }
-
- public void addGroup(GroupData groupData) {
- groups.add(groupData);
- }
-
- @XmlElement(name="Link")
- public Collection<Link> getLinks() {
- return links;
- }
-
- public void setLink(Collection<Link> links) {
- this.links = links;
- }
-
- public void addLink(Link link) {
- links.add(link);
+ public Collection<GroupData> getEntries() {
+ return super.getEntries();
}
}
diff --git a/base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java b/base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java
index 6ec013bca..b43b16b57 100644
--- a/base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java
+++ b/base/common/src/com/netscape/certsrv/group/GroupMemberCollection.java
@@ -18,7 +18,6 @@
package com.netscape.certsrv.group;
-import java.util.ArrayList;
import java.util.Collection;
import javax.xml.bind.JAXBContext;
@@ -26,41 +25,17 @@ import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
-import org.jboss.resteasy.plugins.providers.atom.Link;
+import com.netscape.certsrv.base.DataCollection;
/**
* @author Endi S. Dewata
*/
@XmlRootElement(name="GroupMembers")
-public class GroupMemberCollection {
-
- Collection<GroupMemberData> members = new ArrayList<GroupMemberData>();
- Collection<Link> links = new ArrayList<Link>();
+public class GroupMemberCollection extends DataCollection<GroupMemberData> {
@XmlElement(name="Member")
- public Collection<GroupMemberData> getMembers() {
- return members;
- }
-
- public void setMembers(Collection<GroupMemberData> members) {
- this.members = members;
- }
-
- public void addMember(GroupMemberData member) {
- members.add(member);
- }
-
- @XmlElement(name="Link")
- public Collection<Link> getLinks() {
- return links;
- }
-
- public void setLink(Collection<Link> links) {
- this.links = links;
- }
-
- public void addLink(Link link) {
- links.add(link);
+ public Collection<GroupMemberData> getEntries() {
+ return super.getEntries();
}
public static void main(String args[]) throws Exception {
@@ -70,12 +45,12 @@ public class GroupMemberCollection {
GroupMemberData member1 = new GroupMemberData();
member1.setID("User 1");
member1.setGroupID("Group 1");
- response.addMember(member1);
+ response.addEntry(member1);
GroupMemberData member2 = new GroupMemberData();
member2.setID("User 2");
member2.setGroupID("Group 1");
- response.addMember(member2);
+ response.addEntry(member2);
JAXBContext context = JAXBContext.newInstance(GroupMemberCollection.class);
Marshaller marshaller = context.createMarshaller();
diff --git a/base/common/src/com/netscape/certsrv/system/TPSConnectorClient.java b/base/common/src/com/netscape/certsrv/system/TPSConnectorClient.java
index b247db907..0d5cff91b 100644
--- a/base/common/src/com/netscape/certsrv/system/TPSConnectorClient.java
+++ b/base/common/src/com/netscape/certsrv/system/TPSConnectorClient.java
@@ -21,8 +21,8 @@ public class TPSConnectorClient extends Client {
tpsConnectorClient = createProxy(TPSConnectorResource.class);
}
- public TPSConnectorCollection listConnectors() {
- return tpsConnectorClient.listConnectors();
+ public TPSConnectorCollection findConnectors(Integer start, Integer size) {
+ return tpsConnectorClient.findConnectors(start, size);
}
public TPSConnectorData getConnector(String id) {
diff --git a/base/common/src/com/netscape/certsrv/system/TPSConnectorResource.java b/base/common/src/com/netscape/certsrv/system/TPSConnectorResource.java
index e10e132da..c29fa3d19 100644
--- a/base/common/src/com/netscape/certsrv/system/TPSConnectorResource.java
+++ b/base/common/src/com/netscape/certsrv/system/TPSConnectorResource.java
@@ -43,7 +43,7 @@ import com.netscape.certsrv.key.KeyData;
public interface TPSConnectorResource {
@GET
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
- public TPSConnectorCollection listConnectors();
+ public TPSConnectorCollection findConnectors(Integer start, Integer size);
@GET
@Path("{id}")
diff --git a/base/common/src/com/netscape/certsrv/user/UserCertCollection.java b/base/common/src/com/netscape/certsrv/user/UserCertCollection.java
index a395ed73c..3eb4ed406 100644
--- a/base/common/src/com/netscape/certsrv/user/UserCertCollection.java
+++ b/base/common/src/com/netscape/certsrv/user/UserCertCollection.java
@@ -18,43 +18,21 @@
package com.netscape.certsrv.user;
-import java.util.ArrayList;
import java.util.Collection;
-import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
-import org.jboss.resteasy.plugins.providers.atom.Link;
+import com.netscape.certsrv.base.DataCollection;
/**
* @author Endi S. Dewata
*/
@XmlRootElement(name="UserCerts")
-public class UserCertCollection {
-
- List<UserCertData> certs = new ArrayList<UserCertData>();
- Collection<Link> links = new ArrayList<Link>();
+public class UserCertCollection extends DataCollection<UserCertData> {
@XmlElement(name="Cert")
- public Collection<UserCertData> getCerts() {
- return certs;
- }
-
- public void addCert(UserCertData cert) {
- certs.add(cert);
- }
-
- @XmlElement(name="Link")
- public Collection<Link> getLinks() {
- return links;
- }
-
- public void setLink(Collection<Link> links) {
- this.links = links;
- }
-
- public void addLink(Link link) {
- links.add(link);
+ public Collection<UserCertData> getEntries() {
+ return super.getEntries();
}
}
diff --git a/base/common/src/com/netscape/certsrv/user/UserCollection.java b/base/common/src/com/netscape/certsrv/user/UserCollection.java
index d92ecc208..a24a79878 100644
--- a/base/common/src/com/netscape/certsrv/user/UserCollection.java
+++ b/base/common/src/com/netscape/certsrv/user/UserCollection.java
@@ -18,48 +18,22 @@
package com.netscape.certsrv.user;
-import java.util.ArrayList;
import java.util.Collection;
-import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementRef;
import javax.xml.bind.annotation.XmlRootElement;
-import org.jboss.resteasy.plugins.providers.atom.Link;
+import com.netscape.certsrv.base.DataCollection;
/**
* @author Endi S. Dewata
*/
@XmlRootElement(name="Users")
-public class UserCollection {
-
- Collection<UserData> users = new ArrayList<UserData>();
- Collection<Link> links = new ArrayList<Link>();
+public class UserCollection extends DataCollection<UserData> {
@XmlElementRef
- public Collection<UserData> getUsers() {
- return users;
- }
-
- public void setUsers(Collection<UserData> users) {
- this.users = users;
- }
-
- public void addUser(UserData userData) {
- users.add(userData);
- }
-
- @XmlElement(name="Link")
- public Collection<Link> getLinks() {
- return links;
- }
-
- public void setLink(Collection<Link> links) {
- this.links = links;
- }
-
- public void addLink(Link link) {
- links.add(link);
+ public Collection<UserData> getEntries() {
+ return super.getEntries();
}
}
diff --git a/base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java b/base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java
index 069840d13..4c2ffa9b4 100644
--- a/base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java
+++ b/base/common/src/com/netscape/certsrv/user/UserMembershipCollection.java
@@ -18,7 +18,6 @@
package com.netscape.certsrv.user;
-import java.util.ArrayList;
import java.util.Collection;
import javax.xml.bind.JAXBContext;
@@ -26,41 +25,17 @@ import javax.xml.bind.Marshaller;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
-import org.jboss.resteasy.plugins.providers.atom.Link;
+import com.netscape.certsrv.base.DataCollection;
/**
* @author Endi S. Dewata
*/
@XmlRootElement(name="UserMemberships")
-public class UserMembershipCollection {
-
- Collection<UserMembershipData> memberships = new ArrayList<UserMembershipData>();
- Collection<Link> links = new ArrayList<Link>();
+public class UserMembershipCollection extends DataCollection<UserMembershipData> {
@XmlElement(name="Membership")
- public Collection<UserMembershipData> getMemberships() {
- return memberships;
- }
-
- public void setMemberships(Collection<UserMembershipData> members) {
- this.memberships = members;
- }
-
- public void addMembership(UserMembershipData member) {
- memberships.add(member);
- }
-
- @XmlElement(name="Link")
- public Collection<Link> getLinks() {
- return links;
- }
-
- public void setLink(Collection<Link> links) {
- this.links = links;
- }
-
- public void addLink(Link link) {
- links.add(link);
+ public Collection<UserMembershipData> getEntries() {
+ return super.getEntries();
}
public static void main(String args[]) throws Exception {
@@ -70,12 +45,12 @@ public class UserMembershipCollection {
UserMembershipData membership1 = new UserMembershipData();
membership1.setID("Group 1");
membership1.setUserID("User 1");
- response.addMembership(membership1);
+ response.addEntry(membership1);
UserMembershipData membership2 = new UserMembershipData();
membership2.setID("Group 2");
membership2.setUserID("User 1");
- response.addMembership(membership2);
+ response.addEntry(membership2);
JAXBContext context = JAXBContext.newInstance(UserMembershipCollection.class);
Marshaller marshaller = context.createMarshaller();
diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java
index 7c2361da3..45c2acf16 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupFindCLI.java
@@ -76,9 +76,10 @@ public class GroupFindCLI extends CLI {
GroupCollection response = groupCLI.groupClient.findGroups(filter, start, size);
- Collection<GroupData> entries = response.getGroups();
+ Collection<GroupData> entries = response.getEntries();
- MainCLI.printMessage(entries.size()+" group(s) matched");
+ MainCLI.printMessage(response.getTotal() + " group(s) matched");
+ if (response.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberFindCLI.java b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberFindCLI.java
index b9c9ac76d..ee694912d 100644
--- a/base/java-tools/src/com/netscape/cmstools/group/GroupMemberFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/group/GroupMemberFindCLI.java
@@ -82,9 +82,10 @@ public class GroupMemberFindCLI extends CLI {
GroupMemberCollection response = groupMemberCLI.groupClient.findGroupMembers(groupID, start, size);
- Collection<GroupMemberData> entries = response.getMembers();
+ Collection<GroupMemberData> entries = response.getEntries();
- MainCLI.printMessage(entries.size()+" group member(s) matched");
+ MainCLI.printMessage(response.getTotal() + " group member(s) matched");
+ if (response.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/logging/ActivityFindCLI.java b/base/java-tools/src/com/netscape/cmstools/logging/ActivityFindCLI.java
index 0808a0a70..08c8496ca 100644
--- a/base/java-tools/src/com/netscape/cmstools/logging/ActivityFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/logging/ActivityFindCLI.java
@@ -74,7 +74,8 @@ public class ActivityFindCLI extends CLI {
ActivityCollection result = activityCLI.activityClient.findActivities(start, size);
Collection<ActivityData> activities = result.getEntries();
- MainCLI.printMessage(activities.size() + " activity(s) matched");
+ MainCLI.printMessage(result.getTotal() + " activity(s) matched");
+ if (result.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/selftests/SelfTestFindCLI.java b/base/java-tools/src/com/netscape/cmstools/selftests/SelfTestFindCLI.java
index 245c9a61e..4570d9a91 100644
--- a/base/java-tools/src/com/netscape/cmstools/selftests/SelfTestFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/selftests/SelfTestFindCLI.java
@@ -74,7 +74,8 @@ public class SelfTestFindCLI extends CLI {
SelfTestCollection result = selfTestCLI.selfTestClient.findSelfTests(start, size);
Collection<SelfTestData> selfTests = result.getEntries();
- MainCLI.printMessage(selfTests.size() + " connection(s) matched");
+ MainCLI.printMessage(result.getTotal() + " self test(s) matched");
+ if (result.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/system/TPSConnectorFindCLI.java b/base/java-tools/src/com/netscape/cmstools/system/TPSConnectorFindCLI.java
index 4caab729f..737851704 100644
--- a/base/java-tools/src/com/netscape/cmstools/system/TPSConnectorFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/system/TPSConnectorFindCLI.java
@@ -22,7 +22,6 @@ import java.util.Collection;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.Option;
-import com.netscape.certsrv.base.ResourceNotFoundException;
import com.netscape.certsrv.system.TPSConnectorCollection;
import com.netscape.certsrv.system.TPSConnectorData;
import com.netscape.cmstools.cli.CLI;
@@ -32,10 +31,11 @@ import com.netscape.cmstools.cli.MainCLI;
* @author Ade Lee
*/
public class TPSConnectorFindCLI extends CLI {
+
public TPSConnectorCLI tpsConnectorCLI;
public TPSConnectorFindCLI(TPSConnectorCLI tpsConnectorCLI) {
- super("find", "Find TPS connector details on TKS", tpsConnectorCLI);
+ super("find", "Find TPS connectors on TKS", tpsConnectorCLI);
this.tpsConnectorCLI = tpsConnectorCLI;
}
@@ -44,12 +44,13 @@ public class TPSConnectorFindCLI extends CLI {
}
public void execute(String[] args) throws Exception {
- Option option = new Option(null, "host", true, "TPS host");
- option.setArgName("host");
+
+ Option option = new Option(null, "start", true, "Page start");
+ option.setArgName("start");
options.addOption(option);
- option = new Option(null, "port", true, "TPS port");
- option.setArgName("port");
+ option = new Option(null, "size", true, "Page size");
+ option.setArgName("size");
options.addOption(option);
CommandLine cmd = null;
@@ -63,42 +64,29 @@ public class TPSConnectorFindCLI extends CLI {
System.exit(1);
}
- String tpsHost = cmd.getOptionValue("host");
- String tpsPort = cmd.getOptionValue("port");
-
- if (tpsHost != null) {
- if (tpsPort == null)
- tpsPort = "443";
- try {
- TPSConnectorData data = tpsConnectorCLI.tpsConnectorClient.getConnector(
- tpsHost, tpsPort);
- TPSConnectorCLI.printConnectorInfo(data);
- } catch (ResourceNotFoundException e) {
- System.out.println(" TPS connector not found.");
- return;
- }
- } else {
- TPSConnectorCollection result = tpsConnectorCLI.tpsConnectorClient.listConnectors();
- Collection<TPSConnectorData> conns = result.getEntries();
+ String s = cmd.getOptionValue("start");
+ Integer start = s == null ? null : Integer.valueOf(s);
- if (conns.isEmpty()) {
- System.out.println(" No TPS connectors found.");
- return;
- }
+ s = cmd.getOptionValue("size");
+ Integer size = s == null ? null : Integer.valueOf(s);
+
+ TPSConnectorCollection result = tpsConnectorCLI.tpsConnectorClient.findConnectors(start, size);
- MainCLI.printMessage(conns.size() + " TPS connector(s) matched");
- boolean first = true;
- for (TPSConnectorData data: conns) {
- if (first) {
- first = false;
- } else {
- System.out.println();
- }
+ MainCLI.printMessage(result.getTotal() + " TPS connector(s) matched");
+ if (result.getTotal() == 0) return;
- TPSConnectorCLI.printConnectorInfo(data);
+ Collection<TPSConnectorData> conns = result.getEntries();
+ boolean first = true;
+ for (TPSConnectorData data: conns) {
+ if (first) {
+ first = false;
+ } else {
+ System.out.println();
}
- MainCLI.printMessage("Number of entries returned " + conns.size());
+ TPSConnectorCLI.printConnectorInfo(data);
}
+
+ MainCLI.printMessage("Number of entries returned " + conns.size());
}
}
diff --git a/base/java-tools/src/com/netscape/cmstools/system/TPSConnectorShowCLI.java b/base/java-tools/src/com/netscape/cmstools/system/TPSConnectorShowCLI.java
new file mode 100644
index 000000000..43d28c839
--- /dev/null
+++ b/base/java-tools/src/com/netscape/cmstools/system/TPSConnectorShowCLI.java
@@ -0,0 +1,73 @@
+// --- 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) 2013 Red Hat, Inc.
+// All rights reserved.
+// --- END COPYRIGHT BLOCK ---
+package com.netscape.cmstools.system;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.Option;
+
+import com.netscape.certsrv.system.TPSConnectorData;
+import com.netscape.cmstools.cli.CLI;
+import com.netscape.cmstools.cli.MainCLI;
+
+/**
+ * @author Ade Lee
+ */
+public class TPSConnectorShowCLI extends CLI {
+
+ public TPSConnectorCLI tpsConnectorCLI;
+
+ public TPSConnectorShowCLI(TPSConnectorCLI tpsConnectorCLI) {
+ super("show", "Show TPS connector details on TKS", tpsConnectorCLI);
+ this.tpsConnectorCLI = tpsConnectorCLI;
+ }
+
+ public void printHelp() {
+ formatter.printHelp(getFullName() + " [OPTIONS...]", options);
+ }
+
+ public void execute(String[] args) throws Exception {
+
+ Option option = new Option(null, "host", true, "TPS host");
+ option.setArgName("host");
+ option.setRequired(true);
+ options.addOption(option);
+
+ option = new Option(null, "port", true, "TPS port");
+ option.setArgName("port");
+ options.addOption(option);
+
+ CommandLine cmd = null;
+
+ try {
+ cmd = parser.parse(options, args);
+
+ } catch (Exception e) {
+ System.err.println("Error: " + e.getMessage());
+ printHelp();
+ System.exit(1);
+ }
+
+ String tpsHost = cmd.getOptionValue("host");
+ String tpsPort = cmd.getOptionValue("port", "443");
+
+ TPSConnectorData data = tpsConnectorCLI.tpsConnectorClient.getConnector(tpsHost, tpsPort);
+
+ MainCLI.printMessage("TPS Connector \"" + tpsHost + ":" + tpsPort + "\"");
+ TPSConnectorCLI.printConnectorInfo(data);
+ }
+}
diff --git a/base/java-tools/src/com/netscape/cmstools/tps/authenticator/AuthenticatorFindCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/authenticator/AuthenticatorFindCLI.java
index 2ff8288a0..81724bb31 100644
--- a/base/java-tools/src/com/netscape/cmstools/tps/authenticator/AuthenticatorFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/tps/authenticator/AuthenticatorFindCLI.java
@@ -74,7 +74,8 @@ public class AuthenticatorFindCLI extends CLI {
AuthenticatorCollection result = authenticatorCLI.authenticatorClient.findAuthenticators(start, size);
Collection<AuthenticatorData> authenticators = result.getEntries();
- MainCLI.printMessage(authenticators.size() + " authenticator(s) matched");
+ MainCLI.printMessage(result.getTotal() + " authenticator(s) matched");
+ if (result.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/tps/cert/TPSCertFindCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/cert/TPSCertFindCLI.java
index 4d0827cb3..9ba66a62a 100644
--- a/base/java-tools/src/com/netscape/cmstools/tps/cert/TPSCertFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/tps/cert/TPSCertFindCLI.java
@@ -74,7 +74,8 @@ public class TPSCertFindCLI extends CLI {
TPSCertCollection result = certCLI.certClient.findCerts(start, size);
Collection<TPSCertData> certs = result.getEntries();
- MainCLI.printMessage(certs.size() + " certificate(s) matched");
+ MainCLI.printMessage(result.getTotal() + " certificate(s) matched");
+ if (result.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/tps/connection/ConnectionFindCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/connection/ConnectionFindCLI.java
index 6112db4ff..7cb4c1b16 100644
--- a/base/java-tools/src/com/netscape/cmstools/tps/connection/ConnectionFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/tps/connection/ConnectionFindCLI.java
@@ -74,7 +74,8 @@ public class ConnectionFindCLI extends CLI {
ConnectionCollection result = connectionCLI.connectionClient.findConnections(start, size);
Collection<ConnectionData> connections = result.getEntries();
- MainCLI.printMessage(connections.size() + " connection(s) matched");
+ MainCLI.printMessage(result.getTotal() + " connection(s) matched");
+ if (result.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileFindCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileFindCLI.java
index 9f822f6ba..907641462 100644
--- a/base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileFindCLI.java
@@ -74,7 +74,8 @@ public class ProfileFindCLI extends CLI {
ProfileCollection result = profileCLI.profileClient.findProfiles(start, size);
Collection<ProfileData> profiles = result.getEntries();
- MainCLI.printMessage(profiles.size() + " profile(s) matched");
+ MainCLI.printMessage(result.getTotal() + " profile(s) matched");
+ if (result.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileMappingFindCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileMappingFindCLI.java
index d96268be7..6e101a049 100644
--- a/base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileMappingFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/tps/profile/ProfileMappingFindCLI.java
@@ -74,7 +74,8 @@ public class ProfileMappingFindCLI extends CLI {
ProfileMappingCollection result = profileMappingCLI.profileMappingClient.findProfileMappings(start, size);
Collection<ProfileMappingData> profileMappings = result.getEntries();
- MainCLI.printMessage(profileMappings.size() + " profile mapping(s) matched");
+ MainCLI.printMessage(result.getTotal() + " profile mapping(s) matched");
+ if (result.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/tps/token/TokenFindCLI.java b/base/java-tools/src/com/netscape/cmstools/tps/token/TokenFindCLI.java
index 3ade40bb9..2e43f3cdd 100644
--- a/base/java-tools/src/com/netscape/cmstools/tps/token/TokenFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/tps/token/TokenFindCLI.java
@@ -74,7 +74,8 @@ public class TokenFindCLI extends CLI {
TokenCollection result = tokenCLI.tokenClient.findTokens(start, size);
Collection<TokenData> tokens = result.getEntries();
- MainCLI.printMessage(tokens.size() + " token(s) matched");
+ MainCLI.printMessage(result.getTotal() + " token(s) matched");
+ if (result.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserCertFindCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserCertFindCLI.java
index 680b6b362..db7c0304b 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserCertFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserCertFindCLI.java
@@ -82,9 +82,10 @@ public class UserCertFindCLI extends CLI {
UserCertCollection response = userCertCLI.userClient.findUserCerts(userID, start, size);
- Collection<UserCertData> entries = response.getCerts();
+ Collection<UserCertData> entries = response.getEntries();
- MainCLI.printMessage(entries.size() + " user cert(s) matched");
+ MainCLI.printMessage(response.getTotal() + " user cert(s) matched");
+ if (response.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java
index 4b081920e..ed49d1c65 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserFindCLI.java
@@ -76,9 +76,10 @@ public class UserFindCLI extends CLI {
UserCollection response = userCLI.userClient.findUsers(filter, start, size);
- Collection<UserData> entries = response.getUsers();
+ Collection<UserData> entries = response.getEntries();
- MainCLI.printMessage(entries.size() + " user(s) matched");
+ MainCLI.printMessage(response.getTotal() + " user(s) matched");
+ if (response.getTotal() == 0) return;
boolean first = true;
diff --git a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipFindCLI.java b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipFindCLI.java
index 129aa6dc8..66b8f36bb 100644
--- a/base/java-tools/src/com/netscape/cmstools/user/UserMembershipFindCLI.java
+++ b/base/java-tools/src/com/netscape/cmstools/user/UserMembershipFindCLI.java
@@ -82,9 +82,10 @@ public class UserMembershipFindCLI extends CLI {
UserMembershipCollection response = userMembershipCLI.userClient.findUserMemberships(userID, start, size);
- Collection<UserMembershipData> entries = response.getMemberships();
+ Collection<UserMembershipData> entries = response.getEntries();
- MainCLI.printMessage(entries.size()+" membership(s) matched");
+ MainCLI.printMessage(response.getTotal() + " membership(s) matched");
+ if (response.getTotal() == 0) return;
boolean first = true;
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();
diff --git a/base/server/cms/src/com/netscape/cms/servlet/tks/TPSConnectorService.java b/base/server/cms/src/com/netscape/cms/servlet/tks/TPSConnectorService.java
index 26f25bd4f..9351ffe60 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/tks/TPSConnectorService.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/tks/TPSConnectorService.java
@@ -8,6 +8,7 @@ import java.security.NoSuchAlgorithmException;
import java.security.cert.X509Certificate;
import java.util.Arrays;
import java.util.Collection;
+import java.util.Iterator;
import java.util.TreeSet;
import javax.servlet.http.HttpServletRequest;
@@ -53,21 +54,46 @@ public class TPSConnectorService implements TPSConnectorResource {
@Context
private HttpServletRequest servletRequest;
+ public final static int DEFAULT_SIZE = 20;
+
public IUGSubsystem userGroupManager = (IUGSubsystem) CMS.getSubsystem(CMS.SUBSYSTEM_UG);
@Override
- public TPSConnectorCollection listConnectors() {
+ public TPSConnectorCollection findConnectors(Integer start, Integer size) {
try {
- TPSConnectorCollection ret = new TPSConnectorCollection();
String tpsList = cs.getString(TPS_LIST, "");
+ Iterator<String> entries = Arrays.asList(StringUtils.split(tpsList,",")).iterator();
+
+ TPSConnectorCollection response = new TPSConnectorCollection();
+ int i = 0;
+
+ // skip to the start of the page
+ for ( ; i<start && entries.hasNext(); i++) entries.next();
+
+ // return entries up to the page size
+ for ( ; i<start+size && entries.hasNext(); i++) {
+ response.addEntry(createTPSConnectorData(entries.next()));
+ }
+
+ // count the total entries
+ for ( ; entries.hasNext(); i++) entries.next();
+ response.setTotal(i);
- for (String tpsID : StringUtils.split(tpsList,",")) {
- ret.addEntry(createTPSConnectorData(tpsID));
+ if (start > 0) {
+ URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
+ response.addLink(new Link("prev", uri));
}
- return ret;
+
+ if (start+size < i) {
+ URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", start+size).build();
+ response.addLink(new Link("next", uri));
+ }
+
+ return response;
+
} catch (EBaseException e) {
e.printStackTrace();
- throw new PKIException("Unable to get TPS connection data" + e);
+ throw new PKIException("Unable to get TPS connection data: " + e);
}
}
diff --git a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestService.java b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestService.java
index da7708e49..4fcddb7e4 100644
--- a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestService.java
+++ b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestService.java
@@ -21,6 +21,8 @@ package com.netscape.cmscore.selftests;
import java.io.UnsupportedEncodingException;
import java.net.URI;
import java.net.URLEncoder;
+import java.util.Arrays;
+import java.util.Iterator;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.core.Context;
@@ -96,14 +98,38 @@ public class SelfTestService extends PKIService implements SelfTestResource {
CMS.debug("SelfTestService.findSelfTests()");
try {
- SelfTestCollection response = new SelfTestCollection();
+ start = start == null ? 0 : start;
+ size = size == null ? DEFAULT_SIZE : size;
ISelfTestSubsystem subsystem = (ISelfTestSubsystem)CMS.getSubsystem(ISelfTestSubsystem.ID);
- for (String name : subsystem.listSelfTestsEnabledOnDemand()) {
- SelfTestData data = createSelfTestData(subsystem, name);
+ Iterator<String> entries = Arrays.asList(subsystem.listSelfTestsEnabledOnDemand()).iterator();
+
+ SelfTestCollection response = new SelfTestCollection();
+ int i = 0;
+
+ // skip to the start of the page
+ for ( ; i<start && entries.hasNext(); i++) entries.next();
+
+ // return entries up to the page size
+ for ( ; i<start+size && entries.hasNext(); i++) {
+ SelfTestData data = createSelfTestData(subsystem, entries.next());
response.addEntry(data);
}
+ // 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;
} catch (Exception e) {
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/authenticator/AuthenticatorService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/authenticator/AuthenticatorService.java
index e1d7ed5cf..6b77a0533 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/authenticator/AuthenticatorService.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/authenticator/AuthenticatorService.java
@@ -105,7 +105,6 @@ public class AuthenticatorService extends PKIService implements AuthenticatorRes
Iterator<AuthenticatorRecord> authenticators = database.getRecords().iterator();
AuthenticatorCollection response = new AuthenticatorCollection();
-
int i = 0;
// skip to the start of the page
@@ -118,6 +117,7 @@ public class AuthenticatorService extends PKIService implements AuthenticatorRes
// count the total entries
for ( ; authenticators.hasNext(); i++) authenticators.next();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java
index e6f805839..238ac12df 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/cert/TPSCertService.java
@@ -120,7 +120,6 @@ public class TPSCertService extends PKIService implements TPSCertResource {
Iterator<TPSCertRecord> activities = database.getRecords().iterator();
TPSCertCollection response = new TPSCertCollection();
-
int i = 0;
// skip to the start of the page
@@ -133,6 +132,7 @@ public class TPSCertService extends PKIService implements TPSCertResource {
// count the total entries
for ( ; activities.hasNext(); i++) activities.next();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/connection/ConnectionService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/connection/ConnectionService.java
index 034af5afd..97043bca5 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/connection/ConnectionService.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/connection/ConnectionService.java
@@ -105,7 +105,6 @@ public class ConnectionService extends PKIService implements ConnectionResource
Iterator<ConnectionRecord> connections = database.getRecords().iterator();
ConnectionCollection response = new ConnectionCollection();
-
int i = 0;
// skip to the start of the page
@@ -118,6 +117,7 @@ public class ConnectionService extends PKIService implements ConnectionResource
// count the total entries
for ( ; connections.hasNext(); i++) connections.next();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/logging/ActivityService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/logging/ActivityService.java
index 16054b414..5cfb090bf 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/logging/ActivityService.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/logging/ActivityService.java
@@ -110,7 +110,6 @@ public class ActivityService extends PKIService implements ActivityResource {
Iterator<ActivityRecord> activities = database.getRecords().iterator();
ActivityCollection response = new ActivityCollection();
-
int i = 0;
// skip to the start of the page
@@ -123,6 +122,7 @@ public class ActivityService extends PKIService implements ActivityResource {
// count the total entries
for ( ; activities.hasNext(); i++) activities.next();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileMappingService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileMappingService.java
index d23485ddd..f9432104b 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileMappingService.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileMappingService.java
@@ -105,7 +105,6 @@ public class ProfileMappingService extends PKIService implements ProfileMappingR
Iterator<ProfileMappingRecord> profileMappings = database.getRecords().iterator();
ProfileMappingCollection response = new ProfileMappingCollection();
-
int i = 0;
// skip to the start of the page
@@ -118,6 +117,7 @@ public class ProfileMappingService extends PKIService implements ProfileMappingR
// count the total entries
for ( ; profileMappings.hasNext(); i++) profileMappings.next();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileService.java
index 6e52aeec6..9bff5188f 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileService.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/profile/ProfileService.java
@@ -108,7 +108,6 @@ public class ProfileService extends PKIService implements ProfileResource {
Iterator<ProfileRecord> profiles = database.getRecords().iterator();
ProfileCollection response = new ProfileCollection();
-
int i = 0;
// skip to the start of the page
@@ -121,6 +120,7 @@ public class ProfileService extends PKIService implements ProfileResource {
// count the total entries
for ( ; profiles.hasNext(); i++) profiles.next();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();
diff --git a/base/tps-tomcat/src/org/dogtagpki/server/tps/token/TokenService.java b/base/tps-tomcat/src/org/dogtagpki/server/tps/token/TokenService.java
index aa01fd64b..95802e3e2 100644
--- a/base/tps-tomcat/src/org/dogtagpki/server/tps/token/TokenService.java
+++ b/base/tps-tomcat/src/org/dogtagpki/server/tps/token/TokenService.java
@@ -121,7 +121,6 @@ public class TokenService extends PKIService implements TokenResource {
Iterator<TokenRecord> tokens = database.getRecords().iterator();
TokenCollection response = new TokenCollection();
-
int i = 0;
// skip to the start of the page
@@ -134,6 +133,7 @@ public class TokenService extends PKIService implements TokenResource {
// count the total entries
for ( ; tokens.hasNext(); i++) tokens.next();
+ response.setTotal(i);
if (start > 0) {
URI uri = uriInfo.getRequestUriBuilder().replaceQueryParam("start", Math.max(start-size, 0)).build();