From b42dc86bac2e9a6dedb04a336c16121cc650d34b Mon Sep 17 00:00:00 2001 From: Andreea Nechifor Date: Wed, 25 Oct 2017 12:39:02 +0300 Subject: [PATCH] REPO-1154: added trem as text in lucene search --- .../alfresco/rest/api/impl/QueriesImpl.java | 7 +++- .../rest/api/tests/QueriesNodesApiTest.java | 34 +++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/alfresco/rest/api/impl/QueriesImpl.java b/src/main/java/org/alfresco/rest/api/impl/QueriesImpl.java index 738f7c781b..d388aa2e85 100644 --- a/src/main/java/org/alfresco/rest/api/impl/QueriesImpl.java +++ b/src/main/java/org/alfresco/rest/api/impl/QueriesImpl.java @@ -189,7 +189,12 @@ public class QueriesImpl implements Queries, InitializingBean NodeRef nodeRef = nodes.validateOrLookupNode(rootNodeId, null); query.append("PATH:\"").append(getQNamePath(nodeRef.getId())).append("//*\" AND ("); } - query.append(term); + if (term != null) + { + query.append("\""); + query.append(term); + query.append("\""); + } if (rootNodeId != null) { query.append(")"); diff --git a/src/test/java/org/alfresco/rest/api/tests/QueriesNodesApiTest.java b/src/test/java/org/alfresco/rest/api/tests/QueriesNodesApiTest.java index f416db7961..9f1042a9ed 100644 --- a/src/test/java/org/alfresco/rest/api/tests/QueriesNodesApiTest.java +++ b/src/test/java/org/alfresco/rest/api/tests/QueriesNodesApiTest.java @@ -85,6 +85,40 @@ public class QueriesNodesApiTest extends AbstractSingleNetworkSiteTest } return result; } + + @Test + public void testSearchTermWhiteSpace() throws Exception{ + setRequestContext(user1); + + String myFolderNodeId = getMyNodeId(); + + String parentTerm = createFolder(myFolderNodeId, "folder term1").getId(); + String childTerm = "find" + Math.random(); + String childTermWS = childTerm + " " + "find"; + + Map docProps = new HashMap<>(2); + docProps.put("cm:title", childTerm); + docProps.put("cm:description", childTerm); + createTextFile(parentTerm, childTerm, childTerm, "UTF-8", docProps); + + docProps.put("cm:title", childTermWS); + docProps.put("cm:description", childTermWS); + createTextFile(parentTerm, childTermWS, childTermWS, "UTF-8", docProps); + + Paging paging = getPaging(0, 100); + HashMap params = new HashMap<>(1); + params.put(Queries.PARAM_TERM, childTerm); + HttpResponse response = getAll(URL_QUERIES_LSN, paging, params, 200); + List nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class); + assertEquals(2, nodes.size()); + + params.put(Queries.PARAM_TERM, childTermWS); + response = getAll(URL_QUERIES_LSN, paging, params, 200); + nodes = RestApiUtil.parseRestApiEntries(response.getJsonResponse(), Node.class); + assertEquals(1, nodes.size()); + + } + /** * Tests basic api for nodes live search - metadata (name, title, description) &/or full text search of file/content