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); } }