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
This commit is contained in:
Alan Davis
2016-09-06 22:10:08 +00:00
parent be1ae9146e
commit 63e06293bb
2 changed files with 25 additions and 3 deletions

View File

@@ -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)
{

View File

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