summaryrefslogtreecommitdiffstats
path: root/base/server/cms/src
diff options
context:
space:
mode:
authorEndi S. Dewata <edewata@redhat.com>2014-05-08 23:58:31 -0400
committerEndi S. Dewata <edewata@redhat.com>2014-05-12 15:21:57 -0400
commitbcc3a202f5d34fbbc62fb84f3265ee0acdf1864b (patch)
tree275a95dbbab97a3796e1e5807fb644ec657909ae /base/server/cms/src
parente1dc7757f9dedf41e712408196cc91902b3c5b89 (diff)
downloadpki-bcc3a202f5d34fbbc62fb84f3265ee0acdf1864b.tar.gz
pki-bcc3a202f5d34fbbc62fb84f3265ee0acdf1864b.tar.xz
pki-bcc3a202f5d34fbbc62fb84f3265ee0acdf1864b.zip
Added minimum search keyword length requirement.
Some REST services that accept search keywords have been modified to require a minimum length of 3 characters. The DEFAULT_SIZE constant has been moved into the base PKIService class to reduce multiple declarations. Ticket #920
Diffstat (limited to 'base/server/cms/src')
-rw-r--r--base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java3
-rw-r--r--base/server/cms/src/org/dogtagpki/server/rest/AuditService.java2
-rw-r--r--base/server/cms/src/org/dogtagpki/server/rest/GroupService.java17
-rw-r--r--base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java12
-rw-r--r--base/server/cms/src/org/dogtagpki/server/rest/UserService.java32
5 files changed, 42 insertions, 24 deletions
diff --git a/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java b/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java
index 866db63fd..edd7da38d 100644
--- a/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java
+++ b/base/server/cms/src/com/netscape/cms/servlet/base/PKIService.java
@@ -58,6 +58,9 @@ public class PKIService {
MediaType.APPLICATION_JSON_TYPE
);
+ public final static int MIN_FILTER_LENGTH = 3;
+ public final static int DEFAULT_SIZE = 20;
+
@Context
private HttpHeaders headers;
diff --git a/base/server/cms/src/org/dogtagpki/server/rest/AuditService.java b/base/server/cms/src/org/dogtagpki/server/rest/AuditService.java
index c99007170..e32c36c33 100644
--- a/base/server/cms/src/org/dogtagpki/server/rest/AuditService.java
+++ b/base/server/cms/src/org/dogtagpki/server/rest/AuditService.java
@@ -61,8 +61,6 @@ public class AuditService extends PKIService implements AuditResource {
@Context
private HttpServletRequest servletRequest;
- public final static int DEFAULT_SIZE = 20;
-
public AuditService() {
CMS.debug("AuditService.<init>()");
}
diff --git a/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java b/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java
index 3e98d3940..2f0a16996 100644
--- a/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java
+++ b/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java
@@ -69,8 +69,6 @@ public class GroupService extends PKIService implements GroupResource {
@Context
private HttpServletRequest servletRequest;
- public final static int DEFAULT_SIZE = 20;
-
public IUGSubsystem userGroupManager = (IUGSubsystem) CMS.getSubsystem(CMS.SUBSYSTEM_UG);
public GroupData createGroupData(IGroup group) throws Exception {
@@ -102,10 +100,15 @@ public class GroupService extends PKIService implements GroupResource {
*/
@Override
public Response findGroups(String filter, Integer start, Integer size) {
- try {
- start = start == null ? 0 : start;
- size = size == null ? DEFAULT_SIZE : size;
+ if (filter != null && filter.length() < MIN_FILTER_LENGTH) {
+ throw new BadRequestException("Filter is too short.");
+ }
+
+ start = start == null ? 0 : start;
+ size = size == null ? DEFAULT_SIZE : size;
+
+ try {
Enumeration<IGroup> groups = userGroupManager.listGroups(filter);
GroupCollection response = new GroupCollection();
@@ -342,6 +345,10 @@ public class GroupService extends PKIService implements GroupResource {
if (groupID == null) throw new BadRequestException("Group ID is null.");
+ if (filter != null && filter.length() < 3) {
+ throw new BadRequestException("Filter is too short.");
+ }
+
try {
GroupMemberProcessor processor = new GroupMemberProcessor(getLocale(headers));
processor.setUriInfo(uriInfo);
diff --git a/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java b/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java
index 62993f68e..de9bd04ad 100644
--- a/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java
+++ b/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java
@@ -61,8 +61,6 @@ public class SelfTestService extends PKIService implements SelfTestResource {
@Context
private HttpServletRequest servletRequest;
- public final static int DEFAULT_SIZE = 20;
-
public SelfTestService() {
CMS.debug("SelfTestService.<init>()");
}
@@ -99,10 +97,14 @@ public class SelfTestService extends PKIService implements SelfTestResource {
CMS.debug("SelfTestService.findSelfTests()");
- try {
- start = start == null ? 0 : start;
- size = size == null ? DEFAULT_SIZE : size;
+ if (filter != null && filter.length() < MIN_FILTER_LENGTH) {
+ throw new BadRequestException("Filter is too short.");
+ }
+ start = start == null ? 0 : start;
+ size = size == null ? DEFAULT_SIZE : size;
+
+ try {
ISelfTestSubsystem subsystem = (ISelfTestSubsystem)CMS.getSubsystem(ISelfTestSubsystem.ID);
// filter self tests
diff --git a/base/server/cms/src/org/dogtagpki/server/rest/UserService.java b/base/server/cms/src/org/dogtagpki/server/rest/UserService.java
index f4d7a13c5..53ecc2b9e 100644
--- a/base/server/cms/src/org/dogtagpki/server/rest/UserService.java
+++ b/base/server/cms/src/org/dogtagpki/server/rest/UserService.java
@@ -96,8 +96,6 @@ public class UserService extends PKIService implements UserResource {
@Context
private HttpServletRequest servletRequest;
- public final static int DEFAULT_SIZE = 20;
-
public final static String BACK_SLASH = "\\";
public final static String SYSTEM_USER = "$System$";
@@ -132,11 +130,17 @@ public class UserService extends PKIService implements UserResource {
*/
@Override
public Response findUsers(String filter, Integer start, Integer size) {
+
+ if (filter != null && filter.length() < MIN_FILTER_LENGTH) {
+ throw new BadRequestException("Filter is too short.");
+ }
+
+ start = start == null ? 0 : start;
+ size = size == null ? DEFAULT_SIZE : size;
+
UserCollection response = new UserCollection();
- try {
- start = start == null ? 0 : start;
- size = size == null ? DEFAULT_SIZE : size;
+ try {
Enumeration<IUser> users = userGroupManager.findUsers(filter);
int i = 0;
@@ -1053,15 +1057,19 @@ public class UserService extends PKIService implements UserResource {
CMS.debug("UserService.findUserMemberships(" + userID + ", " + filter + ")");
- try {
- start = start == null ? 0 : start;
- size = size == null ? DEFAULT_SIZE : size;
+ if (userID == null) {
+ log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID"));
+ throw new BadRequestException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID", headers));
+ }
- if (userID == null) {
- log(ILogger.LL_FAILURE, CMS.getLogMessage("ADMIN_SRVLT_NULL_RS_ID"));
- throw new BadRequestException(getUserMessage("CMS_ADMIN_SRVLT_NULL_RS_ID", headers));
- }
+ if (filter != null && filter.length() < 3) {
+ throw new BadRequestException("Filter is too short.");
+ }
+ start = start == null ? 0 : start;
+ size = size == null ? DEFAULT_SIZE : size;
+
+ try {
IUser user = userGroupManager.getUser(userID);
if (user == null) {