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/11/17 14:46:41 UTC
olingo-odata2 git commit: [OLINGO-823] Fix separator in Json Deleted
Entries bug
Repository: olingo-odata2
Updated Branches:
refs/heads/master f8bbd747c -> b9a83feae
[OLINGO-823] Fix separator in Json Deleted Entries 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/b9a83fea
Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/b9a83fea
Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/b9a83fea
Branch: refs/heads/master
Commit: b9a83feae8969adc247ce4313e6e0e99a46d74ed
Parents: f8bbd74
Author: Christian Amend <ch...@sap.com>
Authored: Tue Nov 17 14:45:55 2015 +0100
Committer: Christian Amend <ch...@sap.com>
Committed: Tue Nov 17 14:45:55 2015 +0100
----------------------------------------------------------------------
.../ep/producer/JsonDeletedEntryEntityProducer.java | 6 ++++--
.../core/ep/producer/JsonFeedEntityProducer.java | 2 +-
.../producer/JsonFeedWithDeltaLinkProducerTest.java | 16 ++++++++++++++++
3 files changed, 21 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b9a83fea/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonDeletedEntryEntityProducer.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonDeletedEntryEntityProducer.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonDeletedEntryEntityProducer.java
index 23f72bc..2452228 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonDeletedEntryEntityProducer.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonDeletedEntryEntityProducer.java
@@ -39,12 +39,14 @@ public class JsonDeletedEntryEntityProducer {
}
public void append(final Writer writer, final EntityInfoAggregator entityInfo,
- final List<Map<String, Object>> deletedEntries)
+ final List<Map<String, Object>> deletedEntries, boolean noPreviousEntries)
throws EntityProviderException {
JsonStreamWriter jsonStreamWriter = new JsonStreamWriter(writer);
try {
if (deletedEntries.size() > 0) {
- jsonStreamWriter.separator();
+ if(!noPreviousEntries){
+ jsonStreamWriter.separator();
+ }
int counter = 0;
for (Map<String, Object> deletedEntry : deletedEntries) {
jsonStreamWriter.beginObject();
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b9a83fea/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducer.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducer.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducer.java
index 758de1c..ed47f4a 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducer.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducer.java
@@ -81,7 +81,7 @@ public class JsonFeedEntityProducer {
TombstoneCallbackResult callbackResult = callback.getTombstoneCallbackResult();
List<Map<String, Object>> deletedEntries = callbackResult.getDeletedEntriesData();
if (deletedEntries != null) {
- deletedEntryProducer.append(writer, entityInfo, deletedEntries);
+ deletedEntryProducer.append(writer, entityInfo, deletedEntries, data.isEmpty());
}
}
http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/b9a83fea/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedWithDeltaLinkProducerTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedWithDeltaLinkProducerTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedWithDeltaLinkProducerTest.java
index cf035ae..5f68939 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedWithDeltaLinkProducerTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedWithDeltaLinkProducerTest.java
@@ -18,6 +18,7 @@
******************************************************************************/
package org.apache.olingo.odata2.core.ep.producer;
+import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
@@ -130,6 +131,21 @@ public class JsonFeedWithDeltaLinkProducerTest extends BaseTest {
}
@Test
+ public void deletedEntriesWithNoPreviousData() throws Exception {
+ final EdmEntitySet entitySet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms");
+
+ TombstoneCallback tombstoneCallback =
+ new TombstoneCallbackImpl(deletedRoomData, null);
+
+ roomsData.clear();
+
+ final String json = writeRoomData(entitySet, tombstoneCallback);
+
+ assertFalse("Something wrong with empty RoomData list in combination with deleted entries!",
+ json.contains("[,"));
+ }
+
+ @Test
public void deletedEntriesAndDeltaLink() throws Exception {
final EdmEntitySet entitySet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms");