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 2014/01/30 16:26:56 UTC

git commit: [OLINGO-62] Overloading bugfix

Updated Branches:
  refs/heads/master 5d98f9097 -> 0756824d0


[OLINGO-62] Overloading bugfix


Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/commit/0756824d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/tree/0756824d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/diff/0756824d

Branch: refs/heads/master
Commit: 0756824d0717e91ecfeae0edf485cc685bf81a70
Parents: 5d98f90
Author: Christian Amend <ch...@apache.org>
Authored: Thu Jan 30 16:26:11 2014 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Thu Jan 30 16:26:11 2014 +0100

----------------------------------------------------------------------
 .../commons/core/edm/provider/EdmProviderImpl.java  | 16 ++++++++--------
 .../core/uri/antlr/TestByAbapResourcePath.java      | 16 ++++++++--------
 .../producer/core/uri/antlr/TestUriParserImpl.java  |  8 ++++----
 3 files changed, 20 insertions(+), 20 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0756824d/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmProviderImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmProviderImpl.java b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmProviderImpl.java
index 2d07fd3..a12a4df 100644
--- a/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmProviderImpl.java
+++ b/odata4-lib/odata4-commons-core/src/main/java/org/apache/olingo/odata4/commons/core/edm/provider/EdmProviderImpl.java
@@ -173,19 +173,19 @@ public class EdmProviderImpl extends EdmImpl {
       EdmFunctionImpl functionImpl = null;
       for (Function function : functions) {
         if (function.isBound() == true) {
-          List<Parameter> parameters = function.getParameters();
-          if (parameters == null || parameters.size() == 0) {
+          List<Parameter> providerParameters = function.getParameters();
+          if (providerParameters == null || providerParameters.size() == 0) {
             throw new EdmException("No parameter specified for bound function: " + functionName);
           }
-          Parameter bindingParameter = parameters.get(0);
+          Parameter bindingParameter = providerParameters.get(0);
           if (bindingParameterTypeName.equals(bindingParameter.getType())
               && isBindingParameterCollection.booleanValue() == bindingParameter.isCollection()) {
-            if (parameterNames.size() == parameters.size()) {
-              List<String> functionParameterNames = new ArrayList<String>();
-              for (Parameter parameter : parameters) {
-                functionParameterNames.add(parameter.getName());
+            if (parameterNames.size() == providerParameters.size() - 1) {
+              List<String> providerParameterNames = new ArrayList<String>();
+              for (int i = 1; i < providerParameters.size(); i++) {
+                providerParameterNames.add(providerParameters.get(i).getName());
               }
-              if (parameterNames.containsAll(functionParameterNames)) {
+              if (parameterNames.containsAll(providerParameterNames)) {
                 functionImpl = new EdmFunctionImpl(this, functionName, function);
                 break;
               }

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0756824d/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestByAbapResourcePath.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestByAbapResourcePath.java b/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestByAbapResourcePath.java
index 683ae76..161c12e 100644
--- a/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestByAbapResourcePath.java
+++ b/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestByAbapResourcePath.java
@@ -588,14 +588,14 @@ public class TestByAbapResourcePath {
         .isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
         .isType(EdmTechProvider.nameETTwoKeyNav);
 
-    testUri.run("ESKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav(ParameterString='3')")
-        .isKind(UriInfoKind.resource).goPath()
-        .first()
-        .isEntitySet("ESKeyNav")
-        .n()
-        .isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
-        .isParameter(0, "ParameterString", "'3'")
-        .isType(EdmTechProvider.nameETTwoKeyNav);
+//    testUri.run("ESKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav(ParameterString='3')")
+//        .isKind(UriInfoKind.resource).goPath()
+//        .first()
+//        .isEntitySet("ESKeyNav")
+//        .n()
+//        .isFunction("BFCESTwoKeyNavRTESTwoKeyNav")
+//        .isParameter(0, "ParameterString", "'3'")
+//        .isType(EdmTechProvider.nameETTwoKeyNav);
 
     testUri.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()/$count")
         .isKind(UriInfoKind.resource).goPath()

http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata4/blob/0756824d/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestUriParserImpl.java
----------------------------------------------------------------------
diff --git a/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestUriParserImpl.java b/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestUriParserImpl.java
index ea9fdc3..366be86 100644
--- a/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestUriParserImpl.java
+++ b/odata4-lib/odata4-producer-core/src/test/java/org/apache/olingo/odata4/producer/core/uri/antlr/TestUriParserImpl.java
@@ -190,20 +190,20 @@ public class TestUriParserImpl {
         .isType(EdmTechProvider.nameETTwoKeyNav);
 
     // with string parameter
-    testPath.run("ESKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav(ParameterString='ABC')")
+    testPath.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav(ParameterString='ABC')")
         .at(0)
         .isUriPathInfoKind(UriResourceKind.entitySet)
-        .isType(EdmTechProvider.nameETKeyNav)
+        .isType(EdmTechProvider.nameETTwoKeyNav)
         .isCollection(true)
         .at(1)
         .isUriPathInfoKind(UriResourceKind.function)
         .isType(EdmTechProvider.nameETTwoKeyNav);
 
     // with string parameter
-    testPath.run("ESKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()")
+    testPath.run("ESTwoKeyNav/com.sap.odata.test1.BFCESTwoKeyNavRTESTwoKeyNav()")
         .at(0)
         .isUriPathInfoKind(UriResourceKind.entitySet)
-        .isType(EdmTechProvider.nameETKeyNav)
+        .isType(EdmTechProvider.nameETTwoKeyNav)
         .isCollection(true)
         .at(1)
         .isUriPathInfoKind(UriResourceKind.function)