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 2015/02/17 14:45:26 UTC

olingo-odata2 git commit: [OLINGO-572] Fix entity set name encoding for Json

Repository: olingo-odata2
Updated Branches:
  refs/heads/master b43255ae0 -> f48b5b723


[OLINGO-572] Fix entity set name encoding for Json


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

Branch: refs/heads/master
Commit: f48b5b7231bd31e0cb964338a05059ba9b3e5fef
Parents: b43255a
Author: Christian Amend <ch...@apache.org>
Authored: Tue Feb 17 14:44:40 2015 +0100
Committer: Christian Amend <ch...@apache.org>
Committed: Tue Feb 17 14:44:40 2015 +0100

----------------------------------------------------------------------
 .../core/ep/producer/JsonServiceDocumentProducer.java   | 12 +++++++++++-
 .../core/ep/consumer/ServiceDocumentConsumerTest.java   |  1 +
 .../ep/producer/JsonServiceDocumentProducerTest.java    |  6 ++++--
 3 files changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/f48b5b72/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducer.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducer.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducer.java
index 6b2134b..bca6b65 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducer.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducer.java
@@ -53,7 +53,7 @@ public class JsonServiceDocumentProducer {
         } else {
           jsonStreamWriter.separator();
         }
-        jsonStreamWriter.stringValue(info.getEntitySetUri().toASCIIString());
+        jsonStreamWriter.stringValue(createEntitySetName(info));
       }
 
       jsonStreamWriter.endArray()
@@ -68,4 +68,14 @@ public class JsonServiceDocumentProducer {
     }
 
   }
+
+  private static String createEntitySetName(EdmEntitySetInfo info) {
+    String entitySetName;
+    if (info.isDefaultEntityContainer()) {
+      entitySetName = info.getEntitySetName();
+    } else {
+      entitySetName = info.getEntityContainerName() + "." + info.getEntitySetName();
+    }
+    return entitySetName;
+  }
 }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/f48b5b72/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/ServiceDocumentConsumerTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/ServiceDocumentConsumerTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/ServiceDocumentConsumerTest.java
index 705b316..60d527f 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/ServiceDocumentConsumerTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/ServiceDocumentConsumerTest.java
@@ -109,6 +109,7 @@ public class ServiceDocumentConsumerTest extends BaseTest {
 
     assertEquals(entitySetsInfoJson.size(), entitySetsInfoAtom.size());
     for (int i = 0; i < entitySetsInfoJson.size(); i++) {
+      assertEquals(entitySetsInfoJson.get(i).getEntitySetName(), entitySetsInfoAtom.get(i).getEntitySetName());
       assertEquals(entitySetsInfoJson.get(i).getEntitySetUri(), entitySetsInfoAtom.get(i).getEntitySetUri());
     }
   }

http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/f48b5b72/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java
index 038f561..4ec24f6 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonServiceDocumentProducerTest.java
@@ -65,9 +65,11 @@ public class JsonServiceDocumentProducerTest extends BaseTest {
     Edm edm = mock(Edm.class);
     EdmServiceMetadata metadata = mock(EdmServiceMetadata.class);
     EdmEntitySetInfo entitySetInfo1 = mock(EdmEntitySetInfo.class);
-    when(entitySetInfo1.getEntitySetUri()).thenReturn(URI.create("EntitySet"));
+    when(entitySetInfo1.isDefaultEntityContainer()).thenReturn(true);
+    when(entitySetInfo1.getEntitySetName()).thenReturn("EntitySet");
     EdmEntitySetInfo entitySetInfo2 = mock(EdmEntitySetInfo.class);
-    when(entitySetInfo2.getEntitySetUri()).thenReturn(URI.create("Container2.EntitySet2"));
+    when(entitySetInfo2.getEntityContainerName()).thenReturn("Container2");
+    when(entitySetInfo2.getEntitySetName()).thenReturn("EntitySet2");
     when(metadata.getEntitySetInfos()).thenReturn(Arrays.asList(entitySetInfo1, entitySetInfo2));
     when(edm.getServiceMetadata()).thenReturn(metadata);
     final ODataResponse response = new JsonEntityProvider().writeServiceDocument(edm, "http://host:80/service/");