You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Vikas Saurabh (JIRA)" <ji...@apache.org> on 2016/09/10 14:00:26 UTC

[jira] [Commented] (OAK-4786) Fulltext parser should support leading white-spaces

    [ https://issues.apache.org/jira/browse/OAK-4786?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15479847#comment-15479847 ] 

Vikas Saurabh commented on OAK-4786:
------------------------------------

Proposed patch:
{nofromat}
diff --git a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/fulltext/FullTextParser.java b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/fulltext/FullTextParser.java
index c420ec5..c76a954 100644
--- a/oak-core/src/main/java/org/apache/jackrabbit/oak/query/fulltext/FullTextParser.java
+++ b/oak-core/src/main/java/org/apache/jackrabbit/oak/query/fulltext/FullTextParser.java
@@ -85,6 +85,9 @@ public class FullTextParser {
         boolean not = false;
         StringBuilder buff = new StringBuilder();
         char c = text.charAt(parseIndex);
+        while (c == ' ') {
+            c = text.charAt(++parseIndex);
+        }
         if (c == '-' && parseIndex < text.length() - 1 &&
                 text.charAt(parseIndex + 1) != ' ') {
             c = text.charAt(++parseIndex);
diff --git a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/ast/FullTextTest.java b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/ast/FullTextTest.java
index 715407f..bde63a8 100644
--- a/oak-core/src/test/java/org/apache/jackrabbit/oak/query/ast/FullTextTest.java
+++ b/oak-core/src/test/java/org/apache/jackrabbit/oak/query/ast/FullTextTest.java
@@ -139,6 +139,16 @@ public class FullTextTest {
         testInvalid("\"x\"y", "\"x\"(*)y; expected: space");
     }

+    @Test
+    public void trimSpace() throws ParseException {
+        assertTrue(test(" x", "x"));
+        assertTrue(test(" x ", "x"));
+        assertTrue(test(" -", "-"));
+        assertTrue(test(" - ", "-"));
+        assertTrue(test(" x y ", "x y"));
+        assertTrue(test(" x - ", "x -"));
+    }
+
{noformat}

/cc [~tmueller]

> Fulltext parser should support leading white-spaces
> ---------------------------------------------------
>
>                 Key: OAK-4786
>                 URL: https://issues.apache.org/jira/browse/OAK-4786
>             Project: Jackrabbit Oak
>          Issue Type: Bug
>          Components: query
>            Reporter: Vikas Saurabh
>            Assignee: Vikas Saurabh
>            Priority: Minor
>
> During OAK-4705, it was discovered that full text parser doesn't support search term with leading spaces e.g. {{" Hello"}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)