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");