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 2013/10/14 16:45:19 UTC
git commit: OLINGO-30 Use EdmMapping instead of write properties
Updated Branches:
refs/heads/master 6750521fc -> 95eb8f189
OLINGO-30 Use EdmMapping instead of write properties
Deleted new fields at the write properties and used edm mapping object
instead.
Project: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/commit/95eb8f18
Tree: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/tree/95eb8f18
Diff: http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/diff/95eb8f18
Branch: refs/heads/master
Commit: 95eb8f1892a14a99c2556c88eace0ef9bb13d30d
Parents: 6750521
Author: Christian Amend <ch...@apache.org>
Authored: Mon Oct 14 16:43:12 2013 +0200
Committer: Christian Amend <ch...@apache.org>
Committed: Mon Oct 14 16:43:12 2013 +0200
----------------------------------------------------------------------
.../olingo/odata2/api/edm/EdmMapping.java | 13 ++
.../olingo/odata2/api/edm/provider/Mapping.java | 31 +++++
.../api/ep/EntityProviderWriteProperties.java | 39 +-----
.../ep/producer/AtomEntryEntityProducer.java | 59 +++++----
.../ep/producer/JsonEntryEntityProducer.java | 32 +++--
.../ep/ODataEntityProviderPropertiesTest.java | 14 +-
.../core/ep/producer/AtomEntryProducerTest.java | 84 +++++++-----
.../producer/JsonEntryEntityProducerTest.java | 131 +++++++++++++------
.../ep/producer/JsonFunctionImportTest.java | 2 +-
.../odata2/ref/processor/ListsProcessor.java | 20 +--
10 files changed, 252 insertions(+), 173 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmMapping.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmMapping.java b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmMapping.java
index 750b407..c810fca 100644
--- a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmMapping.java
+++ b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/EdmMapping.java
@@ -37,9 +37,22 @@ public interface EdmMapping {
*
* @return mapping name as String
*/
+ @Deprecated
String getMimeType();
/**
+ * Gets the key under which the resource source value can be found in the data map.
+ * @return the key of the media resource source
+ */
+ String getMediaResourceSourceKey();
+
+ /**
+ * Gets the key under which the resource mime type can be found in the data map.
+ * @return the key of the media resource type
+ */
+ String getMediaResourceMimeTypeKey();
+
+ /**
* Get the set object for this mapping
*
* @return {@link Object} object
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/provider/Mapping.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/provider/Mapping.java b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/provider/Mapping.java
index f7f0f00..4cdb6de 100644
--- a/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/provider/Mapping.java
+++ b/odata2-lib/odata-api/src/main/java/org/apache/olingo/odata2/api/edm/provider/Mapping.java
@@ -29,6 +29,8 @@ public class Mapping implements EdmMapping {
private String value;
private String mimeType;
private Object object;
+ private String mediaResourceSourceKey;
+ private String mediaResourceMimeTypeKey;
@Override
public String getInternalName() {
@@ -44,6 +46,16 @@ public class Mapping implements EdmMapping {
public Object getObject() {
return object;
}
+
+ @Override
+ public String getMediaResourceSourceKey() {
+ return mediaResourceSourceKey;
+ }
+
+ @Override
+ public String getMediaResourceMimeTypeKey() {
+ return mediaResourceMimeTypeKey;
+ }
/**
* Sets the value for this {@link Mapping}.
@@ -60,6 +72,7 @@ public class Mapping implements EdmMapping {
* @param mimeType
* @return {@link Mapping} for method chaining
*/
+ @Deprecated
public Mapping setMimeType(final String mimeType) {
this.mimeType = mimeType;
return this;
@@ -74,4 +87,22 @@ public class Mapping implements EdmMapping {
this.object = object;
return this;
}
+
+ /**
+ * Sets the key for the resource source key which is used for the lookup in the data map
+ * @param mediaResourceSourceKey under which the source can be found in the data map
+ */
+ public void setMediaResourceSourceKey(String mediaResourceSourceKey) {
+ this.mediaResourceSourceKey = mediaResourceSourceKey;
+ }
+
+ /**
+ * Sets the key for the resource mime type key which is used for the lookup in the data map
+ * @param mediaResourceMimeTypeKey under which the mime type can be found in the data map
+ */
+ public void setMediaResourceMimeTypeKey(String mediaResourceMimeTypeKey) {
+ this.mediaResourceMimeTypeKey = mediaResourceMimeTypeKey;
+ }
+
+
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/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 227e1ef..2a7e978 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
@@ -34,6 +34,7 @@ import org.apache.olingo.odata2.api.uri.ExpandSelectTreeNode;
public class EntityProviderWriteProperties {
private URI serviceRoot;
+ @Deprecated
private String mediaResourceMimeType;
private InlineCount inlineCountType;
private Integer inlineCount;
@@ -41,8 +42,6 @@ public class EntityProviderWriteProperties {
private ExpandSelectTreeNode expandSelectTree;
private Map<String, ODataCallback> callbacks = Collections.emptyMap();
private URI selfLink;
- private String mediaResourceSourceKey;
- private String mediaResourceTypeKey;
private EntityProviderWriteProperties() {}
@@ -66,6 +65,7 @@ public class EntityProviderWriteProperties {
* Gets the MIME type of the media resource.
* @return the MIME type of the media resource
*/
+ @Deprecated
public final String getMediaResourceMimeType() {
return mediaResourceMimeType;
}
@@ -106,22 +106,6 @@ public class EntityProviderWriteProperties {
public final String getNextLink() {
return nextLink;
}
-
- /**
- * Gets the key under which the resource source value can be found in the data map.
- * @return the key of the media resource source
- */
- public final String getMediaResourceSourceKey() {
- return mediaResourceSourceKey;
- }
-
- /**
- * Gets the key under which the resource mime type can be found in the data map.
- * @return the key of the media resource type
- */
- public final String getMediaResourceTypeKey() {
- return mediaResourceTypeKey;
- }
public static ODataEntityProviderPropertiesBuilder serviceRoot(final URI serviceRoot) {
return new ODataEntityProviderPropertiesBuilder().serviceRoot(serviceRoot);
@@ -134,28 +118,13 @@ public class EntityProviderWriteProperties {
/**
* @param mediaResourceMimeType the mediaResourceMimeType to set
*/
+ @Deprecated
public final ODataEntityProviderPropertiesBuilder mediaResourceMimeType(final String mediaResourceMimeType) {
properties.mediaResourceMimeType = mediaResourceMimeType;
return this;
}
/**
- * @param mediaResourceSourceKey the mediaResourceSourceKey to set
- */
- public final ODataEntityProviderPropertiesBuilder mediaResourceSourceKey(final String mediaResourceSourceKey) {
- properties.mediaResourceSourceKey = mediaResourceSourceKey;
- return this;
- }
-
- /**
- * @param mediaResourceTypeKey the mediaResourceTypeKey to set
- */
- public ODataEntityProviderPropertiesBuilder mediaResourceTypeKey(String mediaResourceTypeKey) {
- properties.mediaResourceTypeKey = mediaResourceTypeKey;
- return this;
- }
-
- /**
* @param inlineCountType the inlineCountType to set
*/
public final ODataEntityProviderPropertiesBuilder inlineCountType(final InlineCount inlineCountType) {
@@ -219,8 +188,6 @@ public class EntityProviderWriteProperties {
public ODataEntityProviderPropertiesBuilder fromProperties(final EntityProviderWriteProperties properties) {
this.properties.mediaResourceMimeType = properties.getMediaResourceMimeType();
- this.properties.mediaResourceTypeKey = properties.getMediaResourceTypeKey();
- this.properties.mediaResourceSourceKey = properties.getMediaResourceSourceKey();
this.properties.inlineCountType = properties.getInlineCountType();
this.properties.inlineCount = properties.getInlineCount();
this.properties.nextLink = properties.getNextLink();
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryEntityProducer.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryEntityProducer.java b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryEntityProducer.java
index 4da4ab1..1b24a9a 100644
--- a/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryEntityProducer.java
+++ b/odata2-lib/odata-core/src/main/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryEntityProducer.java
@@ -36,6 +36,7 @@ import org.apache.olingo.odata2.api.edm.EdmEntitySet;
import org.apache.olingo.odata2.api.edm.EdmException;
import org.apache.olingo.odata2.api.edm.EdmFacets;
import org.apache.olingo.odata2.api.edm.EdmLiteralKind;
+import org.apache.olingo.odata2.api.edm.EdmMapping;
import org.apache.olingo.odata2.api.edm.EdmMultiplicity;
import org.apache.olingo.odata2.api.edm.EdmNavigationProperty;
import org.apache.olingo.odata2.api.edm.EdmSimpleType;
@@ -312,13 +313,16 @@ public class AtomEntryEntityProducer {
}
private void appendAtomContentLink(final XMLStreamWriter writer, final EntityInfoAggregator eia,
- final Map<String, Object> data, final String selfLink) throws EntityProviderException {
+ final Map<String, Object> data, final String selfLink) throws EntityProviderException, EdmException {
try {
String mediaResourceMimeType = properties.getMediaResourceMimeType();
if (mediaResourceMimeType == null) {
- String mediaResourceMimeTypeKey = properties.getMediaResourceTypeKey();
- if (mediaResourceMimeTypeKey != null) {
- mediaResourceMimeType = extractKey(data, mediaResourceMimeTypeKey);
+ EdmMapping entityTypeMapping = eia.getEntityType().getMapping();
+ if (entityTypeMapping != null) {
+ String mediaResourceMimeTypeKey = entityTypeMapping.getMediaResourceMimeTypeKey();
+ if (mediaResourceMimeTypeKey != null) {
+ mediaResourceMimeType = (String) data.get(mediaResourceMimeTypeKey);
+ }
}
if (mediaResourceMimeType == null) {
mediaResourceMimeType = ContentType.APPLICATION_OCTET_STREAM.toString();
@@ -336,26 +340,36 @@ public class AtomEntryEntityProducer {
}
private void appendAtomContentPart(final XMLStreamWriter writer, final EntityInfoAggregator eia,
- final Map<String, Object> data, final String selfLink) throws EntityProviderException {
+ final Map<String, Object> data, final String selfLink) throws EntityProviderException, EdmException {
try {
- String mediaResourceSourceKey = properties.getMediaResourceSourceKey();
+ // We have to support the media resource mime type at the properties till version 1.2 then this can be refactored
String mediaResourceMimeType = properties.getMediaResourceMimeType();
-
+ EdmMapping entityTypeMapping = eia.getEntityType().getMapping();
String self = null;
- if (mediaResourceSourceKey != null) {
- self = extractKey(data, mediaResourceSourceKey);
- }
- if (self == null) {
- self = selfLink + "/$value";
- }
- if (mediaResourceMimeType == null) {
- String mediaResourceMimeTypeKey = properties.getMediaResourceTypeKey();
- if (mediaResourceMimeTypeKey != null) {
- mediaResourceMimeType = extractKey(data, mediaResourceMimeTypeKey);
+ if (entityTypeMapping != null) {
+ String mediaResourceSourceKey = entityTypeMapping.getMediaResourceSourceKey();
+ if (mediaResourceSourceKey != null) {
+ self = (String) data.get(mediaResourceSourceKey);
+ }
+ if (self == null) {
+ self = selfLink + "/$value";
}
if (mediaResourceMimeType == null) {
+ String mediaResourceMimeTypeKey =
+ entityTypeMapping.getMimeType() != null ? entityTypeMapping.getMimeType()
+ : entityTypeMapping.getMediaResourceMimeTypeKey();
+ if (mediaResourceMimeTypeKey != null) {
+ mediaResourceMimeType = (String) data.get(mediaResourceMimeTypeKey);
+ }
+ if (mediaResourceMimeType == null) {
+ mediaResourceMimeType = ContentType.APPLICATION_OCTET_STREAM.toString();
+ }
+ }
+ } else {
+ self = selfLink + "/$value";
+ if (mediaResourceMimeType == null) {
mediaResourceMimeType = ContentType.APPLICATION_OCTET_STREAM.toString();
}
}
@@ -369,17 +383,6 @@ public class AtomEntryEntityProducer {
}
}
- private String extractKey(final Map<String, Object> data, final String mediaResourceMimeTypeKey)
- throws EntityProviderException {
- Object key = data.get(mediaResourceMimeTypeKey);
- if (key == null || key instanceof String) {
- return (String) key;
- } else {
- throw new EntityProviderException(EntityProviderException.ILLEGAL_ARGUMENT
- .addContent("Key must be of type String"));
- }
- }
-
private void appendAtomMandatoryParts(final XMLStreamWriter writer, final EntityInfoAggregator eia,
final Map<String, Object> data, final String selfLink) throws EntityProviderException {
try {
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/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 0659ad8..783aca3 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
@@ -29,6 +29,7 @@ import org.apache.olingo.odata2.api.edm.Edm;
import org.apache.olingo.odata2.api.edm.EdmEntitySet;
import org.apache.olingo.odata2.api.edm.EdmEntityType;
import org.apache.olingo.odata2.api.edm.EdmException;
+import org.apache.olingo.odata2.api.edm.EdmMapping;
import org.apache.olingo.odata2.api.edm.EdmMultiplicity;
import org.apache.olingo.odata2.api.edm.EdmNavigationProperty;
import org.apache.olingo.odata2.api.ep.EntityProviderException;
@@ -200,23 +201,38 @@ public class JsonEntryEntityProducer {
}
if (type.hasStream()) {
jsonStreamWriter.separator();
+
+ // We have to support the media resource mime type at the properties till version 1.2 then this can be refactored
String mediaResourceMimeType = properties.getMediaResourceMimeType();
- if (mediaResourceMimeType == null) {
- String mediaResourceMimeTypeKey = properties.getMediaResourceTypeKey();
- if (mediaResourceMimeTypeKey != null) {
- mediaResourceMimeType = extractKey(data, mediaResourceMimeTypeKey);
+ EdmMapping entityTypeMapping = entityInfo.getEntityType().getMapping();
+ String mediaSrc = null;
+
+ if (entityTypeMapping != null) {
+ String mediaResourceSourceKey = entityTypeMapping.getMediaResourceSourceKey();
+ if (mediaResourceSourceKey != null) {
+ mediaSrc = (String) data.get(mediaResourceSourceKey);
+ }
+ if (mediaSrc == null) {
+ mediaSrc = self + "/$value";
}
if (mediaResourceMimeType == null) {
+ mediaResourceMimeType =
+ entityTypeMapping.getMimeType() != null ? (String) data.get(entityTypeMapping.getMimeType())
+ : (String) data.get(entityTypeMapping.getMediaResourceMimeTypeKey());
+ if (mediaResourceMimeType == null) {
+ mediaResourceMimeType = ContentType.APPLICATION_OCTET_STREAM.toString();
+ }
+ }
+ } else {
+ mediaSrc = self + "/$value";
+ if (mediaResourceMimeType == null) {
mediaResourceMimeType = ContentType.APPLICATION_OCTET_STREAM.toString();
}
}
+
jsonStreamWriter.namedStringValueRaw(FormatJson.CONTENT_TYPE, mediaResourceMimeType);
jsonStreamWriter.separator();
- String mediaSrc = self + "/$value";
- if (properties.getMediaResourceSourceKey() != null) {
- mediaSrc = (String) data.get(properties.getMediaResourceSourceKey());
- }
jsonStreamWriter.namedStringValue(FormatJson.MEDIA_SRC, mediaSrc);
jsonStreamWriter.separator();
jsonStreamWriter.namedStringValue(FormatJson.EDIT_MEDIA, location + "/$value");
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/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 04ecea1..0605628 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
@@ -66,8 +66,6 @@ public class ODataEntityProviderPropertiesTest extends BaseTest {
.expandSelectTree(expandSelectTree)
.inlineCount(1)
.inlineCountType(InlineCount.ALLPAGES)
- .mediaResourceTypeKey("~typeKey")
- .mediaResourceSourceKey("~srcKey")
.mediaResourceMimeType("image/png")
.nextLink("http://localhost")
.selfLink(selfLink)
@@ -78,8 +76,6 @@ public class ODataEntityProviderPropertiesTest extends BaseTest {
assertEquals("Wrong expand select tree.", expandSelectTree, properties.getExpandSelectTree());
assertEquals("Wrong self link.", selfLink, properties.getSelfLink());
assertEquals("Wrong media resource mime type.", "image/png", properties.getMediaResourceMimeType());
- assertEquals("Wrong media resource type key.", "~typeKey", properties.getMediaResourceTypeKey());
- assertEquals("Wrong media resource src key.", "~srcKey", properties.getMediaResourceSourceKey());
assertEquals("Wrong base uri.", "http://localhost:80/", properties.getServiceRoot().toASCIIString());
assertEquals("Wrong inline count type.", InlineCount.ALLPAGES, properties.getInlineCountType());
assertEquals("Wrong inline count.", Integer.valueOf(1), properties.getInlineCount());
@@ -95,7 +91,7 @@ public class ODataEntityProviderPropertiesTest extends BaseTest {
.build();
assertEquals("Wrong mime type.", "text/html", properties.getMediaResourceMimeType());
}
-
+
@Test
public void buildEntryPropertiesFromExisting() throws Exception {
URI serviceRoot = new URI("http://localhost:80/");
@@ -108,25 +104,21 @@ public class ODataEntityProviderPropertiesTest extends BaseTest {
.expandSelectTree(expandSelectTree)
.inlineCount(1)
.inlineCountType(InlineCount.ALLPAGES)
- .mediaResourceTypeKey("~typeKey")
- .mediaResourceSourceKey("~srcKey")
.mediaResourceMimeType("image/png")
.nextLink("http://localhost")
.selfLink(selfLink)
.build();
//
- final EntityProviderWriteProperties fromProperties =
+ final EntityProviderWriteProperties fromProperties =
EntityProviderWriteProperties.fromProperties(properties).build();
-
+
//
assertEquals(1, fromProperties.getCallbacks().size());
assertTrue(fromProperties.getCallbacks().containsKey("aCallback"));
assertEquals(expandSelectTree, fromProperties.getExpandSelectTree());
assertEquals(selfLink, fromProperties.getSelfLink());
assertEquals("image/png", fromProperties.getMediaResourceMimeType());
- assertEquals("~typeKey", fromProperties.getMediaResourceTypeKey());
- assertEquals("~srcKey", fromProperties.getMediaResourceSourceKey());
assertEquals("Wrong base uri.", "http://localhost:80/", fromProperties.getServiceRoot().toASCIIString());
assertEquals("Wrong inline count type.", InlineCount.ALLPAGES, fromProperties.getInlineCountType());
assertEquals("Wrong inline count.", Integer.valueOf(1), fromProperties.getInlineCount());
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryProducerTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryProducerTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryProducerTest.java
index 9cc296e..b50a072 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryProducerTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/AtomEntryProducerTest.java
@@ -42,7 +42,9 @@ import org.apache.olingo.odata2.api.edm.Edm;
import org.apache.olingo.odata2.api.edm.EdmConcurrencyMode;
import org.apache.olingo.odata2.api.edm.EdmCustomizableFeedMappings;
import org.apache.olingo.odata2.api.edm.EdmEntitySet;
+import org.apache.olingo.odata2.api.edm.EdmEntityType;
import org.apache.olingo.odata2.api.edm.EdmFacets;
+import org.apache.olingo.odata2.api.edm.EdmMapping;
import org.apache.olingo.odata2.api.edm.EdmProperty;
import org.apache.olingo.odata2.api.edm.EdmTargetPath;
import org.apache.olingo.odata2.api.edm.EdmTyped;
@@ -707,13 +709,11 @@ public class AtomEntryProducerTest extends AbstractProviderTest {
Map<String, Object> localEmployeeData = new HashMap<String, Object>(employeeData);
String mediaResourceSourceKey = "~src";
localEmployeeData.put(mediaResourceSourceKey, "http://localhost:8080/images/image1");
- EntityProviderWriteProperties localProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceSourceKey(mediaResourceSourceKey
- ).build();
- ODataResponse response =
- ser.writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees"),
- localEmployeeData,
- localProperties);
+ EdmEntitySet employeesSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+ EdmMapping mapping = employeesSet.getEntityType().getMapping();
+ when(mapping.getMediaResourceSourceKey()).thenReturn(mediaResourceSourceKey);
+
+ ODataResponse response = ser.writeEntry(employeesSet, localEmployeeData, DEFAULT_PROPERTIES);
String xmlString = verifyResponse(response);
assertXpathExists(
@@ -729,15 +729,14 @@ public class AtomEntryProducerTest extends AbstractProviderTest {
Map<String, Object> localEmployeeData = new HashMap<String, Object>(employeeData);
String mediaResourceSourceKey = "~src";
localEmployeeData.put(mediaResourceSourceKey, "http://localhost:8080/images/image1");
- String mediaResourceTypeKey = "~type";
- localEmployeeData.put(mediaResourceTypeKey, "image/jpeg");
- EntityProviderWriteProperties localProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceSourceKey(mediaResourceSourceKey
- ).mediaResourceTypeKey(mediaResourceTypeKey).build();
- ODataResponse response =
- ser.writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees"),
- localEmployeeData,
- localProperties);
+ String mediaResourceMimeTypeKey = "~type";
+ localEmployeeData.put(mediaResourceMimeTypeKey, "image/jpeg");
+ EdmEntitySet employeesSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+ EdmMapping mapping = employeesSet.getEntityType().getMapping();
+ when(mapping.getMediaResourceSourceKey()).thenReturn(mediaResourceSourceKey);
+ when(mapping.getMediaResourceMimeTypeKey()).thenReturn(mediaResourceMimeTypeKey);
+ when(mapping.getMimeType()).thenReturn(null);
+ ODataResponse response = ser.writeEntry(employeesSet, localEmployeeData, DEFAULT_PROPERTIES);
String xmlString = verifyResponse(response);
assertXpathExists(
@@ -753,13 +752,13 @@ public class AtomEntryProducerTest extends AbstractProviderTest {
Map<String, Object> localRoomData = new HashMap<String, Object>(roomData);
String mediaResourceSourceKey = "~src";
localRoomData.put(mediaResourceSourceKey, "http://localhost:8080/images/image1");
- EntityProviderWriteProperties localProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceSourceKey(mediaResourceSourceKey
- ).build();
- ODataResponse response =
- ser.writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms"),
- localRoomData,
- localProperties);
+ EdmEntitySet roomsSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms");
+ EdmEntityType roomType = roomsSet.getEntityType();
+ EdmMapping mapping = mock(EdmMapping.class);
+ when(roomType.getMapping()).thenReturn(mapping);
+ when(mapping.getMediaResourceSourceKey()).thenReturn(mediaResourceSourceKey);
+
+ ODataResponse response = ser.writeEntry(roomsSet, localRoomData, DEFAULT_PROPERTIES);
String xmlString = verifyResponse(response);
assertXpathNotExists(
@@ -775,15 +774,16 @@ public class AtomEntryProducerTest extends AbstractProviderTest {
Map<String, Object> localRoomData = new HashMap<String, Object>(roomData);
String mediaResourceSourceKey = "~src";
localRoomData.put(mediaResourceSourceKey, "http://localhost:8080/images/image1");
- String mediaResourceTypeKey = "~type";
- localRoomData.put(mediaResourceTypeKey, "image/jpeg");
- EntityProviderWriteProperties localProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceSourceKey(mediaResourceSourceKey
- ).mediaResourceTypeKey(mediaResourceTypeKey).build();
- ODataResponse response =
- ser.writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms"),
- localRoomData,
- localProperties);
+ String mediaResourceMimeTypeKey = "~type";
+ localRoomData.put(mediaResourceMimeTypeKey, "image/jpeg");
+ EdmEntitySet roomsSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms");
+ EdmEntityType roomType = roomsSet.getEntityType();
+ EdmMapping mapping = mock(EdmMapping.class);
+ when(roomType.getMapping()).thenReturn(mapping);
+ when(mapping.getMediaResourceSourceKey()).thenReturn(mediaResourceSourceKey);
+ when(mapping.getMediaResourceMimeTypeKey()).thenReturn(mediaResourceMimeTypeKey);
+
+ ODataResponse response = ser.writeEntry(roomsSet, localRoomData, DEFAULT_PROPERTIES);
String xmlString = verifyResponse(response);
assertXpathNotExists(
@@ -793,6 +793,26 @@ public class AtomEntryProducerTest extends AbstractProviderTest {
assertXpathNotExists("/a:entry/a:content[@src=\"http://localhost:8080/images/image1\"]", xmlString);
}
+ @Test
+ public void assureGetMimeTypeWinsOverGetMediaResourceMimeTypeKey() throws Exception {
+ // Keep this test till version 1.2
+ AtomEntityProvider ser = createAtomEntityProvider();
+ Map<String, Object> localEmployeeData = new HashMap<String, Object>(employeeData);
+ String mediaResourceMimeTypeKey = "~type";
+ localEmployeeData.put(mediaResourceMimeTypeKey, "wrong");
+ String originalMimeTypeKey = "~originalType";
+ localEmployeeData.put(originalMimeTypeKey, "right");
+ EdmEntitySet employeesSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+ EdmMapping mapping = employeesSet.getEntityType().getMapping();
+ when(mapping.getMediaResourceMimeTypeKey()).thenReturn(mediaResourceMimeTypeKey);
+ when(mapping.getMimeType()).thenReturn(originalMimeTypeKey);
+ ODataResponse response = ser.writeEntry(employeesSet, localEmployeeData, DEFAULT_PROPERTIES);
+ String xmlString = verifyResponse(response);
+
+ assertXpathExists("/a:entry/a:content[@type=\"right\"]", xmlString);
+ assertXpathNotExists("/a:entry/a:content[@type=\"wrong\"]", xmlString);
+ }
+
private void verifyTagOrdering(final String xmlString, final String... toCheckTags) {
XMLUnitHelper.verifyTagOrdering(xmlString, toCheckTags);
}
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/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 0ce9980..8f53d84 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
@@ -22,6 +22,8 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.io.IOException;
import java.io.InputStream;
@@ -37,6 +39,8 @@ import java.util.TimeZone;
import org.apache.olingo.odata2.api.ODataCallback;
import org.apache.olingo.odata2.api.edm.EdmEntitySet;
+import org.apache.olingo.odata2.api.edm.EdmEntityType;
+import org.apache.olingo.odata2.api.edm.EdmMapping;
import org.apache.olingo.odata2.api.edm.EdmProperty;
import org.apache.olingo.odata2.api.ep.EntityProviderException;
import org.apache.olingo.odata2.api.ep.EntityProviderWriteProperties;
@@ -124,11 +128,9 @@ public class JsonEntryEntityProducerTest extends BaseTest {
photoData.put("Id", 1);
photoData.put("Type", "image/png");
photoData.put("BinaryData", new byte[] { -1, 0, 1, 2 });
+ photoData.put("getType", "image/png");
- EntityProviderWriteProperties writeProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceTypeKey("Type").build();
-
- final ODataResponse response = new JsonEntityProvider().writeEntry(entitySet, photoData, writeProperties);
+ final ODataResponse response = new JsonEntityProvider().writeEntry(entitySet, photoData, DEFAULT_PROPERTIES);
final String json = verifyResponse(response);
assertEquals("{\"d\":{\"__metadata\":{"
+ "\"id\":\"" + BASE_URI + "Container2.Photos(Id=1,Type='image%2Fpng')\","
@@ -154,8 +156,8 @@ public class JsonEntryEntityProducerTest extends BaseTest {
Mockito.when(node.getProperties()).thenReturn(Arrays.asList(property));
EntityProviderWriteProperties writeProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceTypeKey("getImageType")
- .serviceRoot(URI.create(BASE_URI)).expandSelectTree(node).build();
+ EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).serviceRoot(URI.create(BASE_URI))
+ .expandSelectTree(node).build();
final ODataResponse response = new JsonEntityProvider().writeEntry(entitySet, employeeData,
writeProperties);
@@ -557,14 +559,12 @@ public class JsonEntryEntityProducerTest extends BaseTest {
String mediaResourceSourceKey = "~src";
employeeData.put(mediaResourceSourceKey, "http://localhost:8080/images/image1");
- EntityProviderWriteProperties localProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceSourceKey(mediaResourceSourceKey
- ).build();
- ODataResponse response =
- new JsonEntityProvider().writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet(
- "Employees"),
- employeeData,
- localProperties);
+
+ EdmEntitySet employeesSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+ EdmMapping mapping = employeesSet.getEntityType().getMapping();
+ when(mapping.getMediaResourceSourceKey()).thenReturn(mediaResourceSourceKey);
+
+ ODataResponse response = new JsonEntityProvider().writeEntry(employeesSet, employeeData, DEFAULT_PROPERTIES);
String jsonString = verifyResponse(response);
Gson gson = new Gson();
StringMap<Object> jsonMap = gson.fromJson(jsonString, StringMap.class);
@@ -604,16 +604,16 @@ public class JsonEntryEntityProducerTest extends BaseTest {
employeeData.put("Location", locationData);
String mediaResourceSourceKey = "~src";
employeeData.put(mediaResourceSourceKey, "http://localhost:8080/images/image1");
- String mediaResourceTypeKey = "~type";
- employeeData.put(mediaResourceTypeKey, "image/jpeg");
- EntityProviderWriteProperties localProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceSourceKey(mediaResourceSourceKey
- ).mediaResourceTypeKey(mediaResourceTypeKey).build();
- ODataResponse response =
- new JsonEntityProvider().writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet(
- "Employees"),
- employeeData,
- localProperties);
+ String mediaResourceMimeTypeKey = "~type";
+ employeeData.put(mediaResourceMimeTypeKey, "image/jpeg");
+
+ EdmEntitySet employeesSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+ EdmMapping mapping = employeesSet.getEntityType().getMapping();
+ when(mapping.getMediaResourceSourceKey()).thenReturn(mediaResourceSourceKey);
+ when(mapping.getMediaResourceMimeTypeKey()).thenReturn(mediaResourceMimeTypeKey);
+ when(mapping.getMimeType()).thenReturn(null);
+
+ ODataResponse response = new JsonEntityProvider().writeEntry(employeesSet, employeeData, DEFAULT_PROPERTIES);
String jsonString = verifyResponse(response);
Gson gson = new Gson();
@@ -637,13 +637,14 @@ public class JsonEntryEntityProducerTest extends BaseTest {
String mediaResourceSourceKey = "~src";
roomData.put(mediaResourceSourceKey, "http://localhost:8080/images/image1");
- EntityProviderWriteProperties localProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceSourceKey(mediaResourceSourceKey
- ).build();
- ODataResponse response =
- new JsonEntityProvider().writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms"),
- roomData,
- localProperties);
+
+ EdmEntitySet roomsSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms");
+ EdmEntityType roomType = roomsSet.getEntityType();
+ EdmMapping mapping = mock(EdmMapping.class);
+ when(roomType.getMapping()).thenReturn(mapping);
+ when(mapping.getMediaResourceSourceKey()).thenReturn(mediaResourceSourceKey);
+
+ ODataResponse response = new JsonEntityProvider().writeEntry(roomsSet, roomData, DEFAULT_PROPERTIES);
String jsonString = verifyResponse(response);
Gson gson = new Gson();
StringMap<Object> jsonMap = gson.fromJson(jsonString, StringMap.class);
@@ -666,15 +667,17 @@ public class JsonEntryEntityProducerTest extends BaseTest {
String mediaResourceSourceKey = "~src";
roomData.put(mediaResourceSourceKey, "http://localhost:8080/images/image1");
- String mediaResourceTypeKey = "~type";
- roomData.put(mediaResourceTypeKey, "image/jpeg");
- EntityProviderWriteProperties localProperties =
- EntityProviderWriteProperties.fromProperties(DEFAULT_PROPERTIES).mediaResourceSourceKey(mediaResourceSourceKey
- ).mediaResourceTypeKey(mediaResourceTypeKey).build();
- ODataResponse response =
- new JsonEntityProvider().writeEntry(MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms"),
- roomData,
- localProperties);
+ String mediaResourceMimeTypeKey = "~type";
+ roomData.put(mediaResourceMimeTypeKey, "image/jpeg");
+
+ EdmEntitySet roomsSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Rooms");
+ EdmEntityType roomType = roomsSet.getEntityType();
+ EdmMapping mapping = mock(EdmMapping.class);
+ when(roomType.getMapping()).thenReturn(mapping);
+ when(mapping.getMediaResourceSourceKey()).thenReturn(mediaResourceSourceKey);
+ when(mapping.getMediaResourceMimeTypeKey()).thenReturn(mediaResourceMimeTypeKey);
+
+ ODataResponse response = new JsonEntityProvider().writeEntry(roomsSet, roomData, DEFAULT_PROPERTIES);
String jsonString = verifyResponse(response);
Gson gson = new Gson();
StringMap<Object> jsonMap = gson.fromJson(jsonString, StringMap.class);
@@ -685,6 +688,54 @@ public class JsonEntryEntityProducerTest extends BaseTest {
assertNull(jsonMap.get("content_type"));
assertNull(jsonMap.get("edit_media"));
}
+
+ @SuppressWarnings("unchecked")
+ @Test
+ public void assureGetMimeTypeWinsOverGetMediaResourceMimeTypeKey() throws Exception {
+ // Keep this test till version 1.2
+ Map<String, Object> employeeData = new HashMap<String, Object>();
+
+ Calendar date = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
+ date.clear();
+ date.set(1999, 0, 1);
+
+ employeeData.put("EmployeeId", "1");
+ employeeData.put("ImmageUrl", null);
+ employeeData.put("ManagerId", "1");
+ employeeData.put("Age", new Integer(52));
+ employeeData.put("RoomId", "1");
+ employeeData.put("EntryDate", date);
+ employeeData.put("TeamId", "42");
+ employeeData.put("EmployeeName", "Walter Winter");
+
+ Map<String, Object> locationData = new HashMap<String, Object>();
+ Map<String, Object> cityData = new HashMap<String, Object>();
+ cityData.put("PostalCode", "33470");
+ cityData.put("CityName", "Duckburg");
+ locationData.put("City", cityData);
+ locationData.put("Country", "Calisota");
+
+ employeeData.put("Location", locationData);
+ String mediaResourceMimeTypeKey = "~type";
+ employeeData.put(mediaResourceMimeTypeKey, "wrong");
+ String originalMimeTypeKey = "~originalType";
+ employeeData.put(originalMimeTypeKey, "right");
+
+ EdmEntitySet employeesSet = MockFacade.getMockEdm().getDefaultEntityContainer().getEntitySet("Employees");
+ EdmMapping mapping = employeesSet.getEntityType().getMapping();
+ when(mapping.getMediaResourceMimeTypeKey()).thenReturn(mediaResourceMimeTypeKey);
+ when(mapping.getMimeType()).thenReturn(originalMimeTypeKey);
+
+ ODataResponse response = new JsonEntityProvider().writeEntry(employeesSet, employeeData, DEFAULT_PROPERTIES);
+ String jsonString = verifyResponse(response);
+
+ Gson gson = new Gson();
+ StringMap<Object> jsonMap = gson.fromJson(jsonString, StringMap.class);
+ jsonMap = (StringMap<Object>) jsonMap.get("d");
+ jsonMap = (StringMap<Object>) jsonMap.get("__metadata");
+
+ assertEquals("right", jsonMap.get("content_type"));
+ }
private String verifyResponse(final ODataResponse response) throws IOException {
assertNotNull(response);
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFunctionImportTest.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFunctionImportTest.java b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFunctionImportTest.java
index 97314fd..001e7f1 100644
--- a/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFunctionImportTest.java
+++ b/odata2-lib/odata-core/src/test/java/org/apache/olingo/odata2/core/ep/producer/JsonFunctionImportTest.java
@@ -131,7 +131,7 @@ public class JsonFunctionImportTest extends BaseTest {
MockFacade.getMockEdm().getDefaultEntityContainer().getFunctionImport("OldestEmployee");
final String uri = "http://host:80/service/";
final EntityProviderWriteProperties properties =
- EntityProviderWriteProperties.serviceRoot(URI.create(uri)).mediaResourceTypeKey("getImageType").build();
+ EntityProviderWriteProperties.serviceRoot(URI.create(uri)).build();
Map<String, Object> employeeData = new HashMap<String, Object>();
employeeData.put("EmployeeId", "1");
employeeData.put("getImageType", "image/jpeg");
http://git-wip-us.apache.org/repos/asf/incubator-olingo-odata2/blob/95eb8f18/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/ListsProcessor.java
----------------------------------------------------------------------
diff --git a/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/ListsProcessor.java b/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/ListsProcessor.java
index 16a9c8c..901fe59 100644
--- a/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/ListsProcessor.java
+++ b/odata2-lib/odata-ref/src/main/java/org/apache/olingo/odata2/ref/processor/ListsProcessor.java
@@ -194,7 +194,6 @@ public class ListsProcessor extends ODataSingleProcessor {
values.add(getStructuralTypeValueMap(entryData, entityType));
}
- String mediaTypeKey = entityType.getMapping() == null ? null : entityType.getMapping().getMimeType();
final EntityProviderWriteProperties feedProperties = EntityProviderWriteProperties
.serviceRoot(context.getPathInfo().getServiceRoot())
.inlineCountType(inlineCountType)
@@ -202,7 +201,6 @@ public class ListsProcessor extends ODataSingleProcessor {
.expandSelectTree(UriParser.createExpandSelectTree(uriInfo.getSelect(), uriInfo.getExpand()))
.callbacks(getCallbacks(data, entityType))
.nextLink(nextLink)
- .mediaResourceTypeKey(mediaTypeKey)
.build();
final int timingHandle = context.startRuntimeMeasurement("EntityProvider", "writeFeed");
@@ -828,14 +826,9 @@ public class ListsProcessor extends ODataSingleProcessor {
}
ODataContext context = getContext();
- String mediaTypeKey = null;
- if (type instanceof EdmStructuralType) {
- EdmStructuralType structType = (EdmStructuralType) type;
- mediaTypeKey = structType.getMapping() == null ? null : structType.getMapping().getMimeType();
- }
final EntityProviderWriteProperties entryProperties = EntityProviderWriteProperties
- .serviceRoot(context.getPathInfo().getServiceRoot()).mediaResourceTypeKey(mediaTypeKey).build();
+ .serviceRoot(context.getPathInfo().getServiceRoot()).build();
final int timingHandle = context.startRuntimeMeasurement("EntityProvider", "writeFunctionImport");
@@ -984,12 +977,10 @@ public class ListsProcessor extends ODataSingleProcessor {
}
WriteFeedCallbackResult result = new WriteFeedCallbackResult();
result.setFeedData(values);
- String mimeTypeKey =
- entityType.getMapping() == null ? null : entityType.getMapping().getMimeType();
EntityProviderWriteProperties inlineProperties =
EntityProviderWriteProperties.serviceRoot(getContext().getPathInfo().getServiceRoot()).callbacks(
getCallbacks(relatedData, entityType)).expandSelectTree(context.getCurrentExpandSelectTreeNode())
- .selfLink(context.getSelfLink()).mediaResourceTypeKey(mimeTypeKey).build();
+ .selfLink(context.getSelfLink()).build();
result.setInlineProperties(inlineProperties);
return result;
} catch (final ODataException e) {
@@ -1011,12 +1002,10 @@ public class ListsProcessor extends ODataSingleProcessor {
relatedData = null;
}
result.setEntryData(getStructuralTypeValueMap(relatedData, entityType));
- String mimeTypeKey =
- entityType.getMapping() == null ? null : entityType.getMapping().getMimeType();
+
EntityProviderWriteProperties inlineProperties =
EntityProviderWriteProperties.serviceRoot(getContext().getPathInfo().getServiceRoot()).callbacks(
getCallbacks(relatedData, entityType)).expandSelectTree(context.getCurrentExpandSelectTreeNode())
- .mediaResourceTypeKey(mimeTypeKey)
.build();
result.setInlineProperties(inlineProperties);
return result;
@@ -1059,13 +1048,10 @@ public class ListsProcessor extends ODataSingleProcessor {
final Map<String, Object> values = getStructuralTypeValueMap(data, entityType);
ODataContext context = getContext();
- String mimeTypeKey =
- entitySet.getEntityType().getMapping() == null ? null : entitySet.getEntityType().getMapping().getMimeType();
EntityProviderWriteProperties writeProperties = EntityProviderWriteProperties
.serviceRoot(context.getPathInfo().getServiceRoot())
.expandSelectTree(expandSelectTree)
.callbacks(getCallbacks(data, entityType))
- .mediaResourceTypeKey(mimeTypeKey)
.build();
final int timingHandle = context.startRuntimeMeasurement("EntityProvider", "writeEntry");