ACE-2620 - ensure ResultSetMeta.hasMore is always available even if a search fails due to query parser error.

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@85704 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2014-09-25 10:35:22 +00:00
parent ac4698ae3e
commit 0f73edbd0a

View File

@@ -587,9 +587,7 @@ public class Search extends BaseScopableProcessorExtension implements Initializi
String defaultField = (String)def.get("defaultField");
String defaultOperator = (String)def.get("defaultOperator");
String searchTerm = (String) def.get("searchTerm");
Object spellCheckObject = def.get("spellCheck");
boolean spellCheck = (spellCheckObject == null) ? false : (boolean) spellCheckObject;
Boolean spellCheck = (Boolean) def.get("spellCheck");
// extract supplied values
@@ -672,7 +670,7 @@ public class Search extends BaseScopableProcessorExtension implements Initializi
sp.setLanguage(language != null ? language : SearchService.LANGUAGE_LUCENE);
sp.setQuery(query);
sp.setSearchTerm(searchTerm);
sp.setSpellCheck(spellCheck);
sp.setSpellCheck(spellCheck != null ? spellCheck.booleanValue() : false);
if (defaultField != null)
{
sp.setDefaultFieldName(defaultField);
@@ -1006,9 +1004,13 @@ public class Search extends BaseScopableProcessorExtension implements Initializi
{
throw new AlfrescoRuntimeException("Failed to execute search: " + sp.getQuery(), err);
}
else if (logger.isDebugEnabled())
else
{
if (logger.isDebugEnabled())
logger.debug("Failed to execute search: " + sp.getQuery(), err);
// put expected values to handle case where exception occurs in search
meta.put("numberFound", 0);
meta.put("hasMore", false);
}
}
finally