This is an automated email from the ASF dual-hosted git repository.
archanarai pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/olingo-odata2.git
The following commit(s) were added to refs/heads/master by this push:
new 7284619 [OLINGO-1322]ODATA V2.0: An empty string validation in
UriParser
7284619 is described below
commit 7284619af7cdc55d0d1b01505bc27f7df600f4b8
Author: Archana Rai <[email protected]>
AuthorDate: Thu Dec 13 14:08:06 2018 +0530
[OLINGO-1322]ODATA V2.0: An empty string validation in UriParser
---
.../java/org/apache/olingo/odata2/core/uri/UriParserImpl.java | 4 ++++
.../java/org/apache/olingo/odata2/core/uri/UriParserTest.java | 11 +++++++++++
2 files changed, 15 insertions(+)
diff --git
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/UriParserImpl.java
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/UriParserImpl.java
index 8373df7..3a31ad7 100644
---
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/UriParserImpl.java
+++
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/UriParserImpl.java
@@ -468,6 +468,10 @@ public class UriParserImpl extends UriParser {
throw new
UriSyntaxException(UriSyntaxException.MISSINGKEYPREDICATENAME.addContent(key));
}
}
+
+ if("''".equals(value) || value==null){
+ throw new
UriSyntaxException(UriSyntaxException.INVALIDVALUE.addContent(value));
+ }
EdmProperty keyProperty = null;
for (final EdmProperty testKeyProperty : keyProperties) {
diff --git
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/UriParserTest.java
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/UriParserTest.java
index f08012a..51a2669 100644
---
a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/UriParserTest.java
+++
b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/uri/UriParserTest.java
@@ -254,6 +254,17 @@ public class UriParserTest extends BaseTest {
assertEquals("1", result.getKeyPredicates().get(0).getLiteral());
assertEquals("EmployeeId",
result.getKeyPredicates().get(0).getProperty().getName());
}
+
+ @Test
+ public void parseEmployeesEntityWithEmptyKey() throws Exception {
+ parseWrongUri("/Employees('')",
UriSyntaxException.INVALIDVALUE.addContent("''"));
+ }
+
+ @Test
+ public void parseEmployeesEntityWithNullKey() throws Exception {
+ parseWrongUri("/Employees(null)", UriSyntaxException.INCOMPATIBLELITERAL);
+ }
+
@Test
public void parseEmployeesEntityWithKeyWithComma() throws Exception {