Repository: olingo-odata4
Updated Branches:
  refs/heads/master 8ad297f9a -> cf360e657


[OLINGO-315] handle the case of zero container in EDM schema


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

Branch: refs/heads/master
Commit: 80c2f83acc83a7b83231f2ac26964d499a23b3a7
Parents: 8ad297f
Author: challenh <[email protected]>
Authored: Fri Jun 6 17:03:58 2014 +0800
Committer: challenh <[email protected]>
Committed: Fri Jun 6 17:03:58 2014 +0800

----------------------------------------------------------------------
 .../client/core/op/AbstractODataBinder.java     | 33 ++++++++++----------
 1 file changed, 17 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/80c2f83a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
----------------------------------------------------------------------
diff --git 
a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
 
b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
index 14c49a8..c52b0c1 100644
--- 
a/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
+++ 
b/lib/client-core/src/main/java/org/apache/olingo/client/core/op/AbstractODataBinder.java
@@ -347,22 +347,23 @@ public abstract class AbstractODataBinder implements 
CommonODataBinder {
       if (contextURL.getDerivedEntity() == null) {
         for (EdmSchema schema : edm.getSchemas()) {
           final EdmEntityContainer container = schema.getEntityContainer();
-
-          EdmBindingTarget bindingTarget = 
container.getEntitySet(contextURL.getEntitySetOrSingletonOrType());
-          if (bindingTarget == null) {
-            bindingTarget = 
container.getSingleton(contextURL.getEntitySetOrSingletonOrType());
-          }
-          if (bindingTarget != null) {
-            if (contextURL.getNavOrPropertyPath() == null) {
-              type = bindingTarget.getEntityType();
-            } else {
-              final EdmNavigationProperty navProp = 
bindingTarget.getEntityType().
-                      getNavigationProperty(contextURL.getNavOrPropertyPath());
-
-              type = navProp == null
-                      ? bindingTarget.getEntityType()
-                      : navProp.getType();
-            }
+          if(container != null) {
+                 EdmBindingTarget bindingTarget = 
container.getEntitySet(contextURL.getEntitySetOrSingletonOrType());
+                 if (bindingTarget == null) {
+                   bindingTarget = 
container.getSingleton(contextURL.getEntitySetOrSingletonOrType());
+                 }
+                 if (bindingTarget != null) {
+                   if (contextURL.getNavOrPropertyPath() == null) {
+                     type = bindingTarget.getEntityType();
+                   } else {
+                     final EdmNavigationProperty navProp = 
bindingTarget.getEntityType().
+                             
getNavigationProperty(contextURL.getNavOrPropertyPath());
+       
+                     type = navProp == null
+                             ? bindingTarget.getEntityType()
+                             : navProp.getType();
+                   }
+                 }
           }
         }
         if (type == null) {

Reply via email to