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-odata2.git
The following commit(s) were added to refs/heads/master by this push:
new b81c987 [OLINGO-1497]System Query options no longer working for
Function Imports
b81c987 is described below
commit b81c987faab99704e49ced83d74d7a69daee2fb4
Author: ramya vasanth <[email protected]>
AuthorDate: Wed Dec 9 10:50:03 2020 +0530
[OLINGO-1497]System Query options no longer working for Function Imports
---
.../org/apache/olingo/odata2/client/core/uri/UriParserTest.java | 8 ++++++++
.../src/main/java/org/apache/olingo/odata2/core/uri/UriType.java | 4 +++-
2 files changed, 11 insertions(+), 1 deletion(-)
diff --git
a/odata2-lib/odata-client-core/src/test/java/org/apache/olingo/odata2/client/core/uri/UriParserTest.java
b/odata2-lib/odata-client-core/src/test/java/org/apache/olingo/odata2/client/core/uri/UriParserTest.java
index 21394c1..c654e62 100644
---
a/odata2-lib/odata-client-core/src/test/java/org/apache/olingo/odata2/client/core/uri/UriParserTest.java
+++
b/odata2-lib/odata-client-core/src/test/java/org/apache/olingo/odata2/client/core/uri/UriParserTest.java
@@ -40,6 +40,7 @@ import org.apache.olingo.odata2.api.commons.InlineCount;
import org.apache.olingo.odata2.api.edm.Edm;
import org.apache.olingo.odata2.api.edm.EdmEntitySet;
import org.apache.olingo.odata2.api.edm.EdmException;
+import org.apache.olingo.odata2.api.edm.EdmMultiplicity;
import org.apache.olingo.odata2.api.edm.EdmSimpleTypeKind;
import org.apache.olingo.odata2.api.edm.EdmTypeKind;
import org.apache.olingo.odata2.api.exception.MessageReference;
@@ -688,6 +689,7 @@ public class UriParserTest {
parseWrongUri("MaximalAge/somethingwrong",
UriSyntaxException.INVALIDSEGMENT);
parseWrongUri("ManagerPhoto", UriSyntaxException.MISSINGPARAMETER);
parseWrongUri("ManagerPhoto?Id='", UriSyntaxException.UNKNOWNLITERAL);
+ parseWrongUri("OldestEmployee?$filter=EmployeeId%20eq%20%271%27",
UriSyntaxException.INCOMPATIBLESYSTEMQUERYOPTION);
}
@Test
@@ -768,6 +770,12 @@ public class UriParserTest {
assertNotNull(result.getFilter());
assertNotNull(result.getOrderBy());
assertEquals("EmployeeName desc", result.getOrderBy().getUriLiteral());
+
+ result = parse("EmployeeSearch?$filter=EmployeeId%20eq%20%271%27");
+ assertEquals("Employee",
result.getFunctionImport().getReturnType().getType().getName());
+ assertEquals(EdmMultiplicity.MANY,
result.getFunctionImport().getReturnType().getMultiplicity());
+ assertEquals(UriType.URI10a, result.getUriType());
+ assertNotNull(result.getFilter());
}
@Test(expected=UriSyntaxException.class)
diff --git
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/UriType.java
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/UriType.java
index 3a0772f..9827c11 100644
---
a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/UriType.java
+++
b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/uri/UriType.java
@@ -84,7 +84,9 @@ public enum UriType {
/**
* Function import returning an entity set
*/
- URI10a(SystemQueryOption.$format),
+ URI10a(SystemQueryOption.$format, SystemQueryOption.$filter,
SystemQueryOption.$inlinecount,
+ SystemQueryOption.$orderby, SystemQueryOption.$skiptoken,
SystemQueryOption.$skip, SystemQueryOption.$top,
+ SystemQueryOption.$expand, SystemQueryOption.$select),
/**
* Function import returning a collection of complex-type instances
*/