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

129807 gjames: SEARCH-113: No longer hedging my bets: The only way to pass parameter is via the JSON body.


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/BRANCHES/DEV/5.2.N/root@130177 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Gethin James
2016-09-06 14:18:40 +00:00
parent 43bf3e848c
commit e1bd68c17c
3 changed files with 18 additions and 13 deletions

View File

@@ -87,12 +87,11 @@ public class SearchApiWebscript extends AbstractWebScript implements RecognizedP
//Turn JSON into a Java object respresentation //Turn JSON into a Java object respresentation
SearchQuery searchQuery = extractJsonContent(webScriptRequest, assistant.getJsonHelper(), SearchQuery.class); SearchQuery searchQuery = extractJsonContent(webScriptRequest, assistant.getJsonHelper(), SearchQuery.class);
//Parse the parameter //Parse the parameters
Params.RecognizedParams recognizedParams = new Params.RecognizedParams(null, null, null, null, null, null, null, null, false); Params params = getParams(webScriptRequest, searchQuery);
Params params = Params.valueOf(null, recognizedParams, searchQuery, webScriptRequest);
//Turn the params into the Java SearchParameters object //Turn the params into the Java SearchParameters object
SearchParameters searchParams = searchMapper.toSearchParameters(params); SearchParameters searchParams = searchMapper.toSearchParameters(searchQuery);
//Call searchService //Call searchService
ResultSet results = searchService.query(searchParams); ResultSet results = searchService.query(searchParams);
@@ -111,6 +110,18 @@ public class SearchApiWebscript extends AbstractWebScript implements RecognizedP
} }
} }
/**
* Gets the Params object, parameters come from the SearchQuery json not the requerst
* @param webScriptRequest
* @param searchQuery
* @return Params
*/
protected Params getParams(WebScriptRequest webScriptRequest, SearchQuery searchQuery)
{
Params.RecognizedParams recognizedParams = new Params.RecognizedParams(null, null, null, null, null, null, null, null, false);
return Params.valueOf(null, recognizedParams, searchQuery, webScriptRequest);
}
public void setNodes(Nodes nodes) { public void setNodes(Nodes nodes) {
this.nodes = nodes; this.nodes = nodes;
} }

View File

@@ -57,11 +57,8 @@ public class SearchMapper
* @param params * @param params
* @return * @return
*/ */
public SearchParameters toSearchParameters(Params params) public SearchParameters toSearchParameters(SearchQuery searchQuery)
{ {
BasicContentInfo info = params.getContentInfo();
SearchQuery searchQuery = (SearchQuery) params.getPassedIn();
ParameterCheck.mandatory("query", searchQuery.getQuery()); ParameterCheck.mandatory("query", searchQuery.getQuery());
SearchParameters sp = new SearchParameters(); SearchParameters sp = new SearchParameters();

View File

@@ -55,16 +55,13 @@ public class SearchMapperTests
@Test(expected = IllegalArgumentException.class) @Test(expected = IllegalArgumentException.class)
public void testMandatory() throws Exception public void testMandatory() throws Exception
{ {
Params params = Params.valueOf(null, null, new SearchQuery(), null); SearchParameters searchParameters = searchMapper.toSearchParameters(new SearchQuery());
SearchParameters searchParameters = searchMapper.toSearchParameters(params);
} }
@Test @Test
public void toSearchParameters() throws Exception public void toSearchParameters() throws Exception
{ {
SearchParameters searchParameters = searchMapper.toSearchParameters(minimalQuery());
Params params = Params.valueOf(null, null, minimalQuery(), null);
SearchParameters searchParameters = searchMapper.toSearchParameters(params);
assertNotNull(searchParameters); assertNotNull(searchParameters);
//Test defaults //Test defaults