From 63e06293bbbcc92e2ec349bdad252321a64d93b0 Mon Sep 17 00:00:00 2001 From: Alan Davis Date: Tue, 6 Sep 2016 22:10:08 +0000 Subject: [PATCH] Merged 5.2.N (5.2.1) to HEAD (5.2) 130295 gjames: Merged searchapi (5.2.1) to 5.2.N (5.2.1) 130039 gjames: SEARCH-159: Don't allow sort for cmis language git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@130367 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../rest/api/search/impl/SearchMapper.java | 15 ++++++++++++--- .../rest/api/search/SearchMapperTests.java | 13 +++++++++++++ 2 files changed, 25 insertions(+), 3 deletions(-) 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 11a50c1330..f569416c30 100644 --- a/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java +++ b/source/java/org/alfresco/rest/api/search/impl/SearchMapper.java @@ -74,6 +74,10 @@ public class SearchMapper PARAM_INCLUDE_ISLINK, PARAM_INCLUDE_PATH, PARAM_INCLUDE_PROPERTIES, PARAM_INCLUDE_ASSOCIATION); + public static final String CMIS = "cmis"; + public static final String LUCENE = "lucene"; + public static final String AFTS = "afts"; + /** * Turn the params into the Java SearchParameters object * @param params @@ -122,13 +126,13 @@ public class SearchMapper switch (q.getLanguage().toLowerCase()) { - case "afts": + case AFTS: sp.setLanguage(LANGUAGE_FTS_ALFRESCO); break; - case "lucene": + case LUCENE: sp.setLanguage(LANGUAGE_LUCENE); break; - case "cmis": + case CMIS: sp.setLanguage(LANGUAGE_CMIS_ALFRESCO); break; default: @@ -163,6 +167,11 @@ public class SearchMapper { if (sort != null && !sort.isEmpty()) { + if (CMIS.equals(sp.getLanguage())) + { + throw new InvalidArgumentException(InvalidArgumentException.DEFAULT_MESSAGE_ID, + new Object[] { ": sort {} not allowed with cmis language" }); + } for (SortDef sortDef:sort) { 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 5b3d7ea740..b9bf861e99 100644 --- a/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java +++ b/source/test-java/org/alfresco/rest/api/search/SearchMapperTests.java @@ -192,6 +192,19 @@ public class SearchMapperTests fail("Invalid sortDefinition"); } }); + + searchParameters = new SearchParameters(); + searchParameters.setLanguage(SearchMapper.CMIS); + try + { + searchMapper.fromSort(searchParameters, Arrays.asList(new SortDef("FIELD", null, false))); + fail(); + } + catch (InvalidArgumentException iae) + { + //You can't specify SORT when using the CMIS language + assertNotNull(iae); + } }