summaryrefslogtreecommitdiffstats
path: root/base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java
diff options
context:
space:
mode:
Diffstat (limited to 'base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java')
-rw-r--r--base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java29
1 files changed, 27 insertions, 2 deletions
diff --git a/base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java b/base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java
index 226f039f4..a0ca7add3 100644
--- a/base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java
+++ b/base/tps/src/org/dogtagpki/server/tps/rest/TokenService.java
@@ -268,7 +268,14 @@ public class TokenService extends PKIService implements TokenResource {
}
@Override
- public Response findTokens(String filter, Integer start, Integer size) {
+ public Response findTokens(
+ String filter,
+ String tokenID,
+ String userID,
+ String type,
+ String status,
+ Integer start,
+ Integer size) {
CMS.debug("TokenService.findTokens()");
@@ -276,6 +283,24 @@ public class TokenService extends PKIService implements TokenResource {
throw new BadRequestException("Filter is too short.");
}
+ Map<String, String> attributes = new HashMap<String, String>();
+
+ if (StringUtils.isNotEmpty(tokenID)) {
+ attributes.put("id", tokenID);
+ }
+
+ if (StringUtils.isNotEmpty(userID)) {
+ attributes.put("userID", userID);
+ }
+
+ if (StringUtils.isNotEmpty(type)) {
+ attributes.put("type", type);
+ }
+
+ if (StringUtils.isNotEmpty(status)) {
+ attributes.put("status", status);
+ }
+
start = start == null ? 0 : start;
size = size == null ? DEFAULT_SIZE : size;
@@ -283,7 +308,7 @@ public class TokenService extends PKIService implements TokenResource {
TPSSubsystem subsystem = (TPSSubsystem)CMS.getSubsystem(TPSSubsystem.ID);
TokenDatabase database = subsystem.getTokenDatabase();
- Iterator<TokenRecord> tokens = database.findRecords(filter).iterator();
+ Iterator<TokenRecord> tokens = database.findRecords(filter, attributes).iterator();
TokenCollection response = new TokenCollection();
int i = 0;