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