This is an automated email from the ASF dual-hosted git repository.

ramyav pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/olingo-odata4.git


The following commit(s) were added to refs/heads/master by this push:
     new 162750f  [OLINGO-1515]Support non-ascii characters in OData
162750f is described below

commit 162750f2cec47d1249483cdb30566bc22ed2c431
Author: ramya vasanth <[email protected]>
AuthorDate: Wed Mar 3 12:58:30 2021 +0530

    [OLINGO-1515]Support non-ascii characters in OData
---
 .../apache/olingo/server/core/uri/parser/search/SearchTokenizer.java  | 4 +++-
 .../org/apache/olingo/server/core/uri/parser/SearchParserTest.java    | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/search/SearchTokenizer.java
 
b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/search/SearchTokenizer.java
index 2afcfd0..6f7e01e 100644
--- 
a/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/search/SearchTokenizer.java
+++ 
b/lib/server-core/src/main/java/org/apache/olingo/server/core/uri/parser/search/SearchTokenizer.java
@@ -167,7 +167,9 @@ public class SearchTokenizer {
      */
     static boolean isAllowedPhrase(final char character) {
       // the '%' is allowed because it is assumed that it was percent encoded 
and is now decoded
-      return isQCharUnescaped(character) || character == '%';
+      return isQCharUnescaped(character) 
+                 || character == '%' 
+                 || Character.isUnicodeIdentifierStart(character);
     }
 
     /**
diff --git 
a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/parser/SearchParserTest.java
 
b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/parser/SearchParserTest.java
index 417daa4..77e8eef 100644
--- 
a/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/parser/SearchParserTest.java
+++ 
b/lib/server-test/src/test/java/org/apache/olingo/server/core/uri/parser/SearchParserTest.java
@@ -81,6 +81,7 @@ public class SearchParserTest {
     testUri.run("ESTwoKeyNav", "$search=\"abc\"");
     testUri.run("ESTwoKeyNav", "$search=\"a\\\"bc\"");
     testUri.run("ESTwoKeyNav", "$search=%22abc%22");
+       testUri.run("ESTwoKeyNav", "$search=%22a%C3%AB%22");
     testUri.run("ESTwoKeyNav", "$search=%22a%5C%22bc%22");
     testUri.run("ESTwoKeyNav", "$search=%22a%5C%5Cbc%22");
 

Reply via email to