Merged 5.2.N (5.2.1) to HEAD (5.2)

130187 gjames: Merged searchapi (5.2.1) to 5.2.N (5.2.1)
      129890 gjames: SEARCH-116: Implementing defaults


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@130338 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Alan Davis
2016-09-06 22:05:50 +00:00
parent a4d3b2e60c
commit b8802af7f4
6 changed files with 197 additions and 7 deletions

View File

@@ -34,6 +34,7 @@ import static org.alfresco.service.cmr.search.SearchService.LANGUAGE_FTS_ALFRESC
import static org.alfresco.service.cmr.search.SearchService.LANGUAGE_LUCENE;
import static org.junit.Assert.assertNull;
import org.alfresco.rest.api.search.impl.SearchMapper;
import org.alfresco.rest.api.search.model.Default;
import org.alfresco.rest.api.search.model.Query;
import org.alfresco.rest.api.search.model.SearchQuery;
import org.alfresco.rest.api.search.model.SortDef;
@@ -198,6 +199,42 @@ public class SearchMapperTests
assertEquals("bash" ,searchParameters.getQueryTemplates().get("bish"));
}
@Test
public void fromDefaults() throws Exception
{
SearchParameters searchParameters = new SearchParameters();
//Doesn't error
searchMapper.fromDefault(searchParameters, null);
searchMapper.fromDefault(searchParameters, new Default(null,null,null,null,null));
searchMapper.fromDefault(searchParameters, new Default(null,"AND",null,null,null));
assertEquals("AND", searchParameters.getDefaultFTSOperator().toString());
searchMapper.fromDefault(searchParameters, new Default(null, null, "or", null,null));
assertEquals("OR", searchParameters.getDefaultFTSFieldOperator().toString());
try
{
searchMapper.fromDefault(searchParameters, new Default(null, null, "ELSE", null,null));
fail();
}
catch (IllegalArgumentException iae)
{
//ELSE is illegal
assertNotNull(iae);
}
searchMapper.fromDefault(searchParameters, new Default(null, null, null, "nspa","dfn"));
assertEquals("nspa", searchParameters.getNamespace());
assertEquals("dfn", searchParameters.getDefaultFieldName());
assertEquals(0 , searchParameters.getTextAttributes().size());
searchMapper.fromDefault(searchParameters, new Default(Arrays.asList("sausage", "mash"), null, null, null,null));
assertEquals(2 , searchParameters.getTextAttributes().size());
assertTrue(searchParameters.getTextAttributes().contains("sausage"));
assertTrue(searchParameters.getTextAttributes().contains("mash"));
}
@Test
public void validateInclude() throws Exception
{
@@ -232,7 +269,7 @@ public class SearchMapperTests
private SearchQuery minimalQuery()
{
Query query = new Query("cmis", "foo", "");
SearchQuery sq = new SearchQuery(query,null, null, null, null);
SearchQuery sq = new SearchQuery(query,null, null, null, null, null);
return sq;
}
}

View File

@@ -30,6 +30,7 @@ import static org.junit.Assert.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.alfresco.rest.api.model.Comment;
import org.alfresco.rest.api.search.model.Default;
import org.alfresco.rest.api.search.model.SearchQuery;
import org.alfresco.rest.framework.jacksonextensions.JacksonHelper;
import org.alfresco.rest.framework.jacksonextensions.RestJsonModule;
@@ -74,6 +75,13 @@ public class SearchQuerySerializerTests
assertTrue(searchQuery.getInclude().contains("properties"));
assertEquals(1, searchQuery.getSort().size());
assertEquals(2, searchQuery.getTemplates().size());
Default defaults = searchQuery.getDefaults();
assertEquals("namesp", defaults.getNamespace());
assertEquals("myfield", defaults.getDefaultFieldName());
assertEquals("AND", defaults.getDefaultFTSOperator());
assertEquals(2, defaults.getTextAttributes().size());
assertTrue(defaults.getTextAttributes().contains("roy"));
assertTrue(defaults.getTextAttributes().contains("king"));
}
}

View File

@@ -52,6 +52,7 @@ public class SerializerTestHelper implements RequestReader
+ "\"paging\": {\"maxItems\": \"99\",\"skipCount\": \"4\"},"
+ "\"sort\": {\"type\": \"FIELD\",\"field\": \"cm:title\",\"ascending\": \"true\"},"
+ "\"templates\": [{\"name\": \"mytemp\",\"template\": \"ATEMP\"}, {\"name\": \"yourtemp\",\"template\": \"%cm:content\"}],"
+ "\"defaults\": {\"namespace\": \"namesp\",\"defaultFieldName\": \"myfield\",\"defaultFTSOperator\": \"AND\", \"textAttributes\": [\"roy\", \"king\"]},"
+ "\"include\": [\"aspectNames\", \"properties\"]}";
public SerializerTestHelper()