From 7a8c4c9688713330322a50ec6e845c13ea711de4 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Mon, 30 Jan 2017 09:58:52 +0000 Subject: [PATCH] Merged mward/repo-1600-zonesfilter (5.2.1) to 5.2.N (5.2.1) 134681 mward: REPO-1600: unknown zone results in 404 git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@134803 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- source/java/org/alfresco/rest/api/impl/GroupsImpl.java | 10 +++++++++- .../org/alfresco/rest/api/tests/GroupsTest.java | 4 ++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/source/java/org/alfresco/rest/api/impl/GroupsImpl.java b/source/java/org/alfresco/rest/api/impl/GroupsImpl.java index cc1ea05836..f250ec4025 100644 --- a/source/java/org/alfresco/rest/api/impl/GroupsImpl.java +++ b/source/java/org/alfresco/rest/api/impl/GroupsImpl.java @@ -216,7 +216,15 @@ public class GroupsImpl implements Groups final AuthorityType authorityType = AuthorityType.GROUP; final Set rootAuthorities = getAllRootAuthorities(authorityType); - PagingResults pagingResult = getAuthoritiesInfo(authorityType, isRootParam, zoneFilter, rootAuthorities, sortProp, paging); + PagingResults pagingResult; + try + { + pagingResult = getAuthoritiesInfo(authorityType, isRootParam, zoneFilter, rootAuthorities, sortProp, paging); + } + catch (UnknownAuthorityException e) + { + throw new EntityNotFoundException("Zone "+zoneFilter+" does not exist."); + } // Create response. final List page = pagingResult.getPage(); diff --git a/source/test-java/org/alfresco/rest/api/tests/GroupsTest.java b/source/test-java/org/alfresco/rest/api/tests/GroupsTest.java index 310115667c..be696c53b3 100644 --- a/source/test-java/org/alfresco/rest/api/tests/GroupsTest.java +++ b/source/test-java/org/alfresco/rest/api/tests/GroupsTest.java @@ -435,6 +435,10 @@ public class GroupsTest extends AbstractSingleNetworkSiteTest // "A series of unfortunate errors" otherParams.put("where", "(zones in ('', 'APP.DEFAULT', '', 'APITEST.MYZONE'))"); getGroups(paging, otherParams, "Incorrect response", 400); + + // A zone that isn't in use or doesn't exist + otherParams.put("where", "(zones in ('NON.EXISTENT'))"); + getGroups(paging, otherParams, "Incorrect response", 404); } }