You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by ch...@apache.org on 2015/03/26 15:24:34 UTC
olingo-odata2 git commit: [OLINGO-597] Fix function parameter mode
deserialization
Repository: olingo-odata2
Updated Branches:
refs/heads/master 763755f1a -> 7ed5640bd
[OLINGO-597] Fix function parameter mode deserialization
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/7ed5640b
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/7ed5640b
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/7ed5640b
Branch: refs/heads/master
Commit: 7ed5640bd29b40004f069221d50d1b48afcab607
Parents: 763755f
Author: Christian Amend <ch...@apache.org>
Authored: Thu Mar 26 15:23:52 2015 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Thu Mar 26 15:23:52 2015 +0100
----------------------------------------------------------------------
.../olingo/odata2/core/ep/consumer/XmlMetadataConsumer.java | 1 +
.../odata2/core/ep/consumer/XmlMetadataConsumerTest.java | 7 +++++--
2 files changed, 6 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/7ed5640b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumer.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumer.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumer.java
index b2e62b5..686d579 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumer.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumer.java
@@ -303,6 +303,7 @@ public class XmlMetadataConsumer {
List<AnnotationElement> annotationElements = new ArrayList<AnnotationElement>();
functionParameter.setName(reader.getAttributeValue(null, XmlMetadataConstants.EDM_NAME));
+ functionParameter.setMode(reader.getAttributeValue(null, XmlMetadataConstants.EDM_FUNCTION_PARAMETER_MODE));
String type = reader.getAttributeValue(null, XmlMetadataConstants.EDM_TYPE);
if (type == null) {
throw new EntityProviderException(EntityProviderException.MISSING_ATTRIBUTE
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/7ed5640b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumerTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumerTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumerTest.java
index da58246..4077c68 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumerTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/XmlMetadataConsumerTest.java
@@ -696,7 +696,7 @@ public class XmlMetadataConsumerTest extends AbstractXmlConsumerTest {
+ "</FunctionImport>"
+ "<FunctionImport Name=\"RoomSearch\" ReturnType=\"Collection(RefScenario.Room)\" " +
"EntitySet=\"Rooms\" m:HttpMethod=\"GET\">"
- + "<Parameter Name=\"q1\" Type=\"Edm.String\" Nullable=\"true\" />"
+ + "<Parameter Name=\"q1\" Type=\"Edm.String\" Nullable=\"true\" Mode=\"In\"/>"
+ "<Parameter Name=\"q2\" Type=\"Edm.Int32\" Nullable=\"false\" />"
+ "</FunctionImport>"
+ "<FunctionImport Name=\"NoParamters\" ReturnType=\"Collection(RefScenario.Room)\" " +
@@ -742,13 +742,16 @@ public class XmlMetadataConsumerTest extends AbstractXmlConsumerTest {
assertEquals("GET", functionImport2.getHttpMethod());
assertEquals(2, functionImport2.getParameters().size());
- assertEquals("q1", functionImport2.getParameters().get(0).getName());
+ FunctionImportParameter functionImportParameter = functionImport2.getParameters().get(0);
+ assertEquals("q1", functionImportParameter.getName());
assertEquals(EdmSimpleTypeKind.String, functionImport2.getParameters().get(0).getType());
assertEquals(Boolean.TRUE, functionImport2.getParameters().get(0).getFacets().isNullable());
+ assertEquals("In", functionImportParameter.getMode());
assertEquals("q2", functionImport2.getParameters().get(1).getName());
assertEquals(EdmSimpleTypeKind.Int32, functionImport2.getParameters().get(1).getType());
assertEquals(Boolean.FALSE, functionImport2.getParameters().get(1).getFacets().isNullable());
+ assertEquals(null, functionImport2.getParameters().get(1).getMode());
FunctionImport functionImport3 = container.getFunctionImports().get(2);