diff --git a/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java b/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java index e963b9545d..a667e025d0 100644 --- a/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java +++ b/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java @@ -283,6 +283,12 @@ public class SearchMapper { if (filterQueries != null && !filterQueries.isEmpty()) { + if (LANGUAGE_CMIS_ALFRESCO.equals(sp.getLanguage())) + { + throw new InvalidArgumentException(InvalidArgumentException.DEFAULT_MESSAGE_ID, + new Object[] { ": filterQueries {} not allowed with cmis language" }); + } + for (FilterQuery fq:filterQueries) { ParameterCheck.mandatoryString("filterQueries query", fq.getQuery()); diff --git a/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java b/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java index 5d27cce533..1f3bb3ee4b 100644 --- a/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java +++ b/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java @@ -312,7 +312,18 @@ public class SearchMapperTests assertEquals("hedgehog" ,searchParameters.getFilterQueries().get(0)); assertEquals("king" ,searchParameters.getFilterQueries().get(1)); - //tags aren't used at the moment + searchParameters = new SearchParameters(); + searchParameters.setLanguage(SearchService.LANGUAGE_CMIS_ALFRESCO); + try + { + searchMapper.fromFilterQuery(searchParameters, Arrays.asList(new FilterQuery("hedgehog", null))); + fail(); + } + catch (InvalidArgumentException iae) + { + //You can't specify FilterQuery when using the CMIS language + assertNotNull(iae); + } } @Test