[OLINGO-850] Renamed flag from client to response
Project: http://git-wip-us.apache.org/repos/asf/olingo-odata2/repo Commit: http://git-wip-us.apache.org/repos/asf/olingo-odata2/commit/13cfd0a5 Tree: http://git-wip-us.apache.org/repos/asf/olingo-odata2/tree/13cfd0a5 Diff: http://git-wip-us.apache.org/repos/asf/olingo-odata2/diff/13cfd0a5 Branch: refs/heads/master Commit: 13cfd0a504f451bfa05a20cab5b4e885efd86988 Parents: 270720a Author: mibo <[email protected]> Authored: Thu Jan 21 20:47:05 2016 +0100 Committer: mibo <[email protected]> Committed: Thu Jan 21 20:47:05 2016 +0100 ---------------------------------------------------------------------- .../api/ep/EntityProviderWriteProperties.java | 23 +++++++++++++++----- .../odata2/core/ep/JsonEntityProvider.java | 2 +- .../ep/producer/JsonEntryEntityProducer.java | 6 ++--- .../ep/producer/JsonFeedEntityProducer.java | 9 ++++---- .../ep/ODataEntityProviderPropertiesTest.java | 10 ++++----- .../consumer/JsonEntryDeepInsertFeedTest.java | 4 +++- .../producer/JsonEntryEntityProducerTest.java | 6 ++--- .../ep/producer/JsonFeedEntityProducerTest.java | 2 +- 8 files changed, 38 insertions(+), 24 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/13cfd0a5/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderWriteProperties.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderWriteProperties.java b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderWriteProperties.java index a65d473..a2485a4 100644 --- a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderWriteProperties.java +++ b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/ep/EntityProviderWriteProperties.java @@ -47,7 +47,7 @@ public class EntityProviderWriteProperties { private boolean omitETag; private boolean validatingFacets = true; - private boolean isClientRequest = false; + private boolean isResponsePayload = true; private boolean includeMetadataInContentOnly = false; private EntityProviderWriteProperties() {} @@ -143,8 +143,8 @@ public class EntityProviderWriteProperties { return validatingFacets; } - public boolean isClientRequest() { - return isClientRequest; + public boolean isResponsePayload() { + return isResponsePayload; } public boolean isIncludeMetadataInContentOnly() { @@ -256,8 +256,19 @@ public class EntityProviderWriteProperties { return this; } - public ODataEntityProviderPropertiesBuilder clientRequest(final boolean isClientRequest) { - properties.isClientRequest = isClientRequest; + /** + * If set to true an entity set (or collection) is rendered as response payload in OData V2 format. + * Otherwise an entity set (or collection) is rendered as request payload in OData V2 format. + * + * See 2.2.6.3.2 Entity Set (as a JSON Array) + * The grammar rule "entitySetInJson2" defines the version 2.0 JSON + * representation of a collection of entities for response payloads only. + * + * @param responsePayload true for response payload handling, false for request payload handling + * @return the builder + */ + public ODataEntityProviderPropertiesBuilder responsePayload(final boolean responsePayload) { + properties.isResponsePayload = responsePayload; return this; } @@ -280,7 +291,7 @@ public class EntityProviderWriteProperties { this.properties.contentOnly = properties.contentOnly; this.properties.omitETag = properties.omitETag; this.properties.validatingFacets = properties.validatingFacets; - this.properties.isClientRequest = properties.isClientRequest; + this.properties.isResponsePayload = properties.isResponsePayload; this.properties.includeMetadataInContentOnly = properties.includeMetadataInContentOnly; return this; } http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/13cfd0a5/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java index bbece4f..092135b 100644 --- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java +++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/JsonEntityProvider.java @@ -193,7 +193,7 @@ public class JsonEntityProvider implements ContentTypeBasedEntityProvider { try { BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(buffer.getOutputStream(), DEFAULT_CHARSET)); - new JsonFeedEntityProducer(properties).append(writer, entityInfo, data, true); + new JsonFeedEntityProducer(properties).appendAsObject(writer, entityInfo, data, true); writer.flush(); buffer.closeWrite(); http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/13cfd0a5/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducer.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducer.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducer.java index d844f80..fe02cc7 100644 --- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducer.java +++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducer.java @@ -162,10 +162,10 @@ public class JsonEntryEntityProducer { EntityInfoAggregator.create(inlineEntitySet, inlineProperties.getExpandSelectTree()); JsonFeedEntityProducer jsonFeedEntityProducer = new JsonFeedEntityProducer(inlineProperties); - if (properties.isClientRequest()) { - jsonFeedEntityProducer.appendAsPlainArray(writer, inlineEntityInfo, inlineData); + if (properties.isResponsePayload()) { + jsonFeedEntityProducer.appendAsObject(writer, inlineEntityInfo, inlineData, false); } else { - jsonFeedEntityProducer.append(writer, inlineEntityInfo, inlineData, false); + jsonFeedEntityProducer.appendAsArray(writer, inlineEntityInfo, inlineData); } } else { http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/13cfd0a5/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 4754af7..4dc4dae 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 @@ -44,8 +44,9 @@ public class JsonFeedEntityProducer { this.properties = properties == null ? EntityProviderWriteProperties.serviceRoot(null).build() : properties; } - public void append(final Writer writer, final EntityInfoAggregator entityInfo, final List<Map<String, Object>> data, - final boolean isRootElement) throws EntityProviderException { + public void appendAsObject(final Writer writer, final EntityInfoAggregator entityInfo, + final List<Map<String, Object>> data, + final boolean isRootElement) throws EntityProviderException { JsonStreamWriter jsonStreamWriter = new JsonStreamWriter(writer); TombstoneCallback callback = getTombstoneCallback(); @@ -88,8 +89,8 @@ public class JsonFeedEntityProducer { } } - public void appendAsPlainArray(final Writer writer, final EntityInfoAggregator entityInfo, - final List<Map<String, Object>> data) throws EntityProviderException { + public void appendAsArray(final Writer writer, final EntityInfoAggregator entityInfo, + final List<Map<String, Object>> data) throws EntityProviderException { JsonStreamWriter jsonStreamWriter = new JsonStreamWriter(writer); try { jsonStreamWriter.beginArray(); http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/13cfd0a5/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/ODataEntityProviderPropertiesTest.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/ODataEntityProviderPropertiesTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/ODataEntityProviderPropertiesTest.java index be1998b..07f71c4 100644 --- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/ODataEntityProviderPropertiesTest.java +++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/ODataEntityProviderPropertiesTest.java @@ -76,7 +76,7 @@ public class ODataEntityProviderPropertiesTest extends BaseTest { assertFalse(properties.isContentOnly()); assertFalse(properties.isOmitETag()); assertFalse(properties.isIncludeMetadataInContentOnly()); - assertFalse(properties.isClientRequest()); + assertTrue(properties.isResponsePayload()); } @Test @@ -101,7 +101,7 @@ public class ODataEntityProviderPropertiesTest extends BaseTest { .contentOnly(true) .omitETag(true) .includeMetadataInContentOnly(true) - .clientRequest(true) + .responsePayload(true) .build(); assertEquals("Wrong amount of callbacks.", 1, properties.getCallbacks().size()); @@ -119,7 +119,7 @@ public class ODataEntityProviderPropertiesTest extends BaseTest { assertTrue("OmitETag should be set", properties.isOmitETag()); assertTrue("includeMetadataInContentOnly should be set", properties.isIncludeMetadataInContentOnly()); - assertTrue("clientRequest flag should be set", properties.isClientRequest()); + assertTrue("responsePayload flag should be set", properties.isResponsePayload()); } @Test @@ -144,7 +144,7 @@ public class ODataEntityProviderPropertiesTest extends BaseTest { .contentOnly(true) .omitETag(true) .includeMetadataInContentOnly(true) - .clientRequest(true) + .responsePayload(true) .build(); // @@ -166,6 +166,6 @@ public class ODataEntityProviderPropertiesTest extends BaseTest { assertTrue("ContentOnlyFlag should be set", fromProperties.isContentOnly()); assertTrue("OmitETag should be set", fromProperties.isOmitETag()); assertTrue("includeMetadataInContentOnly should be set", fromProperties.isIncludeMetadataInContentOnly()); - assertTrue("clientRequest flag should be set", fromProperties.isClientRequest()); + assertTrue("responsePayload flag should be set", fromProperties.isResponsePayload()); } } http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/13cfd0a5/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/JsonEntryDeepInsertFeedTest.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/JsonEntryDeepInsertFeedTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/JsonEntryDeepInsertFeedTest.java index 180fd62..8e14d1c 100644 --- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/JsonEntryDeepInsertFeedTest.java +++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/consumer/JsonEntryDeepInsertFeedTest.java @@ -50,8 +50,10 @@ public class JsonEntryDeepInsertFeedTest extends AbstractConsumerTest { private static final String BUILDING_WITH_INLINE_ROOMS_NEXTLINK_AND_COUNT = "JsonBuildingWithInlineRoomsAndNextLinkAndCount.json"; + @Test public void innerFeedWithoutResultsWrapperClientUseCase() throws Exception { - ODataEntry outerEntry = prepareAndExecuteEntry(BUILDING_WITH_INLINE_ROOMS_CLIENT_CASE, "Buildings", DEFAULT_PROPERTIES); + ODataEntry outerEntry = prepareAndExecuteEntry( + BUILDING_WITH_INLINE_ROOMS_CLIENT_CASE, "Buildings", DEFAULT_PROPERTIES); ODataFeed innerRoomFeed = (ODataFeed) outerEntry.getProperties().get("nb_Rooms"); assertNotNull(innerRoomFeed); http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/13cfd0a5/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducerTest.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducerTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducerTest.java index 215f39c..f667a95 100644 --- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducerTest.java +++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonEntryEntityProducerTest.java @@ -894,7 +894,7 @@ public class JsonEntryEntityProducerTest extends BaseTest { final ODataResponse response = new JsonEntityProvider().writeEntry(entitySet, buildingData, EntityProviderWriteProperties.serviceRoot(URI.create(BASE_URI)).expandSelectTree(node1) - .callbacks(callbacks).clientRequest(true).build()); + .callbacks(callbacks).responsePayload(false).build()); final String json = verifyResponse(response); assertEquals("{\"d\":{\"__metadata\":{\"id\":\"" + BASE_URI + "Buildings('1')\"," + "\"uri\":\"" + BASE_URI + "Buildings('1')\",\"type\":\"RefScenario.Building\"}," @@ -983,7 +983,7 @@ public class JsonEntryEntityProducerTest extends BaseTest { final ODataResponse response = new JsonEntityProvider().writeEntry(entitySet, buildingData, EntityProviderWriteProperties.serviceRoot(URI.create(BASE_URI)).expandSelectTree(node1) - .callbacks(callbacks).clientRequest(true).build()); + .callbacks(callbacks).responsePayload(false).build()); assertNotNull(response); assertNotNull(response.getEntity()); assertNull("EntitypProvider must not set content header", response.getContentHeader()); @@ -1077,7 +1077,7 @@ public class JsonEntryEntityProducerTest extends BaseTest { final ODataResponse response = new JsonEntityProvider().writeEntry(entitySet, buildingData, EntityProviderWriteProperties.serviceRoot(URI.create(BASE_URI)).expandSelectTree(node1) - .callbacks(callbacks).clientRequest(true).build()); + .callbacks(callbacks).responsePayload(false).build()); assertNotNull(response); assertNotNull(response.getEntity()); assertNull("EntitypProvider must not set content header", response.getContentHeader()); http://git-wip-us.apache.org/repos/asf/olingo-odata2/blob/13cfd0a5/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducerTest.java ---------------------------------------------------------------------- diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducerTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducerTest.java index 37d9225..43226b6 100644 --- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducerTest.java +++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFeedEntityProducerTest.java @@ -125,7 +125,7 @@ public class JsonFeedEntityProducerTest extends BaseTest { teamsData.add(team2Data); EntityProviderWriteProperties properties = - EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).clientRequest(true).build(); + EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).responsePayload(true).build(); final ODataResponse response = new JsonEntityProvider().writeFeed(entitySet, teamsData, properties); assertNotNull(response); assertNotNull(response.getEntity());
