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:44 UTC

[24/50] [abbrv] git commit: [OLINGO-333] Fix FunctionImport ReturnType bug

[OLINGO-333] Fix FunctionImport ReturnType bug


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

Branch: refs/heads/Olingo-129_PocJpaDataStore
Commit: 84a47f92b77f7693295df4a0eeb9778bd10c438a
Parents: 418c631
Author: Christian Amend <ch...@apache.org>
Authored: Tue Jul 1 10:37:47 2014 +0200
Committer: Christian Amend <ch...@apache.org>
Committed: Tue Jul 1 10:38:26 2014 +0200

----------------------------------------------------------------------
 .../core/edm/provider/EdmFunctionImportImplProv.java     | 11 +++++++++--
 .../core/edm/provider/EdmFunctionImportImplProvTest.java |  6 +++++-
 2 files changed, 14 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/84a47f92/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProv.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProv.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProv.java
index 43997aa..76346dc 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProv.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProv.java
@@ -49,6 +49,7 @@ public class EdmFunctionImportImplProv extends EdmNamedImplProv implements EdmFu
   private Map<String, FunctionImportParameter> parameters;
   private List<String> parametersList;
   private EdmAnnotations annotations;
+  private EdmTyped edmReturnType;
 
   public EdmFunctionImportImplProv(final EdmImplProv edm, final FunctionImport functionImport,
       final EdmEntityContainer edmEntityContainer) throws EdmException {
@@ -123,8 +124,14 @@ public class EdmFunctionImportImplProv extends EdmNamedImplProv implements EdmFu
 
   @Override
   public EdmTyped getReturnType() throws EdmException {
-    final ReturnType returnType = functionImport.getReturnType();
-    return new EdmTypedImplProv(edm, functionImport.getName(), returnType.getTypeName(), returnType.getMultiplicity());
+    if (edmReturnType == null) {
+      final ReturnType returnType = functionImport.getReturnType();
+      if (returnType != null) {
+        edmReturnType =
+            new EdmTypedImplProv(edm, functionImport.getName(), returnType.getTypeName(), returnType.getMultiplicity());
+      }
+    }
+    return edmReturnType;
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/84a47f92/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProvTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProvTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProvTest.java
index 69e1b11..84cab5e 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProvTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/edm/provider/EdmFunctionImportImplProvTest.java
@@ -91,7 +91,6 @@ public class EdmFunctionImportImplProvTest extends BaseTest {
     when(edmProvider.getFunctionImport("Container", "bar")).thenReturn(functionImportBar);
     edmFunctionImportWithoutParameters =
         new EdmFunctionImportImplProv(edmImplProv, functionImportBar, edmEntityContainer);
-
   }
 
   @Test
@@ -160,6 +159,11 @@ public class EdmFunctionImportImplProvTest extends BaseTest {
   }
 
   @Test
+  public void nulllReturnType() throws Exception {
+    assertNull(edmFunctionImportWithoutParameters.getReturnType());
+  }
+
+  @Test
   public void parameterAnnotations() throws Exception {
     EdmParameter parameter = edmFunctionImport.getParameter("fooParameter1");
     assertNotNull(parameter);