You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@olingo.apache.org by mi...@apache.org on 2014/09/02 13:49:46 UTC

[26/50] [abbrv] git commit: [OLINGO-334] Verify no parameters and no ReturnType dont cause an exception

[OLINGO-334] Verify no parameters and no ReturnType dont cause an
exception


Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/81dfcfa4
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/81dfcfa4
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/81dfcfa4

Branch: refs/heads/Olingo-129_PocJpaDataStore
Commit: 81dfcfa47d68fb413863c1766f6a48026b9a5961
Parents: 0faf34b
Author: Christian Amend <ch...@apache.org>
Authored: Tue Jul 1 15:56:11 2014 +0200
Committer: Christian Amend <ch...@apache.org>
Committed: Tue Jul 1 15:56:11 2014 +0200

----------------------------------------------------------------------
 .../core/ep/consumer/XmlMetadataConsumer.java   |  3 ++-
 .../ep/consumer/XmlMetadataConsumerTest.java    | 20 +++++++++++++++++++-
 2 files changed, 21 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/81dfcfa4/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 4239c6d..1c0776a 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
@@ -256,9 +256,10 @@ public class XmlMetadataConsumer {
     function.setHttpMethod(reader.getAttributeValue(Edm.NAMESPACE_M_2007_08,
         XmlMetadataConstants.EDM_FUNCTION_IMPORT_HTTP_METHOD));
     function.setEntitySet(reader.getAttributeValue(null, XmlMetadataConstants.EDM_ENTITY_SET));
-    ReturnType returnType = new ReturnType();
+
     String returnTypeString = reader.getAttributeValue(null, XmlMetadataConstants.EDM_FUNCTION_IMPORT_RETURN);
     if (returnTypeString != null) {
+      ReturnType returnType = new ReturnType();
       if (returnTypeString.startsWith("Collection") || returnTypeString.startsWith("collection")) {
         returnType.setMultiplicity(EdmMultiplicity.MANY);
         returnTypeString = returnTypeString.substring(returnTypeString.indexOf("(") + 1, returnTypeString.length() - 1);

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/81dfcfa4/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 e939f3a..c497c68 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
@@ -568,6 +568,11 @@ public class XmlMetadataConsumerTest extends AbstractXmlConsumerTest {
             + "<Parameter Name=\"q1\" Type=\"Edm.String\" Nullable=\"true\" />"
             + "<Parameter Name=\"q2\" Type=\"Edm.Int32\" Nullable=\"false\" />"
             + "</FunctionImport>"
+            + "<FunctionImport Name=\"NoParamters\" ReturnType=\"Collection(RefScenario.Room)\" " +
+            "EntitySet=\"Rooms\" m:HttpMethod=\"GET\">"
+            + "</FunctionImport>"
+            + "<FunctionImport Name=\"NoReturn\" " +
+            "EntitySet=\"Rooms\" m:HttpMethod=\"GET\"/>"
             + "</EntityContainer>" + "</Schema>" + "</edmx:DataServices>" + "</edmx:Edmx>";
     XmlMetadataConsumer parser = new XmlMetadataConsumer();
     XMLStreamReader reader = createStreamReader(xmWithEntityContainer);
@@ -577,7 +582,7 @@ public class XmlMetadataConsumerTest extends AbstractXmlConsumerTest {
         assertEquals("Container1", container.getName());
         assertEquals(Boolean.TRUE, container.isDefaultEntityContainer());
 
-        assertEquals(2, container.getFunctionImports().size());
+        assertEquals(4, container.getFunctionImports().size());
         FunctionImport functionImport1 = container.getFunctionImports().get(0);
 
         assertEquals("EmployeeSearch", functionImport1.getName());
@@ -614,6 +619,19 @@ public class XmlMetadataConsumerTest extends AbstractXmlConsumerTest {
         assertEquals(EdmSimpleTypeKind.Int32, functionImport2.getParameters().get(1).getType());
         assertEquals(Boolean.FALSE, functionImport2.getParameters().get(1).getFacets().isNullable());
 
+        FunctionImport functionImport3 = container.getFunctionImports().get(2);
+
+        assertEquals("NoParamters", functionImport3.getName());
+        List<FunctionImportParameter> parameters3 = functionImport3.getParameters();
+        assertNotNull(parameters3);
+        assertEquals(0, parameters3.size());
+
+        FunctionImport functionImport4 = container.getFunctionImports().get(3);
+        assertEquals("NoReturn", functionImport4.getName());
+        List<FunctionImportParameter> parameters4 = functionImport4.getParameters();
+        assertNotNull(parameters4);
+        assertEquals(0, parameters4.size());
+        assertNull(functionImport4.getReturnType());
       }
     }
   }