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