diff options
Diffstat (limited to 'base/server/cms/src')
3 files changed, 27 insertions, 6 deletions
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 2c3c0011a..0f3d9b0db 100644 --- a/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java +++ b/base/server/cms/src/org/dogtagpki/server/rest/GroupService.java @@ -139,7 +139,8 @@ public class GroupService extends PKIService implements GroupResource { return createOKResponse(response); } catch (Exception e) { - throw new PKIException(getUserMessage("CMS_INTERNAL_ERROR", headers)); + CMS.debug(e); + throw new PKIException(e); } } 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 652875fe8..62993f68e 100644 --- a/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java +++ b/base/server/cms/src/org/dogtagpki/server/rest/SelfTestService.java @@ -21,7 +21,8 @@ package org.dogtagpki.server.rest; import java.io.UnsupportedEncodingException; import java.net.URI; import java.net.URLEncoder; -import java.util.Arrays; +import java.util.ArrayList; +import java.util.Collection; import java.util.Iterator; import javax.servlet.http.HttpServletRequest; @@ -94,7 +95,7 @@ public class SelfTestService extends PKIService implements SelfTestResource { } @Override - public Response findSelfTests(Integer start, Integer size) { + public Response findSelfTests(String filter, Integer start, Integer size) { CMS.debug("SelfTestService.findSelfTests()"); @@ -103,9 +104,16 @@ public class SelfTestService extends PKIService implements SelfTestResource { size = size == null ? DEFAULT_SIZE : size; ISelfTestSubsystem subsystem = (ISelfTestSubsystem)CMS.getSubsystem(ISelfTestSubsystem.ID); - Iterator<String> entries = Arrays.asList(subsystem.listSelfTestsEnabledOnDemand()).iterator(); + + // filter self tests + Collection<String> results = new ArrayList<String>(); + for (String name : subsystem.listSelfTestsEnabledOnDemand()) { + if (filter != null && !name.contains(filter)) continue; + results.add(name); + } SelfTestCollection response = new SelfTestCollection(); + Iterator<String> entries = results.iterator(); int i = 0; // skip to the start of the page 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 ac1f0617f..839b29291 100644 --- a/base/server/cms/src/org/dogtagpki/server/rest/UserService.java +++ b/base/server/cms/src/org/dogtagpki/server/rest/UserService.java @@ -133,6 +133,7 @@ public class UserService extends PKIService implements UserResource { */ @Override public Response findUsers(String filter, Integer start, Integer size) { + UserCollection response = new UserCollection(); try { filter = StringUtils.isEmpty(filter) ? "*" : "*"+LDAPUtil.escapeFilter(filter)+"*"; start = start == null ? 0 : start; @@ -140,7 +141,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 @@ -168,8 +168,20 @@ public class UserService extends PKIService implements UserResource { return createOKResponse(response); + } catch (EUsrGrpException e) { + // Workaround for ticket #914. + // If no users found, return empty result. + if (CMS.getUserMessage("CMS_USRGRP_USER_NOT_FOUND").equals(e.getMessage())) { + CMS.debug("UserService.findUsers(): " + e.getMessage()); + return createOKResponse(response); + } + + CMS.debug(e); + throw new PKIException(e); + } catch (Exception e) { - throw new PKIException(getUserMessage("CMS_INTERNAL_ERROR", headers)); + CMS.debug(e); + throw new PKIException(e); } } |
