olingo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From m...@apache.org
Subject [07/26] olingo-odata4 git commit: OLINGO-682: adding support for
Date Wed, 10 Jun 2015 20:16:21 GMT
OLINGO-682: adding  support for


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

Branch: refs/heads/OLINGO-642_OSGi-Sample
Commit: ad10381a5988cc48c3c0b2b0dd7a06c9f6b2359c
Parents: 181e463
Author: Ramesh Reddy <rareddy@jboss.org>
Authored: Tue Jun 2 17:49:03 2015 -0500
Committer: Ramesh Reddy <rareddy@jboss.org>
Committed: Tue Jun 2 17:53:19 2015 -0500

----------------------------------------------------------------------
 .../core/serializer/json/ODataJsonSerializer.java     | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata4/blob/ad10381a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/json/ODataJsonSerializer.java
----------------------------------------------------------------------
diff --git a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/json/ODataJsonSerializer.java
b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/json/ODataJsonSerializer.java
index d5cd3c6..08f557a 100644
--- a/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/json/ODataJsonSerializer.java
+++ b/lib/server-core/src/main/java/org/apache/olingo/server/core/serializer/json/ODataJsonSerializer.java
@@ -330,13 +330,14 @@ public class ODataJsonSerializer implements ODataSerializer {
           final Link navigationLink = linked.getNavigationLink(property.getName());
           final ExpandItem innerOptions = expandAll ? null :
               ExpandSelectHelper.getExpandItem(expand.getExpandItems(), propertyName);
-          if (innerOptions != null && (innerOptions.isRef() || innerOptions.getLevelsOption()
!= null)) {
-            throw new SerializerException("Expand options $ref and $levels are not supported.",
+          if (innerOptions != null && innerOptions.getLevelsOption() != null) {
+            throw new SerializerException("Expand option $levels is not supported.",
                 SerializerException.MessageKeys.NOT_IMPLEMENTED);
           }
           writeExpandedNavigationProperty(metadata, property, navigationLink,
               innerOptions == null ? null : innerOptions.getExpandOption(),
-              innerOptions == null ? null : innerOptions.getSelectOption(),
+              innerOptions == null ? null : innerOptions.getSelectOption(), 
+              innerOptions == null ? false: innerOptions.isRef(),
               json);
         }
       }
@@ -345,7 +346,8 @@ public class ODataJsonSerializer implements ODataSerializer {
 
   protected void writeExpandedNavigationProperty(final ServiceMetadata metadata,
       final EdmNavigationProperty property, final Link navigationLink,
-      final ExpandOption innerExpand, final SelectOption innerSelect, final JsonGenerator
json)
+      final ExpandOption innerExpand, final SelectOption innerSelect, boolean onlyReference,

+      final JsonGenerator json)
       throws IOException, SerializerException {
     json.writeFieldName(property.getName());
     if (property.isCollection()) {
@@ -354,14 +356,14 @@ public class ODataJsonSerializer implements ODataSerializer {
         json.writeEndArray();
       } else {
         writeEntitySet(metadata, property.getType(), navigationLink.getInlineEntitySet(),
innerExpand,
-            innerSelect, false, json);
+            innerSelect, onlyReference, json);
       }
     } else {
       if (navigationLink == null || navigationLink.getInlineEntity() == null) {
         json.writeNull();
       } else {
         writeEntity(metadata, property.getType(), navigationLink.getInlineEntity(), null,
-            innerExpand, innerSelect, false, json);
+            innerExpand, innerSelect, onlyReference, json);
       }
     }
   }


Mime
View raw message